[1.298] Change required NP per grade
Hello everyone,Many of you curious for how to change needed loyalty for per grade degree via ebenezer. Maybe most of you didn't notice but ebenezer automatically updates clan grades time to time.
Let's begin ;)
0042AC9F > 8B4424 04 MOV EAX,DWORD PTR SS:
0042ACA3 . 6A 24 PUSH 24 // MAX CLAN MEMBER
0042ACA5 . 99 CDQ
0042ACA6 . 59 POP ECX
0042ACA7 . F7F9 IDIV ECX
0042ACA9 . 85C0 TEST EAX,EAX
0042ACAB . 7C 0D JL SHORT ebenezer.0042ACBA // LOWER THAN 72000 ?
0042ACAD . 3D D0070000 CMP EAX,7D0 // COMPARE WITH 72000
0042ACB2 . 7D 0D JGE SHORT ebenezer.0042ACC1 // JUST GREAT OR EQUAL 144000?
0042ACB4 > 6A 05 PUSH 5 // GRADE 5
0042ACB6 > 58 POP EAX
0042ACB7 . C2 0400 RETN 4 // RETURN GRADE VALUE :)
0042ACBA > 3D D0070000 CMP EAX,7D0 // COMPARE WITH 72000
0042ACBF . 7C 0B JL SHORT ebenezer.0042ACCC // LOWER THAN 144000?
0042ACC1 > 3D A00F0000 CMP EAX,0FA0 // COMPARE WITH 144000
0042ACC6 . 7D 0B JGE SHORT ebenezer.0042ACD3 // JUST GREAT OR EQUAL 360000?
0042ACC8 . 6A 04 PUSH 4 // GRADE 4
0042ACCA .^EB EA JMP SHORT ebenezer.0042ACB6 // RETURN VALUE AS GRADE 4 THAN
0042ACCC > 3D A00F0000 CMP EAX,0FA0 // COMPARE WITH 144000
0042ACD1 . 7C 0B JL SHORT ebenezer.0042ACDE // LOWER THAN 360000?
0042ACD3 > 3D 10270000 CMP EAX,2710 // COMPARE WITH 360000
0042ACD8 . 7D 0B JGE SHORT ebenezer.0042ACE5 // JUST GREAT OR EQUAL 720000?
0042ACDA . 6A 03 PUSH 3 // GRADE 3
0042ACDC .^EB D8 JMP SHORT ebenezer.0042ACB6 // RETURN VALUE AS GRADE 3 THAN
0042ACDE > 3D 10270000 CMP EAX,2710 // COMPARE WITH 360000
0042ACE3 . 7C 0B JL SHORT ebenezer.0042ACF0 // LOWER THAN 720000?
0042ACE5 > 3D 204E0000 CMP EAX,4E20 // COMPARE WITH 720000
0042ACEA . 7D 0B JGE SHORT ebenezer.0042ACF7 // JUST GREAT OR EQUAL 720000?
0042ACEC . 6A 02 PUSH 2 // GRADE 2
0042ACEE .^EB C6 JMP SHORT ebenezer.0042ACB6 // RETURN VALUE AS GRADE 2 THAN
0042ACF0 > 3D 204E0000 CMP EAX,4E20 // COMPARE WITH 720000
0042ACF5 .^7C BD JL SHORT ebenezer.0042ACB4 // ELSE THIS IS GRADE 5
0042ACF7 > 6A 01 PUSH 1 // GRADE 1
0042ACF9 .^EB BB JMP SHORT ebenezer.0042ACB6 // RETURN VALUE AS GRADE 1 THAN
0042ACFB CC INT3Here is the function of grade level calculator or definer in ebenezer. Maybe this codes are confusing for you :) let's focus.
As we know after 1299 patch clans can handle max 36 members and ebenezer divides total loyalty of clan members to that value.
So clans aritmethical loyalty becomes: {user1+user2.....+userN/36}
If clan members total loyalty is 528963 clans loyalty becomes= 14693,416666666666666666666666667 =~ 14693 is the clans loyalty and 14693 as hex value is 3A73 so this is GRADE 2 clan.
Anyway if you wanna change G1 range to greater than 14400000 you must change<-- 0042ACE5 > 3D 204E0000 CMP EAX,4E20 // COMPARE WITH 720000
--> 0042ACE5 > 3D 409C0000 CMP EAX,9C40 // COMPARE WITH 1440000
0042ACEA . 7D 0B JGE SHORT ebenezer.0042ACF7 // JUST GREAT OR EQUAL 720000?
0042ACEC . 6A 02 PUSH 2 // GRADE 2
0042ACEE .^EB C6 JMP SHORT ebenezer.0042ACB6 // RETURN VALUE AS GRADE 2 THAN
<-- 0042ACF0 > 3D 204E0000 CMP EAX,4E20 // COMPARE WITH 720000
--> 0042ACF0 > 3D 409C0000 CMP EAX,9C40 // COMPARE WITH 1440000
So as you can see its so easy. All you need is divide values to 36 and convert it to HEXADEMICAL base. You can easily do it with Windows's calculator's scientific mode and need to use some DBG program with editing support :P i can suggest you to use ollydbg, just load ebenezer with ollydbg and press CTRL and G buttons at same time and type down the offset which you wanna go and change values and than save it.
That's all folks :P
I wish it is understandable if not excuse me :)
页:
[1]