UOGamers Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • To obtain new Razor updates, please reinstall Razor from our new website.

Macro to fill a spellbook

Rosealie

Wanderer
Macro to fill a spellbook

UPDATE : added tons of world-save protection..

Someone was bragging that only he had such a macro, and I disliked the smugness of his tone :p

1) Copy/paste the counters fragment to your counters.xml
2) Copy/paste the profile into your profiles directory, I call it 'spellbook_maker.xml'
3) Copy/paste the macro into your macros directory, I call it 'create_spellbook.macro'.

- Log your scribe into the spellbook_maker profile.
- Load up around 100 regs, scrolls, an empty spellbook and a couple scribe pens
- Start the macro; you have 5 seconds to target the empty spellbook you want to fill
- Let it run

I've barely tested it at all. No doubt it needs tweaking, but it's a start. The pauses are *very* generous.


counters.xml fragment:
Code:
	<counter>
		<name>8029</name>
		<format>8029</format>
		<itemid>8029</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8030</name>
		<format>8030</format>
		<itemid>8030</itemid>
		<hue>-1</hue>
	</counter>

	<counter>
		<name>8031</name>
		<format>8031</format>
		<itemid>8031</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8032</name>
		<format>8032</format>
		<itemid>8032</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8033</name>
		<format>8033</format>
		<itemid>8033</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8034</name>
		<format>8034</format>
		<itemid>8034</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8035</name>
		<format>8035</format>
		<itemid>8035</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8036</name>
		<format>8036</format>
		<itemid>8036</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8037</name>
		<format>8037</format>
		<itemid>8037</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8038</name>
		<format>8038</format>
		<itemid>8038</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8039</name>
		<format>8039</format>
		<itemid>8039</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8040</name>
		<format>8040</format>
		<itemid>8040</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8041</name>
		<format>8041</format>
		<itemid>8041</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8042</name>
		<format>8042</format>
		<itemid>8042</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8043</name>
		<format>8043</format>
		<itemid>8043</itemid>
		<hue>-1</hue>
	</counter>
	<counter>
		<name>8044</name>
		<format>8044</format>
		<itemid>8044</itemid>
		<hue>-1</hue>
	</counter>

Spellbook Maker profile:

