Runebook... - Jozack - 05-05-2017 01:26 AM
Okay so it would seem that 56c doesn't have functioning runebooks, which is insane. I've searched literally EVERYWHERE for something, anything, to do with runebooks. Could someone point me in another direction? And yes, I've searched the Wiki as well. A functioning script would be really really swell, but I've learned that ya'll don't work that way. Well, some do...
RE: Runebook... - Leonidas - 05-05-2017 09:38 AM
I dont have time or I would do this for you but go check the downloads section in the scripts tab. Download some of the packs off of there, you should find a runebook script somewhere in there.
RE: Runebook... - Jozack - 05-05-2017 09:41 AM
I'm on a second pack now, going through all the scripts. Hopefully soon I'll find something. Thanks for the reply though, I appreciate it.
RE: Runebook... - Soulless - 05-10-2017 03:02 AM
try this out
Code:
//Runebook 1.1
//Scripted by Soulless
//uses spheres internal functions for recall/gate and just prevents skillcheck and consumption of reags/ mana for runebook charge
[itemdef i_runebook]
id=i_spellbook
name=runebook
type=t_container
skillmake=inscription 95.0
resources=1 i_scroll_recall, 1 i_scroll_gate_travel, 1 i_rune_marker, 8 i_scroll_blank
value=8000
weight=1
category=Other
subsection=Books
description=Runebook
on=@create
attr=attr_newbie
color=045e
more1=5
more2=50
on=@click
message <name> <qval <isempty <tag.name>>?:(<tag0.name>)>
return 1
on=@dclick
sdialog d_runebook
return 1
on=@dropon_self
/////ADD CHARGE TO THE RUNEBOOK
if (<argo.baseid>==i_scroll_recall) || (<argo.baseid>==i_scroll_gate_travel)
if <more1> < <more2>
local.charges=<eval <argo.amount>*<qval <argo.baseid>==i_scroll_gate_travel?2:1> >
more1 += <local.charges>
src.sysmessage You add <dlocal.charges> charges to the runebook.
argo.consume <local.charges>
return 1
endif
endif
/////ADD RUNE TO THE RUNEBOOK
if <argo.type> != t_rune //can only hold runes
src.sysmessage Can't add this to the runebook
return 1
endif
if !<argo.morep> //runes must have a marked location
src.sysmessage That rune does not have a marked location.
return 1
endif
if <count> >= 16
src.sysmessage The runebook is full
return 1
endif
for 16
if <uid.<tag0.rune<dlocal._for>>.cont> != <uid>
tag0.rune<dlocal._for>==<argo>
src.sysmessage You scribe the rune into slot <dlocal._for>
return 0
endif
endfor
[dialog d_runebook]
200,200
page 0
gumppic 10 10 2200 //runebook background
dtext 50 38 100 Charges: <dmore1> //charges
gumppic 35 50 57
for 7
gumppic <eval 55+(<local._for>*10)> 50 58
endfor
gumppic 135 50 59
dtext 210 38 100 Max Charges: <dmore2> //max charges
gumppic 200 50 57
for 7
gumppic <eval 220+(<local._for>*10)> 50 58
endfor
gumppic 300 50 59
for 1 8 //rune page buttons
button <eval <qval <local._for> < 5?5:30>+(<local._for>*35)> 187 22<eval 24+<local._for>> 22<eval 24+<local._for>> 0 <eval <local._for>+1>
endfor
page 1
button 90 17 2472 2473 1 0 1 //rename button
dtext 115 20 100 Rename
dcroppedtext 205 20 90 15 100 <qval <isempty <tag.name>>?:<tag0.name>>
button 300 15 2206 2206 0 2 //page forward
for 1 16 //list of runes
button <qval <local._for> < 9?40:200> <eval 50+((<local._for>-<qval <local._for> < 9?0:8>)*15)> 2104 2103 1 0 <eval <local._for>+1>
if <uid.<tag0.rune<dlocal._for>>.cont>==<uid>
dcroppedtext <qval <local._for> < 9?55:215> <eval 43+((<local._for>-<qval <local._for> < 9?0:8>)*15)> 110 15 1947 <uid.<tag0.rune<dlocal._for>>.name>
else
dtext <qval <local._for> < 9?55:215> <eval 43+((<local._for>-<qval <local._for> < 9?0:8>)*15)> 1947 Empty
endif
endfor
////PAGE 2,9
for 2 9
page <local._for>
button 30 15 2205 2205 0 <eval <local._for>-1> //page back
//FIRST RUNE ON PAGE
dtext 80 15 100 Page <eval (<local._for>*2)-3> //page listing
if <uid.<tag0.rune<eval (<local._for>*2)-3>>.cont>==<uid> //only list the run if its in the runebook
button 40 65 2104 2103 2 0 <eval (<local._for>*2)-2>
dcroppedtext 55 60 110 15 1947 <uid.<tag0.rune<eval (<local._for>*2)-3>>.name>
dtext 60 80 1947 <sextantp <uid.<tag0.rune<eval (<local._for>*2)-3>>.morep>>
button 45 110 4005 4006 1 0 <eval (300+(<local._for>*2)-3)> //drop first rune
dtext 80 110 1947 Drop Rune
button 50 140 2271 2271 1 0 <eval (100+(<local._for>*2)-3)> //recall
button 100 140 2291 2291 1 0 <eval (200+(<local._for>*2)-3)>
else
dtext 55 60 1947 Empty
endif
//SECOND RUNE ON PAGE
dtext 220 15 100 Page <eval (<local._for>*2)-2> //page listing
if <uid.<tag0.rune<eval (<local._for>*2)-2>>.cont>==<uid> //only list the run if its in the runebook
button 200 65 2104 2103 2 0 <eval (<local._for>*2)-1>
dcroppedtext 215 60 110 15 1947 <uid.<tag0.rune<eval (<local._for>*2)-2>>.name>
dtext 220 80 1947 <sextantp <uid.<tag0.rune<eval (<local._for>*2)-2>>.morep>>
button 205 110 4005 4006 1 0 <eval (300+(<local._for>*2)-2)> //drop second rune
dtext 240 110 1947 Drop Rune
button 210 140 2271 2271 1 0 <eval (100+(<local._for>*2)-2)> //recall
button 260 140 2291 2291 1 0 <eval (200+(<local._for>*2)-2)>
else
dtext 215 60 1947 Empty
endif
if <local._for> < 9
button 300 15 2206 2206 0 <eval <local._for>+1> //page forward
endif
endfor
[dialog d_runebook button]
onbutton=1 //rename runebook
src.sysmessage What would you like to name this runebook?
src.ctag.runebook=<uid>
promptconsole rename_runebook
onbutton=2,17 //use a charge
//<uid.<tag0.rune<eval <argn1>-1>>> is the rune marker uid
if !<more1>
src.sysmessage The runebook is out of charges. //check for charges
return 1
endif
src.events=+e_using_runebook_charge
src.ctag0.runebook=<uid>
src.actarg1=32 //set spell to recall
src.act=<uid.<tag0.rune<eval <argn1>-1>>> //set act to rune marker's uid
src.action=25 //set action to magery
onbutton=100,116 //use recall spell
//<uid.<tag0.rune<eval <argn1>-100>>> is the rune marker uid
src.actarg1=32 //set spell to recall
src.act=<uid.<tag0.rune<eval <argn1>-100>>> //set act to rune marker's uid
src.action=25 //set action to magery
onbutton=200,216 //use gate spell
//<uid.<tag0.rune<eval <argn1>-200>>> is the rune marker uid
src.actarg1=52 //set spell to gate travel
src.act=<uid.<tag0.rune<eval <argn1>-200>>> //set act to rune marker's uid
src.action=25 //set action to magery
onbutton 300,316 //drop a rune
src.bounce <uid.<tag0.rune<eval <argn1>-300>>>
tag0.rune<eval <argn1>-300>=
[events e_using_runebook_charge] //sets spell difficulty to 0 and skips reagent and mana consumption
on=@spellcast
argn2=0
on=@spellselect //do not consume mana or reagents when using runebook charges
ref1=<argo.ctag0.runebook>
//if <argn3> != 01
argo.events=-e_using_runebook_charge
ref1.more1 -= 1
argo.ctag0.runebook=
return 6
//endif
[function rename_runebook]
ref1=<ctag0.runebook>
src.ctag.runebook=
if (<isempty <args>>) || (<isnum <args>>)
Sysmessage The name entered was either invalid or empty.
return 1
endif
ref1.tag0.name=<args>
sysmessage Runebook renamed to <args>
endif
[EOF]
RE: Runebook... - Jozack - 05-11-2017 01:42 PM
Oh thank you thank you thank you!! Works perfectly!!!! THANK YOU!!!
|