Merhabalar. Ben oldum olası makroman gibi programlarla oyuncuyu uğraştırmaktansa sunucunun kendi kendine bu tarz şeyleri sunabilmesini seven bir oyuncu/geliştirici oldum. Paylaşmak istediğim bu sistemi anatomy, evaluating intel vb. skilleri kasmanın yanı sıra farklı şekiller de daha kolay olarak da kullanabilirsiniz.Direkt olarak kullanabilir veya geliştirip burada Version olarak paylaşabilirsiniz. Daha iyileri veya farklıları tabi ki vardır ancak bu Nefrelius tarzın da yapılmış halidir
Kullanımı ;
Örneğin anatomy skill'i altında on=@fail veya on=@success kısmı altına aşşağıda ki sorgumuzu ekliyoruz.
Kod: if (<act>==<src>) && (<src.<serv.skill.<argn>.key>> < 100.0) && (<src.skilltotal> < <src.skillclass.skillsum>) && !(<src.findid.i_oto_skillgain>)
src.ctag0.otoskillgain <argn>
src.sdialog d_otomatik_skill_kas
endif
Scriptin kendisini de bir dosya içerisine kaydedersek bu iş tamamdır cared
Script içerisin de bazı dialog kısımları <def.arkaplan> gibi görünebilir.Ben dialog ayarlarını defname ile yapıyorum en azından değişiklik yaparken tek noktadan müdahale yeterli oluyor. Onu da özellikle bıraktım ki yeni başlayan arkadaşlar olursa fikir olsun...
Kod: [dialog d_otomatik_skill_kas]
50,100
resizepic 0 0 <def.arkaplan> 300 160
dhtmlgump 20 20 260 105 0 0 <def.bfont_white>Merhaba <strarg <src.name>>.<def.br><def.bfont_lgreen><serv.skill.<src.dctag0.otoskillgain>.key><def.bfont_white> yeteneğini geliştirdiğini farkettik. Bu yeteneği otomatik olarak geliştirmek istermisin ?<def.br>Okey düğmesi işlemi otomatik tekrarlatır.
button 70 120 <def.okey> <def.okeyx> 1 0 1
button 160 120 <def.cancel> <def.cancelx> 1 0 0
[dialog d_otomatik_skill_kas BUTTON]
on=1
serv.newitem i_oto_skillgain,1,<src>
new.more <src.dctag0.otoskillgain>
new.timer 3
///////////////////////// İşlem tekrarı yapan ve oyuncu durumunu sorgulayan eşyamız.
[itemdef i_oto_skillgain]
id i_memory
type t_eq_script
layer layer_special
name oto skillgain
weight 0
on=@create
attr attr_decay|attr_newbie
on=@timer
if (<cont.flags>&statf_dead|statf_war|statf_poisoned|statf_freeze|statf_stone)
cont.sysmessage @,,1 Otomatik skill geliştirme sistemi iptal edildi.
remove
return 1
endif
if (<cont.skilltotal> >= <cont.skillclass.skillsum>)
cont.sysmessage @,,1 Yetenek geliştirme sınırlarına ulaştığınız için işlem durduruldu.
remove
return 1
endif
if (<cont.<serv.skill.<dmore>.key>>==100.0)
cont.sysmessage @044,,1 <serv.skill.<dmore>.key> yeteneğiniz en üst seviyeye geliştirildi. Tebrikler!
remove
return 1
else
cont.act <cont>
cont.skill <dmore>
timer <R4,6>
return 1
endif
[EOF]
|