Code:
<?xml version="1.0" encoding="Windows-1252" standalone="yes"?>
<profile>
	<property name="ForceSpeechHue" type="System.Boolean">False</property>
	<property name="WarningColor" type="System.Int32">37</property>
	<property name="RangeCheckLT" type="System.Boolean">True</property>
	<property name="FlipVidH" type="System.Boolean">False</property>
	<property name="UndressConflicts" type="System.Boolean">True</property>
	<property name="SortCounters" type="System.Boolean">True</property>
	<property name="TitleBarText" type="System.String">UO - {char} {crimtime}- {mediumstatbar} {bp} {bm} {gl} {gs} {mr} {ns} {ss} {sa}</property>
	<property name="BlockHealPoison" type="System.Boolean">False</property>
	<property name="DisplaySkillChanges" type="System.Boolean">False</property>
	<property name="LastTargTextFlags" type="System.Boolean">True</property>
	<property name="QueueActions" type="System.Boolean">True</property>
	<property name="SkillListCol" type="System.Int32">-1</property>
	<property name="AutoCap" type="System.Boolean">False</property>
	<property name="AutoSearch" type="System.Boolean">True</property>
	<property name="RecFolder" type="System.String">C:\Program Files\Razor\Videos</property>
	<property name="CapTimeStamp" type="System.Boolean">True</property>
	<property name="HealthFmt" type="System.String">[{0}%]</property>
	<property name="BeneficialSpellHue" type="System.Int32">5</property>
	<property name="CounterWarn" type="System.Boolean">True</property>
	<property name="HighlightReagents" type="System.Boolean">True</property>
	<property name="ObjectDelay" type="System.Int32">1000</property>
	<property name="WindowX" type="System.Int32">0</property>
	<property name="WindowY" type="System.Int32">867</property>
	<property name="AutoOpenDoors" type="System.Boolean">False</property>
	<property name="ForceSpellHue" type="System.Boolean">False</property>
	<property name="CapFullScreen" type="System.Boolean">False</property>
	<property name="OldStatBar" type="System.Boolean">False</property>
	<property name="CountStealthSteps" type="System.Boolean">True</property>
	<property name="NeutralSpellHue" type="System.Int32">945</property>
	<property name="HarmfulSpellHue" type="System.Int32">37</property>
	<property name="CapPath" type="System.String">C:\Program Files\Razor\ScreenShots</property>
	<property name="ShowPartyStats" type="System.Boolean">False</property>
	<property name="AlwaysStealth" type="System.Boolean">False</property>
	<property name="SmartCPU" type="System.Boolean">True</property>
	<property name="ShowNotoHue" type="System.Boolean">True</property>
	<property name="ShowHealth" type="System.Boolean">False</property>
	<property name="Negotiate" type="System.Boolean">True</property>
	<property name="RememberPwds" type="System.Boolean">False</property>
	<property name="Systray" type="System.Boolean">True</property>
	<property name="ClientPrio" type="System.String">Normal</property>
	<property name="FilterSpam" type="System.Boolean">False</property>
	<property name="FilterSnoopMsg" type="System.Boolean">True</property>
	<property name="PotionEquip" type="System.Boolean">False</property>
	<property name="BlockDismount" type="System.Boolean">False</property>
	<property name="AviRes" type="System.Int32">1</property>
	<property name="AutoFriend" type="System.Boolean">False</property>
	<property name="ShowCorpseNames" type="System.Boolean">False</property>
	<property name="LogPacketsByDefault" type="System.Boolean">False</property>
	<property name="MessageLevel" type="System.Int32">0</property>
	<property name="AviFPS" type="System.Int32">15</property>
	<property name="SkillListAsc" type="System.Boolean">False</property>
	<property name="LTHilight" type="System.Int32">0</property>
	<property name="CounterWarnAmount" type="System.Int32">5</property>
	<property name="SpellFormat" type="System.String">{power} [{spell}]</property>
	<property name="SpeechHue" type="System.Int32">945</property>
	<property name="ForceIP" type="System.String" />
	<property name="NoSearchPouches" type="System.Boolean">True</property>
	<property name="SmartLastTarget" type="System.Boolean">False</property>
	<property name="AlwaysOnTop" type="System.Boolean">False</property>
	<property name="TitlebarImages" type="System.Boolean">True</property>
	<property name="ForcePort" type="System.Int32">0</property>
	<property name="ForceSizeX" type="System.Int32">800</property>
	<property name="ForceSizeY" type="System.Int32">600</property>
	<property name="CorpseRange" type="System.Int32">2</property>
	<property name="SellAgentMax" type="System.Int32">99</property>
	<property name="ImageFormat" type="System.String">jpg</property>
	<property name="ShowMobNames" type="System.Boolean">False</property>
	<property name="TitleBarDisplay" type="System.Boolean">True</property>
	<property name="MapX" type="System.Int32">200</property>
	<property name="MapY" type="System.Int32">200</property>
	<property name="AutoStack" type="System.Boolean">False</property>
	<property name="LTRange" type="System.Int32">12</property>
	<property name="Opacity" type="System.Int32">100</property>
	<property name="SmoothWalk" type="System.Boolean">False</property>
	<property name="ActionStatusMsg" type="System.Boolean">True</property>
	<property name="SpellUnequip" type="System.Boolean">False</property>
	<property name="ExemptColor" type="System.Int32">1152</property>
	<property name="AutoOpenCorpses" type="System.Boolean">False</property>
	<property name="FlipVidV" type="System.Boolean">False</property>
	<property name="ForceSizeEnabled" type="System.Boolean">False</property>
	<property name="PartyStatFmt" type="System.String">[{0}% / {1}%]</property>
	<property name="SysColor" type="System.Int32">945</property>
	<property name="MapH" type="System.Int32">200</property>
	<property name="MapW" type="System.Int32">200</property>
	<property name="QueueTargets" type="System.Boolean">True</property>
	<filters />
	<counters>
		<counter name="Black Pearl" enabled="True" image="True" />
		<counter name="Blood Moss" enabled="True" image="True" />
		<counter name="Garlic" enabled="True" image="True" />
		<counter name="Ginseng" enabled="True" image="True" />
		<counter name="Mandrake Root" enabled="True" image="True" />
		<counter name="Nightshade" enabled="True" image="True" />
		<counter name="Spider's Silk" enabled="True" image="True" />
		<counter name="Sulfurous Ash" enabled="True" image="True" />
		<counter name="8029" enabled="True" image="False" />
		<counter name="8030" enabled="True" image="False" />
		<counter name="8031" enabled="True" image="False" />
		<counter name="8032" enabled="True" image="False" />
		<counter name="8033" enabled="True" image="False" />
		<counter name="8034" enabled="True" image="False" />
		<counter name="8035" enabled="True" image="False" />
		<counter name="8036" enabled="True" image="False" />
		<counter name="8037" enabled="True" image="False" />
		<counter name="8038" enabled="True" image="False" />
		<counter name="8039" enabled="True" image="False" />
		<counter name="8040" enabled="True" image="False" />
		<counter name="8041" enabled="True" image="False" />
		<counter name="8042" enabled="True" image="False" />
		<counter name="8043" enabled="True" image="False" />
		<counter name="8044" enabled="True" image="False" />
	</counters>
	<agents>
		<UseOnce />
		<Sell enabled="True" />
		<Organizer-1 hotbag="1108294800">
			<item id="7981" />
			<item id="7982" />
			<item id="7983" />
			<item id="7984" />
			<item id="7985" />
			<item id="7986" />
			<item id="7987" />
			<item id="7988" />
			<item id="7989" />
			<item id="7990" />
			<item id="7991" />
			<item id="7992" />
			<item id="7993" />
			<item id="7994" />
			<item id="7995" />
			<item id="7996" />
			<item id="7997" />
			<item id="7998" />
			<item id="7999" />
			<item id="8000" />
			<item id="8001" />
			<item id="8002" />
			<item id="8003" />
			<item id="8004" />
			<item id="8005" />
			<item id="8006" />
			<item id="8007" />
			<item id="8008" />
			<item id="8009" />
			<item id="8010" />
			<item id="8011" />
			<item id="8012" />
			<item id="8013" />
			<item id="8014" />
			<item id="8015" />
			<item id="8016" />
			<item id="8017" />
			<item id="8018" />
			<item id="8019" />
			<item id="8020" />
			<item id="8021" />
			<item id="8022" />
			<item id="8023" />
			<item id="8024" />
			<item id="8025" />
			<item id="8026" />
			<item id="8027" />
			<item id="8028" />
			<item id="8029" />
			<item id="8030" />
			<item id="8031" />
			<item id="8032" />
			<item id="8033" />
			<item id="8034" />
			<item id="8035" />
			<item id="8036" />
			<item id="8037" />
			<item id="8038" />
			<item id="8039" />
			<item id="8040" />
			<item id="8041" />
			<item id="8042" />
			<item id="8043" />
			<item id="8044" />
		</Organizer-1>
		<Organizer-2 hotbag="0" />
		<Organizer-3 hotbag="0" />
		<Organizer-4 hotbag="0" />
		<Organizer-5 hotbag="0" />
		<Organizer-6 hotbag="0" />
		<Organizer-7 hotbag="0" />
		<Organizer-8 hotbag="0" />
		<Organizer-9 hotbag="0" />
		<Organizer-10 hotbag="0" />
		<AutoSearchExemptions />
		<Scavenger enabled="True">
			<bag serial="0x40B1B799" />
		</Scavenger>
		<Buy-1 enabled="False" />
		<Buy-2 enabled="False" />
		<Buy-3 enabled="False" />
		<Buy-4 enabled="False" />
		<Buy-5 enabled="False" />
		<Restock-1 hotbag="0" />
		<Restock-2 hotbag="0" />
		<Restock-3 hotbag="0" />
		<Restock-4 hotbag="0" />
		<Restock-5 hotbag="0" />
		<Friends enabled="False" />
	</agents>
	<dresslists />
	<hotkeys>
		<key mod="0" key="120" send="False">L:1389</key>
		<key mod="0" key="123" send="False">Organizer Agent-1</key>
		<key mod="0" key="122" send="False">Organizer Agent-1: Set Hot Bag</key>
		<key mod="0" key="121" send="False">L:1332</key>
	</hotkeys>
	<passwords />
