1000 Elite gold for who solves this

11/25/2011 16:37 almobd3#1
I added an alignment but it didn't appear in the client

and with a friend's help we figured out that the metin2client.bin has the function in it

we need to ( add the new alignments ) to metin2client.bin

it is like this in the locale.py
Quote:
if alignment >= 25000:
return TITLE_NAME_LIST[0]
elif alignment >= 20000:
return TITLE_NAME_LIST[1]
elif alignment >= 12000:
return TITLE_NAME_LIST[2]
elif alignment >= 8000:
return TITLE_NAME_LIST[3]
elif alignment >= 4000:
return TITLE_NAME_LIST[4]
elif alignment >= 1000:
return TITLE_NAME_LIST[5]
elif alignment >= 0:
return TITLE_NAME_LIST[6]
elif alignment > -4000:
return TITLE_NAME_LIST[7]
elif alignment > -8000:
return TITLE_NAME_LIST[8]
elif alignment > -12000:
return TITLE_NAME_LIST[9]
elif alignment > -20000:
return TITLE_NAME_LIST[10]
elif alignment > -25000:
return TITLE_NAME_LIST[11]

return TITLE_NAME_LIST[12]

the function in the metin2client.bin


Quote:
int __thiscall sub_401640
{
__int16 v1; // ax@1
int result; // eax@2

v1 = *(_WORD *)(this + 372);
if ( v1 < 12000 )
{
if ( v1 < 8000 )
{
if ( v1 < 4000 )
{
if ( v1 < 1000 )
{
if ( v1 < 0 )
{
if ( v1 <= -4000 )
{
if ( v1 <= -8000 )
result = (v1 <= -12000) + 7;
else
result = 6;
}
else
{
result = 5;
}
}
else
{
result = 4;
}
}
else
{
result = 3;
}
}
else
{
result = 2;
}
}
else
{
result = 1;
}
}
else
{
result = 0;
}
return result;
}
We need to change it or add new.

waiting for you.

thanks in advance
via PM
11/25/2011 17:30 mrapc#2
You have to Edit it in the game Data in the Server
11/25/2011 17:44 lolor2#3
mrapc u are wrong in the game is only the max alignemts points not the rank
11/25/2011 17:50 LordMampf2#4
Falsche Sektion

Wrong Section

#reportet
11/25/2011 20:41 LordKill#5
Quote:
Originally Posted by almobd3 View Post
I added an alignment but it didn't appear in the client

and with a friend's help we figured out that the metin2client.bin has the function in it

we need to ( add the new alignments ) to metin2client.bin

it is like this in the locale.py



the function in the metin2client.bin




We need to change it or add new.

waiting for you.

thanks in advance
via PM
Quote:
Originally Posted by mrapc View Post
You have to Edit it in the game Data in the Server
... lesen, dann posten
Wie schon gesagt, hat die game file nur das max alignment und worum es hier geht ist die funktion die überprüft welchen rang man hat, dies wurde früher nur in der python datei festgelegt, doch nun gibt es in der bin eine funktion die das regelt. Diese wurde hier auch im Thema gepostet, nun ist das problem, diese zu erweitern. Darum wird hier auch gebeten nicht um nen lösungsansatz, den haben wir schon nur die fertige lösung ist gesucht, jemand der es bewältigen kann...

read before posting
we already know what you are saying, it is only the max alignment, but we are talking about the function who declares which alignment you have. Earlier it was declared in the python file, but now it is declared in the metin2client.bin. We already have the function but we want one who can edit it.
11/25/2011 21:59 passy305#6
One part is in introloading.py :awesome:
The second part is in locale.py and locale_game.txt :awesome:
And the third part, you say it, in the bin :awesome:

complete solution, nobody have, the people can only tell you there you can find it :awesome:
11/25/2011 22:35 LordKill#7
Quote:
Originally Posted by passy305 View Post
One part is in introloading.py :awesome:
The second part is in locale.py and locale_game.txt :awesome:
And the third part, you say it, in the bin :awesome:

complete solution, nobody have, the people can only tell you there you can find it :awesome:
pls answer with usefull stuff i am searching for this modification too. I tried it together with almobd3 but we only found the function in the bin the other stuff is public and we all know that...
You can write 10times that it is in the bin, we know that.... the stuff in the locale.py locale_game.txt and introloading.py doesn't make a effect until you also edited the function and the bin... so pls write something that makes a step further to the complete solution and not something that we all know
11/25/2011 22:45 Computerfreek#8
I'd know how to do this, it isn't such a hard thing..
But it's much work i think..

You have to recode the function like you disassambled it in the game in pure ASM.
This shoul'd be almost the hardest part.
Then you search a free place in the binary where you put your code in.
Jump vom the Entrypoint of the original function to your own and back.
It's the simple princip of a codecave but should be working fine.
I'm too lazy to try it out.. sorry ;p

Post the disassambled code and I'll see if I can help you doing the ASM-Part..
Shouldn't be a problem for me.
11/26/2011 17:05 lolor2#9
where is the function in the old client?
11/26/2011 19:39 .aNNdii##10
#moved.