arkadaşlar bu runebookta şarj bittimi gate recall vs olmayıruz bu şarj olayını nasıl kaldırabilirz?

[itemdef 8901]
defname=i_frunebook_view
type=t_book

[itemdef i_runebook]
id=i_spellbook
type=t_script
weight=0.2
name=runebook
resources=16 i_scroll_blank, 4 i_scroll_recall
skillmake=inscription 70.0, magery 60.0

on=@create
tag.charge 4
attr 04
color 05aa

on=@click
message <qval (<tag0.name>)?@55 <streat <tag.name>>,runebook:runebook>
return 1

on=@dclick
if (<src.isevent.f_recall>)
fcancel 1
endif
sdialog d_frunebook
sfx 85
return 1

on=@targon_item
if (<morex> = 1)
if (<src.targ.baseid> = i_rune_marker) && (<src.targ.morep>) && (<src.targ.topobj.uid> = <src>)
for 1 16
if !(<tag0.rune_<dlocal._for>>)
tag.rune_<dlocal._for> <src.targ.morex>,<src.targ.morey>,<src.targ.morez>,<src.targ.morem> <src.targ.name>
src.sysmessage @55 Kitaba rune eklendi.
src.targ.remove
sdialog d_frunebook
return 1
endif
endfor
else
src.sysmessage @55 Bu islemi bunun uzerinde yapamazsiniz.
endif
elseif (<morex> = 2)
if (<src.targ.baseid> = i_scroll_recall) && (<src.targ.topobj.uid> = <src>)
tag0.charge +=<src.targ.amount>
src.sysmessage @55 Kitaba <src.targ.amount> sarj eklendi.
src.targ.remove
else
src.sysmessage @55 Bu islemi bunun uzerinde yapamazsiniz.
endif
endif

return 1
[dialog d_frunebook]
0,300
gumppic 100 10 2201
for 1 8
gumppic <eval (<dlocal._for>*16)+115> 50 58
endfor
for 1 8
gumppic <eval (<dlocal._for>*16)+280> 50 58
endfor
button 140 22 2103 2104 1 0 65
dhtmlgump 155 18 100 20 0 0 <qval (<tag0.name>)?<streat <tag.name>>:runebook>
dhtmlgump 155 33 100 20 0 0 Sarj: <dtag0.charge>
button 303 22 2103 2104 1 0 66
button 303 37 2103 2104 1 0 67
dhtmlgump 318 18 100 20 0 0 Rune Ekle
dhtmlgump 318 33 100 20 0 0 Sarj Et
dhtmlgump 140 180 100 20 0 0 | |_gate
dhtmlgump 130 190 100 20 0 0 |___recall
dhtmlgump 225 180 100 20 0 0 isim_| |
dhtmlgump 207 190 100 20 0 0 cikart___|
dorigin 0 56
for 1 8
button 125 *14 2103 2104 1 0 <dlocal._for>
button 285 - 2103 2104 1 0 <eval <dlocal._for> +8>
button 135 - 2103 2104 1 0 <eval <dlocal._for> +16>
button 295 - 2103 2104 1 0 <eval <dlocal._for> +24>
button 250 - 2103 2104 1 0 <eval <dlocal._for> +32>
button 410 - 2103 2104 1 0 <eval <dlocal._for> +40>
button 260 - 2103 2104 1 0 <eval <dlocal._for> +48>
button 420 - 2103 2104 1 0 <eval <dlocal._for> +56>
if (<tag0.rune_<dlocal._for>>)
call fregionuid <strarg <tag.rune_<dlocal._for>>>,<strarg <streat <tag.rune_<dlocal._for>>>>,<strarg <streat <streat <tag.rune_<dlocal._for>>>>>,<strarg <streat <streat <streat <tag.rune_<dlocal._for>>>>>>
dhtmlgump 150 -5 100 20 0 0 <<local.color>><streat <streat <streat <streat <tag.rune_<dlocal._for>>>>>>
endif
if (<tag0.rune_<eval <local._for> +8>>)
local.for_ <eval <local._for> +8>
call fregionuid <strarg <tag.rune_<dlocal.for_>>>,<strarg <streat <tag.rune_<dlocal.for_>>>>,<strarg <streat <streat <tag.rune_<dlocal.for_>>>>>,<strarg <streat <streat <streat <tag.rune_<dlocal.for_>>>>>>
dhtmlgump 310 -5 100 20 0 0 <<local.color>><streat <streat <streat <streat <tag.rune_<dlocal.for_>>>>>>
endif
endfor

