[Release]Meister tree ASM script

12/06/2020 21:38 guesswho-.-#1
As the title says and as I promised in one of the threads.

To make it a little bit more difficult it only supports the initial 7 classes and you gotta move your head a little to make it work for the rest.

Code:
<0072F8F1>
jmp @ newmem
nop
nop
nop 
@ rtnhere: 

<00C7E47C> 
@ newmem:
cmp ebx,697.
JE @ skillsum1 

cmp ebx,698.
JE @ skillsum2

cmp ebx,97.
JE @ Skillak1

cmp ebx,98.
JE @ Skillak2 

cmp ebx,1097.
JE @ skillbagi1

cmp ebx,1098.
JE @ skillbagi2 

cmp ebx,497.
JE @ Skillmage1

cmp ebx,498.
JE @ Skillmage2

cmp ebx,1297.
je @ Skillalo1

cmp ebx,1298.
JE @ Skillalo2

cmp ebx,297.
JE @ Skillhunter1

cmp ebx,298.
JE @ Skillhunter2

cmp ebx,897.
JE @ seg@ skill1

cmp ebx,898.
JE @ segskill2
back:
MOV EDX,DWORD PTR SS:[EBP]
push EBX
mov ecx,ebp
call dword ptr ds:[edx+18]
test eax,eax
jmp @ rtnhere


@ skillsum1:
push 2BA
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB

@ skillsum2:
push 2B9
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB

@ Skillak1:
push 62
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB

@ Skillak2:
push 61
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB

@ skillbagi1:
push 44A
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB

@ skillbagi2:
push 449
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB

@ Skillmage1:
push 1F2
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB

@ Skillmage2:
push 1F1
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
 @ back
jmp 0072F8FB

@ Skillalo1:
push 512
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
 @ back
jmp 0072F8FB

@ Skillalo2:
push 511
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB

@ skillhunter1:
push 12A
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB

@ Skillhunter2:
push 129
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB

@ segskill1:
push 382
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB
 @ segskill2:
push 381
mov ecx,ebp
call dword ptr ds:[edx+18]
cmp eax,0
JE @ back
jmp 0072F8FB
it's a really simple script that checks if you have learned the opposite skill of the one you're trying to learn.

to make it work correctly you gotta connect the 3 meister skills (from one tree) together (so to learn the last meister skill you gotta have the 2nd skill learned, and to learn 2nd skill you gotta have the 1st skill etc, you get the idea I guess) and do that for all of the trees.

oh also this is just the client side code. it will work, but by default the server will allow you to learn both trees as fits so the only "guard" is the client. Players with higher latency will be able to learn both trees if they're fast enough.
12/06/2020 21:57 [DEV]Dekaron#2
nice work guesswho
12/07/2020 01:07 nemesidevmv#3
a question only need to edit the client or the dekaron server as well?
12/07/2020 03:10 asnar002#4
thank you
12/07/2020 07:43 guesswho-.-#5
Quote:
Originally Posted by nemesidevmv View Post
a question only need to edit the client or the dekaron server as well?
This script is for the client. You gotta make your own for the server side
12/07/2020 22:45 jedon3#6
thank you so much
12/12/2020 14:43 Ultimo ☼#7
it's always nice to see new releases from knowledgeable people :handsdown: