Hello, i would like to know if its possible to edit options from game (alt + x) to add checkbox for turn off some skill animations at live game, client is 140 (Salvation ) protocol, its the client it self support this feature? and if its, where start to diggle the search? any advice about it? thanks!
It can be done predominantly through the server with just a minor DAT modding in the client.
OPTION 1 (the character will use CAST animation, but the skill will have none):
1. Checkbox (
in terms of data, this is a simple BOOLEAN data type, meaning it can only hold a value of TRUE or FALSE):
- You can either do it in an HTML/Community Board;
- Or if you have the client interface, you can create a custom checkbox button and will send a RequestBypassToServer packet with a command in the form of a string of your choice.
2. The DAT files:
- Create "dummy" skill(s) with no animations.
3. The Server:
3.1. Create a boolean variable in the Player.java (could be PlayerInstance or L2PcInstance or something similar) with a getter and a setter.
- If you have decided to do the Checkbox in the HTML/Community - , add handler in the community board java and hook it to the setter of the Checkbox boolean variable.
- If you have decided to do the Checkbox in the interface - create a handler in the RequestBypassToServer packet of the custom command string that you used in the client interface, and hook the setter of the Checkbox boolean variable to the RequestBypassToServer's newly added custom command handler.
3.2. Add an if statement in the RequestUseMagicSkill packet which use the Checkbox boolean getter to check the state of the Player's Checkbox boolean variable, and if the boolean is set to true, then the server sends to the client one of the custom "dummy" skills with no animations that you've created in the DAT files.
OPTION 2 (no character animation and no skill animation visible in the client):
- Create the Checkbox with any of the aforementioned methods.
- Add an if statement in the RequestUseMagicSkill packet that will check the state of the Checkbox boolean and if it is True, then it does every operation it usually does, except that it does not send the UseMagicSkill packet from the server to the client.
DISCLAIMER: In both approaches you would have to create a MAP/LIST of all the skill IDs that you want to have no animation and do a if (WHATEVER_MAP.contains(skill_id_from_the_request_use_magic_skill)) - don't send UseMagicSkill packet or send the UseMagicSkill packet with one of the dummy skills you created.