Jump to content

Possible to change the lockpick menu to use a lock pick?


Recommended Posts

Hello.

 

I made a lock pick similar to the one used in Resident Evil.

 

ctSQBWq.jpg

For now i made this to work by giving a perk to the player that prevents bobby pins to break but only if the player has a lock pick in their inventory, but also i was wondering if it would be possible to change the looks of the lockpick menu? kinda like in Skyrim when you got the skeleton key that had the same purpose but the model changed when you had it on your inventory and you were lockpicking a lock. Would that be possible in FO4?

 

Link to comment
Share on other sites

I haven't tested it but I think you just need to replace "Data\Meshes\Interface\LockPicking\LockPick01.nif" and "Data\Meshes\Interface\LockPicking\LockPickLock01.nif" with new meshes.

Thanks for the response. I took a look at the way it's done in Sklrim, and i found the same, it replaces the meshes, unfortunately i couldn't find the way it replaces it, like through script or mabe it's hardcoded? idk. The idea is not just replace the mesh, the idea is to replace the mesh only if i have the lock pick in my inventory, like if i drop it it should go back to the screwdriver.

Link to comment
Share on other sites

 

I haven't tested it but I think you just need to replace "Data\Meshes\Interface\LockPicking\LockPick01.nif" and "Data\Meshes\Interface\LockPicking\LockPickLock01.nif" with new meshes.

Thanks for the response. I took a look at the way it's done in Sklrim, and i found the same, it replaces the meshes, unfortunately i couldn't find the way it replaces it, like through script or mabe it's hardcoded? idk. The idea is not just replace the mesh, the idea is to replace the mesh only if i have the lock pick in my inventory, like if i drop it it should go back to the screwdriver.

 

 

Probably the file paths are hardcoded.

Link to comment
Share on other sites

You could try VanillaScrewDriverForm.SetWorldModelPath("Data\\Meshes\\Interface\\LockPicking\\LockPick01_alternative.nif") on the condition PlayerRef.GetItemCount(YourDirkForm) > 0.

 

The URI to use might actually be "\\Interface\\LockPicking\\LockPick01_alternative.nif"

 

Use Debug.Trace(VanillaScrewDriverForm.GetWorldModelPath()) to find out.

 

If it's super-hardcoded I guess it probably won't work anyway. Crash-warning issued.

It looks great btw. Will add.

Link to comment
Share on other sites

 

I haven't tested it but I think you just need to replace "Data\Meshes\Interface\LockPicking\LockPick01.nif" and "Data\Meshes\Interface\LockPicking\LockPickLock01.nif" with new meshes.

The idea is not just replace the mesh, the idea is to replace the mesh only if i have the lock pick in my inventory, like if i drop it it should go back to the screwdriver.

 

As for the inventory, without F4SE, you can make a simple Papyrus script that, basically, when OnItemAdded(BobbyPin) is received, calls AddItem(newLockpick) and RemoveItem(BobbyPin). So it replaces the Bobby pin with the new lockpick.

 

When you drop newLockpick, call DropObject(BobbyPin) and remove newLockpick (the one that you just dropped) from the game world.

 

When you break a Bobby pin, call RemoveItem(newLockpick).

 

Don't forget that you need to give ( PlayerRef.GetItemCount(BobbyPin) = PlayerRef.GetItemCount(newLockpick) ) Bobby pins to the player's inventory when OnMenuOpenCloseEvent(LockpickingMenu, abOpening=True) to be able to pick locks (otherwise you may need to edit the Default Object "Lockpick" in the Default Objects Manager).

 

You still need to replace the meshes "LockPick01".nif and "LockPickLock01.nif". Bobby pins you pick up in the game world have a different mesh ("BobbyPin.nif").

Edited by LarannKiar
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...