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