Jump to content
  • Announcements

    • Xmat

      Pravidlo pro postování v TTT

      Do sekce Tipy, triky, tutoriály nepatří žádné dotazy.   Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse.
    • Replik

      Seznam návodů a důležitých témat v této sekci

      Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou.   Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku.   Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid   Chyby a jejich řešení při přihlašování k serveru - Autor Cybe   Zálohování uživatelských dat   Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik   Kompilování - tvoření vlastních release (revizí)   Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma   Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré   VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius   Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM.   Díky a přeji hezký den na WoWResource   Replik
    • Aristo

      Příspěvky tam, kde nemají co dělat

      Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem.
    • Aristo

      Používání spoilerů

      Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru.   Funkci vyvoláte příkazem [spoiler] text [/spoiler]   Ukázka:  
novdy

[SD2] EventAI

Recommended Posts

Jde s event_ai nastavit nějak target type tak aby se např. NPCcka mohly mezi sebou healovat? Nebo tohle se pořád musí dělat v c++?

 

Ano přes EventAI to uděláš ;)

Share this post


Link to post
Share on other sites
Ano přes EventAI to uděláš ;)

A jak pls?

 

0 TARGET_T_SELF Self cast

1 TARGET_T_HOSTILE Our current target (ie: highest aggro)

2 TARGET_T_HOSTILE_SECOND_AGGRO Second highest aggro (generaly used for cleaves and some special attacks)

3 TARGET_T_HOSTILE_LAST_AGGRO Dead last on aggro (no idea what this could be used for)

4 TARGET_T_HOSTILE_RANDOM Just any random target on our threat list

5 TARGET_T_HOSTILE_RANDOM_NOT_TOP Any random target except top threat

6 TARGET_T_ACTION_INVOKER Unit who caused this Event to occur (only works for EVENT_T_AGGRO, EVENT_T_KILL, EVENT_T_DEATH, EVENT_T_SPELLHIT, EVENT_T_OOC_LOS, EVENT_T_FRIENDLY_HP)

 

Nikde tam nevidím něco jako target_T_FRIEND....

Share this post


Link to post
Share on other sites
A jak pls?

 

0 TARGET_T_SELF Self cast

1 TARGET_T_HOSTILE Our current target (ie: highest aggro)

2 TARGET_T_HOSTILE_SECOND_AGGRO Second highest aggro (generaly used for cleaves and some special attacks)

3 TARGET_T_HOSTILE_LAST_AGGRO Dead last on aggro (no idea what this could be used for)

4 TARGET_T_HOSTILE_RANDOM Just any random target on our threat list

5 TARGET_T_HOSTILE_RANDOM_NOT_TOP Any random target except top threat

6 TARGET_T_ACTION_INVOKER Unit who caused this Event to occur (only works for EVENT_T_AGGRO, EVENT_T_KILL, EVENT_T_DEATH, EVENT_T_SPELLHIT, EVENT_T_OOC_LOS, EVENT_T_FRIENDLY_HP)

 

Nikde tam nevidím něco jako target_T_FRIEND....

 

Pouzi toto

14 = EVENT_T_FRIENDLY_HP:

a toto

6 TARGET_T_ACTION_INVOKER Unit who caused this Event to occur (only works for EVENT_T_AGGRO, EVENT_T_KILL, EVENT_T_DEATH, EVENT_T_SPELLHIT, EVENT_T_OOC_LOS, EVENT_T_FRIENDLY_HP)

 

v.

 

 

Share this post


Link to post
Share on other sites
Pouzi toto

14 = EVENT_T_FRIENDLY_HP:

a toto

6 TARGET_T_ACTION_INVOKER Unit who caused this Event to occur (only works for EVENT_T_AGGRO, EVENT_T_KILL, EVENT_T_DEATH, EVENT_T_SPELLHIT, EVENT_T_OOC_LOS, EVENT_T_FRIENDLY_HP)

 

v.

