Proměnné v NPC scriptech

Takže již umíme pomocí NPC mluvit a povídat si s okolím :-) Je na čase trošku postoupit.

Co je to proměnná? V angličtině taky var. Častější označení a já jej taky budu občas používat, tak se prosím nelekejte :-). K čemu je taková proměnná dobrá? Je to jednoduché, každé programování se bez ní neobejde. Ukládají se do ni veškerá data. Takže lajcky řečeno jsou to takové schránky :-). V našich scriptech se používají různé druhy proměnných.
Každá proměnná se sklada ze tří částí. Tím se řekne jakého bude typu a v jakém vztahu bude vzhledem ke hře.
První části je tzv prefix. Potom je název proměnné. A vše je zakončeno sufixem.

Prefix

Sufix


Takže tohle je základni deklarace proměnných. Stačí si teď jen ukázat jak taková proměnná vypadá a můžeme začít psat.

příklad proměnné: @var$ z výše uvedených mouder je jasné, že se jedná o dočasnou proměnnou vázanou na postavu a bude textová.

Funkce:



prontera.gat,100,100,0	script	Honza	120,{
      set @jmeno$,"Honza";
      mes "Ahoj ja jsem " + @jmeno$;
      next;
      mes "A jak se jmenujes ty?";
      input @dalsijmeno$;
      next;
      mes "Zdravim te "+ @dalsijmeno$;
      close;
 }



Vypadá to jako by proměnné byli zbytečné, ale tohle je jen jednoduchý příklad jak se dají pořádně proměnné použít poznáte později.
V eathene existuji i specialni proměnné. Ty se nastasvují hlavně při praci s NPC. Malý výběr těch nejpoužívanějšich.

Speciální proměnné



Takže úkol pro vás! Kdo mi sem jako první napíše NPC script, který toho řekne co nejvíce o postavě se kterou právě mluví, dostane odměnu :-)
Taky bych chtěl říct, že jsem na něco možná zapomněl. Takže pokud mate dotaz nebo vam není něco jasné nebojte se optat. Mé icq je zde i na foru. Taky se nebojte opravovat moje chyby. nikdo neni dokonalej.

(O´Neill) Nevim, jestli sem správně pochopil ůkol,ale něco sem sesmolil, odzkoušel a dokonce to i funguje:)

prontera.gat,150,169,4	script	Ukol	865,{
	set @jmeno$,"Ukol";
	mes "Vitam te poutniku";
	next;
	mes "Me jmeno je "+ @jmeno$;
	next;
	mes "Zjistime jak si uber:) ";
	next;
	mes "Zacneme treba tim,co jsi za char";
	next;
	mes "Hm...Ty jsi "+ Class;
	mes " pekne";
	next;
	mes "Ted se podivame na tvuj level";
	next;
	mes "Nadhera tvuj level je "+ BaseLevel;
	next;
	mes "No a tvuj job level je "+ JobLevel;
	mes "To je parada";
	next;
	mes "Zeny taky nejake mas:)";
	next;
	mes "Mas jich "+ Zeny;
	next;
	mes "Sice nejsi tak bohaty(a) jako ja,ale jde to";
	next;
	mes "Tvoje nejvyssi nosnost je "+ MaxWeight/10;
	next;
	mes "To taky ujde";
	next;
	mes "Jeste si mi nerekl(a) tve jmeno ";
	next;
	mes "..?";
	next;
	input @jmenohrace$;
	mes "Krasne jmeno to "+ @jmenohrace$;
	next;
	mes "Mno to je asi tak vse co ti reknu";
	next;
	mes "Mej se.Cau";
	close;
}