Anasayfa
UO Sunucular
Forumlar
Profilim
Skill Menu Tanımları

Syntax

Bir beceri menüsünün syntax, [MENU] yerine [SKILLMENU] ile başlayan tanım dışında bir menü ile aynıdır. Menülerde olduğu gibi hem metin tabanlı hem de öğe tabanlı stiller mümkündür. Yalnızca öğe tabanlı beceri menüsü stilinin syntax aşağıda gösterilmiştir:
[SKILLMENU defname]
title

ON=baseid text
    script

ON=baseid @hue, text
    script
defname 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ı.

FUNCTIONS

Bir beceri menüsünün syntax bir menü ile aynı olsa da aradaki fark, istemciye bir seçenek görüntülemeden önce Sphere'in aşağıdaki işlevler için komut dosyası satırlarında arama yapmasıdır (birden fazla mevcut olabilir). Bu işlevler menü seçeneğinin görünürlüğünü etkiler.

MAKEITEM item_baseid
İstemcinin öğeyi oluşturma ölçütlerini karşılayıp karşılamadığını denetler (öğenin ITEMDEF'indeki SKILLREQ ve RESOURCES özellikleri).

SKILLMENU skillmenu_id
İstemcinin hangi seçeneklere uygun olduğunu görmek için beceri menüsünde arama yapar. Alt menüde görünür bir öğe yoksa, seçenek istemciden gizlenecektir.

TEST resource_or_skill_list
Müşterinin listelenen tüm kaynaklara/becerilere sahip olup olmadığını kontrol eder. Aksi takdirde, menü seçeneği onlar için mevcut olmayacaktır.

TESTIF condition
Durumu kontrol eder. Yanlış olarak değerlendirilirse, menü seçeneği istemci tarafından kullanılamaz.

TRIGGERS

İstemci beceri menüsünden bir seçenek seçtiğinde, bir tetikleyicinin nasıl ateşleneceğine benzer bir şekilde "ON=..." bölümü yürütülür.

İstemci 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 istemci.
//
// sm_cloth_misc varsayılan komut dosyası paketinden beceri menüsü.
//
[SKILLMENU sm_cloth_misc]
Misc.

ON=i_SASH <NAME> (<RESMAKE>)
    MAKEITEM=i_SASH
   
ON=i_apron_half <NAME> (<RESMAKE>)
    MAKEITEM=i_apron_half
   
ON=i_apron_full <NAME> (<RESMAKE>)
    MAKEITEM=i_apron_full
//
// MENÜ örneğine benzer, ancak seçeneklere koşullar ekler.
//
[SKILLMENU sm_itemmenu]
Which item would you like?

ON=i_sword_viking <NAME>
    TESTIF (<SRC.STR> > 100)             // Bu seçeneği görebilmek için müşterinin 100'den fazla güce sahip olması gerekir
    SERV.NEWITEM i_sword_viking
    SRC.BOUNCE <NEW.UID>
    RETURN
   
ON=i_gold 5000 <NAME>
    TESTIF (<SRC.BANKBALANCE> < 5000)    // müşterinin bu seçeneği görebilmesi için bankasında 5000gp'den az para olması gerekir
    SERV.NEWITEM i_gold, 5000
    SRC.BOUNCE <NEW.UID>
    RETURN
   
ON=i_backpack @020, a red backpack
    TEST 1 i_backpack, 10.0 TAILORING    müşterinin bu seçeneği görebilmesi için 1 sırt çantasına ve %10 terziliğe sahip olması gerekir
    SERV.NEWITEM i_backpack
    NEW.COLOR = 020
    SRC.BOUNCE <NEW.UID>
    RETURN
   
ON=0 Nothing
    SRC.SYSMESSAGE You get nothing!      // burada özel bir işlev yoktur, bu seçenek her zaman görünür olacaktır
    RETURN
[/skillmenu][/menu]

UO-Dev SPONSOR

UO-Dev SPONSOR

Henüz yorum yapılmamış. Yorum yazabilmek için giriş yapmanız gerekir.

Üyelerin oylama ortalaması (10 dışında) :

Henüz Oylanmamış

Oylar: 0