I have created an alias that I use to gain experience for my character. It's a big while loop that essentially does these things:
My alias works really well, but I have reached a point where my alias is so long that I can't seem to add anything more to it.
So my question is ... is there a way I can keep adding to my alias? (Like using an external editor?) I know if I go to World Settings -> Scripting -> Scripts, I can set up an external editor ... but I don't have any such option for aliases or triggers.
Here is the alias ... this version of it still has room to add more, but I can't add very many more rooms before I hit the limit.
- Make sure the character is maxed out on health items.
- Walk through dungeon, room by room to kill mobs to grind out experience.
- When the character is running low on health items, return home and repeat the loop.
My alias works really well, but I have reached a point where my alias is so long that I can't seem to add anything more to it.
So my question is ... is there a way I can keep adding to my alias? (Like using an external editor?) I know if I go to World Settings -> Scripting -> Scripts, I can set up an external editor ... but I don't have any such option for aliases or triggers.
Here is the alias ... this version of it still has room to add more, but I can't add very many more rooms before I hit the limit.
require "wait"
-- Before we do anything, make sure we are in the Apothecary
-- at Stygia. Otherwise this entire script will go very
-- wrong, very fast.
stygiaApothecary = false
allstop = false
wait.make (function ()
EnableTrigger("stygiaApothecaryCheck", true)
wait.time(0.25)
Send("look")
wait.time(0.25)
EnableTrigger("stygiaApothecaryCheck", false)
if (stygiaApothecary == true) then
advancedDungeonCount = 0
explorePath = 0
roomTime = 90
extraTime = 60
roomClearTime = 3
isRoomClearTime = 0.25
stopadp = false
EnableTrigger("bbsShutdown", true)
while (stopadp == false) do
autokill = false
werekill = false
undeadkill = false
giveup = false
-- To make sure we explore as many rooms as posible,
-- every other time we go through the dungeon, we
-- will take a slightly different path.
if (explorePath == 0) then
explorePath = 1
else
explorePath = 0
end
-- Buy and eat a ration before heading out
if (stopadp == false) then
Send("west")
wait.time(0.5)
Send("west")
wait.time(0.5)
Execute("br")
wait.time(3)
Send("east")
wait.time(0.5)
Send("east")
wait.time(0.5)
end
-- Drink a flask before heading out
if (stopadp == false) then
Send("drink flask")
wait.time (1)
end
-- This block of code is to buy and set a key at the
-- Apothecary. We try to do some checking so that we
-- don't leave without getting our key set.
if (stopadp == false) then
-- We may already have a key, and it may be set, so
-- this section of the code tries to drop a key (in
-- case we do have one) so that it gets reset. If we
-- did drop a key, we will pick it back up and reset
-- it rather than buy a new one.
needKey = false
EnableTrigger("dropKeyCheck", true)
Send("drop key")
wait.time (0.5)
if (needKey == true) then
Execute("sk")
wait.time (0.5)
else
Send("get key")
wait.time(0.5)
Send("rub key")
wait.time(0.5)
end
EnableTrigger("dropKeyCheck", false)
end
-- This block of code is to make sure we are topped out
-- on flasks before we go. We always drop 1 flask at
-- the end to make sure we have inventory space to pick
-- something up later.
if (stopadp == false) then
Send("get flask")
wait.time (1)
Send("get flask")
wait.time (1)
Send("get flask")
wait.time (1)
Execute("bf")
wait.time (10)
Send("drop flask")
wait.time (1)
Execute("countflasks")
wait.time (1)
end
-- This trigger will restart the loop if we end up walking
-- into a wall. If we walk into a wall, it means our path
-- got of sync, so we need to start over.
if (stopadp == false and flaskcount > 0) then
EnableTrigger("advancedDungeonGoneWrong", true)
end
-- Walk to the Dungeon entrance
if (stopadp == false and flaskcount > 0) then
Send("west")
wait.time(0.5)
Send("north")
wait.time(0.5)
end
-- Turn on autokill
if (stopadp == false and flaskcount > 0) then
autokill = true
-- There are no were creatures in the advanced realm,
-- so there's no need to have werekill on.
werekill = false
undeadkill = true
giveup = false
end
-- Enter the dungeon here
if (stopadp == false and flaskcount > 0) then
Send("down")
wait.time(isRoomClearTime)
Execute("isroomclear")
end
-- Take this path if explorePath is 0
if (explorePath == 0) then
if (stopadp == false and flaskcount > 0) then
if (noMobs == false) then
wait.time (roomTime)
else
wait.time(roomClearTime)
end
end
if (stopadp == false and flaskcount > 0) then
Execute("nextRoom west")
wait.time(isRoomClearTime)
Execute("isroomclear")
end
if (stopadp == false and flaskcount > 0) then
if (noMobs == false) then
wait.time (roomTime)
else
wait.time(roomClearTime)
end
end
if (stopadp == false and flaskcount > 0) then
Execute("nextRoom south")
wait.time(isRoomClearTime)
Execute("isroomclear")
end
-- Take this path if explorePath is 1
else
if (stopadp == false and flaskcount > 0) then
if (noMobs == false) then
wait.time (roomTime)
else
wait.time(roomClearTime)
end
end
-- Dozens of more rooms were cut out at this point.
-- Return to Stygia and repeat the loop
if (stopadp == false and flaskcount > 0) then
Send("rub key")
wait.time (1)
advancedDungeonCount = advancedDungeonCount + 1
end
end -- while
else
ColourNote("white", "blue", "Not in Stygia. Exiting...")
end -- if
end) -- wait