Well, hopefully someone will drop me a hint or two on this.
I've been trying for over a week to get a decent Vac Hack going and yet, no luck. (Mostly because I don't understand much of what I'm doing)
So starting off, I have the Vac Hack from the public scripts thread working. Problem is mobs can still hit you. Their range is unaffected by this script and it makes your death very easy.
Now when turning on the NoAggro script, this problem is "somewhat" solved. Melee mobs cannot hit while ranged mobs are still a problem. Even more annoying is that melee mobs that cannot hit you will keep running once they pass over my character. After following a good distance or after they hit a wall, they will refocus on me and repeat again if they get close enough.
Now I think I know where the problem lies.
NoAggro: (Bolded the problem)
[ENABLE]
aobscan(_aNoAggro,0F B7 86 64 01 00 00 8B 0D)
aobscan(_aMobRange,89 54 24 28 8B 01 FF 50 08 8B)
label(_aNoAggroLabel)
label(_aMobRangeLabel)
registersymbol(_aNoAggroLabel)
registersymbol(_aMobRangeLabel)
alloc(newmem, 2048)
alloc(MonsterRange, 2048)
label(returnhere)
label(originalcode)
label(ReturnMonsterRange)
label(exit)
_aNoAggro:
_aNoAggroLabel:
jmp newmem
nop
nop
returnhere:
_aMobRange:
_aMobRangeLabel:
jmp MonsterRange
nop
ReturnMonsterRange:
MonsterRange:
mov [esp+48],edx
mov [esp+30],00000000
mov [esp+4c],00000000
//mov [esi+00000240],0000000 //other attack range to 0
//mov [esi+0000023c],0000000 //other attack range to 0
//mov [esi+00000238],0000000 //other attack range to 0
mov eax,[ecx]
jmp ReturnMonsterRange
newmem:
originalcode:
movzx eax,word ptr [esi+00000164]
//mov eax,01
//mov word ptr [esi+00000156],ax
//mov [esi+00000070], 41400000 // speed mob
//40c00000 = 6 lv 1 (to replace the above blue color)
//40400000 = 12 lv 2 (to replace the above blue color)
//41c00000 = 24 lv 3 (to replace the above blue color)
mov byte ptr [esi+00000174],00 // malee attack range = 0
mov byte ptr [esi+00000244],00 // magic attack range = 0
mov [esi+00000240],0000000 //other attack range = 0
mov [esi+0000023c],0000000 //other attack range = 0
mov [esi+00000238],0000000 //other attack range = 0
mov eax,03
mov word ptr [esi+00000164],ax
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
dealloc(MonsterRange)
_aNoAggroLabel:
movzx eax,word ptr [esi+00000164]
unregistersymbol(_aNoAggroLabel)
_aMobRangeLabel:
mov [esp+48],edx
mov eax,[ecx]
unregistersymbol(_aMobRangeLabel)
I use that AoB up there purely because it doesn't crash my game and I didn't want to leave it blank or start deleting things.
I'm stuck at this spot. Trying to update that AoB from the original gave many results. The ones I keep coming back to are here but don't work:
89 54 24 1C 8B 01 FF 50 08 8B
89 54 24 18 8B 01 FF 50 08 8B
89 54 24 1C 8B 01 FF 50 08 8B
89 54 24 18 8B 01 FF 50 08 8B
89 54 24 08 8B 01 FF 50 08 8B
89 54 24 28 8B 01 FF 50 08 8B
89 54 24 34 8B 01 FF 50 20 8B
89 54 24 3C 8B 01 FF 50 20 8B
89 54 24 54 8B 01 FF 50 30 8B
89 54 24 20 8B 01 FF 50 14 8B
Note: If the AoBs are the same but listed more than once, the address it came from is different
Would anyone like to give me a hint from here? Feel free to laugh if it is something so easy and simple that I'm screwing up or if I am just going about this whole thing wrong.