elitepvpers

elitepvpers (https://www.elitepvpers.com/forum/)
-   Metin2 PServer Guides & Strategies (https://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/)
-   -   [Release] Beliebiges Gildenlevel (https://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/2028432-release-beliebiges-gildenlevel.html)

xCPx 07/29/2012 03:55

[Release] Beliebiges Gildenlevel
 
Hey.
Da ich grade schon wieder lwl hatte, hab ich mal die function für die Gildenlevel tabelle umgeschrieben.

Für Rev2089_32M
Code:

This difference file has been created by IDA Pro

test_max_level
000BC1E3: E8 90
000BC1E4: 58 90
000BC1E5: 68 90
000BC1E6: 04 90
000BC1E7: 00 83
000BC1E8: 84 FB
000BC1E9: C0 13
000BC1EA: 74 7E
000BC1EC: 8B B8
000BC1ED: 04 00
000BC1EE: 9D 65
000BC1EF: 00 CD
000BC1F0: 77 1D
000BC1F1: 34 90
000BC1F2: 08 90

Das ersetzt die tabelle ab lvl 19 durch den festwert von level 20.
Heist ab lvl 20 braucht man pro Levelup 500.000.000 Erfahrung.

Source:

Alt:
Code:

int __usercall __guild_levelup_exp<eax>(int a1<eax>, int a2<ecx>)
{
  int v2; // ecx@1
  int v3; // ebx@1
  int result; // eax@2
  int v5; // [sp+10h] [bp-8h]@1

  v3 = a1;
  v5 = *(_DWORD *)_stack_chk_guard__FBSD_1_0;
  if ( LC_IsSingapore(a2) )
    result = *(_DWORD *)&guild_exp_table[4 * v3];
  else
    result = *(_DWORD *)&guild_exp_table2[4 * v3];
  if ( *(_DWORD *)_stack_chk_guard__FBSD_1_0 != v5 )
    __stack_chk_fail(v2, *(_DWORD *)_stack_chk_guard__FBSD_1_0 ^ v5);
  return result;
}

Neu:
Code:

signed int __usercall __guild_levelup_exp<eax>(int a1<eax>, int a2<ecx>)
{
  signed int result; // eax@2

  if ( a1 <= 19 )
    result = *(_DWORD *)&guild_exp_table2[4 * a1];
  else
    result = 500000000;
  if ( *(_DWORD *)_stack_chk_guard__FBSD_1_0 != *(_DWORD *)_stack_chk_guard__FBSD_1_0 )
    __stack_chk_fail(a2, *(_DWORD *)_stack_chk_guard__FBSD_1_0 ^ *(_DWORD *)_stack_chk_guard__FBSD_1_0);
  return result;
}

Was sich natürlich mit dem Release von Ocelot verwenden lässt.
[Only registered and activated users can see links. Click Here To Register...]

Von dem man folgendes nimmt:

Code:

This difference file is created by The Interactive Disassembler

game_r2019_32_nao
GILDEN LVL 40

000BC436: 14 28
000BC598: 14 28
000BC5C0: 14 28
000BF7BA: 14 28

Hierbei ersetzt man die 28 ( Hex für 40) mit seinem Wert.
Beispielsweise 255

das würde dann so ausschauen:
Code:

This difference file is created by The Interactive Disassembler

game_r2019_32_nao
GILDEN LVL 40

000BC436: 14 FF
000BC598: 14 FF
000BC5C0: 14 FF
000BF7BA: 14 FF

Habe es nicht explizit getestet, sollte aber so funktionieren, da jede Gildenfunction die function aufruft, die ich gemoddet habe.

PS: wäre nett wenns mal jemand testet.
PS2: Die Begrenzung sollte bei 255 btw 250 liegen, da ich nicht genau weiß, über welchen Dateitypen das Level an sich läuft.
PS3: Die benötigte Exp wird hier definiert:
Code:

000BC1ED: 04 00
000BC1EE: 9D 65
000BC1EF: 00 CD
000BC1F0: 77 1D

also einfach in little Endian angeben und selber definieren wenn ihr wollt.
MfG xCPx

Thx to:
Silfro ---> Er hatte die Idee dazu und ich die LangeweilexD

'oShet 07/29/2012 03:57

Yeah jetzt bin ich fame.
Danke fürs machen... ;)

Nick 07/29/2012 04:00

Micchhhhaaaa hab dir schonmal gesagt, wenn du lw hast schreib mir 'ne Encryption..xD

Und schon wieder ist die .dif unnötig. xD
Level 20 reicht vollkommen, würde 99 max. machen, alles andere ist vollkommener Mist.

Schreib lieber 'ne .dif, wie man manchen Kids hier das Stroh aus'm Kopf brennt.

Phil' 07/29/2012 04:00

Danke.
Ist aber unnot finde ich.

xCPx 07/29/2012 04:02

Quote:

Originally Posted by .JayZoN (Post 17914954)
Micchhhhaaaa hab dir schonmal gesagt, wenn du lw hast schreib mir 'ne Encryption..xD

Und schon wieder ist die .dif unnötig. xD
Level 20 reicht vollkommen, würde 99 max. machen, alles andere ist vollkommener Mist.

Schreib lieber 'ne .dif, wie man manchen Kids hier das Stroh aus'm Kopf brennt.

Silfro hats grade gewollt und da ich grade von WinAsm umsteig auf bissl IDA hab ichs zur übung genutzt.
hab dir schonmal gesagt: encryptions kann ich nich sonderlich ^^ bin da zu einfallslos.

'oShet 07/29/2012 04:04

Ich weiß net wieso es unnötig sein soll..
Wenn leute lw haben dann können sie ihre gilde lvln..

.Aza' 07/29/2012 04:13

Quote:

Originally Posted by 'oShet (Post 17914982)
Ich weiß net wieso es unnötig sein soll..
Wenn leute lw haben dann können sie ihre gilde lvln..

Nicht nur das^^ es ist auch ein ansporn die beste Gilde am Server zu sein. Und somit ist wieder was zutun ;)

Finde ich gut.

.Hiяo 07/29/2012 04:27

Quote:

Originally Posted by Hatiras (Post 17915029)
Nicht nur das^^ es ist auch ein ansporn die beste Gilde am Server zu sein. Und somit ist wieder was zutun ;)