aha, to me nenapadlo, děkuju moc!! :) (myslel jsem že je to na člověka kterej odstartuje event, jakože boj, např u vaelastrasze (ten kdo s nim pokeca) nebo u nefa... Díky!!

Share this post


Link to post
Share on other sites

REPLACE INTO `scriptdev2`.`eventai_scripts` (`id`, `creature_id`, `event_type`, `event_inverse_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action1_type`, `action1_param1`, `action1_param2`, `action1_param3`, `action2_type`, `action2_param1`, `action2_param2`, `action2_param3`, `action3_type`, `action3_param1`, `action3_param2`, `action3_param3`, `comment`) VALUES (12501, 125, 4, 0, 100, 0, 0, 0, 0, 0, 12, 123, 6, -1, 0, 0, 0, 0, 0, 0, 0, 0, 'Riverpaw Overseer - Random Aggro Say');

 

 

a stale mi to nejde poradte prosim co tam mam zle proste ten creep to nerobi

Share this post


Link to post
Share on other sites

Tak jsem to zkusil udělat podle toho návodu tady, ale nic se neděje :( Napsal jsem to tam tak, aby se při 90% hp moba vyvolal někdo další a přitom ještě něco řekl, uložim, restartnu server, pak se lognu, spawnu si toho moba a bušim, bušim a nic se neděje... Zkoušel jsem v creature_template připsat k tomu mobovi do položky scripts eventai_scripts, to nešlo, tak jsem tam napsal mob_eventai, taky nic, tak jsem tam ze zoufalství napsal id toho scriptu co jsem vytvořil ale taky nic... Už jsem bezradnej. Vytvořil jsem si server z noobpacku, v tabulce db_version mám napsáno:

 

UDB 0.10.3 (357) for MaNGOS rev. 6240 with SD2 SQL for rev. 473

 

Neměl jsem v tý složce s manogsem žádnej soubor ScriptDev2.conf, tak jsem si ho stáhnul z netu, ale výsledky jsou stejný jako když jsem ho tam neměl... Jestli tu někdo ví, co s tim, tak mi poraďtě, pěkně prosím :) Děkuji

Share this post


Link to post
Share on other sites

No tady ten návod je dost starý .. už je pár věci jinak .. viz: http://wiki.udbforums.org/index.php/Event_AI

 

Edit:

Jinak ještě jste nepřisli na co je event_inverse_phase_mask?

Je to fáze ve které se mob právě nachází...

 

a stale mi to nejde poradte prosim co tam mam zle proste ten creep to nerobi

Pokud chceš aby ti něco řekl po aggru tak za prvé musíš mít texty záporné a za druhé musíš mít action_type nastaveno na hodnotu "1" ...

 

Takže ti to bude vypadat takhle:

REPLACE INTO `scriptdev2`.`eventai_scripts` (`id`, `creature_id`, `event_type`, `event_inverse_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action1_type`, `action1_param1`, `action1_param2`, `action1_param3`, `action2_type`, `action2_param1`, `action2_param2`, `action2_param3`, `action3_type`, `action3_param1`, `action3_param2`, `action3_param3`, `comment`) VALUES (12501, 125, 4, 0, 100, 0, 0, 0, 0, 0, 1, -6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Riverpaw Overseer - Random Aggro Say');

 

Tak jsem to zkusil udělat podle toho návodu tady, ale nic se neděje :( Napsal jsem to tam tak, aby se při 90% hp moba vyvolal někdo další a přitom ještě něco řekl, uložim, restartnu server, pak se lognu, spawnu si toho moba a bušim, bušim a nic se neděje... Zkoušel jsem v creature_template připsat k tomu mobovi do položky scripts eventai_scripts, to nešlo, tak jsem tam napsal mob_eventai, taky nic, tak jsem tam ze zoufalství napsal id toho scriptu co jsem vytvořil ale taky nic... Už jsem bezradnej. Vytvořil jsem si server z noobpacku, v tabulce db_version mám napsáno:

 

UDB 0.10.3 (357) for MaNGOS rev. 6240 with SD2 SQL for rev. 473

 

Neměl jsem v tý složce s manogsem žádnej soubor ScriptDev2.conf, tak jsem si ho stáhnul z netu, ale výsledky jsou stejný jako když jsem ho tam neměl... Jestli tu někdo ví, co s tim, tak mi poraďtě, pěkně prosím :) Děkuji

Postni sem cos vytvořil...

Edited by Sorken

Share this post


Link to post
Share on other sites

Takhle jsem to tam sesmolil

insert into `eventai_scripts` (`id`, `creature_id`, `event_type`, `event_inverse_phase_mask`, `event_chance`, `event_param1`, `event_param2`, `event_param3`, `action1_type`, `action1_param1`, `action1_param2`, `action1_param3`, `action2_type`, `action2_param1`, `action2_param2`, `action2_param3`, `action3_type`, `action3_param1`, `action3_param2`, `action3_param3`, `comment`) values(3,23834,4,0,100,90,0,0,12,23139,0,0,0,0,0,0,0,0,0,0,'');

Edited by Blond

Share this post


Link to post
Share on other sites
Takhle jsem to tam sesmolil

Jestli si chtěl aby se ti to spustilo když bude mob na 90% hp tak už nemusím číst dál a hned vidím chybu u event_type .. máš 4 což je aggro ..

na hp je event_type 2 .. Navíc ti chybí v kódu event_flags pokud chceš aby se akce opakovala musíš event_flags nastavit na hodnotu "1"...

 

pokud to chceš u friendly hp tak je to event_type "14" s tím, že eventparam1 je hp deficit, eventparam2 je radius (v yardech),

eventparam3 je minimální doba kdy se akce opakuje (v milisekundách) a eventparam4 je maximální doba kdy se akce opakuje

(v milisekundách) a action_type musíš mít 11 (pokud si chtěl aby něco castoval) pak action_param1 máš id spellu param2 máš target .. tedy dáš 6tku... bude ti to vypadat nějak takhle:

 

INSERT INTO `eventai_scripts` (`id`,`creature_id`,`event_type`,`event_inverse_phase_mask`,`event_chance`,`event_flags`,
`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action1_type`,`action1_param1`,`action1_param2`,
`action1_param3`,`action2_type`,`action2_param1`,`action2_param2`,`action2_param3`,`action3_type`,`action3_param1`,
`action3_param2`,`action3_param3`,`comment`) VALUES
('id scriptu','id moba','14','0','100','1','600','40','30000','40000','11','6077','6','0','0','0','0','0','0','0','0','0',
'vycastuje renew na friendly target');

Edited by Sorken

Share this post


Link to post
Share on other sites

No tak koukám, že už jsem to víc zeslonit nemohl :D No chtěl jsem aby ten mob na 90% procentech vyvolal na pomoc dalšího moba a aby zároveň něco zařval. A to, aby se to opakovalo, je trošku zbytečný ne, když 90%hp bude mít jen jednou, za combat, když neberu v úvahu nějaký healy... Nebo tam ta hodnota 1 musí nutně bejt? Já to asi ještě moc nepobírám, to scriptování :-D Ale vypadá to tak snadno :) A nic k tomu neni jinýho potřeba, než vyplnit správně celej ten řádek v eventai_scripts?

Share this post


Link to post
Share on other sites
No tak koukám, že už jsem to víc zeslonit nemohl :D No chtěl jsem aby ten mob na 90% procentech vyvolal na pomoc dalšího moba a aby zároveň něco zařval.

Aha... pokud si chtěl, aby vyvolat na 90% moba a něco řekl tak takhle:

INSERT INTO `eventai_scripts` (`id`,`creature_id`,`event_type`,`event_inverse_phase_mask`,`event_chance`,`event_flags`,
`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action1_type`,`action1_param1`,`action1_param2`,
`action1_param3`,`action2_type`,`action2_param1`,`action2_param2`,`action2_param3`,`action3_type`,`action3_param1`,
`action3_param2`,`action3_param3`,`comment`) VALUES
('id scriptu','id moba','2','0','100','0','90','90','0','0','1','-id tveho textu','0','0','12','id moba co chceš summnout','1','0','0','0','0','0',
'mob pri 90% řekne hlášku a vycastuje dalsiho moba, ktery zaútočí na target s nejvyšším aggrem');

event_type "2" je event, který se spustí při HP. Event_param1 nastavuje počet hp v % na 90 event_param2 to samé (pokud chceš aby to bylo přesně v 90% a ne mezi třeba 90% a 80%) event_param3 a 4 je opakování, ale to nepotřebuješ. Teď aby to něco řeklo tak dáme action1_type na hodnotu "1" a action1_param1, 2 a 3 pak libovolné idčka od textů co potřebuješ (když jich dáš víc jak 1 bude to vybráno randomně z těch dvou nebo tří - zaleží kolik si jich zvolíš). Aby něco vysumonil dáme action2_type na hodnotu "12" a action2_param1 určuje id moba co chceš vysummonit, action2_param2 určuje target, na který bude vysumoněný mob útočit a action2_param3 určuje dobu jak dlouho bude mob vysumoněný. Pokud dáš hodnotu 0 zůstane tak dlouho dokud neleavne combat.

 

Id textu se bere z eventai_text a jeho hodnota musí být záporná (proto to mínus všude). Pokud si chceš nějaký text vytvořit tak zase pomoci "INSERT INTO eventai_texts (entry, content_default, type) VALUES (-tvojeid, tvůj text, typ textu)" u type jsou hodnoty 0,1,2, kde 0 = say, 1 = yell a 2 = textemote.

 

A to, aby se to opakovalo, je trošku zbytečný ne, když 90%hp bude mít jen jednou, za combat, když neberu v úvahu nějaký healy... Nebo tam ta hodnota 1 musí nutně bejt?

JJ jasně, nevěděl jsem jak to myslíš. Samozřejmě tam být nemusí.

 

Já to asi ještě moc nepobírám, to scriptování :-D Ale vypadá to tak snadno :)

