Neler yeni

Foruma hoşgeldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

OynFrm Reklam Alani OynFrm Reklam Alani
OynFrm Reklam Alani OynFrm Reklam Alani

Array Kullanımı

Neran

03ofkosucusu
Katılım
10 Yıl 9 Ay 23 Gün
Mesajlar
52
Tepkime puanı
0
Puanları
0
Yaş
35
Şube
Muş
Array türkçesi diziliş anlamına gelmekte olan bir kelimedir. Array mantığı biraz karmaşık olmakla beraber iyi anlaşılırsa birçok sistemde işinizi oldukça kolaylaştırıcaktır. En basitinden pvp türü sunucuların en çok kullandığı Stone scriptini array mantığı ile yazalım. Normalde her stone için ayrı ayrı dialoglar ve ayrı ayrı stonelar yazılır. Biz şu şekilde başlıyoruz.

Kod:
[defname moongate_points]
zone_1 = i_katana_Vanq 10000,i_Spear_vanq 10000,i_Scimitar_vanq 10000,i_Bow_vanq 10000,i_Crossbow_vanq 10000 // itemin id , itemin fiyatı şeklinde ekliyoruz.
zone_2 = i_potion_healgreat 0,i_potion_curegreat 0,i_bandage 0,i_potion_refreshtotal 0,i_potion_poisondeadly 0

stonenizin dclick kısmını aşağıdaki gibi ayarlarsanız tek stone scripti ve menüsüyle tüm itemleri ayarlayabilirsiniz.

ON=@dclick
if (<tag0.potionstone>=1)
src.tag0.zonenum 2
elif (<tag0.weaponstone>=1)
src.tag0.zonenum 1
-
-
-
endif

[DIALOG d_itemstone]
0, 0
PAGE 0
resizepic 262 64 5120 230 320
resizepic 268 69 3000 220 310
dtext 289 83 32 <serv.servname> Item Alma Taşı
for 0 <eval <f_array <def.zones>>-1>
dhtmlgump 315 <eval 120+<hval <dlocal._for>*30>> 250 25 0 0 <def.l1><def.r1><def.bfont_white> <serv.itemdef.<f_array_item <def.zone_<src.dtag0.zonenum>>, <eval <dlocal._for> + 1>>.name>
button 296 <eval 120+<hval <dlocal._for>*30>> 2714 2715 1 0 <dlocal._for>
endfor

[dialog d_itemstone button]
ON=0,999
if (<src.gold> >= <streat <f_array_item <def.zone_<src.dtag0.zonenum>>, <eval <dargn> + 1>>>)
serv.b @,,1 <serv.itemdef.<f_array_item <def.zone_<src.dtag0.zonenum>>, <eval <dargn> + 1>>.name>
serv.newitem <strarg <f_array_item <def.zone_<src.dtag0.zonenum>>>,1,<src.uid>
src.gold -=<streat <f_array_item <def.zone_<src.dtag0.zonenum>>, <eval <dargn> + 1>>
else
src.sys_error <streat <f_array_item <def.zone_<src.dtag0.zonenum>>, <eval <dargn> + 1>>> altına ihtiyacınız var.
return 1
endif

[FUNCTION f_array]
return <dargv> // burda bir nevi virgülleri sayıyoruz.

[FUNCTION f_array_item]
local.temp = <argv[<eval <argv> - 1>]> -1 // forla gelen fazlalığı aldk.
return <argv[<dlocal.temp>]>


Script başta karmaşık gözüksede argv fonksyonunu biliyorsanız birkaç kez üstünden geçince o kadar karmaşık gelmemeye başlıyor.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

  • Geniş / Dar görünüm

    Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

    Izgara görünümlü forum listesi

    Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

    Resimli ızgara modu

    Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

    Kenar çubuğunu kapat

    Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

    Sabit kenar çubuğu

    Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

    Köşe kıvrımlarını kapat

    Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

  • Zevkini yansıtan renk kombinasyonunu seç
    Arkaplan resimleri
    Renk geçişli arkaplanlar
Geri