</profile>

The macro itself:

Code:
Assistant.Macros.HotKeyAction|0|Organizer Agent-1: Set Hot Bag
Assistant.Macros.PauseAction|00:00:05
// First Circle
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|32|3600
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|1|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|2|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|1|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|9|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|1|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|16|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|1|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|23|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|1|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|30|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|1|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|37|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|1|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|44|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|1|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|51|0|0
// Second Circle
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|48|3600
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|8|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|2|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|8|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|9|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|8|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|16|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|8|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|23|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|8|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|30|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|8|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|37|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|8|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|44|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|8|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|51|0|0
// Third Circle
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|72|3600
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|15|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|2|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|15|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|9|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|15|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|16|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|15|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|23|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|15|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|30|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|15|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|37|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|15|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|44|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|15|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|51|0|0
// Fourth Circle
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|88|3600
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|22|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|2|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|22|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|9|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|22|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|16|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|22|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|23|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|22|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|30|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|22|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|37|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|22|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|44|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|22|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|51|0|0
// Fifth Circle
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|29|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|2|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|29|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|9|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|29|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|16|0|0
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|29|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|23|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|29|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|30|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|29|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|37|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|29|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|44|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|29|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|51|0|0
// Sixth Circle
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|36|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|2|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|36|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|9|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|36|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|16|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|36|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|23|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|36|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|30|0|0
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|36|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|37|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|36|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|44|0|0
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|36|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|51|0|0
// Seventh Circle; now we can fail.
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8029
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|43|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|2|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8030
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|43|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|9|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8031
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|43|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|16|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8032
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|43|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|23|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8033
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|43|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|30|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8034
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|43|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|37|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8035
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|43|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|44|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8036
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|43|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|51|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
// Eighth Circle
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8037
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|50|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|2|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8038
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|50|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|9|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8039
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|50|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|16|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8040
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|50|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|23|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8041
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|50|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|30|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8042
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|50|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|37|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.UseSkillAction|46
Assistant.Macros.WaitForStatAction|1|1|100|3600
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8043
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|50|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|44|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.ForAction|10
Assistant.Macros.IfAction|50|0|0|8044
Assistant.Macros.IfAction|4|0|the world will save in 10
Assistant.Macros.PauseAction|00:00:40
Assistant.Macros.EndIfAction
Assistant.Macros.DoubleClickTypeAction|4031|True
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|50|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.GumpResponseAction|51|0|0
Assistant.Macros.PauseAction|00:00:02
Assistant.Macros.EndIfAction
Assistant.Macros.EndForAction
Assistant.Macros.GumpResponseAction|0|0|0
Assistant.Macros.HotKeyAction|0|Organizer Agent-1
 

