Hi, Farshad! Hi, Hosna! How are you guys? In my game, I need to develop a new type of door lock. Since I plan to fully utilize your framework, I want to use the ready-made functions related to control and other elements that can help me with this. However, I want to link it to the door logic of the framework. I would be very grateful if you could tell me how to add a new type of door lock in which I could write a new logic that differs in terms of control and triggering conditions. Let me give you an example: In terms of control, this lock is similar to your lock with a code and a card, but you don't need a card here. This lock has 10 buttons, and three of the buttons appear to be visually erased. Our task is to press these three buttons (regardless of the sequence). The controls are the same, we move with the arrows, or the joystick stick, by clicking on the button - it will be highlighted. If we click again - it will remove the selection. If we correctly select the three desired buttons - the door will open. In order to make this cipher more interesting, I plan to leave two erased buttons, and the third button will not be highlighted. I'm going to implement this logic myself, but I'd appreciate it if you could suggest which of your ready-made functions I can use and how to properly add another type to the list of doors. Thanks
Hi, Farshad! Hi, Hosna! How are you guys? In my game, I need to develop a new type of door lock. Since I plan to fully utilize your framework, I want to use the ready-made functions related to control and other elements that can help me with this. However, I want to link it to the door logic of the framework. I would be very grateful if you could tell me how to add a new type of door lock in which I could write a new logic that differs in terms of control and triggering conditions. Let me give you an example: In terms of control, this lock is similar to your lock with a code and a card, but you don't need a card here. This lock has 10 buttons, and three of the buttons appear to be visually erased. Our task is to press these three buttons (regardless of the sequence). The controls are the same, we move with the arrows, or the joystick stick, by clicking on the button - it will be highlighted. If we click again - it will remove the selection. If we correctly select the three desired buttons - the door will open. In order to make this cipher more interesting, I plan to leave two erased buttons, and the third button will not be highlighted. I'm going to implement this logic myself, but I'd appreciate it if you could suggest which of your ready-made functions I can use and how to properly add another type to the list of doors. Thanks
Hey, that's great that you are exploring adding more lock systems. I think my previous answer about creating a new interactable is actually very close to what you are trying to achieve. It should give you a general idea of how to extend the framework lock system and add your own custom lock type.
I recommend checking this first, especially the parts about creating a new lock class, implementing BPI_Lock, adding a new entry to E_LockType, and connecting it inside BP_DoorBase.
Your case is mostly the same approach; the main difference is that your custom lock logic will be implemented inside your new lock class. (button selection, checking the three correct buttons, and triggering the door open event)
If you read through that and still have any questions, I’ll be happy to explain further 🙂