[HOW TO] item_proto bearbeiten

01/05/2010 16:45 #EndLessD#1
[Only registered and activated users can see links. Click Here To Register...] Dieser Thread entspricht höchstwahrscheinlich nicht mehr dem aktuellem Stand, da er im Januar 2010 entstanden ist.

[Only registered and activated users can see links. Click Here To Register...] Ich beantworte keine Fragen zu diesem Thread mehr, da ich kein Metin2 mehr spiele...

So, da schon in vielen Threads gefragt wurde wie man die item_proto bearbeitet habe ich jz ein TUT erstellt.
Los gehts :) :

als erstes den File Archiver von [Only registered and activated users can see links. Click Here To Register...] downloaden [Only registered and activated users can see links. Click Here To Register...]
dann entpackt ihn nach C:\FA (Ordner vorher erstellen)
holt euch die locale_de/locale_hongkong (kommt darauf an obs China oder DE Client ist) aus dem pack ordner und kopiert sie nach C:\FA
dann nehmt die locale_de_ex.xml/locale_hk_ex.xml (komt darauf an welchen Client ihr benutzt) aus dem Anhang
dann öffnet CMD und gebt als erstes "cd C:\FA" und dann "m2 locale_de_ex.xml"/"m2 locale_hk_ex.xml"
(natürlich ohne ") (hängt wieder davon ab was ihr genommen habt)
holt euch die item_proto aus dem entpackten raus und kopiert sie nach C:\FA
dann holt euch die ex_ip.xml aus dem Anhang
(wenn ihr den Client von NeonBlue benutzt, geht in den Client, aber nicht in den pack Ordner sondern in den Ordner: locale/de <- da befindet sich dann die item_proto)
wieder in CMD und gebt "cd C:\FA" (ohne ") ein falls ihr das noch nicht getan habt
dann gebt ihr "m2 ex_ip.xml" (wieder ohne ") ein
nun wird die item_proto entpackt
es entsteht die datei: item_proto_dump.xml
diese könnt ihr nun editieren, ich empfehle [Only registered and activated users can see links. Click Here To Register...]
z.B. :
PHP Code:
        <Item vnum="10" hashName="'µµ+0'" name="Schwert+0" type="1" subtype="0" weight="0" size="2" antiflag="32" flag="1" wearflag="16" immuneflag="0" gold="0" buy_price="0" limittype0="1" limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="7" applyvalue0="22" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="15" value2="19" value3="13" value4="15" value5="0" socket0="0" socket1="64992" socket2="127" socket3="64976" socket4="21631" socket5="4855" refine_vnum="11" refine_set="1" magic_pct="15" specular="0" socket_pct="1" /> 
das ist ein Schwert+0 ihr könnt nun folgendes ändern:

hashName: unwichtig, lassen wie es ist
name: legt den name der Waffe fest
type: legt fest ob es eine waffe, rüssi, etc. ist
subtype: legt fest ob es ein 1 Händer, 2 Händer, Dolche, etc. ist
size: wie viel plätze es im inventar braucht (serverside)
antiflag: legt fest wer es tragen z.B. nur Krieger (serverside)
flag: legt fest ob es handelbar ist oder nicht (serverside)
wearflag: legt fest ob man es tragen kann oder nicht (serverside)
immuneflag: weiß ich noch nich genau

gold: ist der kaufpreis (serverside)
buy_price: ist der verkaufpreis (serverside)

limittype: legt fest welche vorraussetzungen man haben muss um die waffe zu tragen (z.B. limittype0="1" = Level)
limitvalue: legt die stufe von limittype fest (z.B. limitvalue0="0" d.h. die waffe kann ab lvl 0 getragen werden. ACHTUNG: limittype0 muss 1 sein sonst wird nicht das lvl beachtet sondern was anderes)

applytype: legt den standart boni fest (z.B. applytype0="7" = Angriffsgeschwindigkeit)
applyvalue: legt den wert von applytype fest (z.B. applyvalue0="22" = die angriffsgeschwindigkeit beträgt nun +22%. ACHTUNG: applytype0 muss 7 sein sonst ist kein angriffsgeschwindigkeit+)

value0: KP was da rein kommt am besten auf 0 lassen
value1: is der magische minimale Angriffswert
value2: is der magische maximale Angriffswert
value3: is der minimale Angriffswert
value4: is der maximale Angriffswert
value5: ist der magische und normale Angriffswert der bei jedem + hinzugefügt wird
z.B. :
value1="15" value2="19" value3="13" value4="15" value5="0" Schwert+0
magischer AW: 15-19 AW: 13-15
value1="15" value2="19" value3="13" value4="15" value5="7" Schwert+1
die 7 bedeutet das alle werte +7 gerechnet werden
Folgerrung: magischer AW: 22-26 AW: 20-22

socket0-5: unwichtig da serverside, einfach so lassen wie es ist
refine_vnum/refine_set: auch unwichtig da serverside, lassen wie es ist
magic_pct: KP, lassen wie es ist
specular: legt fest ob die waffe schimmert oder nicht (Werte: 0-100)
socket_pct: legt fest wie viele Steine in die Waffe,Rüssi... passen , ändern ist eig nutzlos da serverside, aber wenn man socket_pct="3" eingibt, dann glitzert ein Schwert+9 (muss bei schwert+9 eingetragen sein) wie z.B. ein Schlachtschwert+9

PHP Code:
        <Item vnum="11200" hashName="'³ªÇѰ©+0'" name="Mönchsplattenpanzer+0" type="2" subtype="0" weight="0" size="2" antiflag="56" flag="1" wearflag="1" immuneflag="0" gold="3000" buy_price="3000" limittype0="1" limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="12" value2="0" value3="3" value4="0" value5="0" socket0="0" socket1="64992" socket2="127" socket3="64976" socket4="21631" socket5="4855" refine_vnum="11201" refine_set="163" magic_pct="15" specular="0" socket_pct="3" /> 
Das ist ein Mönchsplattenpanzer+0, ihr könnt nun folgendes ändern:

name: legt den name der Rüssi
type: legt fest ob es eine rüssi, oder etwas anders ist
subtype: bei Rüstungen unwichtig, also auf 0 lassen
size: wie groß es im inventar ist (serverside)
antiflag: legt fest wer es tragen kann z.B. nur Krieger (serverside)
flag: legt fest ob es handelbar ist oder nicht (serverside)
wearflag: legt fest ob man es tragen kann oder nicht (serverside)
immuneflag: weiß ich noch nicht genau

limittype: legt fest welche vorraussetzungen man haben muss um die rüssi zu tragen (z.B. limittype0="1" =Level)
limitvalue: legt die stufe von limittype fest (z.B. limitvalue0="0" d.h. die rüssi kann ab lvl 0 getragen werden. ACHTUNG: limittype0 muss 1 sein sonst wird nicht das lvl beachtet sondern was anderes)
applytype: legt den standart boni fest (z.B. applytype0="8" = Bewegungsgeschwindigkeit)
applyvalue: legt den wert von applytype fest (z.B. applyvalue0="-2" = die Bewegungsgeschwindigkeit beträgt nun -2%. ACHTUNG: applytype0 muss 8 sein sonst ist kein Bewegungsgeschwindigkeit+)
value0: KP was da rein kommt am besten auf 0 lassen
value1: legt die standard def fest
value2: auf 0 lassen
value3: ist der Shape Index(legt fest welches rüssi aussehen die rüssi besitzt, um dies zu ändern müsst ihr die root.eix & .epk entpacken und die warrior_w/m.msm ; shaman_w/m.msm ; sura_w/m.msm & assassin_w/m.msm bearbeiten)
value4: auf 0 lassen
value5: ist die def die mit jedem + hinzugefügt wird, !!!ACHTUNG!!! schreibt immer nur die hälfte hinein, da es x2 gerechnet wird!!!
z.B.
PHP Code:
value0="0" value1="90" value2="0" value3="12" value4="0" value5="27" 
das ist ein SSP+9, er hat 144 def; wir rechnen: value1 + (value5 x 2)= 90 + (27 x 2)= 90 + 54= 144.

specular: legt fest ob die rüssi schimmert oder nicht (Werte: 0-100)
socket_pct: legt wieder fest wieviel die Rüssi glitztert (max: 3).


wenn ihr damit fertig seit könnt ihr sie wieder zusammen packen:
CMD: "cd C:\FA" (ohne ") ein falls ihr das noch nicht getan habt
dann gebt "m2 pack_ip.xml" (ohne ") ein
die "item_proto_dump.xml" wird nun zu "item_proto_new" zusammgepackt diese müsst ihr nun zu item_proto umbennen und sie mit der ersetzt die alte item_proto mit der neuen. dann den ganzen locale-Ordner in euren clienten zurück, nicht in den pack ordner sondern einfach da wo die Exen und die config ist, dann die alte locale_de/locale_hongkong sichern, d.h. Datei aus dem pack-Ordner raus.
wenn ihr wollt könnt ihr den locale-Ordner auch wieder zusammenpacken, dazu benötigt ihr die locale_de_pack.xml/locale_hk_pack.xml, die beim entpacken der locale_de.eix & epk/locale_hongkong.eix & epk entstanden ist.

wieder CMD: "m2 locale_hk_pack.xml"/"m2 locale_de_pack.xml" (wie immer ohne ") dann wird diese wieder zu einer locale_de.eix & epk/locale_hongkong.eix & epk gepackt (ACHTUNG: vorher die alten locale_de.eix & epk/locale_hongkong.eix & epk aus C:\FA entfernen und sichern!!!!!!!)

Dadurch könnt ihr z.B. wenn ihr einen eigenen Server habt neue Waffen in den Clienten implentieren
WICHTIG!!!!!!!!:
WENN IHR DAS GANZE NICHT SERVERSIDE ÄNDERT HAT ES KEINEN SINN ES IM CLIENTEN ZU ÄNDERN!!!!!!!!!!!
Serverside und Clientside sollten abgeglichen sein!

END

Großes THX geht an [Only registered and activated users can see links. Click Here To Register...], für den FileArchiver!
Gebt ihm auch mal paar THX, er hat sie mehr verdient als ich!

Wenn ihr Fehler findet oder Ergänzungen wisst, meldet sie mir BITTE(am besten per PN)!!!
Ich editiere es dann rein.

funktioniert nun auch mit der mob_proto:
[Only registered and activated users can see links. Click Here To Register...]
01/05/2010 16:47 ^FLaRe#2
Wenn man den subtype bei einer 2handwaffe also auf 1 ändert, haltet man sie ingame wie eine 1handwaffe?
Also wie bei einem Multihack?
01/05/2010 16:48 #EndLessD#3
Quote:
Originally Posted by ^FLaRe. View Post
Wenn man den subtype bei einer 2handwaffe also auf 1 ändert, haltet man sie ingame wie eine 1handwaffe?
Also wie bei einem Multihack?
ja es geht:
[Only registered and activated users can see links. Click Here To Register...]
01/05/2010 16:49 ^FLaRe#4
glauben hilft nix..
Du solltest dazuschreiben was für Vorteile mit dieser Methode erreicht werden können
01/05/2010 16:59 .Thor#5
Nice work!
Danke :D

Kann man dort auch die Item Namen ändern, sodass sie InGame anders angezeigt werden?
01/05/2010 17:01 #EndLessD#6
Quote:
Originally Posted by Momoplaya View Post
Nice work!
Danke :D

Kann man dort auch die Item Namen ändern, sodass sie InGame anders angezeigt werden?
ja kann man:
name= ändern
ich editiere es rein
01/05/2010 17:01 .KoNsI#7
Quote:
Originally Posted by Momoplaya View Post
Nice work!
Danke :D

Kann man dort auch die Item Namen ändern, sodass sie InGame anders angezeigt werden?
Wieso nicht? nahc dieser KLösung hab ich gesucht danke da wär ich nie drauf gekommen.
01/05/2010 17:03 .Thor#8
Quote:
Originally Posted by .KoNsI View Post
Wieso nicht? nahc dieser KLösung hab ich gesucht danke da wär ich nie drauf gekommen.
Naja weil es in der DB nicht geht ^^
01/05/2010 17:04 pspcool16#9
ihr könt auch einfach die xml datei auf die archiver exe ziehen (bei vista und höher )
01/05/2010 17:05 #EndLessD#10
Quote:
Originally Posted by Momoplaya View Post
Naja weil es in der DB nicht geht ^^
wenn du es in der DB änderst, ändert sich nur der Name wenn du das Item aufnimmst etc.
Chatzeile: Chinesische Zeichen Schwert+0 Chinesische Zeichen
01/05/2010 17:06 IgorGlock#11
etwas BB Codes und etwas kleines verbessern dann a1 TuT! Du bist der hammer! Wenn's funktioniert fehlt mir nur noch die eine Datei: "Metin2.bin"
01/05/2010 17:06 .Thor#12
Quote:
Originally Posted by Nitro94 View Post
wenn du es in der DB änderst, ändert sich nur der Name wenn du das Item aufnimmst etc.
Chatzeile: Chinesische Zeichen Schwert+0 Chinesische Zeichen
Ehm nein das ändert sich dadurch auch nicht, sagen wir, wir geben einer der "komischen" Rüssis z.B. ab lvl 17 einen anderen Namen, steht ebim Aufnehmen immernoch der alte Name..
01/05/2010 17:11 FreaQii_ZoCkA_aLpTuG#13
sehr nützlich^^

500 posts :DDD
01/05/2010 17:12 #EndLessD#14
Quote:
Originally Posted by Momoplaya View Post
Ehm nein das ändert sich dadurch auch nicht, sagen wir, wir geben einer der "komischen" Rüssis z.B. ab lvl 17 einen anderen Namen, steht ebim Aufnehmen immernoch der alte Name..
du musst nich den name ändern sondern gb2312name
dann müsste es gehen
bei mir gehts:
[Only registered and activated users can see links. Click Here To Register...]
01/05/2010 17:13 .Thor#15
Quote:
Originally Posted by Nitro94 View Post
du musst nich den name ändern sondern gb2312name
dann müsste es gehen
bei mir gehts:
[Only registered and activated users can see links. Click Here To Register...]
Naja, ich hab schon die item_proto 100% übersetzt..
Man muss den 2. Namen ändern