Ve spustitelném skriptu mohou být některé řádky tvořeny návěstími
Návěstí označují důležitá místa vašeho skriptu a mohou být použita k cílení příkazů Goto:goto, Menu:menu a 'jump_zero' či vyvolána pomocí příkazů Doevent:doevent a Donpcevent:donpcevent a jsou i jinak důležitá. Jméno návěstí nesmí být delší než 22 znaků (23tí znak je ':'). Kromě návěstí, která si můžete pojmenovat sami, existuje i několik předdefinovaných návěstí která skriptovací engine spustí v případě, že nastane speciální situace.
Tato návěstí se spouští v případě když hodiny serveru dosáhnou stanovené doby. Hodiny a minuty jsou udávány ve vojenském čase ('0105' znamená 01:05 ráno). Dny v týdnu jsou odvozeny od anglických zkratek. Měsíce jsou označeny čísly 01 (leden) až 12 (prosinec), dny značí den v měsíci a mohou nabývat hodnot 01 až 31. POZOR! Nezapomeňte na nuly!
Česky | Psáno |
---|---|
Pondělí | Mon |
Úterý | Tue |
Středa | Wed |
Čtvrtek | Thu |
Pátek | Fri |
Sobota | Sat |
Neděle | Sun |
OnInit se spustí pokaždé když je ukončeno načítání skriptu, což zahrnuje i případ kdy byl skript načten pomocí příkazu @reloadscript. OnInterIfInit se spustí pokaždé když se map server připojí k char serveru, OnInterIfInitOnce je podobný, ale spustí se pouze jednou. Nespouští se znovu pokud se map server znovu později připojí k char serveru.
OnAgitStart se spouští pokaždé když server přejde do módu WoE, ať už pomocí GM příkazu @agitstart nebo pomocí skriptovacího příkazu 'AgitStart'. OnAgitEnd funguje podobně při ukončení WoE módu. OnAgitInit je spuštěn když jsou data hradů nahrána z char serveru na map server.
Pro všechna výše uvedená návěstí platí, že k jejich spuštění není přiřazen žádné RID, což znamená že nemůžete na základě spuštění některého z nich přistupovat k proměným vázaným na hráčskou postavu nebo na účet, pokud nepřipojíte tuto informaci sami.
Toto návěstí je spuštěno pokud hráčská postava vstoupí do trigger zóny dané NPC. Pokud skript NPC neobsahuje toto návěstí, pak je kód spuštěn od začátku. Bude připojeno RID postavy aktivující trigger.
Tato čtyři speciální návěstí budou vyvolána pokud je nastavena hodnota 'event_script_type' ve vašem 'script_athena.conf' na 1. Jejich jména lze změnit pomocí konfiguračního souboru 'script_athena.conf'. Další informace je možné najít v 'npc/sample/PCLoginEvent.txt'
Zde jsou popsány pouze návěstí která nejsou vázána na některý z příkazů skriptu. Existují ještě další druhy návěstí spouštěných podobným způsobem.
Tato speciální návěstí jsou většinou používána společně se skripty mobů a se skripty které potřebují ukázat/spojit příkaz s jiným mobem nebo NPC. Udávají místo skriptu odkud začít.
První řádek následujícího skriptu vytvoří 10 mobů „Poringz0rd“ (ID 1242 patří Marinovi) na mapě Prontery (%TAB% značí tabelátor). Všimněte si posledního řetězce. ten obsahuje skript který bude spuštěn po zabití. Při jeho smrti je spuštěno návěstí OnThisMobDeath: postavy „Mistr“. Toto NPC je definováno na následujících řádcích. „Mistr“ se nalézá na mapě Amatsu a při jeho aktivaci se zobrazí uvítání a tlačítko „close“. Řádek kódu za návěstím OnThisMobDeath: je spuštěn právě jen tehdy, pokud hráčská postava zabije jednoho z Poringz0rdů.
"prontera.gat",123,42%TAB%monster%TAB%"Poringz0rd"%TAB%1242,10,"Mistr::OnThisMobDeath"; amatsu.gat,13,152,4%TAB%script%TAB%Mistr%TAB%767,{ mes "Vítej!"; close; OnThisMobDeath: announce "Poslouchejte všichni! "+strcharinfo(0)+" právě zabil Poringz0rda!",bc_blue|bc_all; //Pokaždé když jednoho zabiješ, modrá hláška se zobrazí všem. end; }