TEXT-BASED MENU
Metin tabanlı bir menü, dikey bir listede aralarından seçim yapabileceğiniz metin seçeneklerinin bir listesini gösterir. Oyuncu bir seçenek belirleyebilir ve ardından göndermek için bir "Devam" düğmesine basabilir.
Metin tabanlı bir menü tanımlamak için syntax aşağıdaki gibidir:
[MENU defname]
title
ON=0 text
script
ON=0 text
scriptdefname Menünün tanımı.title Menünün başlığı. Menünün çağrıldığı nesnenin özelliklerine ve referanslarına erişilebilir.
text Seçenek için görüntülenecek metin. Menünün çağrıldığı nesnenin özelliklerine ve referanslarına erişilebilir.
script Seçeneğe basıldığında çalıştırılacak komut dosyası.
ITEM-BASED MENU
Öğe tabanlı bir menünün Syntaxı aşağıdaki gibidir:
[MENU defname]
title
ON=baseid text
script
ON=baseid @hue, text
scriptdefname Menünün tanımı.title Menünün başlığı. Menünün çağrıldığı nesnenin özelliklerine ve referanslarına erişilebilir.
baseid Düğme için görüntülenecek BASEID öğesi.
hue @hue syntax kullanılırsa, öğe belirtilen renkte görüntülenecektir.
text Seçenek için görüntülenecek metin. baseid'nin başvurduğu ITEMDEF'in özelliklerine erişilebilir.
script Düğmeye basıldığında çalıştırılacak komut dosyası.
TRIGGERS
Client menüden bir seçenek seçtiğinde, bir tetikleyicinin nasıl tetikleneceğine benzer şekilde "ON = ..." bölümü yürütülür.
Clienr menüyü iptal ederse (sağ tıklayarak veya metin tabanlı menüler için "İptal"e basarak), bir @Cancel tetikleyici tetiklenir.
Her iki durumda da, aşağıdaki başvurular ve bağımsız değişkenler kullanılabilir:
I MENU işlevinin çağrıldığı karakter veya öğe.
SRC Menüyü çalıştıran client.
//
// Oyuncunun daha fazla altın isteyip istemediğini soran bir menü görüntüler ve oluşturur
// Evet'i seçerlerse.
//
[MENU m_goldmenu]
You currently have <SRC.BANKBALANCE>gp in your account. Would you like some more gold?
ON=0 Yes
SERV.NEWITEM i_gold, 5000
SRC.BOUNCE <NEW.UID>
RETURN
ON=0 No
SRC.SYSMESSAGE Ok then!
RETURN
//
// Oyuncuya hangi öğeyi istediğini soran bir menü görüntüler.
//
[MENU m_itemmenu]
Which item would you like?
ON=i_sword_viking <NAME>
SERV.NEWITEM i_sword_viking
SRC.BOUNCE <NEW.UID>
RETURN
ON=i_gold 5000 <NAME>
SERV.NEWITEM i_gold, 5000
SRC.BOUNCE <NEW.UID>
RETURN
ON=i_backpack @020, a red backpack
SERV.NEWITEM i_backpack
NEW.COLOR = 020
SRC.BOUNCE <NEW.UID>
RETURN
ON=0 Nothing
SRC.SYSMESSAGE You get nothing!
RETURN
//
// Demonstrates the @Cancel trigger****(@Cancel tetikleyicisini gösterir)
//
[MENU m_cancelmenu]
Don't cancel this menu!
ON=0 Ok!
SRC.SYSMESSAGE Thank you!
RETURN
ON=@Cancel
SRC.SYSMESSAGE I said don't cancel this menu!
MENU m_cancelmenu
RETURN