[dialog d_frunebook button]
on=1 16
if !(<tag0.rune_<argn>>)
src.sysmessage @55 Bu alan bos.
elseif (<src.flags>&statf_freeze) || (<src.flags>&statf_stone) || (<src.flags>&statf_dead)
src.sysmessage @55 Suanda bu islemi yapamazsiniz.
elseif (<src.region.recallout> = 0) || (<src.region.recall> = 0)
src.sysmessage @55 Bu bolgede recall olamazsiniz.
elseif (<serv.map(<strarg <tag.rune_<argn>>>,<strarg <streat <tag.rune_<argn>>>>).region.recallin> = 0) || (<serv.map(<strarg <tag.rune_<argn>>>,<strarg <streat <tag.rune_<argn>>>>).region.recall> = 0)
src.sysmessage @55 Gideceginiz yere, recall olamazsiniz.
elseif (<src.magery> < 400)
src.sysmessage @55 Bunu yapacak kadar beceriniz yok.
else
if (<src.mana> < 15)
src.sysmessage @55 Yeterli mananiz yok.
else
if (<src.restest 1 i_reag_black_pearl>) && (<src.restest 1 i_reag_mandrake_root>) && (<src.restest 1 i_reag_blood_moss>)
fruneclick 1 1 25
src.timerf 4,frunego 1 <strarg <tag.rune_<argn>>>,<strarg <streat <tag.rune_<argn>>>>,<strarg <streat <streat <tag.rune_<argn>>>>>,<strarg <streat <streat <streat <tag.rune_<argn>>>>>>
else
if (<tag.charge>)
fruneclick 1 2 25
src.timerf 4,frunego 1 <strarg <tag.rune_<argn>>>,<strarg <streat <tag.rune_<argn>>>>,<strarg <streat <streat <tag.rune_<argn>>>>>,<strarg <streat <streat <streat <tag.rune_<argn>>>>>>
else
src.sysmessage @55 Uzerinizde yeterli malzeme ve runebookta sarj yok.
endif
endif
endif
endif

on=17 32
if !(<tag0.rune_<eval <argn> - 16>>)
src.sysmessage @55 Bu alan bos.
elseif (<src.flags>&statf_freeze) || (<src.flags>&statf_stone) || (<src.flags>&statf_dead)
src.sysmessage @55 Suanda bu islemi yapamazsiniz.
elseif (<src.region.recallout> = 0) || (<src.region.recall> = 0)
src.sysmessage @55 Bu bolgede gate acamazsiniz.
elseif (<serv.map(<strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>).region.recallin> = 0) || (<serv.map(<strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>).region.recall> = 0)
src.sysmessage @55 Gideceginiz yere, gate acamazsiniz.
elseif (<src.magery> < 750)
src.sysmessage @55 Bunu yapacak kadar beceriniz yok.
else
if (<src.mana> < 40)
src.sysmessage @55 Yeterli mananiz yok.
else
if (<src.restest 1 i_reag_black_pearl>) && (<src.restest 1 i_reag_mandrake_root>) && (<src.restest 1 i_reag_sulfur_ash>)
fruneclick 2 1 35
src.timerf 5,frunego 2 <strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>,<strarg <streat <streat <tag.rune_<eval <argn> -16>>>>>,<strarg <streat <streat <streat <tag.rune_<eval <argn> -16>>>>>>
src.newitem i_frunebook_dgate
new.attr attr_move_never
new.p <strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>,<strarg <streat <streat <tag.rune_<eval <argn> -16>>>>>,<strarg <streat <streat <streat <tag.rune_<eval <argn> -16>>>>>>
new.sfx 526
src.ctag.dgate <new> 
else
if (<tag.charge>)
fruneclick 2 2 35
src.timerf 5,frunego 2 <strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>,<strarg <streat <streat <tag.rune_<eval <argn> -16>>>>>,<strarg <streat <streat <streat <tag.rune_<eval <argn> -16>>>>>>
src.newitem i_frunebook_dgate
new.attr attr_move_never
new.p <strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>,<strarg <streat <streat <tag.rune_<eval <argn> -16>>>>>,<strarg <streat <streat <streat <tag.rune_<eval <argn> -16>>>>>>
new.sfx 526
src.ctag.dgate <new> 
else
src.sysmessage @55 Uzerinizde yeterli malzeme ve runebookta sarj yok.
endif
endif
endif
endif