Je to jednoduché stačí si uvědomit ty dvě zakladní otázky, co dělat a kdy to dělat ;). Pomůže ti tohle: http://wiki.udbforums.org/index.php/Event_AI (pokud umíš anglicky).

 

A nic k tomu neni jinýho potřeba, než vyplnit správně celej ten řádek v eventai_scripts?

A ještě to musíš zadefinovat u moba v creature_template

UPDATE  creature_template SET scriptname = mob_eventai WHERE entry = XXX;

 

 

Share this post


Link to post
Share on other sites

Já tam místo tý tabulky eventai_text mám localized_text, vadí to? Jen jestli to neni důkaz toho, že mám nějak prošlou db :D

 

Edit: No tak asi mám starou db, páč tam nemám žádný event flags a ty parametry tam mám jen tři... Co s tim? :o

 

Edit2: Zkoušel jsem to nějak obejít, že jsem umáznul ty položky event_flag a ten čtvrtej parametr, aby se mi to vůbec natáhlo do db, ale pak jsem nastartoval server a ten mob furt nic nedělá... Takže je to asi tou starou db...

Edited by Blond

Share this post


Link to post
Share on other sites

Cau, potřebuju aby mně mob castil... nějak jsem sesmolil tohle, ale DB mi to nechce říct, poradíte? Dik

