|
You last visited: Today at 23:13
Advertisement
Paar Difs + Gilden exp anzeige
Discussion on Paar Difs + Gilden exp anzeige within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
07/13/2012, 14:17
|
#1
|
elite*gold: 0
Join Date: Jul 2009
Posts: 62
Received Thanks: 238
|
Paar Difs + Gilden exp anzeige
tagchen, heut release ich ma n paar dif's und n How to
Die ersten 2 Dif's kann man nicht gleichzeitig benutzten!! da diese an der selben stelle spielen und 2 verschiedene sachen
bewirken!!!
fangen wir mit der 1. an
Diese Dif bewirkt das nur noch Rote, Blaue und Weiße Perle aus der Muschel kommen mehr muss ich wohl nicht drauf eingehen
UNTESTED!!
Code:
This difference file has been created by IDA Pro
game_r2089M
00057DDA: 32 64
00057DDC: 8E 8F
00057DF6: 02 FF
00057DF8: 8E 8F
Vorher
Code:
if ( v82 == 27987 )
{
v541 = CItem::GetCount(a2);
CItem::SetCount(a2, v541 - 1);
v542 = number_ex(1, 100, (int)"char_item.cpp", 2494);
if ( v542 <= 50 )
{
v545 = (char *)locale_find((unsigned int)"-¦¦+í+¡ Á¦-¦ó+¦ ¦¬+È¢+¦¤¦+.");
CHARACTER::ChatPacket(a1, 1, v545, v704);
CHARACTER::AutoGiveItem(a1, 27990, 1, -1, 1);
L OBYTE(v8) = 1;
}
else
{
v543 = (int)prob_table_euckr_171956;
if ( g_iUseLocale )
v543 = (int)prob_table_gb2312_171957;
if ( v542 <= *(_DWORD *)v543 )
{
v550 = (char *)locale_find((unsigned int)&unk_833F18C);
CHARACTER::ChatPacket(a1, 1, v550, v704);
LOBYTE(v8) = 1;
}
else
{
if ( v542 <= *(_DWORD *)(v543 + 4) )
{
v549 = (char *)locale_find((unsigned int)&unk_833E084);
CHARACTER::ChatPacket(a1, 1, v549, v704);
CHARACTER::AutoGiveItem(a1, 27992, 1, -1, 1);
LOBYTE(v8) = 1;
}
else
{
if ( v542 > *(_DWORD *)(v543 + 8) )
{
v551 = (char *)locale_find((unsigned int)&unk_833E0C0);
CHARACTER::ChatPacket(a1, 1, v551, v704);
CHARACTER::AutoGiveItem(a1, 27994, 1, -1, 1);
LOBYTE(v8) = 1;
}
else
{
v544 = (char *)locale_find((unsigned int)&unk_833E0A2);
CHARACTER::ChatPacket(a1, 1, v544, v704);
CHARACTER::AutoGiveItem(a1, 27993, 1, -1, 1);
LOBYTE(v8) = 1;
}
}
}
}
goto LABEL_20;
}
Nacher
Code:
if ( v82 == 27987 )
{
v541 = CItem::GetCount(a2);
CItem::SetCount(a2, v541 - 1);
v542 = number_ex(1, 100, (int)"char_item.cpp", 2494);
if ( v542 > 100 )
{
v545 = (char *)locale_find((unsigned int)"-¦¦+í+¡ Á¦-¦ó+¦ ¦¬+È¢+¦¤¦+.");
CHARACTER::ChatPacket(a1, 1, v545, v703);
CHARACTER::AutoGiveItem(a1, 27990, 1, -1, 1);
LOBYTE(v8) = 1;
}
else
{
v543 = (int)prob_table_euckr_171956;
if ( g_iUseLocale )
v543 = (int)prob_table_gb2312_171957;
if ( v542 <= *(_DWORD *)(v543 + 4) )
{
v549 = (char *)locale_find((unsigned int)&unk_833E084);
CHARACTER::ChatPacket(a1, 1, v549, v703);
CHARACTER::AutoGiveItem(a1, 27992, 1, -1, 1);
LOBYTE(v8) = 1;
}
else
{
if ( v542 > *(_DWORD *)(v543 + 8) )
{
v550 = (char *)locale_find((unsigned int)&unk_833E0C0);
CHARACTER::ChatPacket(a1, 1, v550, v703);
CHARACTER::AutoGiveItem(a1, 27994, 1, -1, 1);
LOBYTE(v8) = 1;
}
else
{
v544 = (char *)locale_find((unsigned int)&unk_833E0A2);
CHARACTER::ChatPacket(a1, 1, v544, v703);
CHARACTER::AutoGiveItem(a1, 27993, 1, -1, 1);
LOBYTE(v8) = 1;
}
}
}
goto LABEL_20;
}
Die 2. Dif bewirkt das Ihr anstatt den Steinstückes ein x beliebiges Item nimmt
Ihr fragt euch bestimmt warum ich das alles so auseinander geschrieben hab der grund ist das der erste byte die Prozentzahl ist
wie hoch die wahrscheinlichkeit ist das das item kommt
das 2. ist die Value in Hex und das 3. ist dazu da damit nur die 4 sachen kommen sonst würde die muschel noch verschwinden
also könnt ihr das letzte weg lassen od nicht bleibt euch überlassen ich hab versucht noch ein item hinzuzufügen doch leider
war nicht genug platz da
Natürlich müsst ihr die Message in der localen_string oder was auch immer ihr benutzt ändern
sucht dazu in der text einfach nach "Steinstück" fals ihr nicht wisst was da bei euch steht
und passt diesen Text an so wie ihr ihn wollt
UNTESTED!!
Code:
This difference file has been created by IDA Pro
game_r2089M
00057DDA: 32 14
00057EAF: 56 00
00057EB0: 6D 00
00057EB1: 00 00
00057EB2: 00 00
00057DF6: 02 FF
00057DF8: 8E 8F
Vorher
Code:
if ( v82 == 27987 )
{
v541 = CItem::GetCount(a2);
CItem::SetCount(a2, v541 - 1);
v542 = number_ex(1, 100, (int)"char_item.cpp", 2494);
if ( v542 <= 50 )
{
v545 = (char *)locale_find((unsigned int)"-¦¦+í+¡ Á¦-¦ó+¦ ¦¬+È¢+¦¤¦+.");
CHARACTER::ChatPacket(a1, 1, v545, v704);
CHARACTER::AutoGiveItem(a1, 27990, 1, -1, 1);
L OBYTE(v8) = 1;
}
else
{
v543 = (int)prob_table_euckr_171956;
if ( g_iUseLocale )
v543 = (int)prob_table_gb2312_171957;
if ( v542 <= *(_DWORD *)v543 )
{
v550 = (char *)locale_find((unsigned int)&unk_833F18C);
CHARACTER::ChatPacket(a1, 1, v550, v704);
LOBYTE(v8) = 1;
}
else
{
if ( v542 <= *(_DWORD *)(v543 + 4) )
{
v549 = (char *)locale_find((unsigned int)&unk_833E084);
CHARACTER::ChatPacket(a1, 1, v549, v704);
CHARACTER::AutoGiveItem(a1, 27992, 1, -1, 1);
LOBYTE(v8) = 1;
}
else
{
if ( v542 > *(_DWORD *)(v543 + 8) )
{
v551 = (char *)locale_find((unsigned int)&unk_833E0C0);
CHARACTER::ChatPacket(a1, 1, v551, v704);
CHARACTER::AutoGiveItem(a1, 27994, 1, -1, 1);
LOBYTE(v8) = 1;
}
else
{
v544 = (char *)locale_find((unsigned int)&unk_833E0A2);
CHARACTER::ChatPacket(a1, 1, v544, v704);
CHARACTER::AutoGiveItem(a1, 27993, 1, -1, 1);
LOBYTE(v8) = 1;
}
}
}
}
goto LABEL_20;
}
Nacher
Code:
if ( v82 == 27987 )
{
v541 = CItem::GetCount(a2);
CItem::SetCount(a2, v541 - 1);
v542 = number_ex(1, 100, (int)"char_item.cpp", 2494);
if ( v542 <= 20 )
{
v545 = (char *)locale_find((unsigned int)"-¦¦+í+¡ Á¦-¦ó+¦ ¦¬+È¢+¦¤¦+.");
CHARACTER::ChatPacket(a1, 1, v545, v703);
CHARACTER::AutoGiveItem(a1, 0, 1, -1, 1);
LOBYTE(v8) = 1;
}
else
{
v543 = (int)prob_table_euckr_171956;
if ( g_iUseLocale )
v543 = (int)prob_table_gb2312_171957;
if ( v542 <= *(_DWORD *)(v543 + 4) )
{
v549 = (char *)locale_find((unsigned int)&unk_833E084);
CHARACTER::ChatPacket(a1, 1, v549, v703);
CHARACTER::AutoGiveItem(a1, 27992, 1, -1, 1);
LOBYTE(v8) = 1;
}
else
{
if ( v542 > *(_DWORD *)(v543 + 8) )
{
v550 = (char *)locale_find((unsigned int)&unk_833E0C0);
CHARACTER::ChatPacket(a1, 1, v550, v703);
CHARACTER::AutoGiveItem(a1, 27994, 1, -1, 1);
LOBYTE(v8) = 1;
}
else
{
v544 = (char *)locale_find((unsigned int)&unk_833E0A2);
CHARACTER::ChatPacket(a1, 1, v544, v703);
CHARACTER::AutoGiveItem(a1, 27993, 1, -1, 1);
LOBYTE(v8) = 1;
}
}
}
goto LABEL_20;
}
Die 3. Dif Erlaubt das hinzufügen in einer gruppe troz der level differenz von 30
TESTED
Code:
This difference file has been created by IDA Pro
game_r2089M
00026FA2: C7 EB
00026FA3: 04 25
00026FA4: 24 90
00026FA5: 98 90
00026FA6: B1 90
00026FA7: 33 90
00026FA8: 08 90
00026FA9: EB 90
00026FAA: 94 90
000271CA: C7 90
000271CB: 04 90
000271CC: 24 90
000271CD: 98 90
000271CE: B1 90
000271CF: 33 90
000271D0: 08 90
000271D2: A5 1E
00034793: C7 90
00034794: 04 90
00034795: 24 90
00034796: 98 90
00034797: B1 90
00034798: 33 90
00034799: 08 90
0003479A: E9 90
0003479B: 01 90
0003479C: FF 90
0003479D: FF EB
0003479E: FF 24
0003497D: C7 90
0003497E: 04 90
0003497F: 24 90
00034980: 98 90
00034981: B1 90
00034982: 33 90
00034983: 08 90
00034985: A1 1B
Der Vorher nacher unterschied ist mir bisl zu aufwendig aber ich erkläre kurz was gemacht wird
also wenn der unterschied 30 ist gibt er eine zahl raus die im switch - case block abgefragt wird
kommt er in den block wo der rückgabe dem wert vom case block entspricht wird eig die meldung raus gegeben das man
nur welche von +/- 30 hinzufügen kann ich hab ein jump auf den case 0 block gesetzt und den rest ausgenoppt
also wird direkt in den case 0 block gesprungen und somit hinzugefügt ist zwar die aufwendigere lösung
und nicht grad die beste aber die schnellste ansonsten wäre es mit viel testen verknüpft und solang es so geht
warum nicht? xD
*UPDATE*
da mir nach ein wenig gucken ein fehler aufgefallen ist hab ich die dif hier drüber kurzer hand überarbeitet der fehler ist dabei, dass wenn es höher/niedriger als 30 ist und das perm ist das member limit unlimited da er die funktion zu früh verlässt also hab ich kurzer hand die abfrage raus geschmissen
die hier drüber kann benutzt werden ist aber nicht unbedingt wichtig
Code:
This difference file has been created by IDA Pro
game_r2089M
00026D37: C1 C0
Vorher
Code:
signed int __fastcall CHARACTER::IsPartyJoinableMutableCondition(signed int a1, int a2, int a3, int a4)
{
signed int v4; // edx@2
char v5; // al@5
__int64 v6; // qax@6
signed int result; // eax@8
int v8; // eax@11
int v9; // [sp+1Ch] [bp-Ch]@1
v9 = *(_DWORD *)_stack_chk_guard__FBSD_1_0;
if ( !singleton<CPartyManager>::ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
v4 = 1;
if ( *(_BYTE *)(singleton<CPartyManager>::ms_singleton + 76) )
{
LOBYTE(v4) = 2;
if ( !*(_DWORD *)(a3 + 3260) )
{
LOBYTE(v4) = 3;
if ( !*(_BYTE *)(a4 + 4) )
{
v5 = LC_IsSingapore(a1, v4);
a1 = 15;
if ( !v5 )
a1 = (unsigned __int8)LC_IsBrazil(15) < 1u ? 30 : 10;
v6 = *(_BYTE *)(a3 + 1290) - *(_BYTE *)(a4 + 1290);
LODWORD(v6) = (HIDWORD(v6) ^ v6) - HIDWORD(v6);
v4 = 4;
if ( a1 >= (signed int)v6 )
{
LOBYTE(v4) = 7;
if ( !*(_DWORD *)(a4 + 3224) )
{
if ( !*(_DWORD *)(a3 + 3224) || (v8 = CParty::GetMemberCount(*(_DWORD *)(a3 + 3224)), v4 = 8, v8 != 8) )
v4 = 0;
}
}
}
}
}
result = v4;
if ( *(_DWORD *)_stack_chk_guard__FBSD_1_0 != v9 )
__stack_chk_fail(a1);
return result;
}
Nacher
Code:
signed int __fastcall CHARACTER::IsPartyJoinableMutableCondition(signed int a1, int a2, int a3, int a4)
{
signed int v4; // edx@2
char v5; // al@5
signed int result; // eax@7
int v7; // eax@10
int v8; // [sp+1Ch] [bp-Ch]@1
v8 = *(_DWORD *)_stack_chk_guard__FBSD_1_0;
if ( !singleton<CPartyManager>::ms_singleton )
__assert("instance", "../../common/singleton.h", 26);
v4 = 1;
if ( *(_BYTE *)(singleton<CPartyManager>::ms_singleton + 76) )
{
LOBYTE(v4) = 2;
if ( !*(_DWORD *)(a3 + 3260) )
{
LOBYTE(v4) = 3;
if ( !*(_BYTE *)(a4 + 4) )
{
v5 = LC_IsSingapore(a1, v4);
a1 = 15;
if ( !v5 )
a1 = (unsigned __int8)LC_IsBrazil(15) < 1u ? 30 : 10;
v4 = 4;
LOBYTE(v4) = 7;
if ( !*(_DWORD *)(a4 + 3224) )
{
if ( !*(_DWORD *)(a3 + 3224) || (v7 = CParty::GetMemberCount(*(_DWORD *)(a3 + 3224)), v4 = 8, v7 != 8) )
v4 = 0;
}
}
}
}
result = v4;
if ( *(_DWORD *)_stack_chk_guard__FBSD_1_0 != v8 )
__stack_chk_fail(a1);
return result;
}
und zu guter letzt das how To
und zum schluss zeig ich euch nochmal wie man die gilden exp anzeige "verändert" oder "anpasst" je nach dem
TESTED
wichtig ist das ich nur die ANZEIGE meine
Die Bezeichnungen können von eurer exe abweichen !!!
Ich werd keine Bilder hochladen da ich froh bin das epvpers innerhalb von 30 min lädt...
denk mal das reicht damit ihr euch vorstellen könnt mit was ich grad rumgurke und warum ich keine
bilder hochlade... xD
macht eure exe in ida auf und geht in den Hex View-A Tab und sucht nach dem binary string (alt + B):
50 46 00 00 A0 8C 00 00 00 FA 00 00 30 6F 01 00
fals ihr den nicht findet denn sucht nach diesem binary string:
41 56 43 47 75 69 6C 64 4D 61 72 6B 4D 61 6E 61 67 65 72 40 40
und scollt etwas runter wenn ihr ymir und B5 03 00 00 10 27 seht
seit ihr genau richtig
nun wechselt wir in den Tab IDA View-A und sehen das die Tabelle in einer function "aufgerufen" wird
wir klicken auf dem verweiß und landen somit in der function wo die tabelle "aufgerufen" wird
Pseodo C
Code:
int __cdecl sub_4A2620(signed int a1)
{
if ( !_stricmp(off_7B9E48, off_7B9E30) && byte_7E7A68 )
{
if ( a1 >= 0 || a1 < 20 )
return dword_7BA1D0[a1];
return 0;
}
if ( a1 < 0 && a1 >= 20 )
return 0;
return dword_7BA178[a1];
}
ASM
Code:
.text:004A2620 sub_4A2620 proc near
.text:004A2620 arg_0 = dword ptr 4
.text:004A2620
.text:004A2620 mov eax, off_7B9E30
.text:004A2625 mov ecx, off_7B9E48
.text:004A262B push eax
.text:004A262C push ecx
.text:004A262D call __stricmp
.text:004A2632 add esp, 8
.text:004A2635 test eax, eax
.text:004A2637 jnz short loc_4A2657
.text:004A2639 mov al, byte_7E7A68
.text:004A263E test al, al
.text:004A2640 jz short loc_4A2657
.text:004A2642 mov eax, [esp+arg_0]
.text:004A2646 test eax, eax
.text:004A2648 jge short loc_4A264F
.text:004A264A cmp eax, 14h
.text:004A264D jge short loc_4A2664
.text:004A264F
.text:004A264F loc_4A264F:
.text:004A264F mov eax, dword_7BA1D0[eax*4]
.text:004A2656 retn
.text:004A2657 ; ---------------------------------------------------------------------------
.text:004A2657
.text:004A2657 loc_4A2657:
.text:004A2657
.text:004A2657 mov eax, [esp+arg_0]
.text:004A265B test eax, eax
.text:004A265D jge short loc_4A2667
.text:004A265F cmp eax, 14h
.text:004A2662 jl short loc_4A2667
.text:004A2664
.text:004A2664 loc_4A2664:
.text:004A2664 xor eax, eax
.text:004A2666 retn
.text:004A2667 ; ---------------------------------------------------------------------------
.text:004A2667
.text:004A2667 loc_4A2667:
.text:004A2667
.text:004A2667 mov eax, dword_7BA178[eax*4]
.text:004A266E retn
.text:004A266E sub_4A2620 endp
paar comments hab ich mal entfernt für die bessere übersicht
da wir ja das level erhöhen wollen und eh 2 tabellen überflüsig sind stellt sich die frage...
ob wir die beiden Tabellen nicht einfach zusammenfügen -> warum nicht wir wollen nur bis 40 und 20 * 2 sind 40
und die tabellen sind nachbaren also warum nicht?
wir müssen erst einmal schauen welche tabelle zuerst kommt und welchen befehl wir ändern müssen
da die 2. Tabelle immer als 1. aufgerufen wird ändern wir diesen befehl von
mov eax, dword_7BA1D0[eax*4]
in
mov eax, dword_7BA178[eax*4]
dies ist ganz einfach wir wechseln zunächst erstmal in den Tab Hex View-A
und merken od schreiben uns den befehl auf in meinem fall wäre es
8B 04 85 78 A1 7B 00
wir wechseln in den Tab IDA View-A und klicken auf dem befehl wo die 2. tabelle aufgerufen wird (ein einfacher klick
und wechseln wieder in den Tab Hex View-A
8B 04 85 D0 A1 7B 00
da wir ja alle ein wenig faul sind müssen wir nicht alles ändern
wir müssen lediglich nur das "D0" in "78" ändern schon wird die tabelle 2x aufgerufen
warum 2x? ymir war ja so schlau und hat ein paar localen mit rein gebastelt... einmal für korea
und einmal der rest xD = 2x
So da der aber aufhört bei 20 die exp anzuzeigen müssen wir auch dies erhöhen
euch ist sicher schon der befehl hier aufgefallen:
cmp eax, 14h
cmp ist meistens (nicht immer) ein indiez dafür das was verglichen werden soll
eax ist in diesemfall die variable wo das derzeitige level drin gespeichert ist
und die 14h das maximale
also wird das derzeitige level mit dem maximalen verglichen
der jump danach also
jl short loc_4A2667
signalisiert wie sie verglichen werden da es ja paar mehr möglichkeiten gibt wie:
== , <= , != , < , >= , >
jl ist ein jump mit bedingung die erfüllt werden muss damit dahin gesprungen wird
short gibt an das es ein kurzer jump ist also werden wir auf einer angegebenen adresse vergeblich hoffen da
angegeben wird wie viele bytes er überspringen soll
wenn wir dies im pseodo C ansehen
if ( a1 < 0 && a1 >= 20 )
return 0;
return dword_7BA178[a1];
sehn wir das wir mit der vermutung recht haben das gilden level wird einmal mit 0 verglichen und einmal mit 20
ist das level kleiner als 0 und größer gleich 20? hä xD wohl eher oder...
wird die funktion mit einem rückgabe wert von 0 verlassen anderen fals wird die funktion mit der exp vom level
als rückgabe wert verlassen da wir das level auf 40 haben und er ab 20 eine 0 uns gibt müssen wir die 20 auf 40 ändern
also klicken wir in dem IDA View-A Tab auf die 14h und wechseln in den Hex View-A Tab und bearbeiten dies(F2)
nun mit was sollen wir das überschreiben dies ist ganz einfach da 14 20 ist und 40 das doppelte von 20 wird sich das
nicht groß im hexdezimal verändern... also tragen wir da 28 ein und bestätigen es (F2)
da es einmal eine abfrage gibt für korea und einmal für den rest machen wir das 2x damit wir bei dem standpunkt:
"klappt kack egal welche locale" bleiben
nun wechseln wir wieder in den Tab IDA View-A und gucken am anfang der funktion und sehen das sie irgendwo aufgerufen wird...
wir klicken drauf und sehen das hier hin gejumpt wird nun es kann via eine if abfrage dahin gejumpt werden oder ganz normal
wir gehen dahin wo der jump befehl sitzt in diesem fall nicht weit weg...
nun sehen wir wieder
cmp eax, 14h
und dieses mal sehen wir
jb short loc_473106
nun können wir erkennen das eine variable mit 14 vergleicht wird
und das mit einer bedingung gejumpt wird sieht also so aus als wären wir
bei einer if abfrage..
da wir diesen abteil nicht im pseodo C ansehen können müssen wir auf unser verständnis
und glück verlassen...
wir können ja zuerst testen ob das jetzt schon alles klappt
ich kann euch aber sagen das die if abfrage ca. so aussieht:
if (a1 < 20)
woher ich dies weiß nun ja mit etwas erfahrung ist dies leicht zu verstehen
deswegen werden wir auch feststellen das es noch nicht klappt
da die function ab 20 nicht mehr aufgerufen wird...
deswegen ändern wir die 14h wieder um wie das geht solltet ihr ja wissen ist genau gleich
wie ebend
nun können wir die sache testen und merken schnell das es alles wunderbar klappt
und können sagen das er nun auch die exp bis level 40 anzeigt
für die die nicht wissen wie man die änderung in die exe rein bekommt:
es gibt eine möglichkeit die sich nennt:
Dif erstellen
wir klicken auf File gehen auf Produce file und gehen da auf Create DIF file...
und ziehen diese dif via dif patcher auf die exe man kann es auch manuell machen
aber ist bei großen änderung nicht grad vorteil haft erklärt sich selbst warum...
fals sonst noch irgendwelche wünsche für dif's gibt immer her damit ^^
bedanken tue ich mich bei zin für die täglichen bettgeschichten <3
bei crankii für die tollen worte <3
bei realii für die tollen neuen socken <3
bei ocelot das er immer meine dif's testet <3
bei meiner freundin dafür das sie mich nach hause gehn lassen hat <3
ich liebe euch ? xD
MfG cryfact
|
|
|
07/13/2012, 14:22
|
#2
|
elite*gold: 0
Join Date: Jul 2012
Posts: 176
Received Thanks: 87
|
Danke, ich kann allerdings nur den DIF gebrauchen mit dem Level Unterschied, den mag ich am meisten :P
|
|
|
07/14/2012, 12:47
|
#3
|
elite*gold: 0
Join Date: Jul 2009
Posts: 62
Received Thanks: 238
|
ca. 200 hits und davon brauchen 3 was? na wer das aus einer wahrscheinlichkeits rechnung rausbekommt hat do den schuss nimmer gehört xD
ausserdem find ichs merkwürdig das soviele die level erhöhung der gilde wollen aber dazu nicht die koreckte anzeige fazinierend xD
denn seit aber so fair und sagt mir was für difs ihr haben wollt kanns schlecht erahnen (aber bitte was möglich ist) xD
und zu den 3 danke das wenigstens ihr arbeit würdigt ♥
|
|
|
07/14/2012, 13:05
|
#4
|
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
|
Mich persönlich interressiert die 1. Dif, da die mich auf die idee gebracht hat, dass man die % chancen von den dingern ja super easy abändern kann oO
btw hast du mir grade mal den functions namen davon in IDA?
|
|
|
07/14/2012, 13:09
|
#5
|
elite*gold: 14
Join Date: Feb 2011
Posts: 1,450
Received Thanks: 1,044
|
Sehr nice
Wusste garnicht, das noch andere Leute als die "bekannten" dieser Section gute Fähigkeiten im Umgang mit IDA besitzen
Ist aber wirklich nice geworden
lg
Zander
|
|
|
07/14/2012, 14:09
|
#6
|
elite*gold: 0
Join Date: Jul 2009
Posts: 62
Received Thanks: 238
|
Quote:
Originally Posted by xCPx
Mich persönlich interressiert die 1. Dif, da die mich auf die idee gebracht hat, dass man die % chancen von den dingern ja super easy abändern kann oO
btw hast du mir grade mal den functions namen davon in IDA?
|
useitem wäre die function ist aber eine große... such nach den strings bsp von der localen_string.txt od so... aber halt nicht nach dem deutschen string sollt wohl kla sein xD
|
|
|
07/15/2012, 00:22
|
#7
|
elite*gold: 0
Join Date: Mar 2009
Posts: 330
Received Thanks: 76
|
Nice nice, nur die 1. Dif macht das nur Weiße Perlen aus Muscheln kommen, keine Blaue oder Rote.
|
|
|
07/15/2012, 00:47
|
#8
|
elite*gold: 32
Join Date: Mar 2012
Posts: 6,717
Received Thanks: 2,737
|
# Omfg.. wie lernt man sowas..
Nice, thanks given..
|
|
|
07/15/2012, 02:57
|
#9
|
elite*gold: 252
Join Date: Mar 2008
Posts: 3,111
Received Thanks: 3,911
|
@.cye: Learning by doing.
Sehr guter Guide, ich persönlich fänds aber toller, wenn du die Dif's nicht public gemacht hättest, sondern lediglich das Tutorial dazu oder die Difs nur an Leute, die auch was für die Sektion getan haben. Finde ich ehrlich gesagt schade, wenn niemand auf den Zug aufspringt, ändert sich nichts.
|
|
|
07/16/2012, 07:56
|
#10
|
elite*gold: 0
Join Date: Jul 2009
Posts: 62
Received Thanks: 238
|
Quote:
Originally Posted by Tashibu
Nice nice, nur die 1. Dif macht das nur Weiße Perlen aus Muscheln kommen, keine Blaue oder Rote.
|
Schade dachte das müsst so laufen allerdings hab ich da auch nicht mehr gespielt naja okay danke für diese information
allerdings kann man nun auch versuchen die chance extakt da rein zu schreiben die stelle hab ich ja aufgezeigt ^^
Quote:
Originally Posted by .cye
# Omfg.. wie lernt man sowas..
Nice, thanks given..
|
Das meiste ist learning by doing allerdings findet man immer eine herrausforderung und wenn man sich nicht
bemüht die zu lösung kommt man auch nicht weiter ^^ ich bin der meinung das jeder alles lernen kann
und niemand nichts kann wie es hier ja gern betitelt wird... man muss sich damit einfach nur mal auseinander setzten
von nichts kommt nichts ^^
Quote:
Originally Posted by .Alessa
@.cye: Learning by doing.
Sehr guter Guide, ich persönlich fänds aber toller, wenn du die Dif's nicht public gemacht hättest, sondern lediglich das Tutorial dazu oder die Difs nur an Leute, die auch was für die Sektion getan haben. Finde ich ehrlich gesagt schade, wenn niemand auf den Zug aufspringt, ändert sich nichts.
|
Naja diese difs sind jetzt nicht so wertvoll und das mit der differenz naja irgendwie hat in diesem punkt jeder recht drauf
features wie nur mit einem member (leader) gk machen od sonstiges werd ich nicht machen geschweige von raus geben sollen
die es selbst machen denn haben se wenigstens auch ein erfolgserlebnis
und um es bisl klarer zu machen ich hab kein plan was hier grad fürn zug fährt da ich ehrlich gesagt nicht die gedult zu hab mir jeden thread an zu gucken.. werden immer hin 2 neue erstellt wenn ich mal 1 geladen hab xD deswegen sei mir in diesen punkt nicht böse bin wohl derzeit am schlechtesten informiert... aber sonst werd ich in zukunft ma berücksichtigen fals ich denn ma wieder was hab was man teilen könnte xD
MfG cryfact
|
|
|
|
Similar Threads
|
Some new difs
07/22/2012 - Metin2 PServer Guides & Strategies - 16 Replies
Thanks for the difference files to abence
Equal price in every empire:
game1675
This difference file is created by abence
game
001878E1: 0F 90
|
[r2089]DIFs
11/06/2011 - Metin2 PServer Guides & Strategies - 19 Replies
Aloha,
hier liste ich ein paar DIFs auf, die ich erstellt habe.
DIF-Liste:
0x01 ~ Pferdelevel auf 40
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯
0x01 ~ Pferdelevel auf 40
This difference file has been created by aNNdii
|
Dif patcher und difs.
08/30/2011 - Metin2 Private Server - 0 Replies
Weiß jemand ob man nur das:
"0003B2C6: 40 E0
0003B2C7: 0D 93
0003B2C8: 03 04
0003B2FF: 40 E0
0003B300: 0D 93
0003B301: 03 04
0003C1B5: BF DF
0003C1B6: D4 93
0003C1B7: 01 04"
|
Server Files mit Level anzeige? Hab ein paar Fragen [Jede Antwort THX]
04/14/2011 - Metin2 Private Server - 7 Replies
Hey Leute,
heute plane ich einen neuen Server zu machen ^.^, allerdings für mich un meine Freunde Bekannte usw.
Ich hab ein paar Fragen und ich hoffe ihr könnt mir diese beantworten ;),
1. Gibt es SF mit levelanzeige, oder muss man das im Client einstellen ?
2. Welche SF sollte ich nehmen? ( will mit 2010er Arbeiten )
3. Auf was sollte ich achten ?
4. Kann mir jemand eine Liste geben was alles gefährliches Fixxen sollte, Appi usw.
|
All times are GMT +2. The time now is 23:13.
|
|