on=33 48
if !(<tag0.rune_<eval <argn> - 32>>)
src.sysmessage @55 Bu alan bos.
else
src.ctag.runebookname <eval <argn> - 32>
sdialog d_frunebook_names,2
endif

on=49 64
if !(<tag0.rune_<eval <argn> - 48>>)
src.sysmessage @55 Bu alan bos.
else
src.newitem i_rune_marker
new.morep <tag.rune_<eval <argn> -48>>>,<strarg <streat <tag.rune_<eval <argn> -48>>>>,<strarg <streat <streat <tag.rune_<eval <argn> -48>>>>>,<strarg <streat <streat <streat <tag.rune_<eval <argn> -48>>>>>>
new.bounce
new.name <streat <streat <streat <streat <tag.rune_<eval <argn> -48>>>>>>
tag.rune_<eval <argn> -48>
for 1 16
if !(<tag0.rune_<dlocal._for>>)
tag.rune_<dlocal._for> <tag.rune_<eval <local._for> +1>>
tag.rune_<eval <local._for> +1>
endif
endfor
endif

on=65
src.ctag.runebookname 20
sdialog d_frunebook_names,1

on=66
morex 1
target @55 Kitaba ekleyeceginiz rune'yi secin.

on=67
morex 2
target @55 Sarj edeceginiz recall scrollari secin.

[function fruneclick]
src.events +f_recall
src.anim 17
if (<argn1> = 1)
src.spell_say Kal Ort Por
if (<argn2> = 1)
src.consume 1 i_reag_black_pearl
src.consume 1 i_reag_mandrake_root
src.consume 1 i_reag_blood_moss
elseif (<argn2> = 2)
tag.charge -=1
endif
elseif (<argn1> = 2) 
src.spell_say Vas Rel Por
if (<argn2> = 1)
src.consume 1 i_reag_black_pearl
src.consume 1 i_reag_mandrake_root
src.consume 1 i_reag_sulfur_ash
elseif (<argn2> = 2)
tag.charge -=1
endif
endif

if (<src.tag0.nomovetill> < <eval <src.tag0.nomovetill>+<argn3>>)
src.tag.nomovetill <eval <serv.time>+<argn3>>
endif

[function frunego]
if (<src.isevent.f_recall>)
if (<argn1> = 1)
src.mana -=15
src.go <streat <args>>
elseif (<argn1> = 2)
src.mana -=40
src.newitem i_frunebook_gate
new.morep <streat <args>>
new.p <src.p>
new.sfx 535
local.p <new.p>
src.newitem i_frunebook_gate
new.morep <local.p>
new.p <streat <args>>
new.sfx 535
endif
src.fcancel
endif

[function fregionuid]
if (<src.region.recallout> = 0) || (<src.region.recall> = 0)
local.color def.bfont_dgray
elseif (<serv.map(<args>).region.recallin> = 0) || (<serv.map(<args>).region.recall> = 0)
local.color def.bfont_dgray
elseif (<serv.map(<args>).region.guarded> = 0)
local.color def.bfont_red
elseif (<serv.map(<args>).region.guarded> = 1)
local.color def.bfont_blue
endif

[function fcancel]
if (<argn> = 1)
src.tag.nomovetill
src.sfx 92
src.effect 3,i_fx_smoke_small,30,36,0
src.message The spell fizzles
endif
try uid.<src.ctag0.dgate>.remove
src.events -f_recall

[itemdef i_frunebook_dgate]
id=i_moongate_blue_fx

on=@create
attr attr_move_never|attr_decay
color 022
timerf 5,remove

[itemdef i_frunebook_gate]
id=i_moongate_blue
type=t_script

on=@create
attr attr_move_never
color 022
timer 30

on=@timer
sfx 528
remove
return 1

on=@click
message <serv.map(<morex>,<morey>,<morez>,<morem>).region.name>
message <morep>
return 1

on=@step
src.ctag.moongate <uid>
src.sdialog d_frunebookgate
return 1

[events f_recall]
on=@UserWarMode
src.fcancel 1
on=@SkillStart
src.fcancel 1
on=@GetHit
src.fcancel 1
on=@Death
src.fcancel 1
on=@LogOut
src.fcancel