DELETE FROM `scriptdev2`.`eventai_scripts` WHERE (`creature_id`=);
INSERT INTO `scriptdev2`.`eventai_scripts` VALUES 
(900000, 70000, 2, 0, 100, 0, 99, 99, 0, 0, 11, 36834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''),
(900001, 70000, 2, 0, 100, 0, 90, 90, 0, 0, 11, 36834, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, ''),
(900002, 70000, 2, 0, 100, 0, 80, 80, 0, 0, 11, 18805, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, ''),
(900003, 70000, 2, 0, 100, 0, 70, 70, 0, 0, 11, 26058, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, ''),
(900004, 70000, 2, 0, 100, 0, 60, 60, 0, 0, 11, 29962, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, ''),
(900005, 70000, 2, 0, 100, 0, 50, 50, 0, 0, 11, 37098, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, ''),
(900006, 70000, 2, 0, 100, 0, 30, 30, 0, 0, 11, 30210, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, ''),
(900007, 70000, 2, 0, 100, 0, 15, 15, 0, 0, 11, 30171, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, ''),

Share this post


Link to post
Share on other sites

Poradili by jste mi?Jen pro uplne pochopenéí jak bych měl napsat zě nějaký NPC jde a playeři do nej mlátí, jak mu uberou 10% HP aby něco řekl a zasmál se a až mu uberou 90% aby zas něco řekl a uletěl.

Share this post


Link to post
Share on other sites

Co třeba něco takového uděláno na Evade creatury na konci..

DELETE FROM `creature_ai_scripts` WHERE (`creature_id`=123456);
INSERT INTO `creature_ai_scripts` VALUES 
(null, 123456, 2, 0, 100, 1, 90, 90, 1, 1, 1, id_textu, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Creatura rekne neco po snížení jejiho hp na 90%'),
(null, 123456, 2, 0, 100, 1, 10, 10, 1, 1, 1, id_textu, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Creatura rekne neco po snížení jejiho hp na 10%'),
(null, 123456, 2, 0, 100, 1, 9, 9, 1, 1, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Force creature reset. Exit combat + lose threat');

 

Share this post


Link to post
Share on other sites

jo díky to je dobre ale mohl bys mi ještě popsat co které číslo znamená protože tomuhle moc nerozumím

Share this post


Link to post
Share on other sites
jo díky to je dobre ale mohl bys mi ještě popsat co které číslo znamená protože tomuhle moc nerozumím

 

 

Jukni SEM , tady je to celkem dobře vysvětleno

Share this post


Link to post
Share on other sites

Hej newite proc mi nefajci tedle event je to na vyvolani

 

INSERT INTO `eventai_scripts` (
`id`,
`creature_id`,
`event_type`,
`event_param1`,
`event_param2`,
`action1_type`,
`action1_param1`,
`action2_type`,
`action2_param1`,
`comment`
)
VALUES
(NULL,'14569','7','12:10','','','12','22917','0',',')

Share this post


Link to post
Share on other sites

Mam taký mali problémik z EventAI script mi funguje správne všetko je ok .. lenže ak npc spawnem do instancie .. napríklad naxx , ulduar ... tak proste EventAI u toho npc vôbec nefunguje a pritom keď je pred dungom niekde na mapke ide to správne neviete kde môže biť chyba či sa to dá nejako nastaviť alebo to je chyba v mangose a je treba upraviť zdrojaky ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×