gugutz

Knight
Re: Macro to fill a spellbook

wow, thank you so much for this, rosealie.
i hate having to manually fill spellbooks.

this will certaintly help a lot :)
 

Rosealie

Wanderer
Re: Macro to fill a spellbook

I just sprinkled a ton of world-save protection through it, but I'm not sure it's sufficient. It misses a spell every once in a while.

Consider this a work in progress or just a proof of concept :p
 

Bealzy

Wanderer
Re: Macro to fill a spellbook

attagurl! A+++

I have a few more bugs to work out on my mod... I tried putting checks on all the scrolls cause I failed a circle 5 one try... after the check missed a 7 but then again I reset the loops to 5 so I will try to reset again at a later date due the fact I got no more books to fill.

Thank you for giving me something to do this afternoon I have been scripting a while using various other programs ( no need to mention here :) ) and have made such macros and between a few edits and rewrites I know how tedious these can be!

missing one scroll isn't too shabby when all is said and done considering this was made with razor :rolleyes:
note: I was @ Luna bank testing this so who knows next time I will try an isolated area... other then that...
Thank you very much as you gave me a few more insights to creating razor macros

don't let skewl enterfear with your education!
 
Re: Macro to fill a spellbook

Just a hint, because I have a rusty "half-attended" method to fill necrobooks:

