[[label_npc]]

Návěstí

Ve spustitelném skriptu mohou být některé řádky tvořeny návěstími

  • <jméno návěstí>:
    • např. MojeNavesti:

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.


Speciální návěstí

Časová návěstí

  • OnClock<hodina><minuta>:
  • OnHour<hodina>:
  • On<den v týdnu><hodina><minuta>:
  • OnDay<měsíc><den>:

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

Návěstí serverových událostí

  • OnInit:
  • OnInterIfInit:
  • OnInterIfInitOnce:

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.


War of Emporium návěstí

  • OnAgitStart:
  • OnAgitEnd:
  • OnAgitInit:

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.


Návěstí spouštěná dotekem

  • OnTouch:

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.


Návěstí spouštěná při akci hráčské postavy

  • PCDieEvent: (pokud hráč zemře)
  • PCKillEvent: (pokud hráč zabije)
  • PCLogoutEvent: (pokud se hráč odloguje)
  • PCLoginEvent: (při nalogování hráče do hry)

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.


Návěstí mobů

  • On<label name>:

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.

Příklad

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;
}
 

Vytvořil Typhoon | Provozováno na dokuwiki | Optimalizováno pro Firefox, Opera, Chrome. |  podpora. | Některé z obrázků mohou spadat pod ochrannou známku Gravity Corp. & Lee Myoungjin.  | Vygenerováno během: 0.091 s |   | Copyright 2011-2024