Playera verilen evetin
@Death
triggeri altına
ON=@DEATH
ref2=<attacker.max>
ref4=<guild>
if <ref2.guild>
if <ref2.guild.tag0.savas> == <ref4>
ref2.guild.tag0.spuan<ref4>_1 +=1
elif <ref4.tag0.savas> == <ref2.guild>
ref2.guild.tag0.spuan<ref4>_2 +=1
endif
endif
defname kısmı biraz karışık oldu kullanımı yapmanız gereken tek şey
oyunda ".guildsavas" yazmanız şuanki ayarları otomatik kendisi otomatik olarak devam ettirir. Kafanız karışırsa ö.m atın tam açıklamasını yapayım. Şuan bende baktığımda karışık geliyor.
[defname guildsavasayarlar]
gzamanturu 2 // 1 ise saniye cinsi 2 ise saat cinsi 3 ise gün bazında
gzaman 5 // gzamanturu 1 ise buraya yazdığınız sayı o kadar saniye olacaktır eğer ki gzamanturu 2 ise direkt saat olarak ele alacaktır. gzamanturu 1 ise ÖRNEK: gzaman 15 buradaki 15 saniye olacak gzamanturu 2 ise ÖRNEK gzaman 2 buradaki 2 saat olacak.
gbaslangic 1 // 1 ise otomatik 2 ise manuel
gbaslangicturu 2 // bu kısım gbaslangic 1 ise çalışır gzamanturu gibi mantığı
gbaslangiczaman 8
gSAVASzamanturu 3
gSAVASzaman 1
gSAVASZAMANFİX 75 // burası savaşın bitiş zamanı savaş açıldığı zamandan küçük ise savaş açılma zamanını % olarak kaçına denk denk gelsin
[function guildsavas]
if <ddef.gbaslangic> == 2
list.guildsavas.clear
for 0 <eval <serv.guilds>-1>
ref2=<SERV.GUILDSTONES.<dLOCAL._FOR>.UID>
if !strregex(^[0-9]+$, <list.guilsavas.findelem <ref2>>)
list.guildsavas.add <ref2>
endif
endfor
else
ref4=<var0.gsT>
if <ref4.isitem>
src.sysmessage @,,1 Guild savaşlari etkinliği otomatik olduğu için bunu kullanamazsınız.
return 1
else
src.sysmessage @,,1 Guild savaş taşı etkin olmadığı için bi kereliğine kabul edildi.
serv.newitem i_guildsavas
new.p 5382,1082
endif
endif
// say @,,1 <guild>
[function savasac]
for 0 <list.guildsavas.count>
ref2 <list.guildsavas.<dlocal._for>>
ref3=<guild>
if <ref3.dtag.tpuan> >= <ref2.dtag.tpuan>
local.elem <list.guildsavas.findelem <ref3>>
list.guildsavas.<dlocal.elem>.remove
list.guildsavas.<dlocal._for>.insert <ref3>
return 1
endif
endfor
[plevel 01]
savas
[function savas]
forplayers 6144
savasac
endfor
sdialog d_savasac
[dialog d_savasac]
50,50
local.y 40
local.y += <eval <list.guildsavas.count>*20>
local.x 10
local.x += <eval <list.guildsavas.count>*20>
bozobag 10,10,630,<eval <dlocal.y>+30>
dtext 90 13 63 Saldıran
alphablack 190 35 5 <dlocal.x>
dtext 230 13 63 Savunan
alphablack 300 35 5 <dlocal.x>
dtext 330 13 63 Skor
alphablack 380 35 5 <dlocal.x>
dtext 400 13 63 Toplam Puan
alphablack 480 35 5 <dlocal.x>
alphablack 25 <dlocal.y> 600 5
dtext 520 13 63 Kalan süre
// alphablack 580 35 5 <dlocal.x>
ref4=<var0.gsT>
dtext 100 <eval <dlocal.y>+10> 0481 Kalan süre: <f_zamangoster <ref4.timer>> sonra savaş bitecek
dorigin 0 20
for 0 <eval <list.guildsavas.count>-1>
ref1=<list.guildsavas.<dlocal._for>>
if <ref1.tag0.savas>
ref2=<ref1.tag0.savas>
endif
if <ref1.tag0.savas>
dtext 60 *20 0481 <cropgump 10,<ref1.name>> (<ref1.abbrev>)
dtext 200 *0 0850 <cropgump 8,<ref2.name>> (<ref2.abbrev>)
dtext 310 *0 0455 <ref1.dtag.spuan<ref2>_1> vs <ref2.dtag.spuan<ref1>_2>
dtext 390 *0 063 <ref1.dtag.tpuan>
else
dtext 60 *20 0481 <cropgump 10,<ref1.name>> (<ref1.abbrev>)
dtext 200 *0 0845 Savaş açılmamış
dtext 390 *0 063 <ref1.dtag.tpuan>
endif
if !<src.guild.tag0.savas>
if <ref1> != <src.guild>
button 30 *0 021 022 1 0 <eval <dlocal._for>+1>
endif
endif
if <ref1.tag0.savaszaman>
ref3=<ref1.tag0.savaszaman>
if <ref1.tag0.savas>
// if <ref1.tag0.spuan> > <ref2.tag0.spuan>
dtext 490 *0 0481 <f_zamangoster <ref3.timer>>
// elif <ref1.tag0.spuan> < <ref2.tag0.spuan>
// dtext 490 *0 0481 <ref2.abbrev> önde
// else
// dtext 490 *0 0481 <ref1.abbrev> ve <ref2.abbrev> eşit
endif
endif
endfor
[dialog d_savasac button]
on 1 30
local.dargn <eval <dargn>-1>
ref2=<src.guild>
if <src.guild.masteruid> == <src.uid>
if !<src.guild.tag0.savas>
ref1=<list.guildsavas.<dlocal.dargn>>
src.sysmessage @,,1 <ref1.name> adlı guilde savas açtınız.
serv.newitem i_guildsavastimer
new.p <ref2.p>
new.tag0.stone <ref2>
new.tag0.savas <ref1>
ref2.tag0.savaszaman <new>
// ref2.tag0.savas <ref1>
ref2.tag0.savas <ref1>
ref1.tag0.savasVAR<ref2>_1 <ref2>
else
src.sysmessage @,,1 Sizin guildiniz daha önce başka bir guilde savaş açmış
endif
else
src.sysmessage @,,1 Bir guildin sahibi değilsiniz.
endif
[itemdef i_guildsavas]
id i_grave_Stone
name Guild savas stone
type t_normal
on=@Create
attr attr_move_never
color 0481
var.gsT <uid>
serv.log tas olusturuldu <uid>
if <def.gzamanturu> == 1
timer <ddef.gzaman>
elif <def.gzamanturu> == 2
timer <eval <eval <ddef.gzaman>*60>*60>
elif <def.gzamanturu> == 3
timer <eval <ddef.gzaman>*86400>
endif
on=@Timer
if <dmore> == 0
ref1=<list.guildsavas.0>
ref2=<list.guildsavas.1>
ref3=<list.guildsavas.2>
var.gsK1 <list.guildsavas.0>
var.gsK2 <list.guildsavas.1>
var.gsK3 <list.guildsavas.2>
serv.allclients sysmessage @07a1,,1 <ref1.name> guild savaşlarını 1. olarak bitirmiştir.
ref1.tag0.gsK +=3
ref2.tag0.gsK +=2
ref3.tag0.gsK +=1
serv.log savas bitti
// serv.log guild savaslari otomatik olarak tekrar baslatildi.
more 1
timer 1
endif
if <dmore> == 1
if <def.gbaslangic> == 1
if <def.gbaslangicturu> == 1
timer <ddef.gbaslangiczaman>
serv.log <ddef.gbaslangiczaman> 1
elif <def.gbaslangicturu> == 2
timer <eval <eval <ddef.gbaslangiczaman>*60>*60>
serv.log <ddef.gbaslangiczaman> 2
elif <def.gbaslangicturu> == 3
timer <eval <ddef.gbaslangiczaman>*86400>
serv.log <ddef.gbaslangiczaman> 3
endif
serv.log guild savas gerisi sayimi tekrar baslatildi <f_zamangoster <timer>> olarak ayarlandi.
more 0
else
remove
serv.log guild savaslari ayari otomatik olmadigi icin stone silindi.
return 1
endif
endif
// remove
return 1
[itemdef i_guildsavastimer]
id i_deed
name guildsavastimer
type t_normal
on=@Create
attr attr_invis|attr_move_never
color 0810
if <def.gSAVASzamanturu> == 1
timer <ddef.gSAVASzaman>
elif <def.gSAVASzamanturu> == 2
timer <eval <eval <ddef.gSAVASzaman>*60>*60>
elif <def.gSAVASzamanturu> == 3
timer <eval <ddef.gSAVASzaman>*86400>
endif
ref4=<var0.gsT>
if <timer> >= <ref4.timer>
local.hesap <eval <eval <ref4.timer>*<ddef.gSAVASZAMANFİX>>/100>
timer <dlocal.hesap>
serv.log savas zaman fix ayari yapildi.
endif
on=@timer
ref1=<tag0.stone>
ref2=<tag0.savas>
// say @,,1 asdd
if <ref1.dtag.spuan<ref2>_1> > <ref2.dtag.spuan<ref1>_2>
ref1.tag0.tpuan +=1
serv.allclients sysmessage @,,1 <ref1.name> ile <ref2.name> arasındaki savaşı <ref1.name> kazandı.
else
ref2.tag0.tpuan +=1
serv.allclients sysmessage @,,1 <ref1.name> ile <ref2.name> arasındaki savaşı <ref2.name> kazandı.
endif
ref1.tag0.savas
ref1.tag0.spuan<ref2>_1
ref2.tag0.spuan<ref1>_2
remove
return 1