Intrebare

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
t4zu
Nivel 3

Nivel 3
Mesaje: 476
Membru din: 16 Iul 2015, 21:31
Server: Doar testez
Regat: Chunjo
Aprecieri: 94  
Mulţumiri: 44  
 Contact:
Medalii

Salutare tuturor.
Se pare ca nimeni nu stie si nu ma poate ajuta cu o intrebare, care pentru uni este simpla, iar pentru alti, cam imposibila.

Cum pot implementa iteme pe un server+client 40k, cu citire .xml?
p.s Itemele facute de mine, care inca nu au nici un querry.
[sunt incepator, va rog sa imi detaliati fiecare pas] Multumesc, sper macar unul dintre voi sa stie sa sa ma poata ajuta. :ymapplause:
Avatar utilizator
ilgryu
Nivel 3

Nivel 3
Mesaje: 452
Membru din: 13 Dec 2013, 16:14
Server: O sa fie si ala.
Regat: Jinno
Aprecieri: 225  
Mulţumiri: 23  
Discord: Copiază ID
 Contact:
Medalii

http://just4metin.ro/probleme-rezolvate ... 57424.html ai aici convertu pt item_proto , si pt problema ta cu mutare iteme de pe 34 pe 40k sau invers vezi ca functioneaza tutorialul succes!
Fusai Aci
Facui Asta
Afișează semnătura
Avatar utilizator
t4zu
Nivel 3

Nivel 3
Mesaje: 476
Membru din: 16 Iul 2015, 21:31
Server: Doar testez
Regat: Chunjo
Aprecieri: 94  
Mulţumiri: 44  
 Contact:
Medalii

Problema rezolvata!
Voi posta cat de curand rezolvarea, pas cu pas.

Cum am si promis, va scriu acum rezolvarea pas cu pas. B-)
1. Trebuie sa avem fisierele .tga in PC;

2. Copiem din fisierul "pack", urmatoarele file: "locale_xx si icon" (ambele cu terminatia .epk si .eix);

3. Le extractam, cu un extractor functional; (recomand eternexus)

4. Intram in fisierul extras "locale_xx", de aici in "locale" > "xx", aici cautam fila "item_proto"
(p.s. mai sus xx, este limba clientului, la fiecare din noi difera in functie de client ex. ro, en, de etc.)

5. Inainte de a trece mai departe, instalam un decriptor "item_proto".
http://www.mediafire.com/file/dvd8a6prs ... rypter.rar

6. Copiem fila "item_proto" in fisierul cu extractorul.

7. Extractam fila "item_proto", la final va fi "item_proto.xml", care va putea fi deschisa cu un editor de text; (recomand notepad++)

8. In cazul nostru este vorba de un obiect, asa ca voi copia randul unui obiect (ex. randul perlei albastre ... care il voi cauta dupa codul "27993")

9. Inserez randul cu perla albastra, la baza documentului, deasuptra lui "</item_proto>" si dedesuptul celorlalte randuri, avand grija sa fie aliniat corespunzator.

10. Noul rand va fi copia exacta a obiectului ales (in cazul nostru perla albastra) si va arata astfel:
<ItemDef Vnum="27993" Name="" LocalizedName="Perla Albastra" Type="14" SubType="4" Weight="0" Size="1" AntiFlags="0" Flags="0" WearFlags="0" ImmuneFlags="0" Gold="12000" ShopBuyPrice="12000" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" AddonType="0" />
11. Noi va trebui sa modificam aici, urmatoarele chestii:
-codul de la " ItemDef Vnum="27993" ", adica "27993" cu un alt cod unic, specific noului nostru obiect, iar acest cod sa il poarte si fila .tga, pentru a evita bugurile.
-numele de la " LocalizedName="Perla Albastra" ", adica "Perla Albastra", cu un nume ales de noi pentru obiect.
Exemplu:
<ItemDef Vnum="989898" Name="" LocalizedName="Numele Ales De Mine" Type="14" SubType="4" Weight="0" Size="1" AntiFlags="0" Flags="0" WearFlags="0" ImmuneFlags="0" Gold="12000" ShopBuyPrice="12000" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" AddonType="0" />
12. Dupa ce am modificat ce am spus mai sus, la noul rand inserat, copiem noul rand, si il inseram pe urmatoarea pagina: http://www.stevecraft.cz/hracky/ip_xml_to_sql.php ,dupa care dam "Convert"

