//////////Orjinal yazar = Slothere editleyen = Mrs.xariyla/////////////
//////////////// script bilgim üst düzey degil birşeyler///////
/////////// degistirdim sorun varsa fixlemek sizin işiniz ////////
/////////// en azından calısan bi runebook olsun istedim sitede. ////////
/////////////////////////////////////////////////////////////////////////
[ITEMDEF i_runebook]
NAME = runebook
ID = i_spellbook
TYPE = t_script
VALUE = 1550
WEIGHT = 1.5
SKILLMAKE=INSCRIPTION 100.0, MAGERY 70.0
RESOURCES=50 i_scroll_blank, 3 i_scroll_recall, 5 i_scroll_gate_travel
ON=@CREATE
COLOR = 0845
ATTR = Attr_Newbie
tag.charge = 3
ON=@CLICK
message @1153 <name>
return 1
on=@targon_char
src.sysmessage @080a Yok artik t-subasa.!
return 1
ON=@TargOn_Item
IF <SRC.TARG.TOPOBJ.UID> != <SRC.UID>
SRC.SYSMESSAGE Ekleyeceginiz sey cantanizda olmali.
RETURN 1
ENDIF
ref2 = <argo>
IF (<ref2.baseid> == i_rune_marker)
IF (<ref2.morep>)
ref1 = <ref2.uid>
local.bosalan 0
FOR s 14 1
IF (<isempty <tag.rune.<dlocal.s>>>)
local.bosalan = <dlocal.s>
ENDIF
ENDFOR
IF (<local.bosalan>)
try tag.rune.<dlocal.bosalan> = <ref1.name>
try tag.lokasyon.<dlocal.bosalan> = <ref1.morep>
src.sysmessage <ref1.name> isimli rune kitaba eklendi.
sound 85
ref1.remove
//src.sayu <dlocal.bosalan>
ELSE
src.sysmessage @0846 Kitapta bos yer kalmamis.
ENDIF
return 1
ELSE
src.sysmessage Bu rune bos.
return 1
ENDIF
ENDIF
ON=@DCLICK
//IF (<src.isplayer>) && !(<src.isgm>)
//src.sysmessage bir sureligine bakimda.
//return 1
//ENDIF
//IF (<src.isevent.e_hapiste>)
//src.sysmessage Jailde kullanamazsiniz.
//return 1
//ENDIF
IF (<src.flags>&statf_dead) || (<src.flags>&04)
src.sysmessage Su anki halinizle kullanamazsiniz.
return 1
//ELIF (<region.flags>region_flag_ship)
//src.sysmessage Gemi icerisinde kullanamazsiniz.
//return 1
ELIF (<src.action> == id(skill_magery)) || (<src.action> == skill_magery)
src.sysmessage Buyu yaparken kullanamazsiniz.
return 1
ELIF (<src.isevent.e_recall>)
return 1
ELIF (<src.tag0.kullanamaz>)
return 1
ENDIF
sdialog d_runebook
return 1
[Dialog d_runebook]
0,0
Nomove
PAGE 0
gumppic 200 150 2201
gumppic 225 320 57
gumppic 380 180 57
gumppic 225 180 57
gumppic 380 320 57
gumppic 340 180 59
gumppic 500 180 59
gumppic 500 320 59
gumppic 340 320 59
//////////// üst //////////////
FOR 1 7
gumppic <eval (<local._for>*16)+220> 180 58
ENDFOR
FOR 1 7
gumppic <eval (<local._for>*16)+380> 180 58
ENDFOR
//////////// ALT //////////
FOR 1 7
gumppic <eval (<local._for>*16)+220> 320 58
ENDFOR
FOR 1 7
gumppic <eval (<local._for>*16)+380> 320 58
ENDFOR
button 240 170 2103 2104 1 0 500
dhtmlgump 245 165 50 20 0 0 <def.bfont_green> Ekle
dtext 425 165 0455 Sarj:
dtext 465 165 0455 <dtag.charge>
button 410 170 2103 2104 1 0 499
/////////////// sol taraf //////////////////////
dtext 242 315 0455 |
dtext 242 320 0455 _
dhtmlgump 253 325 100 20 0 0 <def.bfont_black> gate
dtext 233 315 0455 |
dtext 233 325 0455 |
dtext 233 330 0455 _
dtext 243 330 0455 _
dhtmlgump 255 335 100 20 0 0 <def.bfont_black> recall
dtext 346 315 0455 |
dtext 335 320 0455 _
dhtmlgump 295 325 100 20 0 0 <def.bfont_black> cikar
dtext 355 315 0455 |
dtext 355 325 0455 |
dtext 343 330 0455 _
dhtmlgump 295 335 100 20 0 0 <def.bfont_black> rename
/////////////// sağ taraf //////////////////////
dtext 395 315 0455 |
dtext 395 320 0455 _
dhtmlgump 407 325 100 20 0 0 <def.bfont_black> gate
dtext 387 315 0455 |
dtext 387 325 0455 |
dtext 387 330 0455 _
dtext 397 330 0455 _
dhtmlgump 410 335 100 20 0 0 <def.bfont_black> recall
dtext 512 315 0455 |
dtext 501 320 0455 _
dhtmlgump 462 325 100 20 0 0 <def.bfont_black> cikar
dtext 522 315 0455 |
dtext 522 325 0455 |
dtext 511 330 0455 _
dhtmlgump 462 335 100 20 0 0 <def.bfont_black> rename
FOR sl 1 7
IF !(<isempty <tag.rune.<dlocal.sl>>>)
dhtmlgump 252 <eval (<local.sl>*18)+175> 105 20 0 0 <tag.rune.<dlocal.sl>>
button 238 <eval (<local.sl>*18)+180> 2103 2104 1 0 <eval <local.sl>+50>
button 343 <eval (<local.sl>*18)+180> 2103 2104 1 0 <eval <local.sl>+100>
button 353 <eval (<local.sl>*18)+180> 2103 2104 1 0 <eval <local.sl>+200>
button 228 <eval (<local.sl>*18)+180> 2103 2104 1 0 <dlocal.sl>
ENDIF
ENDFOR
FOR slt 8 14
IF !(<isempty <tag.rune.<dlocal.slt>>>)
dhtmlgump 405 <eval (<local.slt>*18)+50> 100 20 0 0 <tag.rune.<dlocal.slt>>
button 381 <eval (<local.slt>*18)+55> 2103 2104 1 0 <dlocal.slt>
button 391 <eval (<local.slt>*18)+55> 2103 2104 1 0 <eval <local.slt>+50>
button 509 <eval (<local.slt>*18)+55> 2103 2104 1 0 <eval <local.slt>+100>
button 518 <eval (<local.slt>*18)+55> 2103 2104 1 0 <eval <local.slt>+200>
ENDIF
ENDFOR
[dialog d_runebook button]
on = 1 14
IF (<src.flags>&statf_dead) || (<src.flags>&04)
return 1
ENDIF
if (<src.mana> < 15)
src.sound=92
src.sysmessage Yeterli mananiz yok.
return 1
endif
if (<dtag0.charge> > 0
src.mana -=15
tag.charge -=1
src.anim 16
src.events +e_recall
src.sltnomove 30
src.timerf 3,recall <tag.lokasyon.<dargn>>
src.tag.recall = 1
src.sayua 0481,6,6,0 Kal Ort Por
ELSEIF (<src.restest 1 i_reag_black_pearl>) && (<src.restest 1 i_reag_mandrake_root>) && (<src.restest 1 i_reag_blood_moss>)
src.events +e_recall
src.sltnomove 30
src.timerf 5,recall <tag.lokasyon.<dargn>>
src.consume 1 i_reag_black_pearl
src.consume 1 i_reag_mandrake_root
src.consume 1 i_reag_blood_moss
src.mana -=15
src.anim 16
src.tag.recall = 1
src.sayua 0481,6,6,0 Kal Ort Por
ELSE
src.sysmessage Uzerinizde kitabi kullanicak kadar sarj veya reagent bulunmuyor.
return 1
ENDIF
on = 51 64
IF (<src.flags>&statf_dead) || (<src.flags>&04)
return 1
ENDIF
IF (<src.magery> < 70.0)
src.sysmessage Magery skilliniz yetersiz. (Gereken: 70.0)
return 1
endif
if (<src.mana>< 40)
src.sound=92
src.sysmessage Yeterli mananiz yok.
return 1
endif
IF (<dtag0.charge> > 0)
src.mana -=40
tag.charge -=1
src.events +e_recall
src.sltnomove 50
src.timerf 5,runegate <tag.lokasyon.<eval (<argn>)-50>>
src.anim 16
src.tag.recall = 1
src.sayua 0481,6,6,0 Vas Rel Por
ELIF (<src.restest 1 i_reag_black_pearl>) && (<src.restest 1 i_reag_mandrake_root>) && (<src.restest 1 i_reag_sulfur_ash>)
src.events +e_recall
src.sltnomove 30
src.timerf 6,runegate <tag.lokasyon.<eval (<argn>)-50>>
src.consume 1 i_reag_black_pearl
src.consume 1 i_reag_mandrake_root
src.consume 1 i_reag_sulfur_ash
src.mana -=40
src.anim 16
src.tag.recall = 1
src.sayua 0481,6,6,0 Vas Rel Por
ELSE
src.sysmessage Uzerinizde kitabi kullanicak kadar sarj veya reagent bulunmuyor.
RETURN 1
ENDIF
on = 101 114
src.sysmessage <eval (<argn>)-100>. siradaki <tag.rune.<eval (<argn>)-100>> isimli rune'u cikarttiniz.
serv.newitem i_rune_marker
new.morep <tag.lokasyon.<eval (<argn>)-100>>
new.name <tag.rune.<eval (<argn>)-100>>
new.cont <src.uid>
try tag.lokasyon.<eval (<argn>)-100> =
try tag.rune.<eval (<argn>)-100> =
try tag.region.<eval (<argn>)-100> =
return 1
on = 201 214
src.tag.uid = <uid>
src.tag.sira = <eval (<argn>)-200>
sdialog d_rnamechange
return 1
on = 499
target
src.sysmessage @07a1 Hedefi seciniz.
on = 500
target
src.sysmessage @07a1 Hedefi seciniz.
[dialog d_rnamechange]
0,0
PAGE 0
resizepic 250 90 5120 250 120
resizepic 260 100 3000 230 100
resizepic 280 130 3000 200 20
dtext 280 110 0456 Rune'un ismi ne olsun.?
button 280 150 4006 4007 1 0 1
dtext 315 150 0456 Tamam
dtextentry 285 127 130 20 150 0
dtext 415 150 0456 Sifirla
button 380 150 4006 4007 1 0 2
[dialog d_rnamechange button]
on = 1
obJ = <src.tag.uid>
src.tag.uid =
IF (<isempty <argtxt[0]>>)
src.sysmessage Rune ismini bos birakamazsiniz.
return 1
ELIF (strlen(<argtxt[0]>) > 20)
src.sysmessage 20 karakterden uzun olamaz.
return 1
ENDIF
IF (<isempty <obj.tag.region.<eval (<src.tag.sira>)>>>)
obj.tag.region.<eval (<src.tag0.sira>)> = <obj.tag.rune.<eval (<src.tag.sira>)>>
obj.tag.rune.<eval (<src.tag.sira>)> = <argtxt[0]>
src.sysmessage Rune'un ismi <argtxt[0]> olarak degistirildi.
src.tag.sira =
else
obj.tag.rune.<eval (<src.tag.sira>)> <argtxt[0]>
src.sysmessage Rune'un ismi <argtxt[0]> olarak degistirildi.
src.tag.sira =
ENDIF
on = 2
obj = <src.tag.uid>
src.tag.uid =
IF !(<isempty <obj.tag.region.<eval (<src.tag.sira>)>>>)
obj.tag.rune.<eval (<src.tag.sira>)> = <obj.tag.region.<eval (<src.tag.sira>)>>
obj.tag.region.<eval (<src.tag.sira>)> =
src.sysmessage Rune'un ismi sifirlandi.
src.tag.sira =
ENDIF
[function sltnomove]
IF (<tag0.nomovetill> < <eval <tag0.nomovetill>+<argn>>)
tag.nomovetill <eval <serv.time>+<argn>>
ENDIF
[events e_recall]
on=@logout
src.tag.kullanamaz 1
src.timerf 3,src.tag.kullanamaz =
src.tag.nomovetill =
src.tag.recall =
events -e_recall
effect 3,i_fx_smoke_small,30,36,0
sysmessage The spell fizzles
sound 92
on=@Skillstart
src.tag.kullanamaz 1
src.timerf 3,src.tag.kullanamaz =
src.tag.nomovetill =
src.tag.recall =
skill fail
events -e_recall
effect 3,i_fx_smoke_small,30,36,0
sysmessage The spell fizzles
sound 92
ON=@Gethit
src.tag.kullanamaz 1
src.timerf 3,src.tag.kullanamaz =
src.tag.nomovetill =
src.tag.recall =
events -e_recall
effect 3,i_fx_smoke_small,30,36,0
sysmessage The spell fizzles
sound 92
On=@Death
src.tag.kullanamaz 1
src.timerf 3,src.tag.kullanamaz =
src.tag.nomovetill =
src.tag.recall =
src.events -e_recall
src.effect 3,i_fx_smoke_small,30,36,0
src.sysmessage The spell fizzles
src.sound 92
on=@UserWarMode
src.tag.kullanamaz 1
src.timerf 3,src.tag.kullanamaz =
src.tag.nomovetill =
src.tag.recall =
src.events -e_recall
src.tag.recall =
src.effect 3,i_fx_smoke_small,30,36,0
src.sysmessage The spell fizzles
src.sound 92
[function recall]
IF (<flags>&statf_dead)
return 1
ENDIF
IF (<tag0.recall>)
src.go <args>
src.events -e_recall
src.sound 254
src.tag.recall =
src.tag.kullanamaz 1
src.timerf 3,src.tag.kullanamaz =
return 1
ENDIF
[function runegate]
IF (<flags>&statf_dead)
return 1
ENDIF
IF (<tag0.recall>)
serv.newitem i_gate_rune
new.morep <strarg <args>>,<strarg <streat <args>>>,<strarg <streat <streat <args>>>>,<strarg <streat <streat <streat <args>>>>>
new.attr attr_static|attr_decay
new.p <src.p>
serv.newitem i_gate_rune
new.morep <src.p>
new.attr attr_static|attr_decay
new.p <args>
src.tag.recall =
src.events -e_recall
src.tag.kullanamaz 1
src.timerf 3,src.tag.kullanamaz =
return 1
ENDIF
[ITEMDEF i_gate_rune]
ID = i_moongate_blue
NAME = Travel gate
TYPE = t_moongate
ON=@CREATE
COLOR = 0455
TIMER = 30
ON=@CLICK
message <name>
return 1
ON=@STEP
sdialog d_gatetravel2
return 1
on=@dclick
sdialog d_gatetravel2
return 1
on=@timer
remove
return 1
[dialog d_gatetravel2]
0,0
PAGE 0
resizepic 150 70 3600 260 130
//resizepic 160 80 9300 230 130
dcroppedtext 180 100 200 20 <qval (<serv.map(<morex>,<morey>,<morez>,<morem>).region.safe>)? 02:025> (<serv.map(<morex>,<morey>,<morez>,<morem>).region.name>)
dcroppedtext 300 100 200 20 1153 isimli
dcroppedtext 170 120 250 20 1153 bölgeye gitmek istiyormusunuz?
button 200 155 4006 4007 1 0 1
dtext 235 155 1153 Evet
button 290 155 4006 4007 1 0 2
dtext 325 155 1153 Hayir
[dialog d_gatetravel2 button]
on = 2
return 1
on = 1
IF (<distance> > 2) || !(<canseelos>)
src.sysmessage Gate'e uzaktasiniz..
return 1
ENDIF
src.go <morep>
src.update
return 1
[EOF]
gumppic <eval (<local._for>*16)+220> 320 58
ENDFOR
FOR 1 7
gumppic <eval (<local._for>*16)+380> 320 58
ENDFOR
buraları tek for döngüsü ile halledebilirdin
Kafam atmış ozaman belli sitede çalışan runebook yokmuş demekki