If for some reason you will find 2 or more scrolls of same spell stacked, your macro is broken because you can't drag both in spellbook. You have to avoid this situation, or to move other but one away. Then you can restart the macro, or better, the organizer agent to move scrolls in books.
 
I'm really computer stupid sometimes.. Where/how/what are you referring to with:

1) Copy/paste the counters fragment to your counters.xml
2) Copy/paste the profile into your profiles directory, I call it 'spellbook_maker.xml'
3) Copy/paste the macro into your macros directory, I call it 'create_spellbook.macro'.
 
Okay, so I did that. Click start, click run, type in AppData, and I get "Windows Cannot Find AppData" etc etc. Did I do something wrong? I tried it on Sky's PC with same results.
 

MB

Knight
If you have an old Windows, it might still store the stuff in C:/Program Files/Razor

AppData is hidden, so you might need to go to Tools/Options in Explorer and tell it to show hidden files and folders. AppData is in My Documents, look there if search doesn't bring it up.
 

Franny

Squire
Wow that was pretty sweet, Filled the entire spell book and did not miss a single scroll, Even with failures in Eighth circle.
 

MB

Knight
Found on a forum. I made organizers I put in this macro for 'Spellbook Restock' that is Complete and Stack. Put 50 of each reg on it and 100 blank scrolls. Make a complete and stack 'Spellbook Destock' organizer that has All of every reg and blank scrolls.