13. Daca totul este in regula, ne va da un cod de genul, mai jos:
INSERT INTO `item_proto` (`vnum`, `name`, `locale_name`, `type`, `subtype`, `weight`, `size`, `antiflag`, `flag`, `wearflag`, `immuneflag`, `gold`, `shop_buy_price`, `refined_vnum`, `refine_set`, `refine_set2`, `magic_pct`, `limittype0`, `limitvalue0`, `limittype1`, `limitvalue1`, `applytype0`, `applyvalue0`, `applytype1`, `applyvalue1`, `applytype2`, `applyvalue2`, `value0`, `value1`, `value2`, `value3`, `value4`, `value5`, `socket0`, `socket1`, `socket2`, `socket3`, `socket4`, `socket5`, `specular`, `socket_pct`, `addon_type`) VALUES (989898, '', 'Numele Ales De Mine', 14, 4, 0, 1, 0, 0, 0, '0', 12000, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
(p.s. Acesta se numeste query si datorita lui putem implementa noul obiect si pe server)

14. Salvam sau lasam asa query, deoarece revenim imediat la el;

15. Criptam "item_proto.xml", cu programul cu care l-am si decriptat, dupa care, stergem vechiul "item_proto" din fisierul cu decriptorul si redenumim noul "item_proto_novo" in "item_proto"
(p.s daca nu se cripteaza, inseamna ca este de la caracterele in chineza si trebuie eliminate, conform celor scrise in cmd-ul care apare)

16. Luam noul "item_proto" si il inseram in "locale_xx", de unde l-am luat initial, pe urma ii dam "inlocuire",
tot aici o sa gasim si fila "item_list.txt", pe care o deschidem intr-un editor de text (notepad++), copiem randul cu "Perla albastra", in baza documentului.
Randul cu "Perla albastra", va trebui sa fie acesta:
27993 ETC icon/item/27993.tga
Aici inlocuim "27993" cu "989898"(in cazul meu), voi inlocuiti cu codul specific obiectului vostru.
Repet si .tga-ul trebuie modificat cu acel cod (ex. 989898).
(p.s. pana inseram .tga-ul mai este de lucru)
*Dupa ce inlocuimi cu codul nostru, va trebui sa arate astfel:
989898 ETC icon/item/989898.tga
Salvam

17. Intram si in fila "itemdesc.txt", unde inseram conform exemplelor de acolo, noul nostru obiect;

18. Impachetam inapoi fisierul principal "locale_xx" si inseram noile file "locale_xx.eix si .epk" inapoi in "pack";

19. In fisierul care a mai ramas "icon" > "icon" > "item", inseram .tga-ul ,care va trebui sa aiba codul ales de voi, in cazul meu "989898.tga"

20. Impachetam si aceast fisier si il inseram in "pack";

21. Acum deschidem Navicat > Player > de sus selectam "Query" > inseram acel query de mai sus, pe urma stergem " `refine_set2`" (pastrand ordinea), apoi mai stergem un 0 din coada, astfel va arata asa:
INSERT INTO `item_proto` (`vnum`, `name`, `locale_name`, `type`, `subtype`, `weight`, `size`, `antiflag`, `flag`, `wearflag`, `immuneflag`, `gold`, `shop_buy_price`, `refined_vnum`, `refine_set`, `magic_pct`, `limittype0`, `limitvalue0`, `limittype1`, `limitvalue1`, `applytype0`, `applyvalue0`, `applytype1`, `applyvalue1`, `applytype2`, `applyvalue2`, `value0`, `value1`, `value2`, `value3`, `value4`, `value5`, `socket0`, `socket1`, `socket2`, `socket3`, `socket4`, `socket5`, `specular`, `socket_pct`, `addon_type`) VALUES (989898, '', 'Numele Ales De Mine', 14, 4, 0, 1, 0, 0, 0, '0', 12000, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
22. Dam sus "Run" > "Save", punem un nume si pe urma un refresh in tabelul "player"

23. Intram in client si executam comanda "/reload" sau mai bine dam "reboot"

24. Like daca apreciezi munca mea :) :ympeace:
Pentru acest mesaj, t4zu for the post:
Moț
Avatar utilizator
Vincent Griffith
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 1807
Membru din: 09 Mai 2016, 17:45
Aprecieri: 194  
Mulţumiri: 1331  
Medalii

Subiect inactiv. Mutat in arhiva.
Închis
Răspunsuri
2
Vizualizări
430
Răspunsuri
1
Vizualizări
209
Răspunsuri
5
Vizualizări
602

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Amazon [Bot] și 28 vizitatori