Anasayfa
UO Sunucular
Forumlar
Profilim
SPAWN Tanımları

Bir spawn'ın MORE1 özelliğini tek bir karakter defname'ine ayarlamak yerine, rastgele bir karakterin ortaya çıkması için bunun yerine bir spawn grubu kullanılabilir. Bir yumurtlama grubu, yumurtlama şanslarını etkilemek için isteğe bağlı ağırlıklara sahip bir dizi karakter defnames içerir.

Syntax

Bir SPAWN grubunu tanımlamak için sözdizimi şöyledir:
[SPAWN defname]
ID=character_defname_1 weight
ID=character_defname_2 weight
ID=character_defname_3 weight vb…
weight parametresi, bir defname'in gruptaki diğer defname'lerden daha olası seçilmesini sağlamak için kullanılabilir. Örneğin, 10 ağırlığında, bir defname'in seçilme olasılığı 10 kat daha fazla olacaktır.

Özellikler

Bir spawn grubu tanımlanırken aşağıdaki özellikler kullanılabilir:

CALCMEMBERINDEX
R Belirme grubundan rastgele bir defname seçer ve sıfır tabanlı dizinini döndürür.

DEFNAME
W Spawn grubunun defname'ini ayarlar.

ID defname weight
W Belirme grubuna belirtilen ağırlığa sahip bir defname ekler.

RESOURCES
R Spawn grubunda yer alan defnamelerin bir listesini alır.

RESOURCES.COUNT
R Spawn grubundaki defnamelerin sayısını alır.

RESOURCES.n.KEY
R Spawn grubundaki n'inci defname'i alır. (1 tabanlı)

RESOURCES.n.VAL
R Yumurtlama grubundaki n'inci defname'nin ağırlığını alır. (1 tabanlı)
//
// Varsayılan senaryo paketinden ölümsüz doğma.
//
[SPAWN 08001]
DEFNAME=SPAWN_Undead_Weak
ID=c_spectre,2
ID=c_skeleton_w_axe
ID=c_skeleton_w_sword
ID=c_skeleton,5
ID=c_zombie,10
//
// Konsolda bir spawn'ın karakterlerini listeler ve rastgele birini seçer.
// Usage: DescribeSpawn <spawn_defname>
//
[FUNCTION describespawn]
// validate args
IF !(<SERV.SPAWN.<ARGS>>)
    SERV.LOG Spawn '<ARGS>' does not exist.
    RETURN
ELSEIF !(<SERV.SPAWN.<ARGS>.RESOURCES.COUNT>)
    SERV.LOG Spawn '<ARGS>' has no contents.
    RETURN
ENDIF

// karakter listesi
SERV.LOG Spawn '<SERV.SPAWN.<ARGS>.DEFNAME>', <SERV.SPAWN.<ARGS>.RESOURCES.COUNT> characters)
FOR 1 <SERV.SPAWN.<ARGS>.RESOURCES.COUNT>
    SERV.LOG Character <dLOCAL._FOR>: <dSERV.SPAWN.<ARGS>.RESOURCES.<LOCAL._FOR>.VAL>x <SERV.SPAWN.<ARGS>.RESOURCES.<LOCAL._FOR>.KEY>
ENDFOR

// karakter seçme (ağırlıklara uyma)
LOCAL.INDEX = <EVAL <SERV.SPAWN.<ARGS>.CALCMEMBERINDEX> + 1>
SERV.LOG Picked '<SERV.SPAWN.<ARGS>.RESOURCES.<LOCAL.INDEX>.KEY>'.
RETURN

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