Silindi üyesi avatar
Silindi
arkadaşlar böle bi scrip var lootlu yapıom ama adam öldügünde itemleri aynen duruyor hatam nerde yardım edermsiniz

[defname duello_ayar]
kordinat_1 = 1328,1608,94
kordinat_2 = 5721,801   
kordinat_3 = 5743,793   

[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>

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
var.hakem = <uid>
src.sdialog D_duello

[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 Poison :
checkbox +70 +50 210 211 0 1
dtext +10 +70 038 Loot :
checkbox +70 +70 210 211 0 2
dtext +10 +90 038 Potion Sayısı :
dtextentry +130 +90 100 25 1153 2 3

dtext +10 +110 038 Bandaj Sayısı :
dtextentry +130 +110 100 25 1153 3 5

dtext +10 +130 0455 Duello esnasında yukarıdaki kurallar
dtext +10 +150 0455 geçerli olucaktır.

button +150 +70 4005 4007 1 0 1
dtext +185 +70 0455 Tamam.

[dialog d_duello button]
ON=1
if !(<isnum <ARGTXT[1]>>) || !(<isnum <ARGTXT[2]>>) || !(<isnum <ARGTXT[3]>>)
src.sysh_trk Yanlış karakter girdiniz (bahis,potion sayısı,bandaj sayısı rakam olmak zorunda).
elseif (<region.tag0.duello>)
src.sysh_trk Şuanda başka bir duello var onun bitmesini bekleyiniz.
elseif (<src.isevent.e_duello>)
src.sysh_trk Siz zaten duellodasınız.
else

region.tag.duello_poison = <argchk[1]>
region.tag.duello_loot = <argchk[2]>
region.tag.duello_bahis = <argtxt[1]>
region.tag.duello_bandage = <argtxt[2]>
region.tag.duello_potion = <argtxt[3]>

src.targetf rakipsec
src.sys_trk rakibinizi seçin ?

[function rakipsec]
ref1=<argo>
ref2=<src>
if !(<ref1.isplayer>)
ref2.sysh_trk Sadece oyuncularla duello yapabilirsiniz.
elseif (<ref1.gold> < <region.tag0.duello_bahis>)
ref2.sysh_trk Rakibiniz <bolukayir <region.dtag0.duello_Bahis>> altını yok.
elseif (<ref1.isevent.e_duello>) || (<ref2.isevent.e_duello>)
ref2.sysh_trk Rakibiniz yada siz zaten duellodasınız.
elseif (<region.tag0.duello>)
ref2.sysh_trk Duello alanında başkaları var.
elseif (<ref2.uid> == <ref1.uid>)
ref1.sysh_trk Kendinizi seçemezsiniz.
else
trysrc <ref1.uid> src.sdialog D_duello_rakip,0,<ref2.uid>
ref2.sys_trk Teklif yapıldı , cevap bekleniyor.
ref1.sys_trk <ref2.name> size duello teklif ediyor.
endif
[events e_duello]
ON=@itemequip
if (<act.isweapon>) && (<region.tag0.poison>) && (<act.morez>)
act.morex = 0
src.sys_Trk silahınızdaki poison silinmiştir.
endif

ON=@death
ref1=<uid>
ref2=<act.uid>
ref3=<var.hakem>

ref3.invis 0
ref1.say_trk Tebrikler <ref2.name>.
ref2.newgold =<eval <region.tag0.duello_bahis>*2>

if (<ref2.findid.i_rune_poison>)
ref2.findid.i_rune_poison.remove
endif

if (<region.tag0.duello_loot>)
ref3.face <ref1.uid>
ref1.timerf 2,go 1329,1608,94
ref3.face = <ref1.uid>
ref1.timerf 2,resurrect
ref3.face = <ref2.uid>
ref1.events -e_duello
ref3.say_trk Loot için 30 saniyen var.
ref3.invis 1
ref3.timerf 29,invis 0
ref3.timerf 30,face <ref2.uid>
ref2.timerf 31,1329,1606,94
ref2.timerf 31,events -e_duello
else
ref1.go 1329,1608,94
ref2.p 1329,1608,94
ref2.move e
ref1.events -e_duello
ref2.events -e_duello
ref1.spelleffect s_resurrection,100
ref1.hits = 100
ref2.hits = 100
return 1
endif
duello_update

[dialog d_duello_rakip]
0,0
page 0
resizepic 100 100 83 300 200
ctag0.teklifeden = <args>
ref1=<args>
dorigin 110 100
dtext +40 +10 38 <ref1.name> size duello teklif ediyor.
dtext +10 +30 038 Bahis :
dtext +70 +30 0455 <region.dtag0.duello_bahis>
dtext +10 +50 038 Poison :
dtext +70 +50 0455 <qval (<region.tag0.duello_poison>)?Serbest:Yasak>
dtext +10 +70 038 Loot :
dtext +70 +70 0455 <qval (<region.tag0.duello_loot>)?Var:Yok>
dtext +10 +90 038 Potion Sayısı :
dtext +130 +90 0455 <region.dtag0.duello_potion>

dtext +10 +110 038 Bandaj Sayısı :
dtext +130 +110 0455 <region.dtag0.duello_bandage>

dtext +10 +130 0455 Duello esnasında yukarıdaki kurallar
dtext +10 +150 0455 geçerli olucaktır.

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 (<region.tag0.duello>)
src.sysh_trk Şuanda başka bir duello var onun bitmesini bekleyiniz.
elseif (<src.isevent.e_duello>)
src.sysh_trk Siz zaten duellodasınız.
elseif (<src.gold> < <region.dtag0.duello_bahis>)
src.sysh_trk Bahsi <region.dtag0.duello_bahis>>gp olarak kabul edemezsiniz.
ref1.sysh_trk <src.name>'in yeterli parası yok.
elseif (<ref1.gold> < <region.tag0.duello_bahis>)
src.sysH_trk <ref1.name>'in yeterli parası yok.
ref1.sysh_trk Yeterli paranız olmadığı için duello gerçekleşmiyor.
else
ref1.go = <def.kordinat_2>
src.go <def.kordinat_3>

serv.newitem 079
new.attr attr_invis
new.p = <src.p>
new.move n
new.timerf 11,remove
serv.newitem 079
new.attr attr_invis
new.p = <src.p>
new.move s
new.timerf 11,remove
serv.newitem 079
new.attr attr_invis
new.p = <src.p>
new.move w
new.timerf 11,remove
serv.newitem 079
new.attr attr_invis
new.p = <ref1.p>
new.move e
new.timerf 11,remove
serv.newitem 079
new.attr attr_invis
new.p = <ref1.p>
new.move n
new.timerf 11,remove
serv.newitem 079
new.attr attr_invis
new.p = <ref1.p>
new.move s
new.timerf 11,remove

ref1.events +e_duello
src.events +e_duello
ref2= <uid.<var.hakem>>
ref2.go = <def.kordinat_1>
ref2.duello_Baslat

[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 = 10
timer 1

ON=@timer
if <morex>
topobj.say_trk <morex>
topobj.anim 32
morex -=1
timer 1
else
topobj.say_trk Başla !
topobj.anim 22
topobj.timerf 1,invis 1
remove
endif
return 1

[AREADEF a_duello]
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass
NAME=Duello Alanı
GROUP=Special Area
FLAGS=region_antimagic_gate|region_flag_nobuilding|
p=5803,1106
RECT=5795,1121,5817,1092

[function duello_update]
if !(<db.connected>)
db.connect
endif
db.execute "CREATE TABLE 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>','<region.dtag0.duello_bahis>','<region.dtag0.duello_poison>','<region.dtag0.duello_loot>',NOW())
db.close

/// potion kontrolunü bitirmemiştim ama aşağıdaki gibi bir mantık oluşturmuşum aşağıdaki mantık ile siz tamamlayabilirsiniz.
On=@spelleffect
if (<argn> == s_greater_heal) || (<argn> == s_cure) || (<argn> == s_Agility) || (<argn> == s_strength)
if !(<act.isplayer>)
if (<tag0.potion_<argn>> < <region.tag0.duell_potion>)
tag0.potion_<argn> ++
else
sysh_trk Bu iksirden daha fazla içmenize yarışma kuralları izin vermiyor.
return 1
endif
endif
endif
murizh üyesi avatar
sen hatayı server açmakta yapmışın arkadaşım...

Üye Ol veya Giriş Yap

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

Benzer Konular