[dialog d_frunebook_names]
300,300
nomove
resizepic 0 0 9300 210 90
checkertrans 0 0 210 90
resizepic 5 5 9300 200 80
resizepic 10 30 3000 190 25
dtextentry 15 30 600 20 1152 1 <qval (<src.dctag.runebookname> = 20)?<streat <tag0.name>>:<streat <streat <streat <streat <tag.rune_<src.dctag.runebookname>>>>>>>
button 20 60 4006 4007 1 0 1
button 50 60 4018 4019 1 0 0

page 1
dhtmlgump 20 10 200 55 0 0 Yeni runebook ismini yaziniz

page 2
dhtmlgump 20 10 200 55 0 0 Recall bolgesi ismini yaziniz
button 160 60 4021 4022 1 0 2

[dialog d_frunebook_names button]
on=0
sdialog d_frunebook

on=1
if (strmatch('<argtxt[1]>',''))
sdialog d_frunebook_names,<qval (<src.dctag.runebookname> = 20)?1:2>
src.sysmessage @55 Bos birakamazsiniz.
else
if (<src.dctag.runebookname> = 20)
tag.name 1 <argtxt[1]>
else
tag.rune_<src.dctag.runebookname> <strarg <tag.rune_<src.dctag.runebookname>>>,<strarg <streat <tag.rune_<src.dctag.runebookname>>>>,<strarg <streat <streat <tag.rune_<src.dctag.runebookname>>>>>,<strarg <streat <streat <streat <tag.rune_<src.dctag.runebookname>>>>>> <argtxt[1]>
endif
use
endif

on=2
tag.rune_<src.dctag.runebookname> <strarg <tag.rune_<src.dctag.runebookname>>>,<strarg <streat <tag.rune_<src.dctag.runebookname>>>>,<strarg <streat <streat <tag.rune_<src.dctag.runebookname>>>>>,<strarg <streat <streat <streat <tag.rune_<src.dctag.runebookname>>>>>> <serv.map(<strarg <tag.rune_<src.dctag.runebookname>>>,<strarg <streat <tag.rune_<src.dctag.runebookname>>>>,<strarg <streat <streat <tag.rune_<src.dctag.runebookname>>>>>,<strarg <streat <streat <streat <tag.rune_<src.dctag.runebookname>>>>>>).region.name>
src.sysmessage @55 Recall bolgesi ismi sifirlandi
use

[dialog d_frunebookgate]
5,5
nomove
resizepic 100 165 9300 180 120
checkertrans 100 165 180 120
resizepic 105 170 9300 170 110
dhtmlgump 110 180 120 40 0 0 Gittiği yer : <serv.map(<morex>,<morey>,<morez>,<morem>).region.name>
dhtmlgump 165 230 80 20 0 0 Evet
dhtmlgump 165 250 80 20 0 0 Hayir
button 130 230 4006 4007 1 0 1
button 130 250 4018 4019 1 0 0
tilepic 210 180 <serv.itemdef.i_frunebook_gate.id>

[dialog d_frunebookgate button]
On=1
if !(<uid.<src.ctag.moongate>.uid>)
src.sysmessage @55 Gate kapanmis.
elseif (<uid.<src.ctag.moongate>.distance> > 3)
src.sysmessage @55 Gate'e ulasamiyorsunuz.
else
src.go <uid.<src.ctag.moongate>.morep>
endif

[EOF]
@Zeus
Birde aşağıdaki verdiğim gibi denermisiniz (consolda hatalar verebilir sadece deneyin)

[itemdef 8901]
defname=i_frunebook_view
type=t_book

[itemdef i_runebook]
id=i_spellbook
type=t_script
weight=0.2
name=runebook
resources=16 i_scroll_blank, 4 i_scroll_recall
skillmake=inscription 70.0, magery 60.0

on=@create
tag.charge 4
attr 04
color 05aa

on=@click
message <qval (<tag0.name>)?@55 <streat <tag.name>>,runebook:runebook>
return 1

on=@dclick
if (<src.isevent.f_recall>)
fcancel 1
endif
sdialog d_frunebook
sfx 85
return 1

