Siema!
Tak jak obiecałem. Poradnik do NPC opartego na multisellu.
To zaczynamy:
1.Tworzymy plik htmOtwieramy notatnik. Wpisujemy taką treść:
<html><body>Imie NPC<br>
Tekst jaki ma być w chacie.<br>
<a action="bypass -h npc_%objectId%_multisell Nazwa multisellu">Tutaj cos co po kliknięciu otworzy nam multisell <./a> <br>
</body></html>
. - prosze usnac z <
./a>
Zapisujemy
Przykładowy plik Html dla NPC:
<html><body>Exchanger<br>
<font color="64e986">You are very rich and you can't carry more adena? I think I can help you... <br>
I'm able to trade your Adena for very precious thing - a Gold Bar <br>
You can get your Adena back, just give me Gold Bar and I will give you 100kk for it!<br></font>
<br>
<br>
<br>
<a action="bypass -h npc_%objectId%_multisell 909091"><font color="30787e">Yes, I want to trade my Adena/Gold Bars!</font></a><br>
</body></html>
2.Plik multisellu Tak więc zaczynamy od notatnika
<?xml version='1.0' encoding='utf-8'?>
- ta linijka odpowiada za informacje na temat wersji xml'a.
POtem dodajemy:
<list>
A teraz przechodzimy do itemów. Najprostszym multisellem jest coś za coś:
<item id="1">
<ingredient id="4356" count="400"/>
<production id="6373" count="1"/>
</item>
czyli wymiana. Item 4356 za 6373
<item id="1">
- ta linijka odpowada za miejsce itemu na liście. (tutaj miejsce nr 1)
<item id="1">
<ingredient id="4356" count="400"/>
- ta linijka odpowiada za item który będzie potrzebny do wymiany (Uwaga: Można dodac kilka rzeczy które będą potrzebne do wymiany np:
<item id="1">
<ingredient id="4356" count="400"/>
<ingredient id="5248" count="500"/>
<production id="6373" count="1"/>
</item>
)
<ingredient id="4356"
- w miejscu id="4356" możemy podac ID itemu który chcemy że był na wymiane.
count="500"/>
- ta linijka odpowiada ile danego itemu co podaliśmy będzie potrzebne
Ale niekiedy w multisellu jest więcej itemów. Jeżeli chcemy miec więcej po
<item id="1">
<ingredient id="4356" count="400"/>
<production id="6373" count="1"/>
</item>
Mozemy dodac nastepny item np:
<item id="2">
<ingredient id="4356" count="400"/>
<production id="6374" count="1"/>
</item>
oczywiście zmieniamy wedle uznania. Oczywiście zmieniamy:
<item id="2">
i tak dalej przy następnych itemach zmieniając kolejno Item 3 na 3, item 4 na 4 etc
kończymy plik xml dopisując:
</list>
Teraz zapisujemy plik.
Teraz dodajemy go do sql:
wykonujemy coś takiego:
INSERT INTO `npc` (`id`,`idTemplate`,`name`,`serverSideName`,`title`,`serverSideTitle`,`class`,`collision_radius`,`collision_height`,`level`,`sex`,`type`,`attackrange`,`hp`,`mp`,`hpreg`,`mpreg`,`str`,`con`,`dex`,`int`,`wit`,`men`,`exp`,`sp`,`patk`,`pdef`,`matk`,`mdef`,`atkspd`,`aggro`,`matkspd`,`rhand`,`lhand`,`armor`,`walkspd`,`runspd`,`faction_id`,`faction_range`,`isUndead`,`absorb_level`,`absorb_type`) VALUES
(ID-NPC,12077,'ImieTegoNPC',0,'',0,'Monster.pet_wolf',13.00,11.50,15,'male','L2Merchant',40,195,164,3.95,1.21,40,43,30,21,20,25,0,0,9,19,3,17,282,0,333,0,0,0,26,137,NULL,0,0,0,'LAST_HIT')
A tutaj przykład:
INSERT INTO `npc` (`id`,`idTemplate`,`name`,`serverSideName`,`title`,`serverSideTitle`,`class`,`collision_radius`,`collision_height`,`level`,`sex`,`type`,`attackrange`,`hp`,`mp`,`hpreg`,`mpreg`,`str`,`con`,`dex`,`int`,`wit`,`men`,`exp`,`sp`,`patk`,`pdef`,`matk`,`mdef`,`atkspd`,`aggro`,`matkspd`,`rhand`,`lhand`,`armor`,`walkspd`,`runspd`,`faction_id`,`faction_range`,`isUndead`,`absorb_level`,`absorb_type`) VALUES
(919191,12077,'Wolf',0,'',0,'Monster.pet_wolf',13.00,11.50,15,'male','L2Merchant',40,195,164,3.95,1.21,40,43,30,21,20,25,0,0,9,19,3,17,282,0,333,0,0,0,26,137,NULL,0,0,0,'LAST_HIT'),
Po dodaniu NPC do bazy trzeba dograc pliki htm i xml.
Teraz zmieniamy nazwe pliku xml na np 9999999999 (można urzyc tylko samych liczb) np 999999.xml
Teraz zmieniamy nazwe pliku htm na
IdTegoNPc.htm
np: 9999999.htm
Teraz otwieramy ten plik htm i szukamy linijki:
<a action="bypass -h npc_%objectId%_multisell 909090">Tutaj cos co po kliknięciu otworzy nam multisell
W miejscu którym pogrubiłem wpisujemy nazwe xml'a.
Teraz plik htm wgrywamy do /data/html/merchant/
a plik xml do /data/multisell.
Teraz w grze wpisujemy
//reload npc
//reload html
//reload multisell
a jak nie pomorze to restart. Kiedy to zrobiliśmy to wpisujemy //spawn IDNaszegoNpc.
Jeżeli coś jest nie jasne prosze pisac