Çoğu sunucuda artık olan toplist sisteminin pratik ve kullanışlı bir çeşidini paylaşacağım.
Öncelikle; http://www.uo-developer.com.....yi-arkadaslar.html#20893
mesajında yer alan sistemin bana ait olması ve benden söz edilmemesi, aksine 2 ayrı kişinin kodu sahiplenmesi gerçekten üzdü. Buna istinaden yeni bir kod yazmaya karar verdim. Tabiki spherenin yeni olanaklarından birisi olan LIST ile.
if !strregex(^[0-9]+$, <list.toplist.findelem <uid>>)
list.toplist.add <uid>
endif
for 0 <list.toplist.count>
ref1 <list.toplist.<dlocal._for>>
if (<dtag.rank> >= <ref1.dtag.rank>)
local.elem <list.toplist.findelem <uid>>
list.toplist.<dlocal.elem>.remove
list.toplist.<dlocal._for>.insert <uid>
return 1
endif
endfor
List kullanımınızı pekiştirmek için basit ve anlaşılır bir örnektir.
Aşağıda ifade edilmiş halini görebilirsiniz.
[function f_toplist] kişi birisini öldürdüğünde tetiklenecek komut
tag0.rank ++ her kişiye öldürdüğü kişi sayısı kadar değer veriyoruz, buna göre listeleteceğiz
if !strregex(^[0-9]+$, <list.toplist.findelem <uid>> bu listenin olmayışında sphere konsolda hata almamamak için
list.toplist.add <uid> liste yoksa ekliyoruz ve listeyi ilk oluşturan kişi zaten birincidir
endif
for 0 <list.toplist.count> list.count listede kaç kişi olduğunu gösterir o değer kadar for dönüyor, isterseniz sınırlayabilirsiniz
ref1 <list.toplist.<dlocal._for>> ref1 listede yer alan for başına düşen referans
if (<dtag.rank> >= <ref1.dtag.rank> komutu tetikleten kişinin öldürme sayısı listedekilerle karşılaştırılıyor
local.elem <list.toplist.findelem <uid>> komutu tetikleten listede zaten var ise locale atanıyor
list.toplist.<dlocal.elem>.remove locale alındıktan sonra siliniyor
list.toplist.<dlocal._for>.insert <uid> insert ile yeni yerini alıyor
return 1
endif
endfor
LIST komutu bize nasıl yarar sağlar?
Anlatmakla bitmezde, özet geçmek gerekirse;
- fordaki kısır döngüden kurtulmak için çekilen çilenin önüne geçer
- bir üst satıra atlatmak için döndürülecek fazladan forlardan kurtarır
- satır silmek için döndürülecek fazla forlardan kurtarır
- kullanmayı öğrendikçe vazgeçemeyeceksiniz.
Hayat sana ekşi limonlar sunarsa, sen de tekila ve tuz iste ...
"Partners help each other undress before sex. After sex, they always dress on their own. Moral of the story: In life, no one helps you once you get fucked."
Seni daha önce yerin dibine soktularda buraya mı sardın anacım? Yoksa yerin dibine girecem diye konuşmaya mı korkuyosun? yoksa ss yi yeni öğrendin de gözünde çok mu büyüttün. Yok canım Warcraft III ne diablosu.
işte senin gibi kıymet bilmezler yüzünden sürünüyoruz. Biz tepesinde adımız kalsın amacında değiliz. Sadece emeklerimize başka insanlar konmasın diyoruz. Yıllar önce ki emekleri başkasının adı altında yayınlanıyor. Buna kayıtsız kalmak gerçekten güç ki mutlu gerçekten çok iyi bir şekilde cevap vermiş o zaman nasıl yazdıysa şimdi daha iyisini, yenilikçisini, öğreticisini yazmış. Burada kimsenin ağladığı falan yok sadece emekleri hiçe sayan bir yığın insan ve hala karşılıksız emeklerini insanlarla paylaşan kişiler var.
10minuteacc arkadaşımız bir nevi gerçekçi yaklaşmış, uslübü dışında.
Ağlamaktan ziyade, üzgün olduğumu belirttim. Oradaki 2 kişiylede bu konu üzerinde en ufak bir diyalog geçmedi.
Hıı unutmadan, bilgi paylaştıkça çoğalır (: Bildiğimi paylaşmıyorsam, benim neyi ne kadar bildiğimi nereden bilecekler? :win
Hayat sana ekşi limonlar sunarsa, sen de tekila ve tuz iste ...
"Partners help each other undress before sex. After sex, they always dress on their own. Moral of the story: In life, no one helps you once you get fucked."
10minuteacc :
Seni daha önce yerin dibine soktularda buraya mı sardın anacım? Yoksa yerin dibine girecem diye konuşmaya mı korkuyosun? yoksa ss yi yeni öğrendin de gözünde çok mu büyüttün. Yok canım Warcraft III ne diablosu.
Hayır, şimdi buna çok güzel cevaplar da verilir ama ne gerek var uyarıya falan.. Ama merakını gidereyim: Hayır bana bir şey olduğundan falan değil, oradaki insanların birbirlerinin emeklerine saygı gösterdiği ve buna aykırı davrananları rezil ettiklerini bildiğim için örneklemek istedim. Zira en büyük sorunlarımızdan biri o değil mi? Başkasının yaptığı, uğraştığı şeyi kendimizin sanmamız..
Neyse.. Nasılsa bunları yazmam sende en ufak bir değişime bile sebep olmayacak. Sen yine, söylendiği gibi, hazıra konmaya devam et..