Merhaba;

Duello sistemi hakkında yardım almak istiyorum. Bütün siteleri tek tek dolandım,araştırdım.Duello sistemi başlığı altındaki konuları ,derleme scriptleri aradım ayrıca duello sistemi hakkında yardım konuları açan arkadaşların sorunlarıda farklı. Anlayacağınız çaresiz kaldım. Karşılığı ne ise verebilirim yeterki duello sistemi sorunsuz çalışsın.

Yardımlarınızı bekliyorum. Karşılıklı olarak yapıcak olan arkadaşlarda yazarsa sevinirim.
[chardef c_cpvp_duello]
name Duello Hakemi
id c_man
can mt_equip|mt_nonmover

On=@Create
str 9500
dex 1000
int 1000
magery 100
speechcolor 1953
food 990
color 01
npc 1

itemnewbie random_male_hair
color 01
itemnewbie random_facial_hair
color 01
itemnewbie i_shroud
color 0455
itemnewbie i_staff_black
color 0455
itemnewbie i_boots_calf
color 0455
itemnewbie i_leather_gloves
color 0455
itemnewbie i_leather_gorget
color 0455
itemnewbie i_bandana
color 0455

on=@gethit
return 1
on=@spelleffect
return 1
on=@death
hits 100
return 1
on=@attack
return 1
on=@hit
return 1

on=@click
messageua 0481,6,6,enu [Duello Hakemi]
return 1

on=@dclick
if (<src.findid.i_duellocu>)
src.findid.i_duellocu.remove
endif
if (<src.account.plevel>==7) && (<src.isgm>)
sdialog d_cpvp_duello_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_duello
endif
return 1

[dialog d_cpvp_duello_ayar]
0,0
resizepic 100 100 5120 300 200
resizepic 110 110 9350 280 180
dhtmlgump 170 120 300 20 0 0 <serv.servname> Duello Sistemi

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_duello_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_duello]
0,0
resizepic 100 100 5120 300 270
resizepic 110 110 9350 280 250
dhtmlgump 170 120 300 20 0 0 <serv.servname> Duello Sistemi

dhtmlgump 120 150 50 20 0 0 Bahis:
dtextentry 160 150 100 20 910 1 0

checkbox 120 180 210 211 0 1
checkbox 120 205 210 211 0 2
checkbox 120 230 210 211 0 3
dhtmlgump 143 180 300 20 0 0 Silaha poison var
dhtmlgump 143 205 300 20 0 0 Loot var
dhtmlgump 143 230 300 20 0 0 Magical var

dcroppedtext 120 260 120 20 0 Max Bandage:            [0:sinirsiz]
dtextentry 250 260 70 20 910 2 0
dcroppedtext 120 280 120 20 0 Max Potion :            [0:sinirsiz]
dtextentry 250 280 70 20 910 3 0

button 220 310 4023 4025 1 0 1

[dialog d_cpvp_duello button]
onbutton 1
if !(<isnum <argtxt[1]>>) || !(<isnum <argtxt[2]>>) || !(<isnum <argtxt[3]>>)
src.sysmessage @1953,1,1,1 Sadece sayi yazabilirsiniz..
return 1
endif

serv.newitem i_duellocu
src.new.link <uid>
src.new.tag.bahis <argtxt[1]>
src.new.tag.maxbandage <argtxt[2]>
src.new.tag.maxpotion <argtxt[3]>
src.new.tag.poison <argchk[1]>
src.new.tag.loot <argchk[2]>
src.new.tag.magical <argchk[3]>
src.new.timer 45
src.new.equip

[dialog d_cpvp_duello_teklif]
0,0
resizepic 100 100 5120 300 280
resizepic 110 110 9350 280 260
dtext 170 120 0 <serv.servname> Duello Sistemi

dtext 120 150 0 <cont.name> Duello teklifinde bulundu.

resizepic 123 187 5100 5 5
resizepic 123 209 5100 5 5
resizepic 123 231 5100 5 5
resizepic 123 253 5100 5 5
resizepic 123 275 5100 5 5
resizepic 123 297 5100 5 5
dtext 130 180 0 Bahis: <eval <tag.bahis>> sp
dtext 130 202 0 Silaha poison <qval (<tag0.poison>) ? var:yok>
dtext 130 224 0 Loot <qval (<tag0.loot>) ? var:yok>
dtext 130 246 0 Magical silah <qval (<tag0.magical>) ? var:yok>
dtext 130 268 0 Max Bandage: <eval <tag.maxbandage>>
dtext 130 290 0 Max Potion: <eval <tag.maxpotion>>

button 123 320 4023 4025 1 0 1
dtext 156 320 0 Kabul Ediyorum

