• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Using ranged skills from any distance in earlier versions.

Newbie Spellweaver
Joined
Apr 12, 2016
Messages
7
Reaction score
0
Hello! This is a simple solution for using ranged skills up close in any version before 8x or whenever this was originally added to gms.

In v83 the code is as simple as changing a jnz to a jmp in the checks for DoActiveSkill_ShootAttack (in nexon naming)

in IDA or a debugger search for the skill id 3100001 this should only show up once. In that block of code xref the entire function and it should take you to the code that's asm looks like:


Code:
                                              call    requires_range_for_skill_use ; Call Procedure
___:009698B0
___:009698B5 85 C0                   test    eax, eax                    ; Logical Compare
___:009698B7 59                          pop     ecx
___:009698B8 56                          push    esi                         ; int
___:009698B9 56                          push    esi                         ; int
___:009698BA 56                          push    esi                         ; int
___:009698BB 56                          push    esi                         ; int
___:009698BC 0F 85 77 01 00 00           jnz     loc_969A39

change the jnz to a jmp to bypass the check for valid range for a skill, this will also still allow for normal attacks to be used melee for ranged attacks but allow for skills to be used. I haven't tested this for other versions but the steps should be the same.

*edit apparently doesn't include prepare skills like hurricane will report back with that

These will fix hurricane, rapidfire
for v83
0096AA4E : je 0096AC43 -> je 0096AEB5
0096AA59: je 0096AC43 -> je 0096AEB5
0096AA64: je 0096AC43 -> je 0096AEB5
0096AA6F: je 0096AC43 -> je 0096AEB5
 
Last edited:
Newbie Spellweaver
Joined
Jul 26, 2022
Messages
13
Reaction score
1
Hello! This is a simple solution for using ranged skills up close in any version before 8x or whenever this was originally added to gms.

In v83 the code is as simple as changing a jnz to a jmp in the checks for DoActiveSkill_ShootAttack (in nexon naming)

in IDA or a debugger search for the skill id 3100001 this should only show up once. In that block of code xref the entire function and it should take you to the code that's asm looks like:


Code:
                                              call    requires_range_for_skill_use ; Call Procedure
___:009698B0
___:009698B5 85 C0                   test    eax, eax                    ; Logical Compare
___:009698B7 59                          pop     ecx
___:009698B8 56                          push    esi                         ; int
___:009698B9 56                          push    esi                         ; int
___:009698BA 56                          push    esi                         ; int
___:009698BB 56                          push    esi                         ; int
___:009698BC 0F 85 77 01 00 00           jnz     loc_969A39

change the jnz to a jmp to bypass the check for valid range for a skill, this will also still allow for normal attacks to be used melee for ranged attacks but allow for skills to be used. I haven't tested this for other versions but the steps should be the same.

*edit apparently doesn't include prepare skills like hurricane will report back with that

These will fix hurricane, rapidfire
for v83
0096AA4E : je 0096AC43 -> je 0096AEB5
0096AA59: je 0096AC43 -> je 0096AEB5
0096AA64: je 0096AC43 -> je 0096AEB5
0096AA6F: je 0096AC43 -> je 0096AEB5
How would I go about it for Fire arrow and Holy arrow to hit multiple targets?
 
Back
Top