Informatikai Barkács Fórum

WORLD OF WARCRAFT SZERVER => Core/Mag Modifikációk => A témát indította: Shyro Dátum 2013 szeptember 07, 06:41:50 DÉLUTÁN

Cím: [PATCH] SAI++
Írta: Shyro Dátum 2013 szeptember 07, 06:41:50 DÉLUTÁN
Sziasztok!

SmartAI - val eleg sokmindent meglehet oldani adatbazison keresztul (pl. teleport npc), anelkul, hogy scriptet kellene irnunk. Egyetlen problemam a SAI - val, hogy (pl. teleport npc) eseten a fizetoeszkoz csak penz lehet. Nem lehet X db item - ert cserebe utazni. (A quest - es megoldast pedig tul gagyinak talaltam) Ebben az esetben az ember kenytelen scriptet irni. Ezzel is akadt problemam, megpedig hogy foloslegesnek talaltam. Miert kellene ujrakodolni azt, amit 1x integraltak? Igy amellett dontottem, hogy kicsit modositom a SAI - t (azert is elonyos ezt hasznalni, mert: konnyen modosithato, kisebb az eselye a hibaknak, tobb megoldasra nyujt univerzalis feluletet, stb.), ugy, hogy megoldja peldaul ezeket:
- Item valtas
- Morph X darab item araert
- Teleport X darab item araert
stb...

PATCH: ITT (http://pastebin.com/ghcsWwk5)
ADATBAZIS MODOSITAS:
ALTER TABLE `smart_scripts` ADD `event_param5` INT(10) DEFAULT '0' AFTER `event_param4`;

(Figyelem! Lehetseges, hogy a modositasok kompatibilitasi hibakat okoznak!) -> Mar nem dob hibauzenetet.

Hasznalat
`smart_scripts` TABLA
`event_type`     - 62 (SMART_EVENT_GOSSIP_SELECT)
`event_param1` - `gossip_menu_option`.`menu_id`
`event_param2` - `gossip_menu_option`.`id`
`event_param3` - `creature_text`.`groupid`[0: Ha sikeres SELECT (vagy x) | 1: Ha sikeretelen SELECT (vagy x + 1)] (megadhato egyeni whisp a jatekos szamara)
`event_param4` - `item_template`.`entry` [0: Nincs szukseg item - hez a sikeres SELECT - hez | UNKNOWNENTRY: 29434]
`event_param5` - INT(10) [Ha event_param4 nem nulla, nem lehet nulla] (Item darabszam)
(x: pozitiv egesz szam)

TESZT: ITT (http://pastebin.com/SgrEqRKW)

Nalam lefordult es ugy mukodott ahogyan azt vartam. Hibakat es eszreveteleket varom!
(Mivel magamnak irtam, igy hasznalni is fogom, ha lesz r aigeny irok nehany pelda sql fajlt.)