[dialog d_cpvp_duello_teklif button]
onbutton 0
cont.sysmessage @1976,1,1,1 <src.name> teklifi kabul etmedi..
remove

onbutton 1
if (<eval <link.tag.pvpdeyim>>==1)
src.sysmessage @1953,1,1,1 Duello alani su anda dolu..
cont.sysmessage @1953,1,1,1 <src.name> teklifi kabul etti, ancak duello alani su anda dolu
return 1
endif

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.sysmessage @1976,1,1,1 <cont.name> veya sizde <eval <tag.bahis>> sp yok..
cont.sysmessage @1976,1,1,1 <src.name> veya sizde <eval <tag.bahis>> sp yok..
return 1
endif

if (<src.findlayer.25>) || (<cont.findlayer.25>)
src.sysmessage @1953,1,1,1 Binekle duello yapamazsiniz..
cont.sysmessage @1953,1,1,1 Binekle duello yapamazsiniz..
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 duello baslamayacaktir.
try uid.<var.uid2>.sysmessage @1953,1,1,1 Sizin veya rakibinizin binekleri etrafta oldugu surece duello baslamayacaktir.
return 1
endif
endif
endfor
var.uid1
var.uid2

timer -1
src.duellokoy
src.go <link.tag.koordinat4>
src.food 15
src.tag.cpvp_duello_rakip <cont.uid>
src.tag.cpvp_duello_karma <src.karma>
src.tag.cpvp_duello_kills <src.kills>
src.tag.cpvp_duello_fame <src.fame>
cont.go <link.tag.koordinat5>
cont.food 15
cont.tag.cpvp_duello_rakip <src.uid>
cont.tag.cpvp_duello_karma <cont.karma>
cont.tag.cpvp_duello_kills <cont.kills>
cont.tag.cpvp_duello_fame <cont.fame>
link.tag.pvpdeyim 1
serv.newitem i_cpvp_duello_gerisayim
new.timer 1
new.morex 5
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_duello_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_duellocu]
id i_memory
type t_eq_script
name duellocu

on=@equip
target @1953,1,1,1 Kiminle duello 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 duello yapabilirsiniz
return 1
elif (<src.targ.isevent.e_cpvp_duello>)
src.sysmessage @1952,1,1,1 <src.targ.name> zaten duello yapiyor.
return 1
elif (<src.isevent.e_cpvp_duello>)
src.sysmessage @1952,1,1,1 Zaten pvp yapiyorsunuz
return 1
elif (<src.uid>==<src.targ.uid>)
src.sysmessage @1952,1,1,1 Kendinizle duello yapamazsiniz
return 1
endif
trysrc <src.targ.uid> sdialog d_cpvp_duello_teklif
src.sysmessage @1976,1,1,1 Teklif yapildi. Lutfen bekleyiniz.
timer 45
return 1

[itemdef i_cpvp_duello_gerisayim]
id i_memory
type t_eq_script
name gerisayim

on=@timer
if (<morex>==0)
cont.say BASLA
cont.go <cont.tag.koordinat3>
try uid.<cont.tag.player1>.events e_cpvp_duello
try uid.<cont.tag.player2>.events e_cpvp_duello
try uid.<cont.tag.player1>.findlayer.1.bounce
try uid.<cont.tag.player1>.events -e_cpvp_area
try uid.<cont.tag.player2>.events -e_cpvp_area
try uid.<cont.tag.player2>.findlayer.1.bounce
remove
else
timer 1
morex -=1
cont.say <morex>
endif
return 1

[events e_cpvp_duello]

on=@itemtargon_char
if (<findid.i_duellocu>)
obj <findid.i_duellocu.uid>
else
obj <uid.<tag.cpvp_duello_rakip>.findid.i_duellocu.uid>
endif
if !(<eval <obj.tag.maxbandage>>==0) && (<act.baseid>==i_bandage) 
if (<eval <src.tag.bandagekullandim>> > <eval <obj.tag.maxbandage>-1>)
src.sysmessage @1976,1,1,1 Daha fazla bandage kullanamazsiniz
return 1
else
src.tag.bandagekullandim <eval <src.tag.bandagekullandim>>+1
src.sysmessage @1976,1,1,1 <eval <eval <obj.tag.maxbandage>> - <eval <src.tag.bandagekullandim>>> bandage kullanma hakkiniz kaldi
endif
endif

on=@itemdclick
if (<act.baseid>==i_runebook)
src.sysmessage @1976,1,1,1 Pvp'de runebook kullanamazsiniz
return 1
endif
if (<act.baseid>==i_deed_animal)
src.sysmessage @1976,1,1,1 Duelloda bunu yapamazsin..
return 1
endif