//=--------This script will make scrolls 1-64, Place them-------=
//=-----------in the book, meditate, and adjust when------------=
//=----to use mediation Based on what scrolls you are making----=
//=----I have broke the script down pretty good in order for----=
//=--------others to learn from 'dissecting' the script --------=
//=-------------------------------------------------------------=
//===============================================================
//=Gives Target for you too select the spellbook you want filled=
//===============================================================
if not @findobject 'Reg Container'
sysmsg 'Target Container with Regs and Scrolls inside' 33
promptalias 'Reg Container'
endif
if not @findobject 'spellbook' 'backpack'
sysmsg '!!!! Target Empty Spell Book !!!!' '23'
promptalias 'spellbook'
organizer 'Spellbook Restock' 'Reg Container' 'backpack'
while organizing
endwhile
endif
//===============================================================
//=-----List of the gump buttons for the 8 Spell Circles.-------=
//===============================================================
if not listexists 'Circle'
@createlist 'Circle'
endif
if 'list' 'Circle' == '0'
@pushlist 'Circle' '1'
@pushlist 'Circle' '8'
@pushlist 'Circle' '15'
@pushlist 'Circle' '22'
@pushlist 'Circle' '29'
@pushlist 'Circle' '36'
@pushlist 'Circle' '43'
@pushlist 'Circle' '50'
endif
//==============================================================
//=--------List of the gump buttons for each scroll------------=
//==============================================================
if not listexists 'Spells'
@createlist 'Spells'
endif
if 'list' 'Spells' == '0'
@pushlist 'Spells' '2'
@pushlist 'Spells' '9'
@pushlist 'Spells' '16'
@pushlist 'Spells' '23'
@pushlist 'Spells' '30'
@pushlist 'Spells' '37'
@pushlist 'Spells' '44'
@pushlist 'Spells' '51'
endif
//==============================================================
//=-------------List of different Mana lvls--------------------=
//==============================================================
if not listexists 'Mana'
@createlist 'Mana'
endif
if 'list' 'Mana' == '0'
@pushlist 'Mana' '4'
@pushlist 'Mana' '6'
@pushlist 'Mana' '9'
@pushlist 'Mana' '11'
@pushlist 'Mana' '14'
@pushlist 'Mana' '20'
@pushlist 'Mana' '40'
@pushlist 'Mana' '50'
endif
//==============================================================
//=--------------List all Scrolls for each spell---------------=
//==============================================================
//=----------I did not make this list i took the list----------=
//=------------from another in The script library--------------=
//=-------------------Thank you Kadoba!!-----------------------=
//=http://www.runuo.com/community/resources/fill-spellbook.57/-=
//==============================================================
if not listexists 'scrolls'
@createlist 'scrolls'
endif
if 'list' 'scrolls' == '0'
@pushlist 'scrolls' 0x1f2d // Reactive Armor
@pushlist 'scrolls' 0x1f2e // Clumsy
@pushlist 'scrolls' 0x1f2f // Create Food
@pushlist 'scrolls' 0x1f30 // Feeblemind
@pushlist 'scrolls' 0x1f31 // Heal
@pushlist 'scrolls' 0x1f32 // Magic Arrow
@pushlist 'scrolls' 0x1f33 // Night Sight
@pushlist 'scrolls' 0x1f34 // Weaken
@pushlist 'scrolls' 0x1f35 // Agility
@pushlist 'scrolls' 0x1f36 // Cunning
@pushlist 'scrolls' 0x1f37 // Cure
@pushlist 'scrolls' 0x1f38 // Harm
@pushlist 'scrolls' 0x1f39 // Magic Trap
@pushlist 'scrolls' 0x1f3a // Magic Untrap
@pushlist 'scrolls' 0x1f3b // Protection
@pushlist 'scrolls' 0x1f3c // Strength
@pushlist 'scrolls' 0x1f3d // Bless
@pushlist 'scrolls' 0x1f3e // Fireball
@pushlist 'scrolls' 0x1f3f // Magic Lock
@pushlist 'scrolls' 0x1f40 // Poison
@pushlist 'scrolls' 0x1f41 // Telekinesis
@pushlist 'scrolls' 0x1f42 // Teleport
@pushlist 'scrolls' 0x1f43 // Unlock
@pushlist 'scrolls' 0x1f44 // Wall of Stone
@pushlist 'scrolls' 0x1f45 // Arch Cure
@pushlist 'scrolls' 0x1f46 // Arch Protection
@pushlist 'scrolls' 0x1f47 // Curse
@pushlist 'scrolls' 0x1f48 // Fire Field
@pushlist 'scrolls' 0x1f49 // Greater Heal
@pushlist 'scrolls' 0x1f4a // Lightning
@pushlist 'scrolls' 0x1f4b // Mana Drain
@pushlist 'scrolls' 0x1f4c // Recall
@pushlist 'scrolls' 0x1f4d // Blade Spirit
@pushlist 'scrolls' 0x1f4e // Dispel Field
@pushlist 'scrolls' 0x1f4f // Incognito
@pushlist 'scrolls' 0x1f50 // Magic Reflection
@pushlist 'scrolls' 0x1f51 // Mind Blast
@pushlist 'scrolls' 0x1f52 // Paralyze
@pushlist 'scrolls' 0x1f53 // Poison Field
@pushlist 'scrolls' 0x1f54 // Summon Creature
@pushlist 'scrolls' 0x1f55 // Dispel
@pushlist 'scrolls' 0x1f56 // Energy Bolt
@pushlist 'scrolls' 0x1f57 // Explosion
@pushlist 'scrolls' 0x1f58 // Invisibility
@pushlist 'scrolls' 0x1f59 // Mark
@pushlist 'scrolls' 0x1f5a // Mass Curse
@pushlist 'scrolls' 0x1f5b // Paralyze Field
@pushlist 'scrolls' 0x1f5c // Reveal
@pushlist 'scrolls' 0x1f5d // Chain Lightning
@pushlist 'scrolls' 0x1f5e // Energy Field
@pushlist 'scrolls' 0x1f5f // Flamestrike
@pushlist 'scrolls' 0x1f60 // Gate Travel
@pushlist 'scrolls' 0x1f61 // Mana Vampire
@pushlist 'scrolls' 0x1f62 // Mass Dispel
@pushlist 'scrolls' 0x1f63 // Meteor Swarm
@pushlist 'scrolls' 0x1f64 // Polymorph
@pushlist 'scrolls' 0x1f65 // Earthquake
@pushlist 'scrolls' 0x1f66 // Energy Vortex
@pushlist 'scrolls' 0x1f67 // Ressurrection
@pushlist 'scrolls' 0x1f68 // Summon Air Elemental
@pushlist 'scrolls' 0x1f69 // Summon Daemon
@pushlist 'scrolls' 0x1f6a // Summon Earth Elemental
@pushlist 'scrolls' 0x1f6b // Summon Fire Elemental
@pushlist 'scrolls' 0x1f6c // Summon Water Elemental
endif
//===============================================================
//=-------Basically telling the script when to meditate---------=
//===============================================================
if mana < Mana[0]
useskill 'meditation'
while not mana == maxmana
endwhile
endif
//===============================================================
//=-----------------Checks for Blank Scrolls.-------------------=
//===============================================================
if not @findtype '0xef3' 'any' 'backpack'
sysmsg '#### No Scrolls###'
stop
endif
//===============================================================
//=---Checks for Scribe Pens, if finding one is uses the pen.---=
//===============================================================
if @usetype '0xfbf' 'any' 'backpack'
waitforgump '0x38920abd' '5000'
else
sysmsg '####No Pens ####' '23'
stop
endif
//==============================================================
//=-----------------Gump Buttons to be pressed.----------------=
//==============================================================
if not @findtype scrolls[0] 0 'backpack'
replygump '0x38920abd' Circle[0]
waitforgump '0x38920abd' '5000'
replygump '0x38920abd' Spells[0]
waitforgump '0x38920abd' '5000'
pause 900
endif
//==============================================================
//=------------Checks for Scroll to be placed in book----------=
//==============================================================
if @movetype scrolls[0] 'backpack' 'spellbook' 0 0 0 'any' '1'
pause '1000'
poplist 'Spells' 'front'
poplist 'scrolls' 'front'
endif
//==============================================================
//=--------After Finishing a complete circle of spells---------=
//=-----This changes the Spell Circle and When to meditate.----=
//==============================================================
if list 'Spells' == 0
poplist 'Circle' 'front'
poplist 'Mana' 'front'
endif
//==============================================================
//=----This stops the script when completeing a full book.-----=
//==============================================================
if list 'scrolls' == 0
unsetalias 'spellbook'
sysmsg 'Spell Book Should Be Full' '23'
organizer 'Spellbook Destock' 'backpack' 'Reg Container'
stop
endif
 
Last edited:

MB

Knight
how would you make the script that MB posted check for what scrolls are in the book already?
You can't but it will just make them and move on to the next after failing to add it to the book.

I just added a small edit to the script so that it won't craft if you already have the scroll in your pack. So if you run it once on a partial book and then on an empty book, it will use all the already crafted scrolls.
 
Top