Ok i spent waaaaaaay longer on this then i wanted to xD, i must have not saved or saved over my finished copy so when i went back to do last minute tests i was very confused why it wasn't working and what was wrong with it :p.
Code:
[ENABLE]
alloc(DetectGM,512)
label(ReturnName)
label(PassCheck)
label(Tele)
label(Elusive)
registersymbol(DetectGM)
DetectGM:
cmp [eax+70],5D4D475B
jnz PassCheck
push ebx
mov ebx,Elusive
mov byte ptr [ebx],B9
mov dword ptr [ebx+1],Tele
mov dword ptr [ebx+5],5B90E1FF
pop ebx
PassCheck:
mov [esi+0c],00000000
jmp ReturnName
Tele:
push ebx
mov [eax],0
mov [eax+4],0
mov dword ptr [esp+20],0
mov ebx,Elusive
add ebx,8
jmp ebx
00553F63: //Update: C7 46 0C 00 00 00 00 89 47 04
jmp DetectGM
nop
nop
ReturnName:
00603E3B: //Update: 8B 08 8B 50 04 89 4C 24 20
Elusive:
[DISABLE]
dealloc(DetectGM)
unregistersymbol(DetectGM)
00553F63: //Update: C7 46 0C 00 00 00 00 89 47 04
mov [esi+0c],00000000
00603E3B: //Update: 8B 08 8B 50 04 89 4C 24 20
mov ecx,[eax]
mov edx,[eax+04]
mov dword ptr [esp+20],ecx
ok what the script does is when a gm shows up it will teleport you to 0:0, and from there either scroll or do what you want. you must disable the script once you've been teleported to 0:0 otherwise you'll keep getting teleported there.