on=@targon_item
if (<morex> = 1)
if (<src.targ.baseid> = i_rune_marker) && (<src.targ.morep>) && (<src.targ.topobj.uid> = <src>)
for 1 16
if !(<tag0.rune_<dlocal._for>>)
tag.rune_<dlocal._for> <src.targ.morex>,<src.targ.morey>,<src.targ.morez>,<src.targ.morem> <src.targ.name>
src.sysmessage @55 Kitaba rune eklendi.
src.targ.remove
sdialog d_frunebook
return 1
endif
endfor
else
src.sysmessage @55 Bu islemi bunun uzerinde yapamazsiniz.
endif
elseif (<morex> = 2)
if (<src.targ.baseid> = i_scroll_recall) && (<src.targ.topobj.uid> = <src>)
tag0.charge +=<src.targ.amount>
src.sysmessage @55 Kitaba <src.targ.amount> sarj eklendi.
src.targ.remove
else
src.sysmessage @55 Bu islemi bunun uzerinde yapamazsiniz.
endif
endif

return 1
[dialog d_frunebook]
0,300
gumppic 100 10 2201
for 1 8
gumppic <eval (<dlocal._for>*16)+115> 50 58
endfor
for 1 8
gumppic <eval (<dlocal._for>*16)+280> 50 58
endfor
button 140 22 2103 2104 1 0 65
dhtmlgump 155 18 100 20 0 0 <qval (<tag0.name>)?<streat <tag.name>>:runebook>
dhtmlgump 155 33 100 20 0 0 Sarj: <dtag0.charge>
button 303 22 2103 2104 1 0 66
button 303 37 2103 2104 1 0 67
dhtmlgump 318 18 100 20 0 0 Rune Ekle
dhtmlgump 318 33 100 20 0 0 Sarj Et
dhtmlgump 140 180 100 20 0 0 | |_gate
dhtmlgump 130 190 100 20 0 0 |___recall
dhtmlgump 225 180 100 20 0 0 isim_| |
dhtmlgump 207 190 100 20 0 0 cikart___|
dorigin 0 56
for 1 8
button 125 *14 2103 2104 1 0 <dlocal._for>
button 285 - 2103 2104 1 0 <eval <dlocal._for> +8>
button 135 - 2103 2104 1 0 <eval <dlocal._for> +16>
button 295 - 2103 2104 1 0 <eval <dlocal._for> +24>
button 250 - 2103 2104 1 0 <eval <dlocal._for> +32>
button 410 - 2103 2104 1 0 <eval <dlocal._for> +40>
button 260 - 2103 2104 1 0 <eval <dlocal._for> +48>
button 420 - 2103 2104 1 0 <eval <dlocal._for> +56>
if (<tag0.rune_<dlocal._for>>)
call fregionuid <strarg <tag.rune_<dlocal._for>>>,<strarg <streat <tag.rune_<dlocal._for>>>>,<strarg <streat <streat <tag.rune_<dlocal._for>>>>>,<strarg <streat <streat <streat <tag.rune_<dlocal._for>>>>>>
dhtmlgump 150 -5 100 20 0 0 <<local.color>><streat <streat <streat <streat <tag.rune_<dlocal._for>>>>>>
endif
if (<tag0.rune_<eval <local._for> +8>>)
local.for_ <eval <local._for> +8>
call fregionuid <strarg <tag.rune_<dlocal.for_>>>,<strarg <streat <tag.rune_<dlocal.for_>>>>,<strarg <streat <streat <tag.rune_<dlocal.for_>>>>>,<strarg <streat <streat <streat <tag.rune_<dlocal.for_>>>>>>
dhtmlgump 310 -5 100 20 0 0 <<local.color>><streat <streat <streat <streat <tag.rune_<dlocal.for_>>>>>>
endif
endfor

