UO-Dev Arama


array kullanımı için ders alabilirsiniz

Yazar: Alcholic
Tarih: 29-07-2009 20:27


Paylaş : Paylaş

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.



Yorumlar

Henüz yorum yapılmamıştır.

Oylamalar

Oylama :
Üyelerin oylama ortalaması (10 dışında) : 1.00   
Oylar: 1 den itibaren 14-07-2010 02:47

Benzer Sayfalar

SayfalarYorumlarGönderenTarih
Tilepic Kullanımı0Mrs.xariyla23-02-2012
Tag - Var Kullanımı0tyr1027-04-2011
Array Kütüphanesi0Mac-Fusion17-05-2010
Ultima Online Skill Kullanımı0TheRaskol22-09-2009
Sendpacket Kullanımı0TheRaskol09-08-2009


Keywords:

ultima online, RunUO, ultima online download, sphere scripting, role play, uo grafik, second age ultima, uo loop, macroman, pvp server, server kurulumu, sphere, multool, ml mulls, 56b 55r 55i, htmlgumps, client 4x, client edit, sphere release, osi, rp server, sunucular, ghost mouse, inside uo, kingdom reborn, stygian abyss, uo nasıl oynanır, mondain's legacy, age of shadows, world build, grandmaster, ultima online pvp, player dosyaları, ultima online indir, frp game, RunUO 1.0.0, razor, uo rice, hue editör, skill tools, ultima online patch, axis, world build, verdata, verdata patcher, map editör, gump editör, mul patcher, aos mulls, scriptler, anim edit, anim publish, hues mul, hosting vps, event dialog, account sistemi, skill gain, static yapımı,