Script Name]
Travel Book
[Script version 0.XX]
Alfa 0.1
[Sphera 0.XX]
[.55i+]
===Права===
Copyleft © by Fallout
===Описание===
Название говорит само за себя... книга предназначена для перемещенмя по миру... возможность записывать локации на русском языке... цветовое отоброжение локаций в зависимости от их удалённости и тд и вообщем вот вам альтернатива Рун Буки которых сдесь и так не мало...
===Установка===
Киньте в папку скрипт и запустите СферуСервер в игре написать .add i_travelbook
===Баги===
Ну так как это Альфа версия то там их просто дофига ) просто хотел быстрей сделать.... потом будет скрипт конечно же переделан устранены все баги и глюки.... а так впринцыпи пользоваться можно
Код
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
// Travel Book Crafted by Fallout v1.00.01.83
// Please don't remove this header... or you will die!
// roman3k@mail.ru
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
//New commands
1).travelbook_recharge
2).travelbook_usecharges
// Pre release 0.83b
[events e_jump_looker]
on=@gethit
findid.i_go_travel.remove
say Oops i fizl again =)
on=@hit
findid.i_go_travel.remove
say Oops i fizl again =)
on=@spelleffect
findid.i_go_travel.remove
say Oops i fizl again =)
on=@logout
findid.i_go_travel.remove
say Oops i fizl again =)
[function isnott]
newitem i_gold
act.p=<args>
act.fix
if (<act.region.flags>&00002)&&(<act.region.flags>&00010)
act.remove
Sysmessage You cannot get there.
var.tl.md=3
return 1
else
act.remove
endif
[function f_travel_consume]
if <argn><=3
if (<src.restest.<argn>.i_reag_blood_moss>)&&(<src.restest.<argn>.i_reag_mandrake_root>)&&(<src.restest.<argn>.i_reag_black_pearl>)
src.consume= <argn> i_reag_blood_moss
src.consume= <argn> i_reag_mandrake_root
src.consume= <argn> i_reag_black_pearl
src.newitem i_go_travel
src.act.morep=<eval <var.posp.x>>,<eval <var.posp.y>>
src.act.more=<var.tl.md>
src.act.equip
else
src.sysmessage You don't have all reagents.
endif
else
if <eval <more1l>>>=<eval <argn>+ -3>
more1l=<more1l>+ -(<eval <argn>+ -3>)
src.newitem i_go_travel
src.act.morep=<eval <var.posp.x>>,<eval <var.posp.y>>
src.act.more=<var.tl.md>
src.act.equip
else
src.sysmessage You don't have <eval <argn>+ -3> charge.
endif
endif
[function tb_res_test]
if !<src.findid.i_go_travel>
if (<var.tl.md>)&&(<src.magery><600)
src.Sysmessage Your magery skill is to low
return 1
elseif (<var.col.tst>==025)&&(<more2>==0)&&(<src.magery><1000)
src.Sysmessage Your magery skill is to low
return 1
endif
src.sayu <src.isnott <eval <var.posp.x>>,<eval <var.posp.y>>>
src.isnott <src.p>
if <var.tl.md>==03
return 1
endif
if <var.col.tst>==043
var.col.tst=1
else <var.col.tst>==034
var.col.tst=2
elseif <var.col.tst>==025
var.col.tst=3
endif
if <more2>==0
f_travel_consume <var.col.tst>
else
f_travel_consume <var.col.tst>+3
endif
else
src.anim 17
src.Sysmessage You must wait before another action.
endif
[itemdef i_go_travel]
id=i_rune_marker
name=go to place
layer=layer_special
type=t_eq_script
weight=0
on=@create
attr=attr_newbie
on=@equip
cont.events +e_jump_looker
if !(0<more>)
timer=6
cont.anim 17
cont.newitem=i_fx_bless_effect
cont.act.p=<cont.p>
link=<cont.act.uid>
cont.newitem=i_fx_bless_effect
cont.act.p=<morep>
cont.act.name <cont.name> is going !
cont.act.fix
link.link=<cont.act.uid>
else
timer=18
cont.anim 17
cont.newitem=i_moongate_red
cont.act.p=<morep>
cont.act.name <cont.name> cast a portal !
cont.act.fix
link=<cont.act.uid>
cont.newitem=i_moongate_red
cont.act.type=t_telepad
cont.act.p=<cont.p>
cont.act.morep=<morep>,<eval <link.p.z>>
link.link=<cont.act.uid>
endif
on=@unequip
cont.events -e_jump_looker
link.link.remove
link.remove
on=@timer
cont.events -e_jump_looker
if !(0<more>)
link.link.remove
link.remove
cont.p <morep>
cont.fix
else
link.link.remove
link.remove
endif
remove
return 1
//034 ???2 ??
//043 ??? 1 ??
//025 ??? 3 ??
[DEFNAME TRAVEL_BOOK]
//Color Location
tb_green 043
tb_yellow 034
tb_red 025
[ITEMDEF i_travelbook]
DEFNAME=i_book_of_travel
ID=i_spellbook
TYPE=t_eq_script
NAME=Travel Book
WEIGHT = 10
CATEGORY=Provisions - Miscellaneous
SUBSECTION=Books
DESCRIPTION=Travel Book
ON=@CREATE
// timer=-1
more1h=018
color=0127
attr=attr_newbie
TAG.01.INVIS=012c
TAG.02.INVIS=012c
TAG.03.INVIS=012c
TAG.04.INVIS=012c
TAG.05.INVIS=012c
TAG.06.INVIS=012c
TAG.07.INVIS=012c
TAG.08.INVIS=012c
TAG.09.INVIS=012c
TAG.0a.INVIS=012c
TAG.0b.INVIS=012c
TAG.0c.INVIS=012c
TAG.0d.INVIS=012c
TAG.0e.INVIS=012c
TAG.0f.INVIS=012c
TAG.010.INVIS=012c
TAG.011.INVIS=012c
TAG.012.INVIS=012c
TAG.013.INVIS=012c
TAG.014.INVIS=012c
TAG.015.INVIS=012c
TAG.016.INVIS=012c
TAG.017.INVIS=012c
TAG.018.INVIS=012c
ON=@DClick
tag.dis.mul=<eval <src.magery>>
f_travel_setcolor 1
dialog d_travelbook_book
return 1
On=@Click
message a <name> (<eval <more1l>>/<eval <more1h>>)
return 1
[DIALOG d_travelbook_book]
150,250
PAGE 0
GUMPPIC 0 0 2220
BUTTON 55 15 <EVAL <TAG.01.INVIS>> 2104 1 0 1
BUTTON 65 15 <EVAL <TAG.01.INVIS>> 2104 1 0 31
BUTTON 180 15 2103 2104 1 0 61
CROPPEDTEXT 80 10 95 15 <EVAL <TAG.01.COL>> 0
BUTTON 55 30 <EVAL <TAG.02.INVIS>> 2104 1 0 2
BUTTON 65 30 <EVAL <TAG.02.INVIS>> 2104 1 0 32
BUTTON 180 30 2103 2104 1 0 62
CROPPEDTEXT 80 25 95 15 <EVAL <TAG.02.COL>> 1
BUTTON 55 45 <EVAL <TAG.03.INVIS>> 2104 1 0 3
BUTTON 65 45 <EVAL <TAG.03.INVIS>> 2104 1 0 33
BUTTON 180 45 2103 2104 1 0 63
CROPPEDTEXT 80 40 95 15 <EVAL <TAG.03.COL>> 2
BUTTON 55 60 <EVAL <TAG.04.INVIS>> 2104 1 0 4
BUTTON 65 60 <EVAL <TAG.04.INVIS>> 2104 1 0 34
BUTTON 180 60 2103 2104 1 0 64
CROPPEDTEXT 80 55 95 15 <EVAL <TAG.04.COL>> 3
BUTTON 55 75 <EVAL <TAG.05.INVIS>> 2104 1 0 5
BUTTON 65 75 <EVAL <TAG.05.INVIS>> 2104 1 0 35
BUTTON 180 75 2103 2104 1 0 65
CROPPEDTEXT 80 70 95 15 <EVAL <TAG.05.COL>> 4
BUTTON 55 90 <EVAL <TAG.06.INVIS>> 2104 1 0 6
BUTTON 65 90 <EVAL <TAG.06.INVIS>> 2104 1 0 36
BUTTON 180 90 2103 2104 1 0 66
CROPPEDTEXT 80 85 95 15 <EVAL <TAG.06.COL>> 5
BUTTON 55 105 <EVAL <TAG.07.INVIS>> 2104 1 0 7
BUTTON 65 105 <EVAL <TAG.07.INVIS>> 2104 1 0 37
BUTTON 180 105 2103 2104 1 0 67
CROPPEDTEXT 80 100 95 15 <EVAL <TAG.07.COL>> 6
BUTTON 55 120 <EVAL <TAG.08.INVIS>> 2104 1 0 8
BUTTON 65 120 <EVAL <TAG.08.INVIS>> 2104 1 0 38
BUTTON 180 120 2103 2104 1 0 68
CROPPEDTEXT 80 115 95 15 <EVAL <TAG.08.COL>> 7
BUTTON 55 135 <EVAL <TAG.09.INVIS>> 2104 1 0 9
BUTTON 65 135 <EVAL <TAG.09.INVIS>> 2104 1 0 39
BUTTON 180 135 2103 2104 1 0 69
CROPPEDTEXT 80 130 95 15 <EVAL <TAG.09.COL>> 8
BUTTON 55 150 <EVAL <TAG.0a.INVIS>> 2104 1 0 10
BUTTON 65 150 <EVAL <TAG.0a.INVIS>> 2104 1 0 40
BUTTON 180 150 2103 2104 1 0 70
CROPPEDTEXT 80 145 95 15 <EVAL <TAG.0a.COL>> 9
BUTTON 55 165 <EVAL <TAG.0b.INVIS>> 2104 1 0 11
BUTTON 65 165 <EVAL <TAG.0b.INVIS>> 2104 1 0 41
BUTTON 180 165 2103 2104 1 0 71
CROPPEDTEXT 80 160 95 15 <EVAL <TAG.0b.COL>> 10
BUTTON 55 180 <EVAL <TAG.0c.INVIS>> 2104 1 0 12
BUTTON 65 180 <EVAL <TAG.0c.INVIS>> 2104 1 0 42
BUTTON 180 180 2103 2104 1 0 72
CROPPEDTEXT 80 175 95 15 <EVAL <TAG.0c.COL>> 11
BUTTON 215 15 <EVAL <TAG.0d.INVIS>> 2104 1 0 13
BUTTON 225 15 <EVAL <TAG.0d.INVIS>> 2104 1 0 43
BUTTON 340 15 2103 2104 1 0 73
CROPPEDTEXT 240 10 95 15 <EVAL <TAG.0d.COL>> 12
BUTTON 215 30 <EVAL <TAG.0e.INVIS>> 2104 1 0 14
BUTTON 225 30 <EVAL <TAG.0e.INVIS>> 2104 1 0 44
BUTTON 340 30 2103 2104 1 0 74
CROPPEDTEXT 240 25 95 15 <EVAL <TAG.0e.COL>> 13
BUTTON 215 45 <EVAL <TAG.0f.INVIS>> 2104 1 0 15
BUTTON 225 45 <EVAL <TAG.0f.INVIS>> 2104 1 0 45
BUTTON 340 45 2103 2104 1 0 75
CROPPEDTEXT 240 40 95 15 <EVAL <TAG.0f.COL>> 14
BUTTON 215 60 <EVAL <TAG.010.INVIS>> 2104 1 0 16
BUTTON 225 60 <EVAL <TAG.010.INVIS>> 2104 1 0 46
BUTTON 340 60 2103 2104 1 0 76
CROPPEDTEXT 240 55 95 15 <EVAL <TAG.010COL>> 15
BUTTON 215 75 <EVAL <TAG.011.INVIS>> 2104 1 0 17
BUTTON 225 75 <EVAL <TAG.011.INVIS>> 2104 1 0 47
BUTTON 340 75 2103 2104 1 0 77
CROPPEDTEXT 240 70 95 15 <EVAL <TAG.011.COL>> 16
BUTTON 215 90 <EVAL <TAG.012.INVIS>> 2104 1 0 18
BUTTON 225 90 <EVAL <TAG.012.INVIS>> 2104 1 0 48
BUTTON 340 90 2103 2104 1 0 78
CROPPEDTEXT 240 85 95 15 <EVAL <TAG.012.COL>> 17
BUTTON 215 105 <EVAL <TAG.013.INVIS>> 2104 1 0 19
BUTTON 225 105 <EVAL <TAG.013.INVIS>> 2104 1 0 49
BUTTON 340 105 2103 2104 1 0 79
CROPPEDTEXT 240 100 95 15 <EVAL <TAG.013.COL>> 18
BUTTON 215 120 <EVAL <TAG.014.INVIS>> 2104 1 0 20
BUTTON 225 120 <EVAL <TAG.014.INVIS>> 2104 1 0 50
BUTTON 340 120 2103 2104 1 0 80
CROPPEDTEXT 240 115 95 15 <EVAL <TAG.014.COL>> 19
BUTTON 215 135 <EVAL <TAG.015.INVIS>> 2104 1 0 21
BUTTON 225 135 <EVAL <TAG.015.INVIS>> 2104 1 0 51
BUTTON 340 135 2103 2104 1 0 81
CROPPEDTEXT 240 130 95 15 <EVAL <TAG.015.COL>> 20
BUTTON 215 150 <EVAL <TAG.016.INVIS>> 2104 1 0 22
BUTTON 225 150 <EVAL <TAG.016.INVIS>> 2104 1 0 52
BUTTON 340 150 2103 2104 1 0 82
CROPPEDTEXT 240 145 95 15 <EVAL <TAG.016.COL>> 21
BUTTON 215 165 <EVAL <TAG.017.INVIS>> 2104 1 0 23
BUTTON 225 165 <EVAL <TAG.017.INVIS>> 2104 1 0 53
BUTTON 340 165 2103 2104 1 0 83
CROPPEDTEXT 240 160 95 15 <EVAL <TAG.017.COL>> 22
BUTTON 215 180 <EVAL <TAG.018.INVIS>> 2104 1 0 24
BUTTON 225 180 <EVAL <TAG.018.INVIS>> 2104 1 0 54
BUTTON 340 180 2103 2104 1 0 84
CROPPEDTEXT 240 175 95 15 <EVAL <TAG.018.COL>> 23
[DIALOG d_travelbook_book TEXT]
<TAG.01.NAME>
<TAG.02.NAME>
<TAG.03.NAME>
<TAG.04.NAME>
<TAG.05.NAME>
<TAG.06.NAME>
<TAG.07.NAME>
<TAG.08.NAME>
<TAG.09.NAME>
<TAG.0a.NAME>
<TAG.0b.NAME>
<TAG.0c.NAME>
<TAG.0d.NAME>
<TAG.0e.NAME>
<TAG.0f.NAME>
<TAG.010.NAME>
<TAG.011.NAME>
<TAG.012.NAME>
<TAG.013.NAME>
<TAG.014.NAME>
<TAG.015.NAME>
<TAG.016.NAME>
<TAG.017.NAME>
<TAG.018.NAME>
[DIALOG d_travelbook_book BUTTON]
//1+++++++++++++++++++++++
ONBUTTON=1
f_travel_sparkl 01
ONBUTTON=31
f_travel_portal 01
//2++++++++++++++++++++++++
ONBUTTON=2
f_travel_sparkl 02
ONBUTTON=32
f_travel_portal 02
//3++++++++++++++++++++++++
ONBUTTON=3
f_travel_sparkl 03
ONBUTTON=33
f_travel_portal 03
//4++++++++++++++++++++++++
ONBUTTON=4
f_travel_sparkl 04
ONBUTTON=34
f_travel_portal 04
//5++++++++++++++++++++++++
ONBUTTON=5
f_travel_sparkl 05
ONBUTTON=35
f_travel_portal 05
//6++++++++++++++++++++++++
ONBUTTON=6
f_travel_sparkl 06
ONBUTTON=36
f_travel_portal 06
//7++++++++++++++++++++++++
ONBUTTON=7
f_travel_sparkl 07
ONBUTTON=37
f_travel_portal 07
//8++++++++++++++++++++++++
ONBUTTON=8
f_travel_sparkl 08
ONBUTTON=38
f_travel_portal 08
//9++++++++++++++++++++++++
ONBUTTON=9
f_travel_sparkl 09
ONBUTTON=39
f_travel_portal 09
//10++++++++++++++++++++++++
ONBUTTON=10
f_travel_sparkl 0a
ONBUTTON=40
f_travel_portal 0a
//11++++++++++++++++++++++++
ONBUTTON=11
f_travel_sparkl 0b
ONBUTTON=41
f_travel_portal 0b
//12++++++++++++++++++++++++
ONBUTTON=12
f_travel_sparkl 0c
ONBUTTON=42
f_travel_portal 0c
//13++++++++++++++++++++++++
ONBUTTON=13
f_travel_sparkl 0d
ONBUTTON=43
f_travel_portal 0d
//14++++++++++++++++++++++++
ONBUTTON=14
f_travel_sparkl 0e
ONBUTTON=44
f_travel_portal 0e
//15+++++++++++++++++++++++
ONBUTTON=15
f_travel_sparkl 0f
ONBUTTON=45
f_travel_portal 0f
//16++++++++++++++++++++++++
ONBUTTON=16
f_travel_sparkl 010
ONBUTTON=46
f_travel_portal 010
//17++++++++++++++++++++++++
ONBUTTON=17
f_travel_sparkl 011
ONBUTTON=47
f_travel_portal 011
//18++++++++++++++++++++++++
ONBUTTON=18
f_travel_sparkl 012
ONBUTTON=48
f_travel_portal 012
//19++++++++++++++++++++++++
ONBUTTON=19
f_travel_sparkl 013
ONBUTTON=49
f_travel_portal 013
//20++++++++++++++++++++++++
ONBUTTON=20
f_travel_sparkl 014
ONBUTTON=50
f_travel_portal 014
//21++++++++++++++++++++++++
ONBUTTON=21
f_travel_sparkl 015
ONBUTTON=51
f_travel_portal 015
//22++++++++++++++++++++++++
ONBUTTON=22
f_travel_sparkl 016
ONBUTTON=52
f_travel_portal 016
//23++++++++++++++++++++++++
ONBUTTON=23
f_travel_sparkl 017
ONBUTTON=53
f_travel_portal 017
//24++++++++++++++++++++++++
ONBUTTON=24
f_travel_sparkl 018
ONBUTTON=54
f_travel_portal 018
ONBUTTON=61
f_travel_options 1
ONBUTTON=62
f_travel_options 2
ONBUTTON=63
f_travel_options 3
ONBUTTON=64
f_travel_options 4
ONBUTTON=65
f_travel_options 5
ONBUTTON=66
f_travel_options 6
ONBUTTON=67
f_travel_options 7
ONBUTTON=68
f_travel_options 8
ONBUTTON=69
f_travel_options 9
ONBUTTON=70
f_travel_options 10
ONBUTTON=71
f_travel_options 11
ONBUTTON=72
f_travel_options 12
ONBUTTON=73
f_travel_options 13
ONBUTTON=74
f_travel_options 14
ONBUTTON=75
f_travel_options 15
ONBUTTON=76
f_travel_options 16
ONBUTTON=77
f_travel_options 17
ONBUTTON=78
f_travel_options 18
ONBUTTON=79
f_travel_options 19
ONBUTTON=80
f_travel_options 20
ONBUTTON=81
f_travel_options 21
ONBUTTON=82
f_travel_options 22
ONBUTTON=83
f_travel_options 23
ONBUTTON=84
f_travel_options 24
//TravelBook Options
[dialog d_travelbook_options]
150,250
resizepic 0 0 5054 335 110
resizepic 10 10 3000 315 90
resizepic 20 20 3000 295 22
textentry 25 20 280 22 0 0 0
text 20 46 0 1
button 20 70 4005 4007 1 0 2
text 55 70 0 2
button 110 70 4005 4007 1 0 3
text 145 70 0 3
button 235 70 4005 4007 1 0 1
text 270 70 0 4
[dialog d_travelbook_options text]
<tag.name.location>
<tag.pos.location>
Mark
Erase
Write
[dialog d_travelbook_options button]
onbutton=2 //mark
tag.pos.location=(<src.p>)
tag.name.location <argtxt[0]>
dialog d_travelbook_options
onbutton=3 //erase
try tag.<tag.num.gmp>.pos=
try tag.<tag.num.gmp>.posx=
try tag.<tag.num.gmp>.posy=
try tag.<tag.num.gmp>.name=
try tag.<tag.num.gmp>.invis=300
onbutton=1 //write
if <src.restest.i_pen_and_ink>
if !<tag.pos.location>
tag.name.location <argtxt[0]>
dialog d_travelbook_options
else
try tag.<tag.num.gmp>.pos=(<src.p>)
try tag.<tag.num.gmp>.posx=<src.p.x>
try tag.<tag.num.gmp>.posy=<src.p.y>
try tag.<tag.num.gmp>.name=<argtxt[0]>
try tag.<tag.num.gmp>.invis=2103
endif
else
src.sysmessage you haven't pen and ink !
endif
[function f_travel_options]
tag.num.gmp=<argn>
try tag.pos.location=<tag.<tag.num.gmp>.pos>
try tag.name.location=<tag.<tag.num.gmp>.name>
dialog d_travelbook_options
[function f_travel_setcolor]
If <argn>>24
return 1
else
Try <qval <TAG.<hval <argn>>.invis>==0837 ? f_travel_mat <argn> : f_travel_setcolor <argn>+1>
[function f_travel_mat]
try var.posp.x=<tag.<hval <argn>>.posx>
try var.posp.y=<tag.<hval <argn>>.posy>
f_travel_mat_dist
try tag.<hval <argn>>.col=<f_travel_col_test>
f_travel_setcolor <argn>+1
[function f_travel_mat_dist]
var.deltax=<eval <src.p.x>+ -<var.posp.x>>
if (<var.deltax><0)
var.deltax=<eval -<var.deltax>>
endif
var.deltay=<eval <src.p.y>+ -<var.posp.y>>
if (<var.deltay><0)
var.deltay=<eval -<var.deltay>>
endif
if (<var.deltay>><var.deltax>)
var.dist=<var.deltay>
else
var.dist=<var.deltax>
end if
[function f_travel_col_test]
if (<eval <var.dist>><=<eval <tag.dis.mul>>)
var.tb.color=tb_green
elseif (<eval <var.dist>><=(<eval <tag.dis.mul>>*2))
var.tb.color=tb_yellow
else
var.tb.color=tb_red
endif
return <var.tb.color>
[function f_travel_sparkl]
try var.posp.x=<tag.<hval <argn>>.posx>
try var.posp.y=<tag.<hval <argn>>.posy>
var.tl.md=0
try var.col.tst=<tag.<hval <argn>>.col>
tb_res_test
[function f_travel_portal]
try var.posp.x=<tag.<hval <argn>>.posx>
try var.posp.y=<tag.<hval <argn>>.posy>
var.tl.md=1
try var.col.tst=<tag.<hval <argn>>.col>
tb_res_test
[itemdef i_travel_target]
id=i_handr_1
name="travel target"
type=176
on=@create
attr=08010
on=@dclick
target
return 1
on=@targon_item
if (<more1>=01)&&(<src.t.topobj.uid>==<src.uid>)
if <src.t.baseid>==i_scroll_recall
link=<src.t.uid>
more1=02
target
cont.sysmessage Select a Travel Book.
return 1
else
cont.sysmessage Is'n a Reacall Scroll.
endif
elseif (<more1>=02)&&(<src.t.topobj.uid>==<src.uid>)
if !(<src.t.more1l>==<src.t.more1h>)
if <link.amount>=<eval 24+ -<src.t.more1l>>
src.t.more1l=<src.t.more1h>
link.remove
elseif <link.amount>><eval 24+ -<src.t.more1l>>
link.amount=<link.amount>+ -<eval 24+ -<src.t.more1l>>
src.t.more1l=<src.t.more1h>
else
src.t.more1l=<src.t.more1l>+<link.amount>
link.remove
endif
else
cont.sysmessage Travel Book is full.
endif
elseif (<more1>=03)&&(<src.t.topobj.uid>==<src.uid>)&&(<src.t.baseid>==i_travelbook)
if <src.t.more2>==0
src.t.more2=01
cont.sysmessage Is now TravelBook use Recall Scroll.
else
src.t.more2=0
cont.sysmessage Is now TravelBook use Reagents.
endif
else
cont.sysmessage It is not present in your bag.
endif
cont.findid.i_travel_target.remove
return 1
[function travelbook_recharge]
findid.i_travel_target.remove
newitem i_travel_target
act.more1=01
act.equip
act.use
sysmessage Select a pile of Recall Scroll.
[function travelbook_usecharges]
findid.i_travel_target.remove
newitem i_travel_target
act.more1=03
act.equip
act.use
sysmessage Select your Travel Book.
[Plevel 1]
travelbook_usecharges
travelbook_recharge
[EOF]