Práce s menu
Vítám Vás u další lekce scriptovaní. V této lekci si povíme něco o menu a taky trošku nakousneme labely. Myslím, že vše pochopíte rychle. Taky bych chtěl poděkovat hrači O´Neill, který mě velmi motivuje pokračovat v praci.
Menu jsou ve scriptech NPC velmi důležité. Jsou totiž jako jeden z mála prostředků jak s NPC „komunikovat“ ba naopak s hráči.
Funkce
- menu “<možnost menu>“,<label>{,“<možnost menu>“,<label>…};
- možnost menu - je text který se zobrazí v seznamu možností daného menu. Jejich počet je teoretický neomezený, ale netestoval bych kolik toho vydrží. Všobecně platí, že max. 255 znaku.
- label - je to řádek scriptu, na který se skočí při výběru dané možnosti. Existuje ještě tzv. „jump zero“ značí se „-“. A jeho funkce je prostá. Program pokračuje dál v běhu a nikam neskače. V příkladu to půjde velmi dobře pochopit. Určitě stoji za zmínku vysvětlit co jsou to ty labely.
Label
- Labely jsou řádky scriptu, které označují jednotlivé bloky scriptu. Každý rozsáhlejší script je rozdělen do mnoha bloků.
- Labely se zapisují nasledovne:
- Label1: - na samostatném řádku, a znamená to, že zde zacína blok Label1
- Labelum se budu věnovat jěště později, tohle nám prozatím stačí.
Příklad
prontera.gat,100,100,0 script Honza 120,{
mes "Ahoj ja jsem Honza jak ti mohu pomoci?";
menu "Chci se zeptat co tu delas?",label1,"Ahoj Honzo jak se mas?",label2,"Radsi nic",-;
mes "Kdyz nic tak nic no...";
close;
label1: mes "Ja se tu jen tak poflakuju a cekam na k3dT az dojde s hospody slibil mi particku sachu /gg";
close;
label2: mes "Ja se mam super diky za optani co ty?"
menu "Mam se fajn",label3,"Je to bida",-;
mes "Nj dneska je to bida to mas pravdu se podivej co ten Paroubek dela.";
close;
label3: mes "Tak to je super";
close;
}
Poznámka
Názvy labelu muhou byt libovolné. Ale doporučuji používat pouze písmena anglické abecedy a číslice.
- O´Neill
Dovolil jsem jsi malou ukazku.Neni to dokonale.Jeste vim o par muskach,ale zatim to neumim vylepsit.To prijde:)
O´Neill ukázka
prontera.gat,155,170,4 script LmenuNpc 742,1{
mes "Ahoj";
mes "Chces mi rikat";
mes "LmenuNpc";
next;
mes "nebo radsi Oneill";
next;
mes "???";
menu "LmenuNpc",label1,"Oneill",label2,"Socka",-;
next;
mes "Zmiz nez ti dam ranu!!!";
close;
label1: next;
mes "Ok,vybral sis tedy LmenuNpc";
next;
mes "[LmenuNpc]";
mes "Co by jsi tedy odeme chtel?";
menu "Zeptat se co tu delas",label3,"Nic nechci",-;
next;
mes "[LmenuNpc";
mes "Tak se mej";
close;
label3: next;
mes "[LmenuNpc]";
mes "Jsem tu proto,aby si muj stvoritel vyzkousel delat menu NPC postav";
menu "Zajimave",label4,"Nezajem",-;
next;
mes "[LmenuNpc]";
mes "Nulo";
close;
label4: next;
mes "[LmenuNpc]";
mes "Taky si myslim:)";
next;
mes "[LmenuNpc]";
mes "Mej se";
close;
label2: next;
mes "Sem rad,ze si vybral jmeno Oneill";
mes "LmenuNpc je nazev pro Nooba";
next;
mes "[Oneill]";
mes "Co Te zajima?";
menu "Proc tu jsi?",label5,"Nic...",-;
next;
mes "[Oneill]";
mes "Hm...";
close;
label5: next;
mes "[Oneill]";
mes "Stojim tu uz dlouho";
next;
mes "[Oneill]";
mes "A poradne se tu nudim:(";
next;
mes "[Oneill]";
mes "Zkus me rict nejaky vtip,treba me pobavis";
input @vtip$;
next;
mes "[Oneill]";
mes "Uz ani--> "+ @vtip$;
mes "<-- me nepobavi:(";
next;
mes "[Oneill]";
mes "Ale dik za snahu";
next;
mes "[Oneill]";
mes "Zatim cau";
close;
}