[dialog d_frunebook button]
on=1 16
if !(<tag0.rune_<argn>>)
src.sysmessage @55 Bu alan bos.
elseif (<src.flags>&statf_freeze) || (<src.flags>&statf_stone) || (<src.flags>&statf_dead)
src.sysmessage @55 Suanda bu islemi yapamazsiniz.
elseif (<src.region.recallout> = 0) || (<src.region.recall> = 0)
src.sysmessage @55 Bu bolgede recall olamazsiniz.
elseif (<serv.map(<strarg <tag.rune_<argn>>>,<strarg <streat <tag.rune_<argn>>>>).region.recallin> = 0) || (<serv.map(<strarg <tag.rune_<argn>>>,<strarg <streat <tag.rune_<argn>>>>).region.recall> = 0)
src.sysmessage @55 Gideceginiz yere, recall olamazsiniz.
elseif (<src.magery> < 400)
src.sysmessage @55 Bunu yapacak kadar beceriniz yok.
else
if (<src.mana> < 15)
src.sysmessage @55 Yeterli mananiz yok.
else
if (<src.restest 1 i_reag_black_pearl>) && (<src.restest 1 i_reag_mandrake_root>) && (<src.restest 1 i_reag_blood_moss>)
fruneclick 1 1 25
src.timerf 4,frunego 1 <strarg <tag.rune_<argn>>>,<strarg <streat <tag.rune_<argn>>>>,<strarg <streat <streat <tag.rune_<argn>>>>>,<strarg <streat <streat <streat <tag.rune_<argn>>>>>>
else
if (<tag.chargexx>)
fruneclick 1 2 25
src.timerf 4,frunego 1 <strarg <tag.rune_<argn>>>,<strarg <streat <tag.rune_<argn>>>>,<strarg <streat <streat <tag.rune_<argn>>>>>,<strarg <streat <streat <streat <tag.rune_<argn>>>>>>
else
src.sysmessage @55 Uzerinizde yeterli malzeme ve runebookta sarj yok.
endif
endif
endif
endif

on=17 32
if !(<tag0.rune_<eval <argn> - 16>>)
src.sysmessage @55 Bu alan bos.
elseif (<src.flags>&statf_freeze) || (<src.flags>&statf_stone) || (<src.flags>&statf_dead)
src.sysmessage @55 Suanda bu islemi yapamazsiniz.
elseif (<src.region.recallout> = 0) || (<src.region.recall> = 0)
src.sysmessage @55 Bu bolgede gate acamazsiniz.
elseif (<serv.map(<strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>).region.recallin> = 0) || (<serv.map(<strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>).region.recall> = 0)
src.sysmessage @55 Gideceginiz yere, gate acamazsiniz.
elseif (<src.magery> < 750)
src.sysmessage @55 Bunu yapacak kadar beceriniz yok.
else
if (<src.mana> < 40)
src.sysmessage @55 Yeterli mananiz yok.
else
if (<src.restest 1 i_reag_black_pearl>) && (<src.restest 1 i_reag_mandrake_root>) && (<src.restest 1 i_reag_sulfur_ash>)
fruneclick 2 1 35
src.timerf 5,frunego 2 <strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>,<strarg <streat <streat <tag.rune_<eval <argn> -16>>>>>,<strarg <streat <streat <streat <tag.rune_<eval <argn> -16>>>>>>
src.newitem i_frunebook_dgate
new.attr attr_move_never
new.p <strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>,<strarg <streat <streat <tag.rune_<eval <argn> -16>>>>>,<strarg <streat <streat <streat <tag.rune_<eval <argn> -16>>>>>>
new.sfx 526
src.ctag.dgate <new> 
else
if (<tag.chargexx>)
fruneclick 2 2 35
src.timerf 5,frunego 2 <strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>,<strarg <streat <streat <tag.rune_<eval <argn> -16>>>>>,<strarg <streat <streat <streat <tag.rune_<eval <argn> -16>>>>>>
src.newitem i_frunebook_dgate
new.attr attr_move_never
new.p <strarg <tag.rune_<eval <argn> -16>>>,<strarg <streat <tag.rune_<eval <argn> -16>>>>,<strarg <streat <streat <tag.rune_<eval <argn> -16>>>>>,<strarg <streat <streat <streat <tag.rune_<eval <argn> -16>>>>>>
new.sfx 526
src.ctag.dgate <new> 
else
src.sysmessage @55 Uzerinizde yeterli malzeme ve runebookta sarj yok.
endif
endif
endif
endif

on=33 48
if !(<tag0.rune_<eval <argn> - 32>>)
src.sysmessage @55 Bu alan bos.
else
src.ctag.runebookname <eval <argn> - 32>
sdialog d_frunebook_names,2
endif

on=49 64
if !(<tag0.rune_<eval <argn> - 48>>)
src.sysmessage @55 Bu alan bos.
else
src.newitem i_rune_marker
new.morep <tag.rune_<eval <argn> -48>>>,<strarg <streat <tag.rune_<eval <argn> -48>>>>,<strarg <streat <streat <tag.rune_<eval <argn> -48>>>>>,<strarg <streat <streat <streat <tag.rune_<eval <argn> -48>>>>>>
new.bounce
new.name <streat <streat <streat <streat <tag.rune_<eval <argn> -48>>>>>>
tag.rune_<eval <argn> -48>
for 1 16
if !(<tag0.rune_<dlocal._for>>)
tag.rune_<dlocal._for> <tag.rune_<eval <local._for> +1>>
tag.rune_<eval <local._for> +1>
endif
endfor
endif

