Kliens szerkesztés - ALAPOK
Nyugodtan lehet kérdezni a Segitség (http://metin2hungary.net/index.php?action=post;board=42.0) topicban!
Kellékek:
Csomagoló (http://www27.zippyshare.com/v/91617093/file.html)
Notepad++ (http://notepad-plus-plus.org/download/v6.6.8.html)
Hex Editor (http://mh-nexus.de/downloads/HxDSetupHU.zip)
_________________________________________________________________________________
Ebben a tutorialban,az alapokat szeretném bemutatni.Ilyen jellegü tutorialból találhatunk itt a fórumon is egy párat,de az egyik vagy ősrégi,vagy magában rossz az egész...
A tutorialban a fájlokról szeretnék beszélni + 1-2 dologról.
_________________________________________________________________________________
A kliensünkben sok dolog található.
Kezdjük a kliensünk bélrendszerénél,az az a Pack mappánál.
ABC sorrend:
BGM.e** - Ebben a kliens zenéi találhatók,amit ha le is cserélünk,akkor az lesz helyette.
Effect.e** - Ahogy a neve is elárulja,hogy ebben az effecketről van szó.Ebben találhatóak pl: mobok effectjei,a zászlók ami az ellenséges birodalom feje fölött található...stb
ETC.e** -
-environment mappa - az égboltokhoz tartozó scriptek,képek találhatóak benne.
-special mappa - ebben pedig a víz texturája...stb
-ui mappa - ebben pedig a dizájnhoz való dolgok találhatóak
Guild.e** - A céhekhez tartozó dolgok,pl: a skillek,céh házak...stb
Icon.e** -
-action mappa - az érzelmek iconjai
-face mappa - a karakterekhez tartozó iconok
-hair mappa - ebben a hajak hoz tartozó képek,és a képekhez tartozó sub fájlok találhatóak
-item mappa - ebben a fegyverekhez,és egyéb dolgokhoz az iconok találhatóak
Index - Ez a pack mappa központja.Ebből a fájlból olvassa be a kliens,hogy melyik fájlokat használja.
Item.e** -
-etc mappa - Ebben a kisebb dolgok vannak,mint pl: a pénzérme modellje
-quest mappa - hajakhoz tartozó dolgok
-weapon mappa - fegyverek modelljei,és a hozzájuk tartozó texturák
locale_xy.e** -
-Effect mappa - ebben található a GM logo,és a hozzá tartozó script is.
-Icon - A küldetés tekercs található benne,de azt a season1 ből nézi.
-ui - Ebben található a legtöbb dolog,login kép,betöltő képek...stb
empiredesc fájlok - A karakter készitésnél lévő birodalom bemutatás
guildbuildinglist.txt - A céh telkekhez szükséges
insult.txt - a legtöbbször trágár szavak szerepelnek benne,amit ingame kicsillagoz
item_list.txt - Egyéb tárgyak,fegyverek modelljének,iconnak ez elérése.A vérteknél csak icon...
item_proto - Vértek,fegyverek,és egyéb tárgyak kliens oldali tulajdonságai ebben vannak.
itemdesc.txt - ebben pedig a tárgyakhoz való szövegelés van...
jobdesc fájlok - a karakterekhez tartozó bemutató
locale_game.txt - ezek pedig a kliens üzenetek
locale_interface.txt - ez meg a kliens dizájnhoz tartozó szövegek...stb
mob_proto - hasonló kaliberű mint az item_proto,csak hogy ez a mobok neveit tartalmazza ...stb
skilldesc.txt - a skillekhez tartozó szövegek
skilltable.txt - a kliens oldali skillek bónuszai
Monster,Monster2.e** - Ezekben a szörnyek találhatóak...
NPC,NPC2.e** - Ezekben pedig 1-2 mount,és npc-k...
Outdoors fájlok - Az ilyen kezdődésü fájlokban a mappok találhatóak.
Property.e** - Ebben .prb fájlok találhatóak.A .prb fájlok által tölti be a kliens az
objecteket,effecteket,növényeket.Amiket majd később lerakhatunk a mapokra...stb
Psyco.e** - Ez egy teljesen felesleges fájl,semmit nem csinál.
root.e** - Ez a kliens agya,a játék egyik legfontosabb része.
Season fájlok - Ezek egy afféle patch fájlként szolgálnak a kliensünkben.Az eloszlás benne elég vegyes.
Sound,Sound2.e** - A kliensben található hangok,pl: mobok hangjai...stb
Terrain - Ebben a talaj textúrák találhatóak.
Textureset.e** - Ebben pedig a mappokhoz hozzá rendelt texturesetek találhatóak,amik segitségével a kliens betölti a texturákat.
Tree.e** - Fák,és egyéb növények találhatóak benne.
uiloading.e** - Ebben is betöltő képek találhatóak.34k-40k nál már ez teljesen felesleges fájl,mivel a locale ből nézi a képeket.
uiscript.e** - ez pedig a kliensünk maradék python scriptjét tartalmazza...stb
Zone.e** - Házakat és még sok más dolgot tartalmaz...
Alap formátumok:
Első látásra a nagyon kezdőknek,elég bonyolúltnak tünhet.De nem kell egyből a rákapni a látványtól,a Whiskyre...
Mint más játék,a metin is több formátumot használ.Lehet az a modellekhez kapcsolódó,vagy különböző képformátumokhoz...stb
A kliens 2 formátumot használ,a modellek terén(SPT,GR2).Az SPT a "növényekhez",a gr2-t pedig a vértek,fegyverek,objectek használják.
A képekhez pedig a dds,jpg,tga.De ha van egy png képünk,és átnevettük .tga ra,akkor azt is beveszi a kliensünk.
Valamint van külön formátumjaik,az effecteknek is(.mse).
A Property.e** ben láthatunk pl: prb,prt formátumokat.A prb az objectekhez,tehát a gr2 es modellekhez.A prt pedig,az spt fájlokhoz,az az a "növényekhez" tartozik.
Az objectekhez tartoznak az mdatr fájlok is,amik a házakba való bemenetelt,és hogy ne tudjunk átmenni rajta.
Az ATR fájlok is befolyásolják,hogy hol tudjunk menni,és hol nem.
Valamint találhatunk python scripteket is(pyc,py).A .pyc a tömörtített,a .py pedig a sima script.
_____________________
Alap műveletek:
A kliensünk felső tálcáján megjelenő név módosítása:
Kicsomagoljuk a kliensünk PACK mappájában található root.e**-t,a fentebb linkelt bontóval.
Megkeressük benne,a locale.py fájlt.Amiben az "APP_TITLE = "Kliens név" részt megkeressük,és átírjuk a nevet.Tehát ebből "APP_TITLE = "Kliens név" lett ez "APP_TITLE = "Teszt kliens" ...
Szerver berakása a kliensbe:
Az előbb kibontott root fájlban,megkeressük,a serverinfo.py-t.
Nálam így néz ki:
import app
app.ServerName = None
STATE_NONE = '...'
STATE_DICT = {
0 : '....',
1 : 'NORM',
2 : 'BUSY',
3 : 'FULL' }
SERVER1_CHANNEL_DICT = {
1:{'key':11,'name':'CH1 ','ip':'37.221.209.72','tcp_port':13070,'udp_port':13070,'state':STATE_NONE,},
2:{'key':12,'name':'CH2 ','ip':'127.0.0.1','tcp_port':62210,'udp_port':62210,'state':STATE_NONE,},
4:{'key':14,'name':'CH3 ','ip':'127.0.0.1','tcp_port':62310,'udp_port':62310,'state':STATE_NONE,},
3:{'key':13,'name':'CH4 ','ip':'127.0.0.1','tcp_port':62410,'udp_port':62410,'state':STATE_NONE,},
5:{'key':13,'name':'CH5 ','ip':'127.0.0.1','tcp_port':62410,'udp_port':62410,'state':STATE_NONE,},
6:{'key':13,'name':'CH6 ','ip':'127.0.0.1','tcp_port':62410,'udp_port':62410,'state':STATE_NONE,},
7:{'key':13,'name':'CH7 ','ip':'127.0.0.1','tcp_port':62410,'udp_port':62410,'state':STATE_NONE,},
8:{'key':13,'name':'CH8 ','ip':'127.0.0.1','tcp_port':62410,'udp_port':62410,'state':STATE_NONE,},
}
REGION_NAME_DICT = {
0 : 'TAIWAN',
}
REGION_AUTH_SERVER_DICT = {
0 : {
1 : { 'ip':'37.221.209.72', 'port':11002, },
}
}
REGION_DICT = {
0 : {
1 : { 'name' : 'Teszt', 'channel' : SERVER1_CHANNEL_DICT, },
},
}
MARKADDR_DICT = {
10 : { 'ip' : '37.221.209.72', 'tcp_port' : 13070, 'mark' : '10.tga', 'symbol_path' : '10', },
}
TESTADDR = { 'ip' : '37.221.209.72', 'tcp_port' : 50000, 'udp_port' : 50000, }
#DONE
Szóval megfogjuk a 37.221.209.72 ip-t,és lecseréljük a sajátunkra.
Valamint a REGION_DICT alatt lévő Teszt szöveg a minimap alatt megjelenő név,ezt is nyugodtan átírhatjuk.
Kis térkép letiltása:
A már kicsomagolt root ban,megnyitjuk az uiminimap.py-t-
Rákeresünk erre:
CANNOT_SEE_INFO_MAP_DICT = {
Ez alá beírjuk a mapünket,így:
"metin2_map_xy" : FALSE,
És valahogy így fog kinézni:
CANNOT_SEE_INFO_MAP_DICT = {
"metin2_map_monkeydungeon" : FALSE,
"metin2_map_monkeydungeon_02" : FALSE,
"metin2_map_monkeydungeon_03" : FALSE,
"metin2_map_devilsCatacomb" : FALSE,
"metin2_map_xy" : FALSE,
Alap kliens levédés:
Kibontod az összes fájlt.
Hex editorban rákeresel az inditóban,bontóban az LZO keyre(ąž°oic›(y v. hexben: B9 9E B0 02 6F 69 81 05 63 98 9B 28 79 18 1A 00)
Átírod amire akarod.(16 os számrendszer:A=10;B=11;C=12;D=13;E=14;F=15)
Vissza csomagolod a fájlokat.
Az indítóban is átírod ugyan így az LZO key-t, arra amire a csomagolóban írtad.
Kiterjesztés módosítása:
Szükségünk van egy levédetlen inditóra,Hex Editorra.
Nyissuk meg az inditónkat a Hex Editorban.Ha már megnyitottuk,akkor a CTRL + F billentyűkombinációval keressünk rá a .eix,.epk ra és átírhatjuk nyugodtan.Figyelj arra,hogy csak 3 betü lehet.
Ha már ezt megcsinátad,akkor mentsd le az inditót.Már csak a pack mappában kellesz átírni őket.
Runtime Error:
A runtime errort az okozza,hogy a kliens kevés memóriát foglal le.Ami oda vezet,hogy a kliensünk öngyilkos lesz,ha eléri azt a korlátot.Az egészet kellőképpen csak a forrásban tudjuk javítani.
_________________________
Egyéb leírások:
Fegyverek berakása - teljes leírás (http://metin2hungary.net/index.php/topic,140582.msg774804.html#msg774804)
Hogyan rakjunk be új vérteket. (vért berakás/ruha berakás) (http://metin2hungary.net/index.php/topic,145267.msg797241.html#msg797241)
Map berakás - teljes leírás (http://metin2hungary.net/index.php/topic,140393.msg773743.html#msg773743)
Extea avagy LZO áthelyezése (http://metin2hungary.net/index.php/topic,172360.msg912194.html#msg912194)
_________________________
A téma még idővel bővűlni fog.