if (<findid.i_duellocu>)
obj <findid.i_duellocu.uid>
else
obj <uid.<tag.cpvp_duello_rakip>.findid.i_duellocu.uid>
endif
if !(<eval <obj.tag.maxpotion>>==0) && (strmatch(*t_potion*,<act.type>))
if (<eval <src.tag.potionkullandim>> > <eval <obj.tag.maxpotion>-1>)
src.sysmessage @1976,1,1,1 Daha fazla potion kullanamazsiniz
return 1
else
src.tag.potionkullandim <eval <src.tag.potionkullandim>>+1
src.sysmessage @1976,1,1,1 <eval <eval <obj.tag.maxpotion>> - <eval <src.tag.potionkullandim>>> potion kullanma hakkiniz kaldi
endif
endif

on=@itemequip
if (<findid.i_duellocu>)
obj <findid.i_duellocu.uid>
else
obj <uid.<tag.cpvp_duello_rakip>.findid.i_duellocu.uid>
endif
if (<eval <obj.tag.poison>>==0) && (strmatch(*t_weapon*,<act.type>)) && (<eval <act.morez>> >0)
src.sysmessage @1976,1,1,1 Poisonlu silah kullanamazsiniz..
act.unequip
endif
if (<eval <obj.tag.magical>>==0) && (strmatch(*t_weapon*,<act.type>)) && (<act.attr>&attr_magic)
src.sysmessage @1976,1,1,1 Magical silah kullanamazsiniz..
act.unequip
endif

on=@spellcast
if (<argn>==45) || (<argn>==32) || (<argn>==52)
src.sysmessage @1976,1,1,1 Pvpde bu buyuleri kullanamazsiniz..
f_fizzle
skill fail
return 1
endif

On=@Death
src.f_cpvp_duello_death
src.events -e_cpvp_duello
return 1

[function f_cpvp_duello_death]
act <tag.cpvp_duello_rakip>
if (<findid.i_duellocu>)
obj <findid.i_duellocu.uid>
else
obj <act.findid.i_duellocu.uid>
endif

obj.link.go <obj.link.tag.koordinat1>
obj.link.tag.pvpdeyim 
obj.link.tag.player1
obj.link.tag.player2
go <obj.link.tag.koordinat1>
if (<memoryfindtype.memory_sawcrime>)
memoryfindtype.memory_sawcrime.remove
endif
tag.cpvp_duello_fame <eval <tag.cpvp_duello_fame>>
tag.cpvp_duello_karma <eval <tag.cpvp_duello_karma>>
tag.cpvp_duello_kills <eval <tag.cpvp_duello_kills>>
tag.cpvp_duello_rakip
act.go <obj.link.tag.koordinat1>
if (<act.memoryfindtype.memory_sawcrime>)
act.memoryfindtype.memory_sawcrime.remove
endif
act.tag.cpvp_duello_fame <eval <act.tag.cpvp_duello_fame>>
act.tag.cpvp_duello_karma <eval <act.tag.cpvp_duello_karma>>
act.tag.cpvp_duello_kills <eval <act.tag.cpvp_duello_kills>>
act.tag.cpvp_duello_rakip

sysmessage @1976,1,1,1 Duelloyu kaybettiniz...
act.sysmessage @1976,1,1,1 Tebrikler..Duelloyu kazandiniz!

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 bankaniza 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_duello_loot <findlayer.21>
endif

if (strmatch(*pvp*,<act.region.name>))
act.events +e_cpvp_area
endif
act.events -e_cpvp_duello
if (strmatch(*pvp*,<region.name>))
events +e_cpvp_area
endif
events -e_cpvp_duello
return 1

[events e_cpvp_area]
on=@attack
return 1
on=@hit
return 1
on=@gethit
return 1
on=@spellcast
if !(<src.uid>==<act.uid>)
f_fizzle
return 1
endif
on=@skillgain
return 1



[Function PvPbasla]
Var.old_act <act>

newitem i_kafes_timer
act.equip
Kafesle_duel

Newitem i_kafes_timer
act.cont <uid.<var.teklifeden_uid>.serial>
act.timer 1
Try uid.<var.teklifeden_uid>.kafesle_duel

act <var.old_act>

events +e_pvp
try uid.<var.teklifeden_uid>.events +e_pvp



[Function Kafesle_duel]
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
cont.sayua 920,6,6,0 * Basla *
Remove
RETURN 1
bugsız mı bu? denedin mi?
Silindi
Journeyman
1
verdiğin duello sisteminde hata var galiba hocam lootlu duello yapınca loot olmuyo, silaha poison varı işaretsiz bırakınca bişe farketmiyo magical varı işaretsiz bırakınca bi işe yaramıyo

Üye Ol veya Giriş Yap

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