Kod:
[chardef c_cpvp_Dota]
name Dota Hakemi
id c_man
can mt_equip|mt_nonmover
On=@Create
str 9500
dex 1000
int 1000
magery 100
invul 1
speechcolor 1953
food 990
color 01
npc 1
taming 32000
itemnewbie random_male_hair
color 01
itemnewbie random_facial_hair
color 01
itemnewbie i_shroud
color 07a1
itemnewbie i_spear_vanq
color 07a1
on=@gethit
return 1
on=@spelleffect
return 1
on=@death
hits 100
return 1
on=@attack
skill fail
action -1
return 1
on=@hit
return 1
on=@click
messageua 0481,6,6,enu [<name>]
return 1
on=@dclick
if (<src.findid.i_Dotacu>)
src.findid.i_Dotacu.remove
endif
if (<src.account.plevel>==7) && (<src.isgm>)
sdialog d_cpvp_Dota_ayar
elif (<src.account.plevel>==1) || (<src.account.plevel>==7)
if (<distance> >3)
src.sysmessage @1953,1,1,1 Yetisemiyorsunuz...
return 1
endif
sdialog d_cpvp_Dota
endif
return 1
[dialog d_cpvp_Dota_ayar]
0,0
resizepic 100 100 9260 300 200
resizepic 115 115 9300 271 171
dhtmlgump 170 120 300 20 0 0 LichNetwork Dota System
button 120 150 210 211 1 0 1
button 120 175 210 211 1 0 2
button 120 200 210 211 1 0 3
button 120 225 210 211 1 0 4
button 120 250 210 211 1 0 5
dhtmlgump 142 150 400 20 0 0 Normal Koordinati: <tag0.koordinat1>
dhtmlgump 142 175 400 20 0 0 Gerisayim Koordinati: <tag0.koordinat2>
dhtmlgump 142 200 400 20 0 0 Pvp'deki Koordinati: <tag0.koordinat3>
dhtmlgump 142 225 400 20 0 0 1.Player: <tag0.koordinat4>
dhtmlgump 142 250 400 20 0 0 2.Player: <tag0.koordinat5>
[dialog d_cpvp_Dota_ayar button]
onbutton 1
var.hakemuid <uid>
targetfg hakemkoordinat 1
onbutton 2
var.hakemuid <uid>
targetfg hakemkoordinat 2
onbutton 3
var.hakemuid <uid>
targetfg hakemkoordinat 3
onbutton 4
var.hakemuid <uid>
targetfg hakemkoordinat 4
onbutton 5
var.hakemuid <uid>
targetfg hakemkoordinat 5
[dialog d_cpvp_Dota]
0,0
resizepic 100 100 9260 300 200
resizepic 115 115 9300 271 171
dhtmlgump 170 120 300 20 0 0 LichNetwork Dota System
dhtmlgump 200 150 50 20 0 0 Bahis :
dtextentry 250 150 100 20 910 1 1000
checkbox 250 186 210 211 0 1
dtext 200 185 0 Loot :
button 190 220 4005 4007 1 0 1
dtext 230 220 038 Tamam
button 350 260 5601 5605 1 0 2
dtext 280 258 038 Aciklama
[dialog d_cpvp_Dota button]
onbutton 1
if !(<isnum <argtxt[1]>>) || (<eval <argtxt[1]>> > 30000)
src.sysmessage @38,1,1 Sadece Rakam Kullanabilirsiniz.
return 1
endif
serv.newitem i_Dotacu
src.new.link <uid>
src.new.tag.bahis <argtxt[1]>
src.new.tag.loot <argchk[1]>
src.new.timer 5
src.new.equip
src.dialogclose d_aciklama
onbutton 2
src.dialog d_aciklama
src.dialog d_cpvp_Dota
[dialog d_cpvp_Dota_teklif]
0,0
resizepic 100 100 9260 300 270
resizepic 115 115 9300 271 241
dtext 170 120 0 LichNetwork Dota System
dtext 150 160 038 <cont.name> Dota Teklifinde Bulundu.
dtext 180 200 38 Bahis : <eval <tag.bahis>> Bilet
dtext 180 230 38 Loot : <qval (<tag0.loot>) ? Var:Yok>
dtext 150 260 38 <eval <tag.bahis>> Bilet Kaybedersiniz.
button 160 320 4005 4007 1 0 1
dtext 200 320 038 Kabul Ediyorum
[dialog d_cpvp_Dota_teklif button]
onbutton 0
cont.hata <src.name> teklifi kabul etmedi.
onbutton 1
if (<eval <link.tag.pvpdeyim>>==1)
src.hata Dota alanı şu anda dolu.
cont.hata <src.name> teklifi kabul etti, ancak Dota alanı şu anda dolu.
return 1
endif
if (<eval <tag.bahis>> = 0)
else
if (<src.restest <eval <tag.bahis>>i_bilet>) && (<cont.restest <eval <tag.bahis>>i_bilet>)
cont.consume <eval <tag.bahis>>i_bilet
src.consume <eval <tag.bahis>>i_bilet
else
src.hata <cont.name> veya sizde <eval <tag.bahis>> bilet bulunmuyor.
cont.hata <src.name> veya sizde <eval <tag.bahis>> bilet bulunmuyor.
return 1
endif
endif
if (<src.findlayer.25>) || (<cont.findlayer.25>)
src.hata Senin yada onun altında binek var.
cont.hata Senin yada onun altında binek var.
return 1
endif
var.uid1 <src.uid>
var.uid2 <cont.uid>
forchars 25
if (<memoryfindtype.memory_ipet>)
if (<memoryfindtype.memory_ipet.link>==<var.uid1>) || (<memoryfindtype.memory_ipet.link>==<var.uid2>)
try uid.<var.uid1>.sysmessage @1953,1,1,1 Sizin veya rakibinizin binekleri etrafta oldugu surece Dota baslamayacaktir.
try uid.<var.uid2>.sysmessage @1953,1,1,1 Sizin veya rakibinizin binekleri etrafta oldugu surece Dota baslamayacaktir.
return 1
endif
endif
endfor
var.uid1
var.uid2
timer -1
src.events -e_Dotagiris
src.tag.events -e_Dotagiris
src.go <link.tag.koordinat4>
src.events +e_cpvp_Dota
src.tag.events +e_cpvp_Dota
src.Kafesle_Dot
src.food 15
src.tag.cpvp_Dota_rakip.events -e_Dotagiris
src.tag.cpvp_Dota_rakip <cont.uid>
src.tag.cpvp_Dota_karma <src.karma>
src.tag.cpvp_Dota_kills <src.kills>
src.tag.cpvp_Dota_fame <src.fame>
cont.go <link.tag.koordinat5>
cont.events +e_cpvp_Dota
cont.tag.events +e_cpvp_Dota
cont.food 15
cont.Kafesle_Dot
cont.events -e_Dotagiris
cont.tag.cpvp_Dota_rakip.events -e_Dotagiris
cont.tag.cpvp_Dota_rakip <src.uid>
cont.tag.cpvp_Dota_karma <cont.karma>
cont.tag.cpvp_Dota_kills <cont.kills>
cont.tag.cpvp_Dota_fame <cont.fame>
link.tag.pvpdeyim 1
serv.newitem i_cpvp_Dota_gerisayim
new.timer 1
new.morex 10
new.cont <link.uid>
link.go <link.tag.koordinat2>
link.tag.player1 <src.uid>
link.tag.player2 <cont.uid>
//-----------------------------------------------------------------------------------------
// Functions
[function hakemkoordinat]
try uid.<var.hakemuid>.tag.koordinat<args> <src.targp>
src.sysmessage @1953,1,1,1 Yeni koordinat ayarlandi : <src.targp>
[function cpvp_Dota_loot]
serv.newitem i_bag
src.new.cont <src.findlayer.29>
local.bag <src.new>
var.lfor
for <uid.<args>.rescount>
if (<uid.<args>.findcont.<eval <var.lfor>>.attr>&attr_newbie)
var.lfor <eval <var.lfor>> +1
else
try uid.<args>.findcont.<eval <var.lfor>>.cont <uid.<local.bag>>
endif
endfor
//-----------------------------------------------------------------------------------------
// Items
[itemdef i_Dotacu]
id i_memory
type t_eq_script
name Dotacu
on=@equip
target @1953,1,1,1 Kiminle Dota yapacaksiniz?
on=@targon_cancel
remove
on=@timer
remove
return 1
on=@targon_char
if !(<src.targ.isplayer>)
src.sysmessage @1952,1,1,1 Sadece playerlarla Dota yapabilirsiniz
return 1
elif (<src.targ.isevent.e_cpvp_Dota>)
src.sysmessage @1952,1,1,1 <src.targ.name> zaten Dota yapiyor.
return 1
elif (<src.isevent.e_cpvp_Dota>)
src.sysmessage @1952,1,1,1 Zaten pvp yapiyorsunuz
return 1
elif (<src.uid>==<src.targ.uid>)
src.sysmessage @1952,1,1,1 Kendinizle Dota yapamazsiniz
return 1
endif
trysrc <src.targ.uid> sdialog d_cpvp_Dota_teklif
src.sysmessage @1976,1,1,1 Teklif yapildi. Lutfen bekleyiniz.
timer 5
return 1
[itemdef i_cpvp_Dota_gerisayim]
id i_memory
type t_eq_script
name gerisayim
on=@timer
if (<morex>==0)
cont.go <cont.tag.koordinat3>
remove
else
timer 1
morex -=1
endif
return 1
[events e_cpvp_Dota]
on=@click
message @033 [ Dota ]
message @07a1 <name>
return 1
on=@logout
src.hits 0
on=@itemtargon_char
if (<findid.i_Dotacu>)
obj <findid.i_Dotacu.uid>
else
obj <uid.<tag.cpvp_Dota_rakip>.findid.i_Dotacu.uid>
endif
on=@spellcast
if (<argn>==45) || (<argn>==32) || (<argn>==52) || (<argn>==24) || (<argn>==57) || (<argn>==54) || (<argn>==50) || (<argn>==49) || (<argn>==45) || (<argn>==43) || (<argn>==40) || (<argn>==39) || (<argn>==28) || (<argn>==22) || (<argn>==38) || (<argn>==44) || (<argn>==58)
src.hata Dota'da bu büyüleri kullanamazsınız.
f_fizzle
skill fail
return 1
endif
on=@itemdclick
if (<act.baseid> == i_deed_animal) || (<act.baseid> == i_binek_hafiza) || (<act.baseid> == i_runebook) || (<act.baseid> == i_pet_golem1) || (<act.baseid> == i_potion_explosiongreat) || (<act.baseid> == i_potion_explosion) || (<act.baseid> == i_potion_explosionless) || (<act.baseid> == i_runebook)
src.hata Dota'da bunları yapamazsınız.
return 1
endif
if (<findid.i_Dotacu>)
obj <findid.i_Dotacu.uid>
else
obj <uid.<tag.cpvp_Dota_rakip>.findid.i_Dotacu.uid>
endif
on=@itemequip
if (<findid.i_Dotacu>)
obj <findid.i_Dotacu.uid>
else
obj <uid.<tag.cpvp_Dota_rakip>.findid.i_Dotacu.uid>
endif
On=@Death
src.f_cpvp_Dota_death
return 1
on=@Skillstart
if ((<action> == id(skill_hiding)) || (<action> == skill_hiding) || (<action> == id(skill_stealth)) || (<action> == skill_stealth))
src.hata Dota'da bunları yapamazsınız.
return 1
endif
[function f_cpvp_Dota_death]
act <tag.cpvp_Dota_rakip>
if (<findid.i_Dotacu>)
obj <findid.i_Dotacu.uid>
else
obj <act.findid.i_Dotacu.uid>
endif
obj.link.go <obj.link.tag.koordinat1>
obj.link.tag.pvpdeyim 0
obj.link.tag.player1
obj.link.tag.player2
go <obj.link.tag.koordinat1>
if (<memoryfindtype.memory_sawcrime>)
memoryfindtype.memory_sawcrime.remove
endif
tag.cpvp_Dota_fame <eval <tag.cpvp_Dota_fame>>
tag.cpvp_Dota_karma <eval <tag.cpvp_Dota_karma>>
tag.cpvp_Dota_kills <eval <tag.cpvp_Dota_kills>>
tag.cpvp_Dota_rakip
act.go <obj.link.tag.koordinat1>
if (<act.memoryfindtype.memory_sawcrime>)
act.memoryfindtype.memory_sawcrime.remove
endif
act.tag.cpvp_Dota_fame <eval <act.tag.cpvp_Dota_fame>>
act.tag.cpvp_Dota_karma <eval <act.tag.cpvp_Dota_karma>>
act.tag.cpvp_Dota_kills <eval <act.tag.cpvp_Dota_kills>>
act.tag.cpvp_Dota_rakip
src.hata Kaybettiniz.
src.events +e_Dotagiris
src.findid.i_bleeding.remove
src.findid.i_rune_poison.remove
src.f_fizzle
src.hits 100
act.dogru Kazandınız.
act.events +e_Dotagiris
act.findid.i_bleeding.remove
act.findid.i_rune_poison.remove
act.hits 100
act.f_fizzle
obj.remove
hits <str>
if (<eval <obj.tag.bahis>> >0)
trysrc <act> paraver <eval <obj.tag.bahis>*2>
act.sysmessage @1976,1,1,1 <eval <obj.tag.bahis>*2> sp Cantaniza aktarildi.
endif
if (<eval <obj.tag.loot>>==1)
findlayer.1.cont <findlayer.21>
findlayer.2.cont <findlayer.21>
findlayer.3.cont <findlayer.21>
findlayer.4.cont <findlayer.21>
findlayer.5.cont <findlayer.21>
findlayer.6.cont <findlayer.21>
findlayer.7.cont <findlayer.21>
findlayer.8.cont <findlayer.21>
findlayer.10.cont <findlayer.21>
findlayer.12.cont <findlayer.21>
findlayer.13.cont <findlayer.21>
findlayer.17.cont <findlayer.21>
findlayer.18.cont <findlayer.21>
findlayer.19.cont <findlayer.21>
findlayer.20.cont <findlayer.21>
findlayer.22.cont <findlayer.21>
findlayer.23.cont <findlayer.21>
findlayer.24.cont <findlayer.21>
trysrc <act> cpvp_Dota_loot <findlayer.21>
act.sysmessage @0790,,1 Rakibinizin Loot'u Bag icinde Bankaniza Aktarilmistir.
endif
act.events -e_cpvp_Dota
events -e_cpvp_Dota
serv.allclients sysmessage @07a5,1,1 Dota Duyuru :
serv.allclients sysmessage @07a1,1,1 "<src.name>" ile "<act.name>" arasındaki Dotayu "<act.name>" kazanmıştır.
[events e_Dotagiris]
on=@click
message @033 [ Dota Alani ]
message @07a1 <name>
return 1
on=@hit
If !(<act.uid> == <src.uid>)
src.hata Dota alanında sadece kendinize armor ve stat büyülerini atabilirsiniz.
return 1
endif
On=@SpellCast
if ((<argn> == 28) || (<argn> == 24) || (<argn> == 32) || (<argn> == 33) || (<argn> == 39) || (<argn> == 40) || (<argn> == 45) || (<argn> == 46) || (<argn> == 47) || (<argn> == 49) || (<argn> == 50) || (<argn> >= 55) || (<argn> >= 44))
src.hata Dota alanında sadece kendinize armor ve stat büyülerini atabilirsiniz.
f_fizzle
return 1
endif
If !(<act.uid> == <src.uid>)
src.hata Dota alanında sadece kendinize armor ve stat büyülerini atabilirsiniz.
return 1
endif
On=@SkillStart
if (<action> == id(skill_hiding)) || (<action> == skill_hiding) || (<action> == id(skill_stealth)) || (<action> == skill_stealth)
src.hata Dota alanında sadece kendinize armor ve stat büyülerini atabilirsiniz.
skill fail
return 1
endif
mana <int>
If !(<act.uid> == <src.uid>)
src.hata Dota alanında sadece kendinize armor ve stat büyülerini atabilirsiniz.
return 1
endif
on=@itemdclick
if (<act.baseid> == i_deed_animal) || (<act.baseid> == i_binek_hafiza) || (<act.baseid> == i_runebook) || (<act.baseid> == i_pet_golem1) || (<act.baseid> == i_potion_explosiongreat) || (<act.baseid> == i_potion_explosion) || (<act.baseid> == i_potion_explosionless) || (<act.baseid> == i_runebook)
src.hata Dota alanında bunu yapamazsınız.
return 1
endif
[function paraver]
serv.newitem i_bilet
new.amount <eval <obj.tag.bahis>*2>
new.bounce
[Function PvPbasla]
Var.old_act <act>
newitem i_kafes_timer
act.equip
Kafesle_Dot
Newitem i_kafes_timer
act.cont <uid.<var.teklifeden_uid>.serial>
act.timer 1
Try uid.<var.teklifeden_uid>.kafesle_Dot
act <var.old_act>
events +e_pvp
try uid.<var.teklifeden_uid>.events +e_pvp
[Function Kafesle_Dot]
NEWITEM=0822
ACT.TYPE=t_normal
ACT.COLOR=0b4d
ACT.P=<P>
ACT.MOVE 1,1
ACT.ATTR=00002
ACT.TIMER=10
NEWITEM=0821
ACT.TYPE=t_normal
ACT.COLOR=0b4d
ACT.P=<P>
ACT.MOVE 1,0
ACT.ATTR=00002
ACT.TIMER=10
NEWITEM=0821
ACT.TYPE=t_normal
ACT.COLOR=0b4d
ACT.P=<P>
ACT.MOVE -1,0
ACT.ATTR=00002
ACT.TIMER=10
NEWITEM=0821
ACT.TYPE=t_normal
ACT.COLOR=0b4d
ACT.P=<P>
ACT.MOVE -1,1
ACT.ATTR=00002
ACT.TIMER=10
NEWITEM=0823
ACT.TYPE=t_normal
ACT.COLOR=0b4d
ACT.P=<P>
ACT.MOVE 0,1
ACT.ATTR=00002
ACT.TIMER=10
NEWITEM=0823
ACT.TYPE=t_normal
ACT.COLOR=0b4d
ACT.P=<P>
ACT.MOVE 0,1
ACT.ATTR=00002
ACT.TIMER=10
NEWITEM=0823
ACT.TYPE=t_normal
ACT.COLOR=0b4d
ACT.P=<P>
ACT.MOVE 0,-1
ACT.ATTR=00002
ACT.TIMER=10
NEWITEM=0823
ACT.TYPE=t_normal
ACT.COLOR=0b4d
ACT.P=<P>
ACT.MOVE 1,-1
ACT.ATTR=00002
ACT.TIMER=10
[Itemdef i_Kafes_timer]
Name Osman
Id i_handr_1
type t_eq_script
ON=@Create
ATTR attr_decay
MORE1=9
COLOR=0480
ON=@Equip
TIMER=1
ON=@Timer
if ( <cont> )
if ( <more1> )
cont.sysmessage <VALSTR(<more1>)>
more1=<more1>-1
TIMER=1
return 1
endif
endif
Remove
RETURN 1
/////////////////////////////////////////////////////////////
[dialog d_aciklama]
0,0
resizepic 400 100 9260 350 200
resizepic 415 115 9300 321 171
dtext 480 120 038 Dota Hakkinda Aciklama
dtext 415 150 38 Oyundan Dustugunuzde Yenilmis Sayilirsiniz
dtext 415 175 38 Oyunu Kapattiginizda Yenilmis Sayilirsiniz
dtext 415 200 38 Dotada Yandaki Kurallar Gecerli Olucaktir
dtext 525 250 038 LichNetwork
//////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////GATELER/////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
[itemdef i_Dota_giris]
id i_moongate_blue
type t_Dotogiris
name Dota Giris Gate
on=@create
color 0bb7
on=@click
message @0790,,1 [<eval <var.Dotakatilim>> Kisi Bulunuyor ]
message @38,,1 [Dota Giris]
return 1
on=@step
src.hata Çift tıklayınız.
return 1
on=@dclick
forchars 25
if (<memoryfindtype.memory_ipet>)
if (<memoryfindtype.memory_ipet.link>==<src.uid>)
src.hata Etrafta bineğin varken giremezsin.
return 1
endif
endif
endfor
if (<src.findlayer.25.uid>)
src.hata Altınızda binek varken giremezsin.
return 1
endif
IF ( <DISTANCE> < 3 )
src.sdialog d_Dotadialog
return 1
else
src.hata Uzaktasınız.
return 1
endif
[dialog d_Dotadialog]
0, 0
nomove
PAGE 1
resizepic 300 200 9260 250 130
resizepic 315 215 9300 221 101
dtext 365 215 0481 Dota Alanı Giriş
dtext 375 249 0846 Evet Giricem
dtext 375 283 0846 Hayir Girmicem
button 350 250 5402 5401 1 0 1
button 350 285 5402 5401 2 0 2
timerf 10,dialogclose d_Dotadialog
src.hata Dialog 10 saniye sonra kapanacaktır.
[dialog d_Dotadialog button]
ONBUTTON=0
ONBUTTON=1
forchars 25
if (<memoryfindtype.memory_ipet>)
if (<memoryfindtype.memory_ipet.link>==<src.uid>)
src.hata Etrafınızda bineğiniz varken Dota alanına giremezsiniz.
return 1
endif
endif
endfor
if (<src.hits> < <src.str>)
src.hata Yaralıyken Dota alanına giremezsiniz.
return 1
endif
if (<src.findid.i_rune_poison>)
src.hata Üzerinizde zehir varken Dota alanına giremezsiniz.
return 1
endif
IF (<targ.DISTANCE> < 3)
src.invis 0
src.events -e_safe
src.events +e_Dotagiris
var.Dotakatilim +=1
src.binekolmasin
src.hits <src.str>
src.stam <src.dex>
src.mana <src.int>
src.go 5501,1234
serv.allclients sysmessage @0785,1,1 <src.name> Dota alanına giriş yaptı.
serv.allclients sysmessage @0785,1,1 Toplam Dotada bulunan kişi sayısı : <eval <var.Dotakatilim>>
return 1
else
src.hata Uzaktasınız.
return 1
endif
[typedef t_Dotogiris]
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[itemdef i_Dota_cikis]
id i_moongate_blue
type t_Dotocikis
name Dota Cikis Gate
on=@create
color 0bb7
on=@click
message @38,,1 [Dota Çıkış]
return 1
on=@step
src.hata Çift tıklayınız.
return 1
on=@dclick
IF ( <DISTANCE> < 3 )
src.sdialog d_Dotacikisdialog
return 1
else
src.hata Uzaktasınız.
return 1
endif
[dialog d_Dotacikisdialog]
0, 0
nomove
PAGE 1
resizepic 300 200 9260 250 130
resizepic 315 215 9300 221 101
dtext 365 215 0481 Dota Alanı Çıkış
dtext 375 249 0846 Evet Çıkıcam
dtext 375 283 0846 Hayir Çıkmıcam
button 350 250 5402 5401 1 0 1
button 350 285 5402 5401 2 0 2
timerf 10,dialogclose d_Dotacikisdialog
src.hata Dialog 10 saniye sonra kapanacaktır.
[dialog d_Dotacikisdialog button]
ONBUTTON=0
ONBUTTON=1
forchars 25
if (<memoryfindtype.memory_ipet>)
if (<memoryfindtype.memory_ipet.link>==<src.uid>)
src.hata Etrafınızda bineğiniz varken Dota alanından çıkamazsınız.
return 1
endif
endif
endfor
if (<src.hits> < <src.str>)
src.hata Yaralıyken Dota alanından çıkamazsınız.
return 1
endif
if (<src.findid.i_rune_poison>)
src.hata Üzerinizde zehir varken Dota alanından çıkamazsınız.
return 1
endif
IF (<targ.DISTANCE> < 3)
src.invis 0
src.events +e_safe
src.events -e_Dotagiris
var.Dotakatilim +=-1
src.hits <src.str>
src.stam <src.dex>
src.mana <src.int>
src.go safe
serv.allclients sysmessage @0785,1,1 <src.name> Dota alanından çıkış yapti.
serv.allclients sysmessage @0785,1,1 Toplam Dotada bulunan kişi sayısı : <eval <var.Dotakatilim>>
return 1
else
src.hata Uzaktasınız.
return 1
endif
[typedef t_Dotocikis]
Arkadaşlar Ben Böyle Bir Script Editledim yanlız bir sorunum var ben teklif yapıldıktan sonra eğerki teklif kabul edilirse gidecekleri yerde çıplak olmalarını istiyorum hiç itemleri olmıycak nereye yazmalıyım???