Finde ich gut.

Abgesehen davon kann man doch für ein Bestimmtes Gildenlevel den Gildenmitgliedern zutritt zu verschiedenen Maps ermöglichen.

arschbacke8 07/29/2012 06:19

Aufjedenfall Nice !

xF4ke :þ 07/29/2012 10:02

nice shice, thanks a lot, bra :D

lfcmaus 07/29/2012 12:41

des ganze würde dann für ältere gamedatein wie ausschauen oO?
zb für die 1765 oder 1675 jenachdem halt

.Verkauf´ 07/29/2012 12:54

Mach mal ne DIF für zu zweit auf dem Pferd reiten :X
Das würde ganz hilfreich sein :D:D

Mach doch erstmal die andere DIF mit dem MAX LvL bugfrei....:(

Trotzdem danke für deine Mühe & das du es mit uns teilst ;)

xCPx 07/29/2012 13:55

Quote:

Originally Posted by .Verkauf´ (Post 17918477)
Mach mal ne DIF für zu zweit auf dem Pferd reiten :X
Das würde ganz hilfreich sein :D:D

Mach doch erstmal die andere DIF mit dem MAX LvL bugfrei....:(

Trotzdem danke für deine Mühe & das du es mit uns teilst ;)

Die andere Dif ist fertig sogar getestet unso nur immo kp ob ich die releasen soll ^^

Pаylasici 07/29/2012 14:09

Quote:

Originally Posted by lfcmaus (Post 17918265)
des ganze würde dann für ältere gamedatein wie ausschauen oO?
zb für die 1765 oder 1675 jenachdem halt

Die Version "1675" gab es nie. ;)


All times are GMT +2. The time now is 18:35.

Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.