Yazar:Alcholic

Açıklama: Stoneda satılmasını istediğiniz itemları zone_1 zone_2 şeklinde ayarlıycaksınız. ilk idsi sonra bir space ve fiyatı ve sonra virgül koycaksınız.


[defname stone_items]
zone_1 = i_katana_Vanq 10000,i_Spear_vanq 10000,i_Scimitar_vanq 10000,i_Bow_vanq 10000,i_Crossbow_vanq 10000
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> Silah Menusu
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>]>
Novice
0.1
Array kullanımına güzel bir örnek teşkil etmekte. Başarılı bir kodlama.

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.