on=65
src.ctag.runebookname 20
sdialog d_frunebook_names,1

on=66
morex 1
target @55 Kitaba ekleyeceginiz rune'yi secin.

on=67
morex 2
target @55 Sarj edeceginiz recall scrollari secin.

[function fruneclick]
src.events +f_recall
src.anim 17
if (<argn1> = 1)
src.spell_say Kal Ort Por
if (<argn2> = 1)
src.consume 1 i_reag_black_pearl
src.consume 1 i_reag_mandrake_root
src.consume 1 i_reag_blood_moss
elseif (<argn2> = 2)
tag.charge -=1
endif
elseif (<argn1> = 2) 
src.spell_say Vas Rel Por
if (<argn2> = 1)
src.consume 1 i_reag_black_pearl
src.consume 1 i_reag_mandrake_root
src.consume 1 i_reag_sulfur_ash
elseif (<argn2> = 2)
tag.charge -=1
endif
endif

if (<src.tag0.nomovetill> < <eval <src.tag0.nomovetill>+<argn3>>)
src.tag.nomovetill <eval <serv.time>+<argn3>>
endif

[function frunego]
if (<src.isevent.f_recall>)
if (<argn1> = 1)
src.mana -=15
src.go <streat <args>>
elseif (<argn1> = 2)
src.mana -=40
src.newitem i_frunebook_gate
new.morep <streat <args>>
new.p <src.p>
new.sfx 535
local.p <new.p>
src.newitem i_frunebook_gate
new.morep <local.p>
new.p <streat <args>>
new.sfx 535
endif
src.fcancel
endif

[function fregionuid]
if (<src.region.recallout> = 0) || (<src.region.recall> = 0)
local.color def.bfont_dgray
elseif (<serv.map(<args>).region.recallin> = 0) || (<serv.map(<args>).region.recall> = 0)
local.color def.bfont_dgray
elseif (<serv.map(<args>).region.guarded> = 0)
local.color def.bfont_red
elseif (<serv.map(<args>).region.guarded> = 1)
local.color def.bfont_blue
endif

[function fcancel]
if (<argn> = 1)
src.tag.nomovetill
src.sfx 92
src.effect 3,i_fx_smoke_small,30,36,0
src.message The spell fizzles
endif
try uid.<src.ctag0.dgate>.remove
src.events -f_recall

[itemdef i_frunebook_dgate]
id=i_moongate_blue_fx

on=@create
attr attr_move_never|attr_decay
color 022
timerf 5,remove

[itemdef i_frunebook_gate]
id=i_moongate_blue
type=t_script

on=@create
attr attr_move_never
color 022
timer 30

on=@timer
sfx 528
remove
return 1

on=@click
message <serv.map(<morex>,<morey>,<morez>,<morem>).region.name>
message <morep>
return 1

on=@step
src.ctag.moongate <uid>
src.sdialog d_frunebookgate
return 1

[events f_recall]
on=@UserWarMode
src.fcancel 1
on=@SkillStart
src.fcancel 1
on=@GetHit
src.fcancel 1
on=@Death
src.fcancel 1
on=@LogOut
src.fcancel

[dialog d_frunebook_names]
300,300
nomove
resizepic 0 0 9300 210 90
checkertrans 0 0 210 90
resizepic 5 5 9300 200 80
resizepic 10 30 3000 190 25
dtextentry 15 30 600 20 1152 1 <qval (<src.dctag.runebookname> = 20)?<streat <tag0.name>>:<streat <streat <streat <streat <tag.rune_<src.dctag.runebookname>>>>>>>
button 20 60 4006 4007 1 0 1
button 50 60 4018 4019 1 0 0

page 1
dhtmlgump 20 10 200 55 0 0 Yeni runebook ismini yaziniz

page 2
dhtmlgump 20 10 200 55 0 0 Recall bolgesi ismini yaziniz
button 160 60 4021 4022 1 0 2

[dialog d_frunebook_names button]
on=0
sdialog d_frunebook

