Gerekli ayarları itemdclick vs gibilerini ayarladıktan sonra sorunsuz kullanabileceginiz bir duello sistemi.
// Duello Sistemi
[function duelloduzelt]
var.dialogacik 0
var.dialogacik2 0
var.duellodolu 0
var.duellodolu2 0
[defname duello_ayar]
kordinat_1 = 5390,1128
kordinat_2 = 5381,1129
kordinat_3 = 5396,1129
[chardef c_hakem]
name = #names_humanmale
id = C_man
CAN = mt_nonmover|mt_usehands|mt_equip
ON=@create
str = 100
color colors_skin
var.hakem =<uid>
events +fix
karma = 10000
fame = 0
ITEM=i_blackrock_platemail_arms
item i_blackrock_platemail_gorget
item i_blackrocK_platemail_leggings
item i_blackrock_platemail
item i_blackrock_plate_helm
item i_blackrock_platemail_gauntlets
item=i_Hair_long
color = 07a1
item = i_Tunic
color =07a1
item = i_lantern
ON=@attack
return 1
ON=@gethit
return 1
ON=@death
remove
return 1
ON=@dclick
if (<src.findlayer.25.uid>)
src.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
endif
var.hakem = <uid>
if (<var.dialogacik> == 0)
src.sdialog D_duello
var.dialogacik 1
timerf 15,var.dialogacik 0
timerf 15,src.dialogclose d_duello
else
src.sysmessage @07a1,,1 Suan biri tarafindan duello teklifi yapilmis
return 1
endif
if (<var.teklifyapildi> == 1)
src.sysmessage @07a1,,1 Suan biri tarafindan duello teklifi yapilmis
return 1
endif
ON=@click
message @60 [Hakem]
message @07a1,,1 Duello Gardiyani
return 1
[dialog D_duello]
0,0
page 0
resizepic 100 100 83 300 200
dorigin 110 100
dtext +40 +10 38 <serv.servname> Duello Sistemi
dtext +10 +30 038 Bahis :
dtextentry +70 +30 100 25 1153 1 ??
dtext +10 +50 038 Loot :
checkbox +70 +50 210 211 0 2
dtext +10 +70 038 Potion Sayisi : 3
dtext +10 +90 038 Bandaj Sayisi : 5
dtext +10 +130 0455 Duello esnasinda yukaridaki kurallar
dtext +10 +150 0455 geçerli olucaktir.
button +150 +70 4005 4007 1 0 1
dtext +185 +70 0455 Teklif Gönder
[dialog d_duello button]
ON=1
if !(<isnum <ARGTXT[1]>>)
src.sysmessage Yanlis karakter girdiniz.
var.dialogacik 0
var.teklifyapildi 0
elseif (<src.isevent.e_duello>)
src.sysmessage Siz zaten duellodasiniz.
var.dialogacik 0
var.teklifyapildi 0
else
region.tag.duello_poison = <argchk[1]>
uid.<var.arenaduzen>.tag.duello_loot = <argchk[2]>
src.targetf rakipsec
src.sysmessage rakibinizi seçin ?
if (<src.findlayer.25.uid>)
src.sysmessage @0481 Binek ile basvuramazsiniz.
var.dialogacik 0
return 1
endif
on=0
var.dialogacik 0
[function rakipsec]
ref1=<argo>
ref2=<src>
if (<ref1.findlayer.25.uid>)
ref1.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
var.dialogacik 0
endif
if (<ref2.findlayer.25.uid>)
ref2.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
var.dialogacik 0
endif
if !(<ref1.isevent.e_safe>)
ref2.sysmessage @07a1,,1 Sadece Hazırlanma alanında rakip seçebilirsiniz.
return 1
endif
if !(<ref1.isplayer>)
ref2.sysmessage Sadece oyuncularla duello yapabilirsiniz.
var.dialogacik 0
elseif (<ref1.gold> < <uid.<var.arenaduzen>.tag0.duello_bahis>)
var.dialogacik 0
ref2.sysmessage Rakibinizin <eval <uid.<var.arenaduzen>.dtag0.duello_Bahis>> altini yok.
elseif (<ref1.isevent.e_duello>) || (<ref2.isevent.e_duello>)
ref2.sysmessage Rakibiniz yada siz zaten duellodasiniz.
var.dialogacik 0
elseif (<region.tag0.duello>)
ref2.sysmessage Duello alaninda baskalari var.
var.dialogacik 0
elseif (<ref2.uid> == <ref1.uid>)
ref1.sysmessage Kendinizi seçemezsiniz.
var.dialogacik 0
else
trysrc <ref1.uid> src.sdialog D_duello_rakip,0,<ref2.uid>
ref2.sysmessage Teklif yapildi , cevap bekleniyor.
ref1.sysmessage <ref2.name> size duello teklif ediyor.
var.teklifyapildi 1
endif
[events e_duello]
ON=@itemequip
if (<eval <obj.tag.poison>>==0) && (strmatch(*t_weapon*,<act.type>)) && (<eval <act.morez>> >0)
src.sysmessage @021 Poisonlu silah kullanamazsiniz
act.unequip
endif
On=@ItemTargOn_Item
if (<src.targ.type> == t_corpse)
sysmessage @38,,1 Bu alanda Cesetlere bu islemi yapamazsiniz.
return 1
endif
on=@click
message @0bb2,,1 [Galibiyet : <eval <tag0.duellokazandi>>]
if (<uid.<var.arenaduzen>.tag0.duello_loot>)
message @07a1,,1 [Lootlu]
else
message @07a1,,1 [Lootsuz]
endif
ON=@death
ref1=<uid>
ref2=<act.uid>
ref3=<var.hakem>
ref1.tag.duellokaybetti +=1
ref2.tag.duellokazandi +=1
serv.allclients sysmessage @0713,,1 <ref2.name>, <ref1.name> adli oyuncuyu duelloda yenerek <eval <ref2.tag.duellokazandi>> kere duello kazandi.
ref1.say @07a1,,1 Tebrikler <ref2.name>.
timerf 1,trysrv F_duello10PLAYER_CHECK <ref2.UID>
if (<uid.<var.arenaduzen>.tag0.duello_loot>)
ref2.tag.gorev6 +=1
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_bandage.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_bandage.remove
ref2.findid.i_arrow_fire.remove
ref1.findid.i_arrow_fire.remove
ref2.findid.i_rune_poison.remove
ref1.findid.i_rune_poison.remove
ref1.timerf 2,go hazirlanma alani
ref1.timerf 3,resurrect 1
ref1.sysmessage @07a1,,1 Loot yapabilmeniz için 30 saniye süreniz var.
ref3.timerf 27,cesetisil
ref3.timerf 35,invis 0
ref3.timerf 25,region.allclients go hazirlanma alani
ref2.timerf 31,events -e_duello
ref3.timerf 35,go 6015,970
ref3.timerf 35,invis 0
ref3.timerf 36,say @07a1,,1 Tekrar teklif atabilirsiniz.
var.dialogacik 0
var.duellodolu 0
else
ref2.tag.gorev6 +=1
region.allclients events -e_duello
region.allclients go hazirlanma alani
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_bandage.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_bandage.remove
ref1.spelleffect s_resurrection,100
ref1.hits = 100
ref2.hits = 100
ref3.go 6015,970
ref3.timerf 3,say @07a1,,1 Tekrar teklif atabilirsiniz.
ref3.invis 0
var.duellodolu 0
var.dialogacik 0
return 1
endif
[dialog d_duello_rakip]
0,0
page 0
resizepic 100 100 83 300 200
ctag0.teklifeden = <args>
ref1=<args>
src.tag.lootvarmi <uid.<var.arenaduzen>.tag0.duello_loot>
dorigin 110 100
dtext +40 +10 38 <ref1.name> size duello teklif ediyor.
dtext +10 +30 038 Bahis :
dtext +70 +30 0455 <uid.<var.arenaduzen>.dtag0.duello_bahis>
dtext +10 +50 038 Poison :
dtext +70 +50 0455 YASAK
dtext +10 +70 038 Loot :
dtext +70 +70 0455 <qval (<uid.<var.arenaduzen>.tag0.duello_loot>)?VAR:YOK>
dtext +10 +90 038 Potion Sayisi :
dtext +130 +90 0455 3
dtext +10 +110 038 Bandaj Sayisi :
dtext +130 +110 0455 5
dtext +10 +130 0455 Duello esnasinda yukaridaki kurallar
dtext +10 +150 0455 geçerli olucaktir.
button +150 +70 4005 4007 1 0 1
dtext +185 +70 0455 Kabul ediyorum.
[dialog d_duello_rakip button]
ON=1
ref1=<ctag0.teklifeden>
if (<src.isevent.e_duello>) || (<ref1.isevent.e_duello>) || (<src.isevent.e_duello_arena2>) || (<ref1.isevent.e_duello_arena2>)
src.sysmessage Siz veya rakibiniz zaten duelloda.
var.teklifyapildi 0
return 1
endif
if !(<src.isonline>) || !(<ref1.isonline>)
return 1
endif
if (<src.findlayer.25.uid>)
src.sysmessage @0481 Binek ile basvuramazsiniz.
var.dialogacik 0
var.teklifyapildi 0
return 1
endif
if (<ref1.findlayer.25.uid>)
ref1.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
var.dialogacik 0
var.teklifyapildi 0
endif
if (<var.duellodolu> == 1)
src.sysmessage Duello oldugu icin alinamiyorsunuz
return 1
var.dialogacik 0
var.teklifyapildi 0
endif
if (<region.tag0.duello>)
src.sysmessage Suanda baska bir duello var onun bitmesini bekleyiniz.
var.dialogacik 0
var.teklifyapildi 0
elseif (<src.isevent.e_duello>)
src.sysmessage Siz zaten duellodasiniz.
var.dialogacik 0
var.teklifyapildi 0
elseif (<src.gold> < <uid.<var.arenaduzen>.dtag0.duello_bahis>)
src.sysmessage Bahsi <uid.<var.arenaduzen>.dtag0.duello_bahis>>gp olarak kabul edemezsiniz.
var.dialogacik 0
var.teklifyapildi 0
ref1.sysmessage <src.name>'in yeterli parasi yok.
elseif (<ref1.gold> < <uid.<var.arenaduzen>.tag0.duello_bahis>)
var.dialogacik 0
var.teklifyapildi 0
src.sysmessage <ref1.name>'in yeterli parasi yok.
ref1.sysmessage Yeterli paraniz olmadigi için duello gerçeklesmiyor.
else
uid.<var.arenaduzen>.tag.duello_loot <src.tag.lootvarmi>
ref1.dialogclose d_duello2_rakip
src.dialogclose d_duello2_rakip
var.dialogacik 1
var.duellodolu 1
var.teklifyapildi 1
ref1.go = <def.kordinat_2>
src.go <def.kordinat_3>
src.duelloitemver
ref1.duelloitemver3
serv.newitem 079
new.p = <src.p>
new.move n
new.timerf 31,remove
serv.newitem 079
new.p = <src.p>
new.move s
new.timerf 31,remove
serv.newitem 079
new.p = <src.p>
new.move w
new.timerf 31,remove
serv.newitem 079
new.p = <ref1.p>
new.move e
new.timerf 31,remove
serv.newitem 079
new.p = <ref1.p>
new.move n
new.timerf 31,remove
serv.newitem 079
new.p = <ref1.p>
new.move s
new.timerf 31,remove
ref1.events +e_duello
src.events +e_duello
ref2= <uid.<var.hakem>>
ref2.go = <def.kordinat_1>
ref2.duello_Baslat
on=0
var.dialogacik 0
[function duello_baslat]
serv.newitem i_Timer_duello,1,<uid>,1
[itemdef i_Timer_duello]
name duello timer
id i_memory
type = t_eq_script
weight 0
ON=@create
attr attr_invis
morex = 30
timer 1
ON=@timer
if <morex>
topobj.say @07a1,,1 <morex> saniye sonra basliyor
topobj.anim 32
morex -=1
timer 1
else
topobj.say @07a1,,1 Basla !
topobj.anim 22
topobj.timerf 1,invis 1
remove
endif
return 1
[function duello_update]
if !(<db.connected>)
db.connect
endif
db.execute "CREATE TABLE IF NOT EXISTS duello_sys (DuelId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Playeruid_1 VARCHAR(20) NOT NULL, Playeruid_2 VARCHAR(25), bahis INT, poison tinyINT, loot tinyint, date DATETIME)";
db.execute "INSERT INTO duello_sys Values(Null,'<ref1.uid>','<ref2.uid>','<uid.<var.arenaduzen>.dtag0.duello_bahis>','<region.dtag0.duello_poison>','<region.dtag0.duello_loot>',NOW())
db.close
[function duelloitemver]
for 10
src.findtype.t_potion.remove
src.findid.i_box_wood.remove
src.findtype.t_eq_trade_window.remove
src.findtype.t_bandage.remove
src.findtype.t_reagent.remove
endfor
src.sysmessage @07a1,,1 Çantaniz temizlendi ve duello için esyalariniz yerlestirildi.
serv.newitem i_potion_healgreat,3,<src>,1
serv.newitem i_potion_refreshtotal,3,<src>,1
serv.newitem i_potion_curegreat,3,<src>,1
serv.newitem i_potion_bleed,3,<src>,1
serv.newitem i_potion_agilitygreat,3,<src>,1
serv.newitem i_bandage,5,<src>,1
if (<src.magery> < 300)
serv.newitem i_arrow,30,<src>,1
endif
src.findlayer(1).morez 0
src.findlayer(2).morez 0
src.findid.i_spear_vanq.morez 0
src.findid.i_katana_vanq.morez 0
src.findid.i_sword_broad_vanq.morez 0
src.findid.i_kryss_vanq.morez 0
[function duelloitemver3]
for 10
findtype.t_eq_trade_window.remove
findtype.t_potion.remove
findtype.t_bandage.remove
findtype.t_reagent.remove
findid.i_box_wood.remove
endfor
sysmessage @07a1,,1 Çantaniz temizlendi ve duello için esyalariniz yerlestirildi.
if (<magery> < 300)
serv.newitem i_arrow,30
new.cont <uid>
endif
serv.newitem i_potion_healgreat,3,<uid>,1
serv.newitem i_potion_refreshtotal,3,<uid>,1
serv.newitem i_potion_curegreat,3,<uid>,1
serv.newitem i_potion_bleed,3,<uid>,1
serv.newitem i_potion_agilitygreat,3,<uid>,1
serv.newitem i_bandage,5,<uid>,1
findlayer(1).morez 0
findlayer(2).morez 0
findid.i_spear_vanq.morez 0
findid.i_katana_vanq.morez 0
findid.i_sword_broad_vanq.morez 0
findid.i_kryss_vanq.morez 0
[itemdef i_duello_duzen]
name duello Duzen
id i_gravestone
type = t_eq_script
weight 0
ON=@create
attr attr_invis
morex = 30
var.arenaduzen <uid>
[function cesetisil]
foritems 10
if (<baseid>==i_corpse)
remove
endif
endfor
[itemdef i_duello_zamancii]
name duello Duzen
id i_gravestone
type = t_eq_script
weight 0
ON=@create
attr attr_invis
timer = 12000
on=@timer
uid.<var.hakem>.remove
remove
return 1
[itemdef i_acc_ac]
name duello Duzen
id i_gravestone
type = t_eq_script
weight 0
ON=@create
attr attr_invis
timer = 300
on=@timer
serv.account update
timer 300
return 1
// duello arena 2
[defname duello_ayar2]
kordinat_4 = 5640,1412,44
kordinat_5 = 5649,1422,44
kordinat_6 = 5651,1417,44
[chardef c_hakem_arena2]
name = #names_humanmale
id = C_man
CAN = mt_nonmover|mt_usehands|mt_equip
ON=@create
str = 100
color colors_skin
var.hakem_2 =<uid>
events +fix
karma = 10000
fame = 0
ITEM=i_blackrock_platemail_arms
item i_blackrock_platemail_gorget
item i_blackrocK_platemail_leggings
item i_blackrock_platemail
item i_blackrock_plate_helm
item i_blackrock_platemail_gauntlets
item=i_Hair_long
color = 07a1
item = i_Tunic
color =07a1
item = i_lantern
ON=@attack
return 1
ON=@gethit
return 1
ON=@death
remove
return 1
ON=@dclick
if (<src.findlayer.25.uid>)
src.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
endif
var.hakem_2 = <uid>
if (<var.dialogacik_2> == 0)
src.sdialog D_duello2
var.dialogacik_2 1
timerf 15,var.dialogacik_2 0
else
timerf 15,var.dialogacik_2 0
src.sysmessage @07a1,,1 Suan biri tarafindan duello teklifi yapilmis
return 1
endif
ON=@click
message @60 [Hakem Arena 2]
message @07a1,,1 Duello Gardiyani
return 1
[dialog D_duello2]
0,0
page 0
resizepic 100 100 83 300 200
dorigin 110 100
dtext +40 +10 38 <serv.servname> Duello Sistemi
dtext +10 +30 038 Bahis :
dtextentry +70 +30 100 25 1153 1 ??
dtext +10 +50 038 Loot :
checkbox +70 +50 210 211 0 2
dtext +10 +70 038 Potion Sayisi : 3
dtext +10 +90 038 Bandaj Sayisi : 5
dtext +10 +130 0455 Duello esnasinda yukaridaki kurallar
dtext +10 +150 0455 geçerli olucaktir.
button +150 +70 4005 4007 1 0 1
dtext +185 +70 0455 Teklif Gönder.
[dialog D_duello2 button]
ON=1
if !(<isnum <ARGTXT[1]>>)
src.sysmessage Yanlis karakter girdiniz bahise.
var.dialogacik_2 0
elseif (<src.isevent.e_duello_arena2>)
src.sysmessage Siz zaten duellodasiniz.
var.dialogacik_2 0
else
uid.<var.arenaduzen2>.tag0.duello_loot = <argchk[2]>
src.targetf rakipsec_arena2
src.sysmessage rakibinizi seçin ?
if (<src.findlayer.25.uid>)
src.sysmessage @0481 Binek ile basvuramazsiniz.
var.dialogacik_2 0
return 1
endif
on=0
var.dialogacik_2 0
[function rakipsec_arena2]
ref1=<argo>
ref2=<src>
if (<ref1.findlayer.25.uid>)
ref1.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
var.dialogacik_2 0
endif
if (<ref2.findlayer.25.uid>)
ref2.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
var.dialogacik_2 0
endif
if !(<ref1.isevent.e_safe>)
ref2.sysmessage @07a1,,1 Sadece Hazırlanma alanında rakip seçebilirsiniz.
return 1
var.dialogacik_2 0
endif
if !(<ref1.isplayer>)
ref2.sysmessage Sadece oyuncularla duello yapabilirsiniz.
var.dialogacik_2 0
elseif (<ref1.gold> < <uid.<var.arenaduzen2>.tag0.duello_bahis>)
var.dialogacik_2 0
ref2.sysmessage Rakibinizin <eval <uid.<var.arenaduzen2>.dtag0.duello_Bahis>> altini yok.
elseif (<ref1.isevent.e_duello_arena2>) || (<ref2.isevent.e_duello_arena2>)
ref2.sysmessage Rakibiniz yada siz zaten duellodasiniz.
var.dialogacik_2 0
elseif (<region.tag0.duello>)
ref2.sysmessage Duello alaninda baskalari var.
var.dialogacik_2 0
elseif (<ref2.uid> == <ref1.uid>)
ref1.sysmessage Kendinizi seçemezsiniz.
var.dialogacik_2 0
else
trysrc <ref1.uid> src.sdialog D_duello2_rakip,0,<ref2.uid>
ref2.sysmessage Teklif yapildi , cevap bekleniyor.
ref1.sysmessage <ref2.name> size duello teklif ediyor.
endif
[events e_duello_arena2]
ON=@itemequip
if (<act.isweapon>) && (<region.tag0.poison>) && (<act.morez>)
act.morex = 0
src.sysmessage silahinizdaki poison silinmistir.
endif
On=@ItemTargOn_Item
if (<src.targ.type> == t_corpse)
sysmessage @38,,1 Bu alanda Cesetlere bu islemi yapamazsiniz.
return 1
endif
on=@click
message @074 [Duello Alaninda]
if (<uid.<var.arenaduzen2>.tag0.duello_loot>)
message @07a1,,1 [Galibiyet : <eval <tag0.duellokazandi>>]
message @07a1,,1 [Lootlu]
else
message @0bb2,,1 [Galibiyet : <eval <tag0.duellokazandi>>]
message @07a1,,1 [Lootsuz]
endif
ON=@death
ref1=<uid>
ref2=<act.uid>
ref3=<var.hakem_2>
ref1.tag.duellokaybetti +=1
ref2.tag.duellokazandi +=1
timerf 1,trysrv F_duello10PLAYER_CHECK <ref2.UID>
ref1.say @07a1,,1 Tebrikler <ref2.name>.
serv.allclients sysmessage @0713,,1 <ref2.name>, <ref1.name> adli oyuncuyu duelloda yenerek <eval <ref2.tag.duellokazandi>>. galibiyetini kazandi.
ref2.tag.gorev6 +=1
if (<uid.<var.arenaduzen2>.tag0.duello_loot>)
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_bandage.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_bandage.remove
ref2.findid.i_arrow_fire.remove
ref1.findid.i_arrow_fire.remove
ref2.findid.i_rune_poison.remove
ref1.findid.i_rune_poison.remove
ref1.timerf 2,go hazirlanma alani
ref1.timerf 4,resurrect 1
ref1.events -e_duello_arena2
ref2.sysmessage @07a1,,1 Loot yapabilmek için 30 saniyeniz var.
ref3.timerf 27,cesetisil
ref3.invis 1
ref3.timerf 33,invis 0
ref3.timerf 30,region.allclients go hazirlanma alani
ref2.timerf 26,events -e_duello_arena2
ref3.timerf 35,go 6042,934
var.duellodolu2 0
var.dialogacik_2 0
ref3.timerf 36,say @07a1,,1 Tekrar teklif atabilirsiniz.
else // Lootsuz Pvp
ref2.tag.gorev6 +=1
region.allclients go hazirlanma alani
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_bandage.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_bandage.remove
ref2.findid.i_arrow_fire.remove
ref1.findid.i_arrow_fire.remove
ref2.findid.i_rune_poison.remove
ref1.findid.i_rune_poison.remove
ref1.spelleffect s_resurrection,100
ref1.hits = 100
ref2.hits = 100
ref3.go 6042,934
ref3.timerf 3,say @07a1,,1 Tekrar teklif atabilirsiniz.
var.duellodolu2 0
var.dialogacik2 0
ref3.invis 0
return 1
endif
[dialog D_duello2_rakip]
0,0
page 0
resizepic 100 100 83 300 200
ctag0.teklifeden2 = <args>
ref1=<args>
src.tag.lootvarmi <uid.<var.arenaduzen2>.tag0.duello_loot>
dorigin 110 100
dtext +40 +10 38 <ref1.name> size duello teklif ediyor.
dtext +10 +30 038 Bahis :
dtext +70 +30 0455 <uid.<var.arenaduzen2>.dtag0.duello_bahis>
dtext +10 +50 038 Poison :
dtext +70 +50 0455 YASAK
dtext +10 +70 038 Loot :
dtext +70 +70 0455 <qval (<uid.<var.arenaduzen2>.tag0.duello_loot>)?VAR:YOK>
dtext +10 +90 038 Potion Sayisi :
dtext +130 +90 0455 3
dtext +10 +110 038 Bandaj Sayisi :
dtext +130 +110 0455 5
dtext +10 +130 0455 Duello esnasinda yukaridaki kurallar
dtext +10 +150 0455 geçerli olucaktir.
button +150 +70 4005 4007 1 0 1
dtext +185 +70 0455 Kabul ediyorum.
[dialog D_duello2_rakip button]
ON=1
ref1=<ctag0.teklifeden2>
if (<src.isevent.e_duello>) || (<ref1.isevent.e_duello>) || (<src.isevent.e_duello_arena2>) || (<ref1.isevent.e_duello_arena2>)
src.sysmessage Siz veya rakibiniz zaten duelloda.
return 1
endif
if (<src.findlayer.25.uid>)
src.sysmessage @0481 Binek ile basvuramazsiniz.
var.dialogacik_2 0
return 1
endif
if (<ref1.findlayer.25.uid>)
ref1.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
var.dialogacik_2 0
endif
if (<var.duellodolu2> == 1)
src.sysmessage Duello oldugu icin alinamiyorsunuz
return 1
var.dialogacik_2 0
endif
if (<src.isevent.e_duello_arena2>) || (<ref1.isevent.e_duello_arena2>)
src.sysmessage Siz veya rakibiniz zaten duelloda.
return 1
endif
if (<src.gold> < <uid.<var.arenaduzen2>.dtag0.duello_bahis>)
src.sysmessage Bahsi <uid.<var.arenaduzen2>.dtag0.duello_bahis>>gp olarak kabul edemezsiniz.
var.dialogacik_2 0
ref1.sysmessage <src.name>'in yeterli parasi yok.
elseif (<ref1.gold> < <uid.<var.arenaduzen2>.tag0.duello_bahis>)
var.dialogacik_2 0
src.sysmessage <ref1.name>'in yeterli parasi yok.
ref1.sysmessage Yeterli paraniz olmadigi için duello gerçeklesmiyor.
else
uid.<var.arenaduzen2>.tag.duello_loot <src.tag.lootvarmi>
ref1.dialogclose d_duello_rakip
src.dialogclose d_duello_rakip
var.dialogacik_2 1
var.duellodolu2 1
ref1.go = <def.kordinat_5>
src.go <def.kordinat_6>
src.duelloitemver
ref1.duelloitemver3
serv.newitem 079
new.p = <src.p>
new.move n
new.timerf 31,remove
serv.newitem 079
new.p = <src.p>
new.move s
new.timerf 31,remove
serv.newitem 079
new.p = <src.p>
new.move w
new.timerf 31,remove
serv.newitem 079
new.p = <ref1.p>
new.move e
new.timerf 31,remove
serv.newitem 079
new.p = <ref1.p>
new.move n
new.timerf 31,remove
serv.newitem 079
new.p = <ref1.p>
new.move s
new.timerf 31,remove
ref1.events +e_duello_arena2
src.events +e_duello_arena2
ref2= <uid.<var.hakem_2>>
ref2.go = <def.kordinat_4>
ref2.duello_Baslat
on=0
var.dialogacik_2 0
[function duello_baslat]
serv.newitem i_Timer_duello_2,1,<uid>,1
[itemdef i_Timer_duello_2]
name duello timer arena 2
id i_memory
type = t_eq_script
weight 0
ON=@create
attr attr_invis
morex = 30
timer 1
ON=@timer
if <morex>
topobj.say @07a1,,1 <morex> saniye sonra basliyor
topobj.anim 32
morex -=1
timer 1
else
topobj.say @07a1,,1 Basla !
topobj.anim 22
topobj.timerf 1,invis 1
remove
endif
return 1
[itemdef i_duello_duzen_2]
name duello Duzen arena 2
id i_gravestone
type = t_eq_script
weight 0
ON=@create
attr attr_invis
morex = 30
var.arenaduzen2 <uid>
/// Duello testleri
[FUNCTION testolar]
for 10
src.findtype.t_potion.remove
endfor
src.findtype.t_bandage.remove
// Duello Alani 3
[defname duello_ayar3]
kordinat_7 = 5389,1091
kordinat_8 = 5381,1091
kordinat_9 = 5396,1091
[chardef c_hakem_arena3]
name = #names_humanmale
id = C_man
CAN = mt_nonmover|mt_usehands|mt_equip
ON=@create
str = 100
color colors_skin
var.hakem_2 =<uid>
events +fix
karma = 10000
fame = 0
ITEM=i_blackrock_platemail_arms
item i_blackrock_platemail_gorget
item i_blackrocK_platemail_leggings
item i_blackrock_platemail
item i_blackrock_plate_helm
item i_blackrock_platemail_gauntlets
item=i_Hair_long
color = 07a1
item = i_Tunic
color =07a1
item = i_lantern
ON=@attack
return 1
ON=@gethit
return 1
ON=@death
remove
return 1
ON=@dclick
if (<src.findlayer.25.uid>)
src.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
endif
var.hakem_3 = <uid>
if (<var.dialogacik_3> == 0)
src.sdialog D_duello3
var.dialogacik_3 1
timerf 15,var.dialogacik_3 0
else
timerf 15,var.dialogacik_3 0
src.sysmessage @07a1,,1 Suan biri tarafindan duello teklifi yapilmis
return 1
endif
ON=@click
message @60 [Hakem Arena 3]
message @07a1,,1 Duello Gardiyani
return 1
[dialog D_duello3]
0,0
page 0
resizepic 100 100 83 300 200
dorigin 110 100
dtext +40 +10 38 <serv.servname> Duello Sistemi
dtext +10 +30 038 Bahis :
dtextentry +70 +30 100 25 1153 1 ??
dtext +10 +50 038 Loot :
checkbox +70 +50 210 211 0 2
dtext +10 +70 038 Potion Sayisi :
dtextentry +130 +70 100 25 1153 2 3
dtext +10 +90 038 Bandaj Sayisi :
dtextentry +130 +90 100 25 1153 3 5
dtext +10 +130 0455 Duello esnasinda yukaridaki kurallar
dtext +10 +150 0455 geçerli olucaktir.
button +150 +70 4005 4007 1 0 1
dtext +185 +70 0455 Teklif Gönder.
[dialog D_duello3 button]
ON=1
if !(<isnum <ARGTXT[1]>>) || !(<isnum <ARGTXT[2]>>) || !(<isnum <ARGTXT[3]>>)
src.sysmessage Yanlis karakter girdiniz/
var.dialogacik_3 0
elseif (<src.isevent.e_duello_arena3>)
src.sysmessage Siz zaten duellodasiniz.
var.dialogacik_3 0
else
uid.<var.arenaduzen3>.tag0.duello_loot = <argchk[2]>
src.targetf rakipsec_arena3
src.sysmessage rakibinizi seçin ?
if (<src.findlayer.25.uid>)
src.sysmessage @0481 Binek ile basvuramazsiniz.
var.dialogacik_3 0
return 1
endif
on=0
var.dialogacik_3 0
[function rakipsec_arena3]
ref1=<argo>
ref2=<src>
if (<ref1.findlayer.25.uid>)
ref1.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
var.dialogacik_3 0
endif
if (<ref2.findlayer.25.uid>)
ref2.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
var.dialogacik_3 0
endif
if !(<ref1.isplayer>)
ref2.sysmessage Sadece oyuncularla duello yapabilirsiniz.
var.dialogacik_3 0
elseif (<ref1.gold> < <uid.<var.arenaduzen2>.tag0.duello_bahis>)
var.dialogacik_3 0
ref2.sysmessage Rakibinizin <eval <uid.<var.arenaduzen3>.dtag0.duello_Bahis>> altini yok.
elseif (<ref1.isevent.e_duello_arena3>) || (<ref2.isevent.e_duello_arena3>)
ref2.sysmessage Rakibiniz yada siz zaten duellodasiniz.
var.dialogacik_3 0
elseif (<region.tag0.duello>)
ref2.sysmessage Duello alaninda baskalari var.
var.dialogacik_3 0
elseif (<ref2.uid> == <ref1.uid>)
ref1.sysmessage Kendinizi seçemezsiniz.
var.dialogacik_3 0
else
trysrc <ref1.uid> src.sdialog D_duello3_rakip,0,<ref2.uid>
ref2.sysmessage Teklif yapildi , cevap bekleniyor.
ref1.sysmessage <ref2.name> size duello teklif ediyor.
endif
[events e_duello_arena3]
ON=@itemequip
if (<act.isweapon>) && (<region.tag0.poison>) && (<act.morez>)
act.morex = 0
src.sysmessage silahinizdaki poison silinmistir.
endif
On=@ItemTargOn_Item
if (<src.targ.type> == t_corpse)
sysmessage @38,,1 Bu alanda Cesetlere bu islemi yapamazsiniz.
return 1
endif
on=@click
message @074 [Duello Alaninda]
if (<uid.<var.arenaduzen2>.tag0.duello_loot>)
message @07a1,,1 [Galibiyet : <eval <tag0.duellokazandi>>]
message @07a1,,1 [Lootlu]
else
message @0bb2,,1 [Galibiyet : <eval <tag0.duellokazandi>>]
message @07a1,,1 [Lootsuz]
endif
ON=@death
ref1=<uid>
ref2=<act.uid>
ref3=<var.hakem_3>
ref1.tag.duellokaybetti +=1
ref2.tag.duellokazandi +=1
timerf 1,trysrv F_duello10PLAYER_CHECK <ref2.UID>
ref1.say @07a1,,1 Tebrikler <ref2.name>.
serv.allclients sysmessage @0713,,1 <ref2.name>, <ref1.name> adli oyuncuyu duelloda yenerek <eval <ref2.tag.duellokazandi>>. galibiyetini kazandi.
if (<uid.<var.arenaduzen3>.tag0.duello_loot>)
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_bandage.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_bandage.remove
ref2.findid.i_arrow_fire.remove
ref1.findid.i_arrow_fire.remove
ref2.findid.i_rune_poison.remove
ref1.findid.i_rune_poison.remove
ref1.timerf 2,go hazirlanma alani
ref1.timerf 4,resurrect 1
ref1.events -e_duello_arena2
ref2.sysmessage @07a1,,1 Loot yapabilmek için 30 saniyeniz var.
ref3.timerf 27,cesetisil
ref3.invis 1
ref3.timerf 33,invis 0
ref2.timerf 30,go hazirlanma alani
ref2.timerf 26,events -e_duello_arena2
ref3.timerf 35,go 6042,970
var.duellodolu3 0
var.dialogacik_3 0
ref3.timerf 36,say @07a1,,1 Tekrar teklif atabilirsiniz.
else // Lootsuz Pvp
region.allclients go hazirlanma alani
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_potion.remove
ref1.findtype.t_bandage.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_potion.remove
ref2.findtype.t_bandage.remove
ref2.findid.i_arrow_fire.remove
ref1.findid.i_arrow_fire.remove
ref2.findid.i_rune_poison.remove
ref1.findid.i_rune_poison.remove
ref1.spelleffect s_resurrection,100
ref1.hits = 100
ref2.hits = 100
ref3.go 6042,970
ref3.timerf 3,say @07a1,,1 Tekrar teklif atabilirsiniz.
var.duellodolu3 0
var.dialogacik_3 0
ref3.invis 0
return 1
endif
[dialog D_duello3_rakip]
0,0
page 0
resizepic 100 100 83 300 200
ctag0.teklifeden3 = <args>
ref1=<args>
src.tag.lootvarmi <uid.<var.arenaduzen3>.tag0.duello_loot>
dorigin 110 100
dtext +40 +10 38 <ref1.name> size duello teklif ediyor.
dtext +10 +30 038 Bahis :
dtext +70 +30 0455 <uid.<var.arenaduzen3>.dtag0.duello_bahis>
dtext +10 +50 038 Poison :
dtext +70 +50 0455 YASAK
dtext +10 +70 038 Loot :
dtext +70 +70 0455 <qval (<uid.<var.arenaduzen3>.tag0.duello_loot>)?VAR:YOK>
dtext +10 +90 038 Potion Sayisi :
dtext +130 +90 0455 3
dtext +10 +110 038 Bandaj Sayisi :
dtext +130 +110 0455 5
dtext +10 +130 0455 Duello esnasinda yukaridaki kurallar
dtext +10 +150 0455 geçerli olucaktir.
button +150 +70 4005 4007 1 0 1
dtext +185 +70 0455 Kabul ediyorum.
[dialog D_duello3_rakip button]
ON=1
ref1=<ctag0.teklifeden3>
if (<src.isevent.e_duello>) || (<ref1.isevent.e_duello>) || (<src.isevent.e_duello_arena3>) || (<ref1.isevent.e_duello_arena3>)
src.sysmessage Siz veya rakibiniz zaten duelloda.
return 1
endif
if (<src.findlayer.25.uid>)
src.sysmessage @0481 Binek ile basvuramazsiniz.
var.dialogacik_3 0
return 1
endif
if (<ref1.findlayer.25.uid>)
ref1.sysmessage @0481 Binek ile basvuramazsiniz.
return 1
var.dialogacik_3 0
endif
if (<var.duellodolu3> == 1)
src.sysmessage Duello oldugu icin alinamiyorsunuz
return 1
var.dialogacik_3 0
endif
if (<src.isevent.e_duello_arena3>) || (<ref1.isevent.e_duello_arena3>)
src.sysmessage Siz veya rakibiniz zaten duelloda.
return 1
endif
if (<src.gold> < <uid.<var.arenaduzen3>.dtag0.duello_bahis>)
src.sysmessage Bahsi <uid.<var.arenaduzen3>.dtag0.duello_bahis>>gp olarak kabul edemezsiniz.
var.dialogacik_3 0
ref1.sysmessage <src.name>'in yeterli parasi yok.
elseif (<ref1.gold> < <uid.<var.arenaduzen3>.tag0.duello_bahis>)
var.dialogacik_3 0
src.sysmessage <ref1.name>'in yeterli parasi yok.
ref1.sysmessage Yeterli paraniz olmadigi için duello gerçeklesmiyor.
else
uid.<var.arenaduzen3>.tag.duello_loot <src.tag.lootvarmi>
ref1.dialogclose d_duello_rakip
src.dialogclose d_duello_rakip
var.dialogacik_3 1
var.duellodolu3 1
ref1.go = <def.kordinat_8>
src.go <def.kordinat_9>
src.duelloitemver
ref1.duelloitemver3
serv.newitem 079
new.p = <src.p>
new.move n
new.timerf 31,remove
serv.newitem 079
new.p = <src.p>
new.move s
new.timerf 31,remove
serv.newitem 079
new.p = <src.p>
new.move w
new.timerf 31,remove
serv.newitem 079
new.p = <ref1.p>
new.move e
new.timerf 31,remove
serv.newitem 079
new.p = <ref1.p>
new.move n
new.timerf 31,remove
serv.newitem 079
new.p = <ref1.p>
new.move s
new.timerf 31,remove
ref1.events +e_duello_arena3
src.events +e_duello_arena3
ref2= <uid.<var.hakem_3>>
ref2.go = <def.kordinat_7>
ref2.duello_Baslat
on=0
var.dialogacik_3 0
[function duello_baslat]
serv.newitem i_Timer_duello_3,1,<uid>,1
[itemdef i_Timer_duello_3]
name duello timer arena 3
id i_memory
type = t_eq_script
weight 0
ON=@create
attr attr_invis
morex = 30
timer 1
ON=@timer
if <morex>
topobj.say @07a1,,1 <morex> saniye sonra basliyor
topobj.anim 32
morex -=1
timer 1
else
topobj.say @07a1,,1 Basla !
topobj.anim 22
topobj.timerf 1,invis 1
remove
endif
return 1
[itemdef i_duello_duzen_3]
name duello Duzen arena 3
id i_gravestone
type = t_eq_script
weight 0
ON=@create
attr attr_invis
morex = 30
var.arenaduzen3 <uid>
Total votes: 0
Ultima Online 2 gün önce
RunUo Scripting 2 gün önce
Sunucular 6 gün önce
Sunucular 6 gün önce
Ultima Online 2 hafta önce
Sunucular 3 hafta önce
Sunucular 4 hafta önce
Ultima Online 1 ay önce
Sunucular 1 ay önce
Ultima Online 2 ay önce
Sunucular 2 ay önce
Sohbet & Geyik 2 ay önce
2024-10-31 22:47
2024-10-14 17:45
2024-09-26 14:21
2024-07-08 22:50
2024-07-08 22:34
2024-06-19 22:05
2024-06-01 02:19
2024-05-31 21:17
Yorumlar (0)