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:[ESP+4]
- 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 INT3
复制代码 Here 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 :) |