on=1
if (strmatch('<argtxt[1]>',''))
sdialog d_frunebook_names,<qval (<src.dctag.runebookname> = 20)?1:2>
src.sysmessage @55 Bos birakamazsiniz.
else
if (<src.dctag.runebookname> = 20)
tag.name 1 <argtxt[1]>
else
tag.rune_<src.dctag.runebookname> <strarg <tag.rune_<src.dctag.runebookname>>>,<strarg <streat <tag.rune_<src.dctag.runebookname>>>>,<strarg <streat <streat <tag.rune_<src.dctag.runebookname>>>>>,<strarg <streat <streat <streat <tag.rune_<src.dctag.runebookname>>>>>> <argtxt[1]>
endif
use
endif

on=2
tag.rune_<src.dctag.runebookname> <strarg <tag.rune_<src.dctag.runebookname>>>,<strarg <streat <tag.rune_<src.dctag.runebookname>>>>,<strarg <streat <streat <tag.rune_<src.dctag.runebookname>>>>>,<strarg <streat <streat <streat <tag.rune_<src.dctag.runebookname>>>>>> <serv.map(<strarg <tag.rune_<src.dctag.runebookname>>>,<strarg <streat <tag.rune_<src.dctag.runebookname>>>>,<strarg <streat <streat <tag.rune_<src.dctag.runebookname>>>>>,<strarg <streat <streat <streat <tag.rune_<src.dctag.runebookname>>>>>>).region.name>
src.sysmessage @55 Recall bolgesi ismi sifirlandi
use

[dialog d_frunebookgate]
5,5
nomove
resizepic 100 165 9300 180 120
checkertrans 100 165 180 120
resizepic 105 170 9300 170 110
dhtmlgump 110 180 120 40 0 0 Gittiği yer : <serv.map(<morex>,<morey>,<morez>,<morem>).region.name>
dhtmlgump 165 230 80 20 0 0 Evet
dhtmlgump 165 250 80 20 0 0 Hayir
button 130 230 4006 4007 1 0 1
button 130 250 4018 4019 1 0 0
tilepic 210 180 <serv.itemdef.i_frunebook_gate.id>

[dialog d_frunebookgate button]
On=1
if !(<uid.<src.ctag.moongate>.uid>)
src.sysmessage @55 Gate kapanmis.
elseif (<uid.<src.ctag.moongate>.distance> > 3)
src.sysmessage @55 Gate'e ulasamiyorsunuz.
else
src.go <uid.<src.ctag.moongate>.morep>
endif

[EOF]
yaptım // koyarak :D bişey daha soracağım gidilecek yerin neresi olduğunu nasıl yapabilirz?
Gidilecek yerin neresi olduğunu region sorgulatmasıyla yapabilirsiniz.
tamamda ben minoctan brite gate açtım diyelim her 2 taraftan gelenlerde o regionu görür yani minocu bu runebook farklı biraz
%90 link ile gateler birbirine bağlıdır.

link.region.name ile gideceği yeri görebilirsin...
o olmuyor ama
Arkadaslar su scrıpt ekleme olayını bı acıklarmısınız? Yanı bu scp. text dosyası seklınde ısımlendırıp scrıptlerın ıcersıne atıp axıs ı kapatıp acmak yetıyor mu?
runebook yapamıyorum.. bu scriptleri anlattıgım sekilde sphere/scrıptsın ııcıne atıyorum.. Ama menuye rune book gelmıyo ınsc. menusunde ..?

surum 55.i
ya sorunuma dönsek? gideceği yeri göstermior
miltr sitede araştır oku anlayana kadar yapana kadar.

@manifest

bunu senin fonksiyonla değiştir

[function frunego]
if (<src.isevent.f_recall>)
if (<argn1> = 1)
src.mana -=15
src.go <streat <args>>
elseif (<argn1> = 2)
src.mana -=40
src.newitem i_frunebook_gate
new.morep <streat <args>>
new.p <src.p>
new.sfx 535
local.uid <new.uid>
local.p <new.p>
src.newitem i_frunebook_gate
new.morep <local.p>
new.p <streat <args>>
new.sfx 535
new.link <local.uid>
endif
src.fcancel
endif

link.region.name ilede gösterebilirsin
olmadı basic hiç bişi gözükmüyor
click de bi hata yaptın heralde olmadıyla işi geçiştirme ne yaptığını ve sonuçlarını yaz

Üye Ol veya Giriş Yap

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