I WILL NOT BE GIVING ANY SUPPORT TROUGH PM OR OTHER METHODS !!
I've made all public scripts so that they will autoupdate.
I've tryed it today, with the weekly patch and worked great.
It could be that someday the aob needs some adjustments but as long as that doesnt change is it ok, and if it changes i can ad some wildcards to the aob.
Do not overwrite your old scripts, it will not work.
Assign it to a new script, or you will get an error when trying to save, its a bug, i've reported it to DarkByte, the guy who made CE, so this will be fixed in the next version prolly...
Only works with Cheat Engine 5.6
So here they are :
Auto Pots:
[ENABLE]
aobscan(_aPots,83 78 08 13 0F 85)
label(_aPotsLabel)
registersymbol(_aPotsLabel)
alloc(newmem,1024)
label(returnhere)
label(originalcode)
label(exit)
label(check_mana)
label(finished_check)
_aPots:
_aPotsLabel:
jmp newmem
nop
nop
nop
nop
nop
returnhere:
newmem:
originalcode:
cmp dword ptr [eax+08],01 // checking for HP pot?
jne check_mana
mov dword ptr[eax+08],11 // change to auto pot
mov dword ptr[eax+10],11
check_mana:
cmp dword ptr [eax+08],02 // checking for MP pot?
jne finished_check
mov dword ptr[eax+08],12 // change to auto pot
mov dword ptr[eax+10],12
finished_check:
cmp dword ptr [eax+08],13
je 0052d13a
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
_aPotsLabel:
cmp dword ptr [eax+08],13
db 0F 84 91 00 00 00
unregistersymbol(_aPotsLabel)
aobscan(_aPots,83 78 08 13 0F 85)
label(_aPotsLabel)
registersymbol(_aPotsLabel)
alloc(newmem,1024)
label(returnhere)
label(originalcode)
label(exit)
label(check_mana)
label(finished_check)
_aPots:
_aPotsLabel:
jmp newmem
nop
nop
nop
nop
nop
returnhere:
newmem:
originalcode:
cmp dword ptr [eax+08],01 // checking for HP pot?
jne check_mana
mov dword ptr[eax+08],11 // change to auto pot
mov dword ptr[eax+10],11
check_mana:
cmp dword ptr [eax+08],02 // checking for MP pot?
jne finished_check
mov dword ptr[eax+08],12 // change to auto pot
mov dword ptr[eax+10],12
finished_check:
cmp dword ptr [eax+08],13
je 0052d13a
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
_aPotsLabel:
cmp dword ptr [eax+08],13
db 0F 84 91 00 00 00
unregistersymbol(_aPotsLabel)
Far Eye: FIXED BUG
[ENABLE]
aobscan(FarEye,8B 48 08 8B 50 04 51 8B 4C 24)
label(Label)
registersymbol(Label)
alloc(ChangeClipDistance,64)
label(ReturnClip)
label(ClipDistance)
registersymbol(ClipDistance)
ChangeClipDistance:
mov ecx,[ClipDistance]
mov [eax+08],ecx
mov edx,[eax+04]
jmp ReturnClip
ClipDistance:
db 00 00 48 43
FarEye:
Label:
jmp ChangeClipDistance
nop
ReturnClip:
[DISABLE]
Label:
mov ecx,[eax+08]
mov edx,[eax+04]
dealloc(ChangeClipDistance,64)
unregistersymbol(ClipDistance)
unregistersymbol(FarEye)
aobscan(FarEye,8B 48 08 8B 50 04 51 8B 4C 24)
label(Label)
registersymbol(Label)
alloc(ChangeClipDistance,64)
label(ReturnClip)
label(ClipDistance)
registersymbol(ClipDistance)
ChangeClipDistance:
mov ecx,[ClipDistance]
mov [eax+08],ecx
mov edx,[eax+04]
jmp ReturnClip
ClipDistance:
db 00 00 48 43
FarEye:
Label:
jmp ChangeClipDistance
nop
ReturnClip:
[DISABLE]
Label:
mov ecx,[eax+08]
mov edx,[eax+04]
dealloc(ChangeClipDistance,64)
unregistersymbol(ClipDistance)
unregistersymbol(FarEye)
Spawn hack:
[ENABLE]
aobscan(_aSpawn,8B 50 1C 89 51 20)
label(_aSpawnLabel)
registersymbol(_aSpawnLabel)
alloc(spawn,2048)
label(returnhere)
label(originalcode)
label(exit)
_aSpawn:
_aSpawnLabel:
jmp spawn
nop
returnhere:
spawn:
mov [eax+08],00000020
mov [eax+04],00000020
mov [eax+10],00000064
mov [eax+14],00000064
mov [eax+18],00000258
mov [eax+1C],00000258
mov [eax+2C],00000064
mov [eax+30],00000020
mov [eax+34],00000000
mov [eax+54],00000000
mov [eax+58],00000000
mov [eax+5C],00000000
originalcode:
mov edx,[eax+1c]
mov [ecx+20],edx
mov edx,100 // number of mob to spawn
mov [eax+8c],edx
mov edx,01 // time delay between spawn
mov [eax+90],edx
mov edx,100 // # of spawn to follow you
mov [eax+3C],edx
exit:
jmp returnhere
[DISABLE]
dealloc(spawn)
_aSpawnLabel:
mov edx,[eax+1c]
mov [ecx+20],edx
unregistersymbol(_aSpawnLabel)
aobscan(_aSpawn,8B 50 1C 89 51 20)
label(_aSpawnLabel)
registersymbol(_aSpawnLabel)
alloc(spawn,2048)
label(returnhere)
label(originalcode)
label(exit)
_aSpawn:
_aSpawnLabel:
jmp spawn
nop
returnhere:
spawn:
mov [eax+08],00000020
mov [eax+04],00000020
mov [eax+10],00000064
mov [eax+14],00000064
mov [eax+18],00000258
mov [eax+1C],00000258
mov [eax+2C],00000064
mov [eax+30],00000020
mov [eax+34],00000000
mov [eax+54],00000000
mov [eax+58],00000000
mov [eax+5C],00000000
originalcode:
mov edx,[eax+1c]
mov [ecx+20],edx
mov edx,100 // number of mob to spawn
mov [eax+8c],edx
mov edx,01 // time delay between spawn
mov [eax+90],edx
mov edx,100 // # of spawn to follow you
mov [eax+3C],edx
exit:
jmp returnhere
[DISABLE]
dealloc(spawn)
_aSpawnLabel:
mov edx,[eax+1c]
mov [ecx+20],edx
unregistersymbol(_aSpawnLabel)
Melee Attack Range Hack:
[ENABLE]
aobscan(_aRange,88 81 AC 00 00 00 88 81 B8 00 00 00 F3 0F 11 81 C0 00 00 00 C7 81 B0 00 00 00 D0 07 00 00 88 81 AD 00 00 00 E8 97)
label(_aRangeLabel)
registersymbol(_aRangeLabel)
alloc(ModRange, 1024)
label(ReturnRange)
label(Range)
registersymbol(Range)
_aRange:
_aRangeLabel:
jmp ModRange
nop
ReturnRange:
ModRange:
mov al,[Range]
mov [ecx+000000ac],al
jmp ReturnRange
Range:
db 40
[DISABLE]
dealloc(ModRange)
unregistersymbol(Range)
_aRangeLabel:
mov [ecx+000000ac],al
unregistersymbol(_aRangeLabel)
aobscan(_aRange,88 81 AC 00 00 00 88 81 B8 00 00 00 F3 0F 11 81 C0 00 00 00 C7 81 B0 00 00 00 D0 07 00 00 88 81 AD 00 00 00 E8 97)
label(_aRangeLabel)
registersymbol(_aRangeLabel)
alloc(ModRange, 1024)
label(ReturnRange)
label(Range)
registersymbol(Range)
_aRange:
_aRangeLabel:
jmp ModRange
nop
ReturnRange:
ModRange:
mov al,[Range]
mov [ecx+000000ac],al
jmp ReturnRange
Range:
db 40
[DISABLE]
dealloc(ModRange)
unregistersymbol(Range)
_aRangeLabel:
mov [ecx+000000ac],al
unregistersymbol(_aRangeLabel)
Mob Speedhack:
[ENABLE]
aobscan(_aMobSpeed,80 7C 24 04 00 74 06 D9 40 70)
label(_aMobSpeedLabel)
registersymbol(_aMobSpeedLabel)
alloc(DrakoMobSpeedBace,2048)
label(MobIsWalking)
label(MobRunSpeedValue)
label(MobWalkSpeedValue)
label(ReturnMobSpeed)
registersymbol(MobRunSpeedValue)
registersymbol(MobWalkSpeedValue)
DrakoMobSpeedBace:
cmp byte ptr [esp+04],00
je MobIsWalking
fld dword ptr [MobRunSpeedValue]
ret 0004
MobIsWalking:
fld dword ptr [MobWalkSpeedValue]
ret 0004
MobRunSpeedValue:
db 00 00 60 41
MobWalkSpeedValue:
db 00 00 40 40
_aMobSpeed:
_aMobSpeedLabel:
jmp DrakoMobSpeedBace
ReturnMobSpeed:
[DISABLE]
dealloc(DrakoMobSpeedBace)
unregistersymbol(MobRunSpeedValue)
unregistersymbol(MobWalkSpeedValue)
_aMobSpeedLabel:
cmp byte ptr [esp+04],00
unregistersymbol(_aMobSpeedLabel)
aobscan(_aMobSpeed,80 7C 24 04 00 74 06 D9 40 70)
label(_aMobSpeedLabel)
registersymbol(_aMobSpeedLabel)
alloc(DrakoMobSpeedBace,2048)
label(MobIsWalking)
label(MobRunSpeedValue)
label(MobWalkSpeedValue)
label(ReturnMobSpeed)
registersymbol(MobRunSpeedValue)
registersymbol(MobWalkSpeedValue)
DrakoMobSpeedBace:
cmp byte ptr [esp+04],00
je MobIsWalking
fld dword ptr [MobRunSpeedValue]
ret 0004
MobIsWalking:
fld dword ptr [MobWalkSpeedValue]
ret 0004
MobRunSpeedValue:
db 00 00 60 41
MobWalkSpeedValue:
db 00 00 40 40
_aMobSpeed:
_aMobSpeedLabel:
jmp DrakoMobSpeedBace
ReturnMobSpeed:
[DISABLE]
dealloc(DrakoMobSpeedBace)
unregistersymbol(MobRunSpeedValue)
unregistersymbol(MobWalkSpeedValue)
_aMobSpeedLabel:
cmp byte ptr [esp+04],00
unregistersymbol(_aMobSpeedLabel)
No aggro :
[ENABLE]
aobscan(_aNoAggro,0F B7 86 54 01 00 00 8B 0D)
aobscan(_aMobRange,89 54 24 48 8B 01 FF 50 0C 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+00000154]
//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+00000154],ax
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
dealloc(MonsterRange)
_aNoAggroLabel:
movzx eax,word ptr [esi+00000154]
unregistersymbol(_aNoAggroLabel)
_aMobRangeLabel:
mov [esp+48],edx
mov eax,[ecx]
unregistersymbol(_aMobRangeLabel)
aobscan(_aNoAggro,0F B7 86 54 01 00 00 8B 0D)
aobscan(_aMobRange,89 54 24 48 8B 01 FF 50 0C 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+00000154]
//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+00000154],ax
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
dealloc(MonsterRange)
_aNoAggroLabel:
movzx eax,word ptr [esi+00000154]
unregistersymbol(_aNoAggroLabel)
_aMobRangeLabel:
mov [esp+48],edx
mov eax,[ecx]
unregistersymbol(_aMobRangeLabel)
No DC vac :
[ENABLE]
aobscan(_aVac,8B 50 1C 89 51 20)
label(_aVacLabel)
registersymbol(_aVacLabel)
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
_aVac:
_aVacLabel:
jmp newmem
nop
returnhere:
newmem:
//DwExploreRange eax
mov [eax+08],00000040//DwSight eax+08
mov [eax+04],00000040//DwPersuitRange eax+04
//DwAvoidRange eax+0C
//mov [eax+10],00000500//DwExploreStandDelay eax+10
//mov [eax+14],00000500//DwExploreMoveDelay eax+14
mov [eax+18],00000100//DwStandDelay eax+18
mov [eax+1C],00000100//DwMoveDelay eax+1C
//DwFollowMyMasterRange eax+20
//DwStopMasterNear eax+24
//DwWarpMyMasterRange eax+28
//mov [eax+2C],00000064//DwCallTeamPossibelHP eax+2C
//mov [eax+30],00000020//DwCallTeamCount eax+30
mov [eax+34],00000000//DwBlockNFirstAttack eax+34//mov [eax+38],00000020//dwCallTeamCell byte[eax+38]
//dwFollowTarget eax+3C
//dwSpecialAttackStartHP
//dwSpecialMeleeAttackRate
//dwSpecialRangeAttackRate
//DwPowerAttacjStartHP
//dwPowerMeleeAttackProbable
//dwPowerRangeAttackProbable
mov [eax+40],00000000//DwUnderAttackAggro eax+40
mov [eax+44],00000000//DwMeleeAttackRangeInAggro eax+44
mov [eax+48],00000000//DwRangeAttackRangeInAggro eax+48
//DwSightInAggro eax+4C
//DwDefeatAggro eax+50
mov [eax+54],00000000//DwBlockedAggro eax+54
mov [eax+58],00000000//DwSlideAggro eax+58
mov [eax+5C],00000000//DwHealAggro eax+5C
//DwMasterUnderAttackAggro eax+50
//DwMasterDefeatAggro eax+54
//DwMasterBlockingAggro eax+58
//DwMasterSlideAggro eax+5C
//DwCOmplusionUnderAttackAggro eax+60
//dwMaxSummonsMonsterCount eax+64
//dwReSummonsMonsterTick eax+68
//dwMaxSummonsMonsterRange eax+6C
//dwSummonsStartPcCountPatternType eax+70
originalcode:
mov edx,[eax+1c]
mov [ecx+20],edx
//mov edx,30 // number spawn
//mov [eax+8c],edx
//mov edx,64 // time delay spawn
//mov [eax+90],edx
mov edx,99 // # follow monster
mov [eax+3C],edx
mov [ecx+20],edx // # follow my master
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
_aVacLabel:
mov edx,[eax+1c]
mov [ecx+20],edx
unregistersymbol(_aVacLabel)
aobscan(_aVac,8B 50 1C 89 51 20)
label(_aVacLabel)
registersymbol(_aVacLabel)
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
_aVac:
_aVacLabel:
jmp newmem
nop
returnhere:
newmem:
//DwExploreRange eax
mov [eax+08],00000040//DwSight eax+08
mov [eax+04],00000040//DwPersuitRange eax+04
//DwAvoidRange eax+0C
//mov [eax+10],00000500//DwExploreStandDelay eax+10
//mov [eax+14],00000500//DwExploreMoveDelay eax+14
mov [eax+18],00000100//DwStandDelay eax+18
mov [eax+1C],00000100//DwMoveDelay eax+1C
//DwFollowMyMasterRange eax+20
//DwStopMasterNear eax+24
//DwWarpMyMasterRange eax+28
//mov [eax+2C],00000064//DwCallTeamPossibelHP eax+2C
//mov [eax+30],00000020//DwCallTeamCount eax+30
mov [eax+34],00000000//DwBlockNFirstAttack eax+34//mov [eax+38],00000020//dwCallTeamCell byte[eax+38]
//dwFollowTarget eax+3C
//dwSpecialAttackStartHP
//dwSpecialMeleeAttackRate
//dwSpecialRangeAttackRate
//DwPowerAttacjStartHP
//dwPowerMeleeAttackProbable
//dwPowerRangeAttackProbable
mov [eax+40],00000000//DwUnderAttackAggro eax+40
mov [eax+44],00000000//DwMeleeAttackRangeInAggro eax+44
mov [eax+48],00000000//DwRangeAttackRangeInAggro eax+48
//DwSightInAggro eax+4C
//DwDefeatAggro eax+50
mov [eax+54],00000000//DwBlockedAggro eax+54
mov [eax+58],00000000//DwSlideAggro eax+58
mov [eax+5C],00000000//DwHealAggro eax+5C
//DwMasterUnderAttackAggro eax+50
//DwMasterDefeatAggro eax+54
//DwMasterBlockingAggro eax+58
//DwMasterSlideAggro eax+5C
//DwCOmplusionUnderAttackAggro eax+60
//dwMaxSummonsMonsterCount eax+64
//dwReSummonsMonsterTick eax+68
//dwMaxSummonsMonsterRange eax+6C
//dwSummonsStartPcCountPatternType eax+70
originalcode:
mov edx,[eax+1c]
mov [ecx+20],edx
//mov edx,30 // number spawn
//mov [eax+8c],edx
//mov edx,64 // time delay spawn
//mov [eax+90],edx
mov edx,99 // # follow monster
mov [eax+3C],edx
mov [ecx+20],edx // # follow my master
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
_aVacLabel:
mov edx,[eax+1c]
mov [ecx+20],edx
unregistersymbol(_aVacLabel)
Shophack :
[ENABLE]
aobscan(_aShop,8A 41 08 C3 CC CC CC CC CC CC CC CC CC CC CC CC 8B 0D)
label(_aShopLabel)
registersymbol(_aShopLabel)
_aShop:
_aShopLabel:
mov al,01
ret
[DISABLE]
_aShopLabel:
mov al,[ecx+08]
unregistersymbol(_aShopLabel)
aobscan(_aShop,8A 41 08 C3 CC CC CC CC CC CC CC CC CC CC CC CC 8B 0D)
label(_aShopLabel)
registersymbol(_aShopLabel)
_aShop:
_aShopLabel:
mov al,01
ret
[DISABLE]
_aShopLabel:
mov al,[ecx+08]
unregistersymbol(_aShopLabel)
Speedhack + Workaround return bug:
[ENABLE]
aobscan(_aSpeed,D9 40 08 5F 5E C3 8B 0D)
label(_aSpeedLabel)
registersymbol(_aSpeedLabel)
alloc(newmem,16)
label(ReturnSpeed)
label(SpeedValue)
registersymbol(SpeedValue)
_aSpeed:
_aSpeedLabel:
jmp newmem
ReturnSpeed:
newmem:
fld dword ptr [SpeedValue]
pop edi
pop esi
jmp ReturnSpeed
push esi
push edi
call dword ptr [SpeedValue]
SpeedValue:
db 00 00 C0 40
0082523F:
ret
[DISABLE]
dealloc(newmem)
unregistersymbol(SpeedValue)
_aSpeedLabel:
fld dword ptr [eax+08]
pop edi
pop esi
unregistersymbol(_aSpeedLabel)
aobscan(_aSpeed,D9 40 08 5F 5E C3 8B 0D)
label(_aSpeedLabel)
registersymbol(_aSpeedLabel)
alloc(newmem,16)
label(ReturnSpeed)
label(SpeedValue)
registersymbol(SpeedValue)
_aSpeed:
_aSpeedLabel:
jmp newmem
ReturnSpeed:
newmem:
fld dword ptr [SpeedValue]
pop edi
pop esi
jmp ReturnSpeed
push esi
push edi
call dword ptr [SpeedValue]
SpeedValue:
db 00 00 C0 40
0082523F:
ret
[DISABLE]
dealloc(newmem)
unregistersymbol(SpeedValue)
_aSpeedLabel:
fld dword ptr [eax+08]
pop edi
pop esi
unregistersymbol(_aSpeedLabel)
Wallhack :
[ENABLE]
aobscan(_aWall,8D BC 24 88 00 00 00 b9 3f 04 00 00 f3 a5 8b 8c 24)
label(_aWallLabel)
registersymbol(_aWallLabel)
alloc(Wall,64)
label(ReturnWall)
_aWall:
_aWallLabel:
jmp Wall
nop
nop
ReturnWall:
Wall:
lea edi,ss:[esp+00000088]
cmp [eax+00000402],5f626577
je ReturnWall
mov [eax+00000402],5f626577
mov [eax+00000406],67616d69
mov [eax+0000040a],616d2e65
mov [eax+0000040e],00000063
jmp ReturnWall
[DISABLE]
dealloc(Wall)
_aWallLabel:
lea edi,[esp+00000088]
unregistersymbol(_aWallLabel)
aobscan(_aWall,8D BC 24 88 00 00 00 b9 3f 04 00 00 f3 a5 8b 8c 24)
label(_aWallLabel)
registersymbol(_aWallLabel)
alloc(Wall,64)
label(ReturnWall)
_aWall:
_aWallLabel:
jmp Wall
nop
nop
ReturnWall:
Wall:
lea edi,ss:[esp+00000088]
cmp [eax+00000402],5f626577
je ReturnWall
mov [eax+00000402],5f626577
mov [eax+00000406],67616d69
mov [eax+0000040a],616d2e65
mov [eax+0000040e],00000063
jmp ReturnWall
[DISABLE]
dealloc(Wall)
_aWallLabel:
lea edi,[esp+00000088]
unregistersymbol(_aWallLabel)
Zoom hack :
[ENABLE]
aobscan(_aZoom,F3 0F 10 47 04 EB)
label(_aZoomLabel)
registersymbol(_aZoomLabel)
alloc(newmem,1024)
label(_returnhere)
newmem:
mov [edi+04],427f0000 // change value to maximum zoom
movss xmm0,[edi+04]
jmp _returnhere
_aZoom:
_aZoomLabel:
jmp newmem
_returnhere:
[DISABLE]
_aZoomLabel:
movss xmm0,[edi+04]
dealloc(newmem)
unregistersymbol(_aZoomLabel)
aobscan(_aZoom,F3 0F 10 47 04 EB)
label(_aZoomLabel)
registersymbol(_aZoomLabel)
alloc(newmem,1024)
label(_returnhere)
newmem:
mov [edi+04],427f0000 // change value to maximum zoom
movss xmm0,[edi+04]
jmp _returnhere
_aZoom:
_aZoomLabel:
jmp newmem
_returnhere:
[DISABLE]
_aZoomLabel:
movss xmm0,[edi+04]
dealloc(newmem)
unregistersymbol(_aZoomLabel)
GM Hack / teleport :
[ENABLE]
aobscan(_aGM,8B 80 A8 00 00 00 C3)
label(_aGMLabel)
registersymbol(_aGMLabel)
alloc(newmem, 4096)
label(returnhere)
label(exit)
_aGM:
_aGMLabel:
jmp newmem
nop
returnhere:
newmem:
mov eax,00000002
nop
ret
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
_aGMLabel:
mov eax,[eax+000000a8]
ret
unregistersymbol(_aGMLabel)
aobscan(_aGM,8B 80 A8 00 00 00 C3)
label(_aGMLabel)
registersymbol(_aGMLabel)
alloc(newmem, 4096)
label(returnhere)
label(exit)
_aGM:
_aGMLabel:
jmp newmem
nop
returnhere:
newmem:
mov eax,00000002
nop
ret
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
_aGMLabel:
mov eax,[eax+000000a8]
ret
unregistersymbol(_aGMLabel)
GM Detect :
[ENABLE]
aobscan(_aDetectGM,C7 46 0C 00 00 00 00 89 47 04)
label(_aDetectGMLabel)
registersymbol(_aDetectGMLabel)
alloc(DetectGM,25)
label(ReturnName)
_aDetectGM:
_aDetectGMLabel:
jmp DetectGM
nop
nop
ReturnName:
DetectGM:
cmp [eax+70],5D4D475B //[GM]
je 00000000
mov [esi+0c],00000000
jmp ReturnName
[DISABLE]
dealloc(DetectGM)
_aDetectGMLabel:
mov [esi+0c],00000000
unregistersymbol(aDetectGMLabel)
aobscan(_aDetectGM,C7 46 0C 00 00 00 00 89 47 04)
label(_aDetectGMLabel)
registersymbol(_aDetectGMLabel)
alloc(DetectGM,25)
label(ReturnName)
_aDetectGM:
_aDetectGMLabel:
jmp DetectGM
nop
nop
ReturnName:
DetectGM:
cmp [eax+70],5D4D475B //[GM]
je 00000000
mov [esi+0c],00000000
jmp ReturnName
[DISABLE]
dealloc(DetectGM)
_aDetectGMLabel:
mov [esi+0c],00000000
unregistersymbol(aDetectGMLabel)
Scripts provided by: (give to him for this ones)
Elusive:Teleports you from any position on the map to position 0:0 when enabled.
Code:
[ENABLE] aobscan(_aelu,8B 08 8B 50 04 89 4C 24 20) label(_aelusiv) registersymbol(_aelusiv) alloc(newmem,2048) label(returnhere) label(originalcode) label(x_location) label(y_location) label(z_location) registersymbol(x_location) registersymbol(y_location) registersymbol(z_location) label(exit) _aelu: _aelusiv: jmp newmem returnhere: newmem: mov ecx,x_location mov ecx,[ecx] cmp ecx,0 //je originalcode mov [eax],ecx mov ecx,y_location mov ecx,[ecx] cmp ecx,0 //je originalcode mov [eax+04],ecx mov ecx,z_location mov ecx,[ecx] cmp ecx,0 //je originalcode mov [eax+08],ecx originalcode: mov ecx,[eax] mov edx,[eax+04] exit: jmp returnhere x_location: dd 00000000 y_location: dd 00000000 z_location: dd 00000000 [DISABLE] dealloc(newmem) _aelusiv: mov ecx,[eax] mov edx,[eax+04] unregistersymbol(_aelusiv)
0:0 Teleport Hack: Changes the Teleport Location of the map specified to 0,0 as well as the teleport destination.
Code:
[ENABLE] aobscan(_atele,0F B7 98 04 01 00 00 8B 45 00) label(_ateleport) registersymbol(_ateleport) alloc(TeleHack,1024) label(ChangeTele) label(SkipChange) label(ReturnTele) _atele: _ateleport: jmp TeleHack nop nop ReturnTele: TeleHack: movzx ebx,word ptr [eax] cmp bx,0483 // check for Python Castle -> Tomb of the Black Dragon je ChangeTele cmp bx,4E20 // check for Braiken Castle -> Draco Desert je ChangeTele cmp bx,2B8C // check for North Morte -> Acquirai Ruins je ChangeTele cmp bx,048D // check for tomb of the black dragon -> Cursed Mazed je ChangeTele jmp SkipChange ChangeTele: mov word ptr [eax+00000106],0005 mov word ptr [eax+0000010C],0005 SkipChange: movzx ebx,word ptr [eax+00000104] jmp ReturnTele [DISABLE] dealloc(TeleHack) _ateleport: movzx ebx,word ptr [eax+00000104] unregistersymbol(_ateleport)
1. You MUST activate telehack BEFORE loading the map you want to telehack
2. See on the script how it says "Braiken Castle -> Draco Desert", that means that you have to go to 0:0 on Braiken
3. To go to 0:0 you need to do wall hack
Dont forget to press thanks