Xinum
Never Give Up!
- Joined
- Dec 23, 2009
- Messages
- 578
- Reaction score
- 66
[MS] Yalahar Werewolves
Code:
<Settings>
<Information>
<Author>soder</Author>
<ScriptName>Vengoth Werewolves</ScriptName>
<Vocation>Druid/Sorcerer</Vocation>
<LevelRequired>90+</LevelRequired>
<Version>1.0</Version>
</Information>
<Alerts>
<Player>
<OnScreen>
<PlaySound>no</PlaySound>
<FlashClient>no</FlashClient>
<PauseBot>no</PauseBot>
<Disconnect>no</Disconnect>
<SafeList>null</SafeList>
</OnScreen>
<Attacking>
<PlaySound>yes</PlaySound>
<FlashClient>yes</FlashClient>
<PauseBot>no</PauseBot>
<Disconnect>no</Disconnect>
<SafeList>null</SafeList>
</Attacking>
</Player>
<Creature />
<Item />
<Message>
<PrivateMessage>
<PlaySound>no</PlaySound>
<FlashClient>no</FlashClient>
<PauseBot>no</PauseBot>
<Disconnect>no</Disconnect>
<SafeList>null</SafeList>
</PrivateMessage>
<Advanced>
<PlaySound>no</PlaySound>
<FlashClient>no</FlashClient>
<PauseBot>no</PauseBot>
<Disconnect>no</Disconnect>
<Screenshot>no</Screenshot>
</Advanced>
<Raid>
<PlaySound>no</PlaySound>
<FlashClient>no</FlashClient>
<PauseBot>no</PauseBot>
<Disconnect>no</Disconnect>
<Warnings>All</Warnings>
</Raid>
</Message>
<Capacity>
<Value>100</Value>
<PlaySound>no</PlaySound>
<FlashClient>no</FlashClient>
<PauseBot>no</PauseBot>
<Disconnect>no</Disconnect>
</Capacity>
<StandTime>
<Value>30000</Value>
<PlaySound>no</PlaySound>
<FlashClient>no</FlashClient>
<PauseBot>no</PauseBot>
<Disconnect>no</Disconnect>
</StandTime>
<Disconnect>
<PlaySound>no</PlaySound>
<FlashClient>no</FlashClient>
<PauseBot>no</PauseBot>
</Disconnect>
<Enabled>yes</Enabled>
</Alerts>
<Healer>
<Rules>
<Exura-Vita>
<HealRange>0 to 30 %</HealRange>
<ManaRange>160 to all</ManaRange>
<HealMethod>Ultimate Healing</HealMethod>
<ExtraCondition>No condition</ExtraCondition>
<CooldownControl>yes</CooldownControl>
<CheckItem>no</CheckItem>
<SpamRate>200 to 400</SpamRate>
<Enabled>yes</Enabled>
</Exura-Vita>
<Exura-Gran>
<HealRange>30 to 65 %</HealRange>
<ManaRange>70 to all</ManaRange>
<HealMethod>Intense Healing</HealMethod>
<ExtraCondition>No condition</ExtraCondition>
<CooldownControl>yes</CooldownControl>
<CheckItem>no</CheckItem>
<SpamRate>200 to 400</SpamRate>
<Enabled>yes</Enabled>
</Exura-Gran>
<Exura>
<HealRange>66 to 88 %</HealRange>
<ManaRange>20 to all</ManaRange>
<HealMethod>Light Healing</HealMethod>
<ExtraCondition>No condition</ExtraCondition>
<CooldownControl>yes</CooldownControl>
<CheckItem>no</CheckItem>
<SpamRate>200 to 400</SpamRate>
<Enabled>yes</Enabled>
</Exura>
<ManaPotion>
<HealRange>0 to 100 %</HealRange>
<ManaRange>0 to 70 %</ManaRange>
<HealMethod>Great Mana Potion</HealMethod>
<ExtraCondition>No condition</ExtraCondition>
<CooldownControl>yes</CooldownControl>
<CheckItem>no</CheckItem>
<SpamRate>200 to 400</SpamRate>
<Enabled>yes</Enabled>
</ManaPotion>
</Rules>
<PingCompensation>10</PingCompensation>
<Enabled>yes</Enabled>
</Healer>
<FriendHealer>
<Rules />
<Enabled>no</Enabled>
</FriendHealer>
<Refiller>
<Rules />
<Enabled>no</Enabled>
</Refiller>
<HotKeys>
<List>
<ShowBot>
<Script>showbot()</Script>
<MainKey>66</MainKey>
<ComboKey>Alt</ComboKey>
<Enabled>yes</Enabled>
</ShowBot>
<PauseBot>
<Script>local cavebot = getsettings("Settings/CaveBot/Enabled")
local targeting = getsettings("Settings/Targeting/Enabled")
if cavebot == 'no' or targeting == 'no' then
setcavebot('on')
settargeting('on')
setlooting('on')
else
setcavebot('off')
settargeting('off')
setlooting('off')
end
wait(500)</Script>
<MainKey>19</MainKey>
<ComboKey>None</ComboKey>
<Enabled>yes</Enabled>
</PauseBot>
<ShowClient>
<Script>focusclient()</Script>
<MainKey>84</MainKey>
<ComboKey>Alt</ComboKey>
<Enabled>yes</Enabled>
</ShowClient>
<ShowSettings>
<Script>showsettings()</Script>
<MainKey>83</MainKey>
<ComboKey>Alt</ComboKey>
<Enabled>yes</Enabled>
</ShowSettings>
</List>
<Condition>Client focus required</Condition>
<Enabled>yes</Enabled>
</HotKeys>
<Actions>
<List>
<EnergyRing>
<Script>if (maround(3, "Werewolf") > 1) then
if (ring == 0) then
moveitems("energy ring","all","ring",1)
end
else
if (ring == 3088) then
moveitems(3088,"ring","all",1)
end
end</Script>
<SpamRate>800 to 1000</SpamRate>
<Enabled>yes</Enabled>
</EnergyRing>
<StrikeSpells>
<Script>if ((target.id > 0) and (target.hppc >= 1) and (target.isshootable) and (target.dist <= 3)) then
if ULTIMATE_STRIKE then
if (VOCATION:lower() == "sorcerer") then
if (cancast("exori max flam")) and ((target.hppc > 10)) and (target.hppc < 20) then
cast("exori max flam")
end
elseif (VOCATION:lower() == "druid") then
if (cancast("exori max frigo")) and ((target.hppc > 10)) and (target.hppc < 20) then
cast("exori max frigo")
end
end
end
if (VOCATION:lower() == "sorcerer") then
if (cancast("exori gran flam")) and (target.name ~= "War Wolf") then
cast("exori gran flam")
elseif (cancast("exori flam")) then
cast("exori flam")
end
elseif (VOCATION:lower() == "druid") then
if (cancast("exori gran frigo")) and (target.name ~= "War Wolf") then
cast("exori gran frigo")
elseif (cancast("exori frigo")) then
cast("exori frigo")
end
end
end</Script>
<SpamRate>200 to 400</SpamRate>
<Enabled>yes</Enabled>
</StrikeSpells>
<DropFlasks>
<Script>local currentflask = itemcount(285) + itemcount(284) + itemcount(283)
if (maround(2) == 0) and (lootbodies == false) and (currentflask > 10)
then
pausewalking(1000)
moveitems(283,SUPPLY_BACKPACK,'ground',50)
pausewalking(1000)
moveitems(284,SUPPLY_BACKPACK,'ground',50)
pausewalking(1000)
moveitems(285,SUPPLY_BACKPACK,'ground',50)
wait(5000)
end</Script>
<SpamRate>800 to 1000</SpamRate>
<Enabled>yes</Enabled>
</DropFlasks>
<SafeBank>
<Script>local NPCS_MESSAGES = getnewmessages("NPCs")
local NPCS_MESSAGES_QUANTITY = NPCS_MESSAGES.count - 1
for INDEX = 0, NPCS_MESSAGES_QUANTITY do
if (NPCS_MESSAGES[NPCS_MESSAGES_QUANTITY - INDEX].text:find("There is not enough gold on your account.")) then
setcavebot("off")
settargeting("off")
setsettings("Settings\\Alerts\\Disconnect\\PlaySound", "no")
wait(5000, 10000)
closetibia()
end
end</Script>
<SpamRate>800 to 1000</SpamRate>
<Enabled>yes</Enabled>
</SafeBank>
<Haste>
<Script>if (HASTE_VENGOTH) and not (pzone) and not (hasted) then
if (HASTE_SPELL == "utani gran hur") then
if (cancast(HASTE_SPELL)) and (mp >= 100) then
cast(HASTE_SPELL)
end
elseif (HASTE_SPELL == "utani hur") then
if (cancast(HASTE_SPELL)) and (mp >= 60) then
cast(HASTE_SPELL)
end
end
end</Script>
<SpamRate>800 to 1000</SpamRate>
<Enabled>no</Enabled>
</Haste>
<Settings>
<Script>if (MANA_NAME:lower() == "mana potion") and not (getsettings("Settings\\Healer\\Rules\\ManaPotion\\HealMethod") == "Mana Potion") then
setsettings("Settings\\Healer\\Rules\\ManaPotion\\HealMethod","Mana Potion")
elseif (MANA_NAME:lower() == "strong mana potion") and not (getsettings("Settings\\Healer\\Rules\\ManaPotion\\HealMethod") == "Strong Mana Potion") then
setsettings("Settings\\Healer\\Rules\\ManaPotion\\HealMethod","Strong Mana Potion")
elseif (MANA_NAME:lower() == "great mana potion") and not (getsettings("Settings\\Healer\\Rules\\ManaPotion\\HealMethod") == "Great Mana Potion") then
setsettings("Settings\\Healer\\Rules\\ManaPotion\\HealMethod","Great Mana Potion")
end
if (USE_MOUNT) and (getsettings("Settings\\Cavebot\\Settings\\AutoMount") == "no") then
setsettings("Settings\\Cavebot\\Settings\\AutoMount","yes")
elseif not (USE_MOUNT) and (getsettings("Settings\\Cavebot\\Settings\\AutoMount") == "yes") then
setsettings("Settings\\Cavebot\\Settings\\AutoMount","no")
end
if (cap < 130) and (getsettings("Settings\\Looting\\List\\goldcoin\\Destination") == "10") then
setsettings("Settings\\Looting\\List\\goldcoin\\Destination","10")
elseif (cap >= 130) and (getsettings("Settings\\Looting\\List\\goldcoin\\Destination") == "10") then
setsettings("Settings\\Looting\\List\\goldcoin\\Destination","03")
end
if (not pzone) and (WORLD_TYPE:lower() == "open") then
setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","no")
end
if (posz == 7) and (getsettings("Settings\\Looting\\Enabled") == "yes") then
setlooting("no")
elseif (posz >= 6) and (getsettings("Settings\\Looting\\Enabled") == "no") then
setlooting("yes")
end
if (RUST_REMOVER) and (getsettings("Settings\\Looting\\List\\rustyarmor\\Destination") == "ground") then
setsettings("Settings\\Looting\\List\\rustyarmor\\Destination","02")
elseif not (RUST_REMOVER) and (getsettings("Settings\\Looting\\List\\rustyarmor\\Destination") == "02") then
setsettings("Settings\\Looting\\List\\rustyarmor\\Destination","ground")
end</Script>
<SpamRate>1000 to 2000</SpamRate>
<Enabled>yes</Enabled>
</Settings>
<Rust-Remover>
<Script>local rust_items = {'chain armor', 'scale armor', 'brass armor', 'plate armor', 'plate legs', 'brass legs'}
local rusty = {8895, 8896, 8898, 8899}
if maround(3,"Werewolf") == 0 then
for i,j in ipairs(rusty) do
if RUST_REMOVER and itemcount(j) > 0 and itemcount("flask of rust remover") > 0 then
useitemon("flask of rust remover",j,LOOT_BACKPACK)
wait(2000)
elseif RUST_REMOVER and itemcount(j) > 0 and itemcount("flask of rust remover") == 0 then
moveitems(8895, LOOT_BACKPACK, 'ground', 1)
end
end
for _, v in ipairs(rust_items) do
if itemcount( v ) > 0 then
moveitems(v, LOOT_BACKPACK, 'ground', 1)
wait(1000, 2000)
break
end
end
end</Script>
<SpamRate>800 to 1000</SpamRate>
<Enabled>yes</Enabled>
</Rust-Remover>
<Screenshot-Death>
<Script>if hppc < 10 then
screenshot(name.." "..string.gsub(date(), "/", "_").." "..string.gsub(time(), ":", "."))
wait(1000)
end</Script>
<SpamRate>100 to 100</SpamRate>
<Enabled>yes</Enabled>
</Screenshot-Death>
</List>
<Setup>-- Right click here to open the setup --
----------------------------------------
-- [[ Backpacks ]] --
MAIN_BACKPACK = "Moon Backpack"
SUPPLY_BACKPACK = "Brocade Backpack"
LOOT_BACKPACK = "Yellow Backpack"
GOLD_BACKPACK = "Beach Backpack"
-- [[ Depot ]] --
MAIN_BP_DP = "Backpack" -- BP with 20 backpacks
STACK_BP_DP = "Golden Backpack" -- BP for stacks
LOOT_BP_DP = "Camouflage Backpack" -- BP for items
RUST_BP = "brocade bag" -- Backpack in depot containing rust removers
FOOD_BP = "red backpack" -- Backpack in depot containing food
ENERGY_RING_BP = "orange backpack" -- Backpack in depot containing energy rings
TAKE_RUST_REMOVERS = true
RUST_QUANTITY = 15 -- Amount of rust removers to bring
TAKE_FOOD = true
FOOD_NAME = "brown mushroom"
FOOD_QUANTITY = 100 -- Amount of food to bring
TAKE_ENERGY_RINGS = true
-- [[ Supplies ]] --
MANA_NAME = "great mana potion"
MANA_QUANTITY = 200 -- Amount to buy
MANA_LEAVE = 50
-- [[ Hunting ]] --
WORLD_TYPE = "open" -- open/optional
VOCATION = "sorcerer" -- sorcerer/druid
HUNT_WALK_METHOD = "Map Clicks" --Map Clicks/Arrows Keys
ULTIMATE_STRIKE = true -- Exori max flam/frigo target when it got low HP
PAYER_ALARM = true -- Player on screen alarm?
CAP_LEAVE = 50
STAMINA_MIN = 900 -- Leave spawn & logout
-- [[ Refill ]] --
HASTE_VENGOTH = true -- Haste at treelings?
HASTE_SPELL = "utani gran hur"
-- [[ Misc ]] --
RUST_REMOVER = true -- Unrust items
USE_MOUNT = false
MINIMIZE_EQUIP = false -- Minimize equipment
-- [[ Others ]] --
SOFT_BOOTS = true -- Refill soft boots?
BOOTS_NAME = "boots of haste"</Setup>
<Enabled>yes</Enabled>
</Actions>
<CaveBot>
<Waypoints>
<CreatedBySoder>Stand 32786 31247 7</CreatedBySoder>
<w006>Action 32786 31247 6 setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","yes")</w006>
<w001>Stand 32786 31248 7</w001>
<w000>Action 32786 31247 6 if posz ~= 6 then; gotolabel("CreatedBySoder");end</w000>
<w002>Stand 32784 31247 6</w002>
<w004>Action 32784 31247 6 closewindows();wait(700,900);openitem(MAIN_BACKPACK,"back");wait(700,900);if MINIMIZE_EQUIP then; minimizewindows("equip");end;wait(700,900);openitem(LOOT_BACKPACK,MAIN_BACKPACK);wait(700,900);resizewindows()</w004>
<w005>Action 32784 31247 6 if windowcount(LOOT_BACKPACK) == 0 then; gotolabel("w002");end</w005>
<w003>Action 32784 31247 6 local CONFIG = {; LOOT_BACKPACK = LOOT_BACKPACK,; ; STACKABLE_BACKPACK = STACK_BP_DP,; STACKABLE_BACKPACK_AMOUNT = 2,; ; NOT_STACKABLE_BACKPACK = LOOT_BP_DP,; NOT_STACKABLE_BACKPACK_AMOUNT = 18,; ; DEPOSIT_ITEMS = {"stone skin amulet","time ring","platinum amulet","relic sword","epee","bonebreaker","dreaded cleaver","werewolf fur","wolf paw","ultimate health potion","berserk potion","paladin armor","knight armor","crown armor"},;};;local NOT_STACKABLE_LAST_ON_TO, ITEM_INDEX = 0, 1;local LOOT = {};;for i = 0,#CONFIG.DEPOSIT_ITEMS do; if itemcount(CONFIG.DEPOSIT_ITEMS[i]) > 0 then; table.insert(LOOT,CONFIG.DEPOSIT_ITEMS[1]); end;end;if #LOOT > 0 and table.find(CONFIG.DEPOSIT_ITEMS, LOOT[1]) then; setsettings("Settings\\Cavebot\\Settings\\OpenNextBp","no"); wait(700,900); reachgrounditem("depot"); wait(700,900); openitem("depot"); wait(700,900); openitem(3502, "locker"); wait(700,900); openitem(MAIN_BP_DP, 3502); wait(700,900); while (#CONFIG.DEPOSIT_ITEMS >= ITEM_INDEX) do; if (type(CONFIG.DEPOSIT_ITEMS[ITEM_INDEX]) == "string") then; local ITEM_ID = itemid(CONFIG.DEPOSIT_ITEMS[ITEM_INDEX]); ; if (ITEM_ID > 0) then; CONFIG.DEPOSIT_ITEMS[ITEM_INDEX], ITEM_INDEX = ITEM_ID, ITEM_INDEX + 1; else; table.remove(CONFIG.DEPOSIT_ITEMS, ITEM_INDEX); end; elseif (type(CONFIG.DEPOSIT_ITEMS[ITEM_INDEX]) == "number") then; if (CONFIG.DEPOSIT_ITEMS[ITEM_INDEX] > 0) then; ITEM_INDEX = ITEM_INDEX + 1; else; table.remove(CONFIG.DEPOSIT_ITEMS, ITEM_INDEX); end; else; table.remove(CONFIG.DEPOSIT_ITEMS, ITEM_INDEX); end; end;; while (true) do; for _, DEPOSIT_ITEM in ipairs(CONFIG.DEPOSIT_ITEMS) do; if (itemcount(DEPOSIT_ITEM, CONFIG.LOOT_BACKPACK) > 0) then; if (itemproperty(DEPOSIT_ITEM).isCumulative) then; local STACKABLE_LAST_ON_TO = 0; ; while (CONFIG.STACKABLE_BACKPACK_AMOUNT > STACKABLE_LAST_ON_TO) do; local ITEM_COUNT_BEFORE = itemcount(DEPOSIT_ITEM, CONFIG.LOOT_BACKPACK); ; moveitemsonto(DEPOSIT_ITEM, "all", CONFIG.STACKABLE_BACKPACK, 100, STACKABLE_LAST_ON_TO) wait(500, 1000); ; local ITEM_COUNT_AFTER = itemcount(DEPOSIT_ITEM, CONFIG.LOOT_BACKPACK); ; if (ITEM_COUNT_BEFORE == ITEM_COUNT_AFTER and ITEM_COUNT_AFTER > 0) then; STACKABLE_LAST_ON_TO = STACKABLE_LAST_ON_TO + 1; elseif (ITEM_COUNT_AFTER == 0) then; break; end; end; else; while (CONFIG.NOT_STACKABLE_BACKPACK_AMOUNT > NOT_STACKABLE_LAST_ON_TO) do; local ITEM_COUNT_BEFORE = itemcount(DEPOSIT_ITEM, CONFIG.LOOT_BACKPACK); ; moveitemsonto(DEPOSIT_ITEM, "all", CONFIG.NOT_STACKABLE_BACKPACK, 100, NOT_STACKABLE_LAST_ON_TO) wait(500, 1000); ; local ITEM_COUNT_AFTER = itemcount(DEPOSIT_ITEM, CONFIG.LOOT_BACKPACK); ; if (ITEM_COUNT_BEFORE == ITEM_COUNT_AFTER and ITEM_COUNT_AFTER > 0) then; NOT_STACKABLE_LAST_ON_TO = NOT_STACKABLE_LAST_ON_TO + 1; elseif (ITEM_COUNT_AFTER == 0) then; break; end; end; end; end; end; ; if (itemcount(CONFIG.LOOT_BACKPACK, CONFIG.LOOT_BACKPACK) > 0) then; openitem(CONFIG.LOOT_BACKPACK, CONFIG.LOOT_BACKPACK, false) wait(2000, 3000); else; break; end; wait(100); end; setsettings("Settings\\Cavebot\\Settings\\OpenNextBp","if cavebot enabled");end</w003>
<w156>Action 32785 31244 6 if TAKE_RUST_REMOVERS then; closewindows(); while (windowcount(MAIN_BACKPACK) == 0) do; closewindows() wait(500,1000); openitem(MAIN_BACKPACK,"back") wait(500,1000); end; local RUST_AMOUNT = (RUST_QUANTITY - itemcount("flask of rust remover",MAIN_BACKPACK)); reachgrounditem("depot"); wait(700,900); openitem("depot"); wait(700,900); openitem(3502, "locker"); wait(700,900); while (windowcount(RUST_BP) == 0) do; openitem(RUST_BP, 3502) wait(1000); end; while (itemcount("flask of rust remover",MAIN_BACKPACK) < RUST_QUANTITY) and (windowcount(RUST_BP) > 0) do; moveitems("flask of rust remover", RUST_BP, MAIN_BACKPACK, RUST_AMOUNT) wait(700, 900); end;end</w156>
<w101>Action 32791 31244 6 if TAKE_FOOD then; while (windowcount(MAIN_BACKPACK) == 0) do; closewindows() wait(500,1000); openitem(MAIN_BACKPACK,"back") wait(500,1000); end; local FOOD_AMOUNT = (FOOD_QUANTITY - itemcount(FOOD_NAME,MAIN_BACKPACK)); reachgrounditem("depot"); wait(700,900); openitem("depot"); wait(700,900); openitem(3502, "locker"); wait(700,900); while (windowcount(FOOD_BP) == 0) do; openitem(FOOD_BP, 3502) wait(1000); end; while (itemcount(FOOD_NAME,MAIN_BACKPACK) < FOOD_QUANTITY) and (windowcount(FOOD_BP) > 0) do; moveitems(FOOD_NAME, FOOD_BP, MAIN_BACKPACK, FOOD_AMOUNT) wait(700,900); end;end</w101>
<w158>Action 32791 31244 6 if TAKE_ENERGY_RINGS then; closewindows(); while (windowcount(MAIN_BACKPACK) == 0) or (windowcount(SUPPLY_BACKPACK) == 0) do; closewindows() wait(500,1000); openitem(MAIN_BACKPACK,"back") wait(500,1000); openitem(SUPPLY_BACKPACK,MAIN_BACKPACK,true)wait(500,1000); end; if itemcount("energy ring", SUPPLY_BACKPACK) < 2 then; reachgrounditem("depot"); wait(700,900); openitem("depot"); wait(700,900); openitem(3502, "locker"); wait(700,900); while (windowcount(ENERGY_RING_BP) == 0) do; openitem(ENERGY_RING_BP, 3502) wait(1000); end; while (itemcount("energy ring", SUPPLY_BACKPACK) < 2) and (windowcount(ENERGY_RING_BP) > 0) do; moveitems("energy ring", ENERGY_RING_BP, SUPPLY_BACKPACK, 1) wait(1000); end; end;end</w158>
<w007>Stand 32792 31247 6</w007>
<w008>Action 32792 31247 6 closewindows();wait(700,900);openitem(MAIN_BACKPACK,"back");wait(700,900);if MINIMIZE_EQUIP then; minimizewindows("equip");end;wait(700,900);openitem(SUPPLY_BACKPACK,MAIN_BACKPACK, true);wait(700,900);resizewindows()</w008>
<w009>Action 32792 31247 6 if (windowcount(SUPPLY_BACKPACK) == 0) or (windowcount(MAIN_BACKPACK) == 0) then; gotolabel("w007");end</w009>
<w010>Stand 32796 31246 6</w010>
<w011>Action 32796 31246 6 setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","no")</w011>
<w067>Stand 32797 31246 6</w067>
<w068>Action 32824 31254 7 setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","no")</w068>
<w012>Node 32816 31254 7</w012>
<w013>Node 32829 31248 7</w013>
<w014>Action 32829 31248 7 setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","yes")</w014>
<w015>Stand 32825 31247 7</w015>
<w016>Stand 32825 31247 6</w016>
<bank>Action 32825 31248 7 if islocation() then; local MANA_MONEY = (positive(MANA_QUANTITY - itemcount(MANA_NAME)) * itemcost(MANA_NAME)); local SOFT_MONEY = (10000 * itemcount(itemid("worn soft boots")) + 500); local EXTRA = 1000; local TOTAL = MANA_MONEY + SOFT_MONEY + EXTRA;; depositall(); npcsay("withdraw "..TOTAL) wait(1000); npcsay("yes") wait(1000); npcsay("balance") wait(1000);else; gotolabel("w067");end</bank>
<check_gold>Action 32825 31248 7 local MANA_MONEY = (positive(MANA_QUANTITY - itemcount(MANA_NAME)) * itemcost(MANA_NAME));local SOFT_MONEY = (10000 * itemcount(itemid("worn soft boots")) + 500);local EXTRA = 1000;local TOTAL = MANA_MONEY + SOFT_MONEY + EXTRA;;if gold() < TOTAL then; gotolabel("w015");end;;if WORLD_TYPE == "open" then; setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","no");end;if (stamina <= STAMINA_MIN) and (pzone) then; logout();end</check_gold>
<w017>Node 32830 31242 7</w017>
<w018>Node 32818 31234 7</w018>
<w019>Node 32798 31234 7</w019>
<w020>Stand 32790 31239 7</w020>
<w021>Stand 32789 31239 6</w021>
<w022>Action 32789 31238 5 if islocation() then; local CURRENT_MANAS = itemcount(MANA_NAME); wait(500,1000); sellflasks(); wait(500); AMOUNT = MANA_QUANTITY - CURRENT_MANAS ; while AMOUNT > 0 do ; buyitems(MANA_NAME, AMOUNT) ; wait(500,1000) ; moveitems(MANA_NAME,SUPPLY_BACKPACK, 200) ; wait(300,400) ; AMOUNT = AMOUNT-100; end;else; gotolabel("w017");end</w022>
<w023>Stand 32789 31239 5</w023>
<w024>Stand 32790 31239 6</w024>
<w025>Action 32790 31240 7 if islocation() then; if itemcount(MANA_NAME) < MANA_QUANTITY then; gotolabel("w013"); end;else; gotolabel("w023");end</w025>
<w026>Node 32800 31234 7</w026>
<w027>Node 32801 31249 7</w027>
<w028>Action 32801 31249 7 if (itemcount(itemid("worn soft boots")) == 0) or not (SOFT_BOOTS) then; gotolabel("SoftsDone");end</w028>
<w029>Stand 32802 31255 7</w029>
<w030>Node 32810 31263 6</w030>
<w034>Node 32814 31272 6</w034>
<w035>Action 32814 31272 6 setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","yes")</w035>
<w031>Stand 32817 31274 6</w031>
<w032>Action 32817 31274 6 if not islocation() then; gotolabel("RefillSofts");end</w032>
<w033>Action 32817 31275 6 useitem(4912, 32817, 31275, 6);useitem(4912, 32817, 31275, 6)</w033>
<w036>Ladder 32815 31277 6</w036>
<w037>Node 32816 31279 5</w037>
<w038>Action 32816 31279 5 if not islocation(10) then; gotolabel("w033");end;reachcreature("Karith");wait(1000,1300);say("hi");wait(2200,3300);npcsay("venore");wait(300,500);npcsay("yes");wait(300,500)</w038>
<w039>Action 32954 32023 6 if islocation(3) then; reachcreature("Captain Fearless"); wait(1000); say("hi"); wait(2200,3300); npcsay("kick"); setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","no");else; gotolabel("w038");end</w039>
<w040>Node 32954 32037 6</w040>
<w041>Node 32954 32051 6</w041>
<w042>Node 32954 32064 6</w042>
<w043>Node 32954 32080 6</w043>
<w044>Node 32949 32098 6</w044>
<w045>Stand 32952 32108 6</w045>
<w046>Action 32952 32108 6 if islocation() then; say("hi"); wait(2200,3300); npcsay("soft boots"); wait(400,500); npcsay("yes"); addhudsupplie("Soft Boots", 1);else; gotolabel("w040");end</w046>
<w049>Node 32954 32067 6</w049>
<w050>Node 32954 32050 6</w050>
<w051>Node 32954 32037 6</w051>
<w052>Node 32954 32025 6</w052>
<w047>Action 32954 32025 6 if islocation(2) then; setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","yes"); reachcreature("Captain Fearless"); wait(1000); say("hi"); wait(2200,3300); npcsay("yalahar"); wait(300,400); npcsay("yes");else; gotolabel("w049");end</w047>
<w048>Action 32816 31272 6 if not islocation() then; gotolabel("w047");end</w048>
<w053>Stand 32815 31272 6</w053>
<w054>Action 32815 31272 6 setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","no")</w054>
<w055>Node 32809 31260 6</w055>
<w056>Stand 32802 31256 6</w056>
<w057>Action 32802 31254 7 if posz ~= 7 then; gotolabel("w055");end</w057>
<SoftsDone>Node 32802 31254 7</SoftsDone>
<w058>Node 32816 31254 7</w058>
<w059>Node 32832 31260 7</w059>
<w060>Stand 32833 31263 7</w060>
<w061>Stand 32833 31265 6</w061>
<w062>Action 32833 31266 5 if not islocation() then; gotolabel("SoftsDone");end</w062>
<w063>Use 32832 31266 5</w063>
<w064>Stand 32834 31270 5</w064>
<w065>Stand 32834 31272 6</w065>
<w066>Action 32834 31273 7 if not islocation(2) then; gotolabel("w063");end</w066>
<w069>Node 32834 31276 7</w069>
<w070>Action 32836 31280 7 cast("utana vid")</w070>
<w071>Node 32833 31293 7</w071>
<w072>Node 32833 31314 7</w072>
<w073>Node 32837 31328 7</w073>
<w074>Node 32836 31338 7</w074>
<w075>Node 32836 31357 7</w075>
<w076>Stand 32836 31366 7</w076>
<w077>Action 32836 31366 7 if not islocation(2) then; gotolabel("w071");end;setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","no");;while (windowcount() < 4) do; closewindows(); wait(1000); openitem(MAIN_BACKPACK,"back"); wait(1000); if MINIMIZE_EQUIP then; minimizewindows("equip"); end; wait(1000); openitem(SUPPLY_BACKPACK,MAIN_BACKPACK,true); wait(1000); resizewindows(); wait(1000); openitem(LOOT_BACKPACK,MAIN_BACKPACK,true); wait(1000); openitem(GOLD_BACKPACK,MAIN_BACKPACK,true); wait(1000); resizewindows(); wait(1000); resizewindows(); wait(1000); resizewindows();end</w077>
<w078>Action 32836 31366 7 reachcreature("Harlow");wait(1000);say("hi");wait(2200,3300);npcsay("vengoth");wait(500,700);npcsay("yes");wait(500,700);npcsay("yes");wait(500,700)</w078>
<w079>Action 32857 31549 7 if not islocation(5) then; gotolabel("w075");end;setsettings("Settings\\Targeting\\Monsters\\Werewolf\\OnlyIfTrapped","yes");setsettings("Settings\\Actions\\List\\Haste\\Enabled","yes");setsettings("Settings\\Cavebot\\Pathfinding\\WalkingMethod","Map Clicks");wait(100)</w079>
<w080>Node 32866 31549 7</w080>
<w081>Node 32885 31540 7</w081>
<w082>Node 32891 31525 7</w082>
<w083>Node 32895 31514 7</w083>
<w084>Node 32905 31508 7</w084>
<w085>Node 32914 31509 7</w085>
<w086>Node 32923 31505 7</w086>
<w087>Node 32936 31505 7</w087>
<w088>Node 32949 31506 7</w088>
<w089>Node 32958 31501 7</w089>
<w090>Node 32968 31501 7</w090>
<w091>Stand 32980 31496 7</w091>
<w092>Action 32980 31496 7 if islocation(3) then; if PLAYER_ALARM then; setsettings("Settings\\Alerts\\Player\\OnScreen\\PlaySound", "yes"); setsettings("Settings\\Alerts\\Player\\OnScreen\\FlashClient", "yes"); end; wait(100); setsettings("Settings\\Actions\\List\\Haste\\Enabled","no") wait(100); moveitems("soft boots", "all", "boots", 1) wait(100); setsettings("Settings\\Cavebot\\Pathfinding\\WalkingMethod",HUNT_WALK_METHOD) wait(100);else; gotolabel("w080");end;wait(100)</w092>
<w093>Stand 32980 31495 7</w093>
<w094>Action 32980 31494 6 if posz ~= 6 then; gotolabel("w090");end</w094>
<w095>Stand 32979 31494 6</w095>
<w096>Action 32979 31494 6 wait(3000);setsettings("Settings\\Targeting\\Monsters\\Werewolf\\OnlyIfTrapped","no")</w096>
<Start>Stand 32980 31494 6</Start>
<w097>Node 32986 31498 6</w097>
<w098>Node 33000 31488 6</w098>
<w099>Node 33003 31479 6</w099>
<w100>Node 32991 31470 6</w100>
<w102>Node 32993 31466 6</w102>
<w103>Node 32991 31458 6</w103>
<w104>Node 32986 31451 6</w104>
<w105>Node 32987 31442 6</w105>
<w106>Node 32996 31443 6</w106>
<w155>Node 32997 31444 6</w155>
<w107>Node 32991 31457 6</w107>
<w108>Node 33006 31462 6</w108>
<w109>Node 33008 31467 6</w109>
<w110>Node 32994 31458 6</w110>
<w111>Node 32991 31469 6</w111>
<w112>Node 32994 31480 6</w112>
<w113>Node 32988 31482 6</w113>
<w114>Node 32981 31494 6</w114>
<UpFromMainFloor>Stand 32998 31455 7</UpFromMainFloor>
<w157>Stand 32980 31495 7</w157>
<w115>Action 32981 31494 6 if (posz == 7) then; gotolabel("UpFromMainFloor");end;if (itemcount(MANA_NAME) > MANA_LEAVE) and (cap > CAP_LEAVE) and (stamina > STAMINA_MIN) and (posz == 6) then; gotolabel("Start");end</w115>
<Leaving>Stand 32980 31495 6</Leaving>
<w117>Action 32980 31496 7 if posz ~= 7 then; gotolabel("Leaving");end;wait(100);moveitems(BOOTS_NAME, "all", "boots", 1);wait(100);setsettings("Settings\\Cavebot\\Pathfinding\\WalkThroughPlayers","no");wait(100);setsettings("Settings\\Targeting\\Monsters\\Werewolf\\OnlyIfTrapped","yes");wait(100);setsettings("Settings\\Alerts\\Player\\OnScreen\\PlaySound", "no");wait(100);setsettings("Settings\\Alerts\\Player\\OnScreen\\FlashClient", "no");wait(100);setsettings("Settings\\Cavebot\\Pathfinding\\WalkingMethod","Map Clicks");wait(100);cast("utana vid");wait(100);setsettings("Settings\\Actions\\List\\Haste\\Enabled","yes");wait(100);</w117>
<w116>Node 32973 31501 7</w116>
<w118>Node 32967 31502 7</w118>
<w119>Node 32962 31501 7</w119>
<w120>Node 32955 31501 7</w120>
<w121>Node 32949 31505 7</w121>
<w122>Node 32939 31506 7</w122>
<w123>Node 32924 31511 7</w123>
<w124>Node 32911 31514 7</w124>
<w125>Node 32901 31518 7</w125>
<w126>Node 32892 31522 7</w126>
<w127>Node 32888 31535 7</w127>
<w128>Node 32885 31539 7</w128>
<w129>Node 32871 31547 7</w129>
<w130>Stand 32857 31549 7</w130>
<w131>Action 32857 31549 7 setsettings("Settings\\Actions\\List\\Haste\\Enabled","no");if islocation(2) then; reachcreature("Harlow"); wait(1000); say("hi"); wait(2200,3300); npcsay("go"); wait(500,700); npcsay("yes");end</w131>
<w132>Action 32837 31364 7 if not islocation(5) then; gotolabel("125");end;cast(SPELL_NAME)</w132>
<w133>Node 32836 31360 7</w133>
<w134>Node 32836 31352 7</w134>
<w135>Node 32836 31342 7</w135>
<w136>Node 32837 31328 7</w136>
<w137>Node 32833 31320 7</w137>
<w138>Node 32834 31317 7</w138>
<w139>Node 32834 31306 7</w139>
<w140>Node 32835 31298 7</w140>
<w141>Node 32835 31289 7</w141>
<w142>Node 32835 31277 7</w142>
<w143>Stand 32834 31272 7</w143>
<w144>Stand 32834 31270 6</w144>
<w145>Stand 32832 31270 5</w145>
<w146>Action 32832 31270 5 if not islocation() then; gotolabel("w137");end</w146>
<w147>Use 32832 31269 5</w147>
<w148>Stand 32834 31265 5</w148>
<w149>Stand 32834 31263 6</w149>
<w150>Action 32834 31262 7 if not islocation(5) then; gotolabel("w147");end</w150>
<w151>Node 32828 31254 7</w151>
<w152>Node 32812 31254 7</w152>
<w153>Node 32800 31249 7</w153>
<w154>Node 32794 31247 7</w154>
</Waypoints>
<Pathfinding>
<SpecialAreas />
<WalkThroughPlayers>no</WalkThroughPlayers>
<WalkingMethod>Map Clicks</WalkingMethod>
<MapWalkDistance>20 to 50</MapWalkDistance>
<WalkableIds>140;404;831;832;833;834;883;2118;2119;2120;2121;2122;2123;2124;2125;2126;2127;2131;2132;2133;2134;2135;2314;2315;2316;2319;2346;2347;2348;2349;2350;2351;2352;2353;2354;2355;2356;2357;2358;2359;2360;2361;2362;2363;2364;2365;2366;2367;2368;2369;2370;2371;2372;2373;2374;2375;2376;2377;2378;2379;2380;2381;2382;2383;2384;2385;2418;2419;2420;2421;2422;2423;2424;2425;2426;2431;2432;2433;2434;2441;2442;2443;2444;2469;2471;2472;2473;2478;2480;2481;2482;2483;2484;2485;2486;2519;2523;2775;2776;2777;2778;2779;2780;2781;2782;2783;2784;2785;2786;2787;2788;2789;2790;2791;2792;2793;2794;2795;2796;2797;2798;2799;2800;2801;2802;2803;2804;2805;2806;2807;2808;2809;2810;2811;2812;2981;2983;2982;2984;2985;2987;2988;3503;3504;3514;3807;5086;5087;5088;6114;6115;6355;6356;6357;6358;6359;6360;6361;6362;6371;6372;7864;8455;8763;9061;9062;10207;10209;10216;10286;10287;10288;11009;11800;11801;11802;11803;11804;11805;11806;11807;11808;11809;11810</WalkableIds>
</Pathfinding>
<Settings>
<Rope>3003</Rope>
<Shovel>3457</Shovel>
<Pick>3456</Pick>
<Machete>3308</Machete>
<NodeRange>4</NodeRange>
<Priority>Looting</Priority>
<OpenNextBp>if cavebot enabled</OpenNextBp>
<AutoMount>no</AutoMount>
<Anti-idle>no</Anti-idle>
<EatFood>yes</EatFood>
<FoodToEat>3725;3587;3600;3595;3589;3598;8014;3583;3606;3578;3592;3582;3577;3593;3586;3585;3581;3723</FoodToEat>
<PauseOnDeath>yes</PauseOnDeath>
</Settings>
<Enabled>no</Enabled>
</CaveBot>
<Looting>
<List>
<Relic-sword>
<Id>7383</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</Relic-sword>
<Dreaded-cleaver>
<Id>7419</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</Dreaded-cleaver>
<Epee>
<Id>3326</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</Epee>
<Bonebreaker>
<Id>7428</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</Bonebreaker>
<Platinum-amulet>
<Id>3055</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</Platinum-amulet>
<time-ring>
<Id>3053</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</time-ring>
<stone-skin-amulet>
<Id>3081</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</stone-skin-amulet>
<berserk-potion>
<Id>7439</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</berserk-potion>
<ultimate-health-potion>
<Id>7643</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</ultimate-health-potion>
<wolf-paw>
<Id>5897</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</wolf-paw>
<werewolf-fur>
<Id>10317</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</werewolf-fur>
<brown-mushroom>
<Id>3725</Id>
<Destination>00</Destination>
<AlarmOn>No Alarm</AlarmOn>
</brown-mushroom>
<goldcoin>
<Id>3031</Id>
<Destination>03</Destination>
<AlarmOn>No Alarm</AlarmOn>
</goldcoin>
<rustyarmor>
<Id>8895</Id>
<Destination>02</Destination>
<AlarmOn>No Alarm</AlarmOn>
</rustyarmor>
</List>
<Condition>Targeting corpses</Condition>
<Style>After melee kill</Style>
<Range>10</Range>
<EatFood>yes</EatFood>
<Enabled>no</Enabled>
</Looting>
<Targeting>
<Monsters>
<Werewolf>
<Categories>-</Categories>
<Danger>0</Danger>
<ListSettings>
<Setting0>
<Count>Any</Count>
<HpRange>11 to 100 %</HpRange>
<Stance>No movement</Stance>
<Avoid>None</Avoid>
<Distance>0</Distance>
<Attack>Attack</Attack>
<ListSpell />
<SpellRate>500 to 1000</SpellRate>
<AttackMode>Stand/Defensive</AttackMode>
</Setting0>
<Setting1>
<Count>Any</Count>
<HpRange>0 to 11 %</HpRange>
<Stance>Reach</Stance>
<Avoid>None</Avoid>
<Distance>0</Distance>
<Attack>Attack</Attack>
<ListSpell />
<SpellRate>500 to 1000</SpellRate>
<AttackMode>Stand/Defensive</AttackMode>
</Setting1>
</ListSettings>
<Looting>yes</Looting>
<MustAttackMe>no</MustAttackMe>
<OnlyIfTrapped>no</OnlyIfTrapped>
</Werewolf>
<War-Wolf>
<Categories>-</Categories>
<Danger>0</Danger>
<ListSettings>
<Setting0>
<Count>Any</Count>
<HpRange>0 to 100 %</HpRange>
<Stance>Reach</Stance>
<Avoid>None</Avoid>
<Distance>0</Distance>
<Attack>Attack</Attack>
<ListSpell />
<SpellRate>500 to 1000</SpellRate>
<AttackMode>No Change</AttackMode>
</Setting0>
</ListSettings>
<Looting>yes</Looting>
<MustAttackMe>no</MustAttackMe>
<OnlyIfTrapped>yes</OnlyIfTrapped>
</War-Wolf>
<Haunted-Treeling>
<Categories>-</Categories>
<Danger>0</Danger>
<ListSettings>
<Setting0>
<Count>Any</Count>
<HpRange>0 to 100 %</HpRange>
<Stance>No movement</Stance>
<Avoid>None</Avoid>
<Distance>0</Distance>
<Attack>Attack</Attack>
<ListSpell />
<SpellRate>500 to 1000</SpellRate>
<AttackMode>No Change</AttackMode>
</Setting0>
</ListSettings>
<Looting>yes</Looting>
<MustAttackMe>no</MustAttackMe>
<OnlyIfTrapped>yes</OnlyIfTrapped>
</Haunted-Treeling>
<Slime>
<Categories>-</Categories>
<Danger>0</Danger>
<ListSettings>
<Setting0>
<Count>Any</Count>
<HpRange>0 to 100 %</HpRange>
<Stance>No movement</Stance>
<Avoid>None</Avoid>
<Distance>0</Distance>
<Attack>Attack</Attack>
<ListSpell />
<SpellRate>500 to 1000</SpellRate>
<AttackMode>No Change</AttackMode>
</Setting0>
</ListSettings>
<Looting>yes</Looting>
<MustAttackMe>no</MustAttackMe>
<OnlyIfTrapped>yes</OnlyIfTrapped>
</Slime>
</Monsters>
<Settings>
<ListOrder>7</ListOrder>
<Health>9</Health>
<Proximity>3</Proximity>
<Danger>5</Danger>
<PlayerOnScreenSecurity>Do nothing</PlayerOnScreenSecurity>
<CooldownControl>yes</CooldownControl>
<CheckItem>no</CheckItem>
<MustBeReachable>yes</MustBeReachable>
<MustBeShootable>no</MustBeShootable>
</Settings>
<Enabled>yes</Enabled>
</Targeting>
<Hud>
<List>
<MonitorMyHunting>
<Script>-- [[ INIT START ]] --
--
-- 88
-- "" ,d
-- 88
-- ,adPPYba, 88 8b,dPPYba, 88,dPYba,,adPYba, ,adPPYYba, MM88MMM ,adPPYba,
-- I8[ "" 88 88P' "Y8 88P' "88" "8a "" `Y8 88 a8P_____88
-- `"Y8ba, 88 88 88 88 88 ,adPPPPP88 88 8PP"""""""
-- aa ]8I 88 88 88 88 88 88, ,88 88, "8b, ,aa
-- Author: `"YbbdP"' 88 88 88 88 88 `"8bbdP"Y8 "Y888 `"Ybbd8"'
--
-- Monitor My Hunting!
--
-- Version: 1.0
-- Created: 7.09.2012
-- Last update: 18.09.2012
--
MONITOR_MY_HUNTING = MONITOR_MY_HUNTING or {
SCRIPT_NAME = "Monitor My Hunting",
SCRIPT_VERSION = "1.0",
CLEARED_STATS = false,
INITIALIZED = false,
}
MONITOR_MY_HUNTING.SHOW_ALL_ITEMS = false
MONITOR_MY_HUNTING.ITEMS_LIST = {
{NAME = "gold coin", VALUE = 1},
{NAME = "dreaded cleaver", VALUE = 15000},
{NAME = "epee", VALUE = 8000},
{NAME = "bonebreaker", VALUE = 10000},
{NAME = "platinum amulet", VALUE = 2500},
{NAME = "time ring", VALUE = 750},
{NAME = "stone skin amuler", VALUE = 1500},
{NAME = "berserk potion", VALUE = 500},
{NAME = "ultimate health potion", VALUE = 200},
{NAME = "wolf paw", VALUE = 70},
{NAME = "werewolf fur", VALUE = 380},
{NAME = "crown armor", VALUE = 12000},
{NAME = "knight armor", VALUE = 5000},
{NAME = "paladin armor", VALUE = 15000},
{NAME = "cat's paw", VALUE = 2000},
{NAME = "relic sword", VALUE = 25000},
}
MONITOR_MY_HUNTING.SHOW_ALL_SUPPLIES = false
MONITOR_MY_HUNTING.SUPPLIES_LIST = {
{NAME = "great mana potion", PRICE = 120},
}
-- [[ DO NOT CHANGE ANYTHING BELOW THIS LINE. ]] --
MONITOR_MY_HUNTING.TEMP_ITEMS_LIST = MONITOR_MY_HUNTING.TEMP_ITEMS_LIST or {}
MONITOR_MY_HUNTING.TEMP_SUPPLIES_LIST = MONITOR_MY_HUNTING.TEMP_SUPPLIES_LIST or {}
MONITOR_MY_HUNTING.COLORS = MONITOR_MY_HUNTING.COLORS or {
BLACK = rgbcolor(1, 1, 1),
ORANGE = rgbcolor(255, 165, 0),
BLUE = rgbcolor(30, 144, 255),
CORNSILK = rgbcolor(205, 200, 177),
WHITE = rgbcolor(255, 255, 255),
GREEN = rgbcolor(107, 142, 35),
RED = rgbcolor(178, 34, 34),
}
local function CreateMessageObject(MESSAGE_DATA)
if (type(MESSAGE_DATA) ~= "userdata") then
return setmetatable({__data = {TYPE = -1, TIME_STAMP = -1, SENDER_NAME = "", SENDER_LEVEL = -1, CONTENT = ""}}, MessageMetaTable)
else
return setmetatable({__data = {TYPE = MESSAGE_DATA.type, TIME_STAMP = Misc.ConvertToSeconds(string.sub(MESSAGE_DATA.text, 1, 5)), SENDER_NAME = MESSAGE_DATA.sender, SENDER_LEVEL = tonumber((tostring(string.match(MESSAGE_DATA.text, ".+ (%b[]): .+")):gsub("[^%d]", ""))) or 0, CONTENT = string.sub(MESSAGE_DATA.text, 7)}}, MessageMetaTable)
end
end
local function addtextshadow(DISPLAY_TEXT, X_OFFSET, Y_OFFSET, FONT_COLOR)
setfontcolor(MONITOR_MY_HUNTING.COLORS.BLACK)
addtext(DISPLAY_TEXT, X_OFFSET + 1, Y_OFFSET + 1)
setfontcolor(FONT_COLOR)
addtext(DISPLAY_TEXT, X_OFFSET, Y_OFFSET)
end
-- [[ INIT END ]] --
if (not Stats.Update()) then
local SERVER_LOG_MESSAGES = getnewmessages("Server Log")
local SERVER_LOG_MESSAGES_COUNT = SERVER_LOG_MESSAGES.count - 1
for INDEX = 0, SERVER_LOG_MESSAGES_COUNT do
local MESSAGE_OBJECT = CreateMessageObject(SERVER_LOG_MESSAGES[SERVER_LOG_MESSAGES_COUNT - INDEX])
if (MESSAGE_OBJECT:Type() == 19 and MESSAGE_OBJECT:Content():lower():match("^loot of")) then
local LOOT_INFO = Message.ParseLootMessage(MESSAGE_OBJECT, true)
if (#LOOT_INFO.NAME > 0) then
Stats.__data.MONSTERS_KILLED[LOOT_INFO.NAME] = (Stats.__data.MONSTERS_KILLED[LOOT_INFO.NAME] or 0) + 1
for _, LOOT_ITEM in ipairs(LOOT_INFO.ITEMS) do
if (Stats.__data.ITEMS_LOOTED[LOOT_ITEM.ID]) then
Stats.__data.ITEMS_LOOTED[LOOT_ITEM.ID].QUANTITY = Stats.__data.ITEMS_LOOTED[LOOT_ITEM.ID].QUANTITY + LOOT_ITEM.QUANTITY
else
Stats.__data.ITEMS_LOOTED[LOOT_ITEM.ID] = {ID = LOOT_ITEM.ID, NAME = LOOT_ITEM.NAME, QUANTITY = LOOT_ITEM.QUANTITY, VALUE = Item.GetValue(LOOT_ITEM.ID)}
end
end
end
end
end
end
local RESET_ITEMS_AND_SUPPLIES = #MONITOR_MY_HUNTING.ITEMS_LIST ~= MONITOR_MY_HUNTING.TEMP_ITEMS_LIST or #MONITOR_MY_HUNTING.SUPPLIES_LIST ~= MONITOR_MY_HUNTING.TEMP_SUPPLIES_LIST
if (not RESET_ITEMS_AND_SUPPLIES) then
for INDEX, LOOT_ITEM in ipairs(MONITOR_MY_HUNTING.ITEMS_LIST) do
if (LOOT_ITEM.NAME ~= MONITOR_MY_HUNTING.TEMP_ITEMS_LIST[INDEX].NAME or LOOT_ITEM.VALUE ~= MONITOR_MY_HUNTING.TEMP_ITEMS_LIST[INDEX].VALUE) then
RESET_ITEMS_AND_SUPPLIES = true
break
end
end
end
if (not RESET_ITEMS_AND_SUPPLIES) then
for INDEX, SUPPLY_ITEM in ipairs(MONITOR_MY_HUNTING.SUPPLIES_LIST) do
if (SUPPLY_ITEM.NAME ~= MONITOR_MY_HUNTING.TEMP_SUPPLIES_LIST[INDEX].NAME or SUPPLY_ITEM.PRICE ~= MONITOR_MY_HUNTING.TEMP_SUPPLIES_LIST[INDEX].PRICE) then
RESET_ITEMS_AND_SUPPLIES = true
break
end
end
end
if (not MONITOR_MY_HUNTING.INITIALIZED or RESET_ITEMS_AND_SUPPLIES) then
if (not MONITOR_MY_HUNTING.CLEARED_STATS) then
Stats.Clear(CLEAR_STATS_ALL)
Stats.Update()
MONITOR_MY_HUNTING.CLEARED_STATS = true
end
MONITOR_MY_HUNTING.TEMP_ITEMS_LIST, MONITOR_MY_HUNTING.TEMP_SUPPLIES_LIST = {}, {}
for _, LOOT_ITEM in ipairs(MONITOR_MY_HUNTING.ITEMS_LIST) do
local LOOT_ITEM_ID = Item.GetID(type(LOOT_ITEM.NAME) ~= "table" and LOOT_ITEM.NAME or unpack(LOOT_ITEM.NAME))
Stats.AddItemsLooted(LOOT_ITEM_ID, 0, LOOT_ITEM.VALUE)
table.insert(MONITOR_MY_HUNTING.TEMP_ITEMS_LIST, {ID = LOOT_ITEM_ID, NAME = LOOT_ITEM.NAME, VALUE = LOOT_ITEM.VALUE})
end
for _, SUPPLY_ITEM in ipairs(MONITOR_MY_HUNTING.SUPPLIES_LIST) do
local SUPPLY_ITEM_ID = Item.GetID(type(SUPPLY_ITEM.NAME) ~= "table" and SUPPLY_ITEM.NAME or unpack(SUPPLY_ITEM.NAME))
Stats.AddSuppliesUsed(SUPPLY_ITEM_ID, 0, SUPPLY_ITEM.PRICE)
table.insert(MONITOR_MY_HUNTING.TEMP_SUPPLIES_LIST, {ID = SUPPLY_ITEM_ID, NAME = SUPPLY_ITEM.NAME, PRICE = SUPPLY_ITEM.PRICE})
end
MONITOR_MY_HUNTING.INITIALIZED = true
end
setposition(Client.ClientWindow().left + 5, Client.WorldWindow().top + 5)
local Y_POSITION, INDEX, ITEMS_LOOTED_WORTH, SUPPLIES_USED_WORTH = 30, 0, 0, 0
addtextshadow(sprintf("%s v%s", MONITOR_MY_HUNTING.SCRIPT_NAME:upper(), MONITOR_MY_HUNTING.SCRIPT_VERSION), 10, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.ORANGE)
Y_POSITION = Y_POSITION + 20
addtextshadow("ITEMS LOOTED", 10, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.BLUE)
Y_POSITION = Y_POSITION + 20
for _, LOOT_ITEM in pairs(Stats.GetItemsLooted()) do
if ((MONITOR_MY_HUNTING.SHOW_ALL_ITEMS or table.find(MONITOR_MY_HUNTING.TEMP_ITEMS_LIST, LOOT_ITEM.ID, "ID")) and LOOT_ITEM.QUANTITY > 0) then
addtextshadow(((#LOOT_ITEM.NAME > 17 and sprintf("%s...", string.match(string.sub(LOOT_ITEM.NAME, 1, 17), "(.-)%s?$"))) or LOOT_ITEM.NAME):ucwords(), 10, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.CORNSILK)
addtextshadow(sprintf("%s (%sK)", Misc.FormatNumber(LOOT_ITEM.QUANTITY), tostring(math.floor(LOOT_ITEM.VALUE * LOOT_ITEM.QUANTITY / 100) / 10)), 140, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.WHITE)
INDEX, ITEMS_LOOTED_WORTH = INDEX + 1, ITEMS_LOOTED_WORTH + (LOOT_ITEM.VALUE * LOOT_ITEM.QUANTITY)
end
end
addtextshadow("Total:", 10, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.WHITE)
addtextshadow(sprintf("%s GPs", Misc.FormatNumber(ITEMS_LOOTED_WORTH)), 10 + 35, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.ORANGE)
Y_POSITION = Y_POSITION + 20
addtextshadow("SUPPLIES USED", 10, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.BLUE)
Y_POSITION = Y_POSITION + 20
for _, SUPPLY_ITEM in pairs(Stats.GetSuppliesUsed()) do
if ((MONITOR_MY_HUNTING.SHOW_ALL_SUPPLIES or table.find(MONITOR_MY_HUNTING.TEMP_SUPPLIES_LIST, SUPPLY_ITEM.ID, "ID")) and SUPPLY_ITEM.QUANTITY > 0) then
addtextshadow(((#SUPPLY_ITEM.NAME > 17 and sprintf("%s...", string.match(string.sub(SUPPLY_ITEM.NAME, 1, 17), "(.-)%s?$"))) or SUPPLY_ITEM.NAME):ucwords(), 10, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.CORNSILK)
addtextshadow(sprintf("%s (%sK)", Misc.FormatNumber(SUPPLY_ITEM.QUANTITY), tostring(math.floor(SUPPLY_ITEM.PRICE * SUPPLY_ITEM.QUANTITY / 100) / 10)), 140, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.WHITE)
INDEX, SUPPLIES_USED_WORTH = INDEX + 1, SUPPLIES_USED_WORTH + (SUPPLY_ITEM.PRICE * SUPPLY_ITEM.QUANTITY)
end
end
addtextshadow("Total:", 10, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.WHITE)
addtextshadow(sprintf("%s GPs", Misc.FormatNumber(SUPPLIES_USED_WORTH)), 10 + 35, Y_POSITION + (INDEX * 16), MONITOR_MY_HUNTING.COLORS.ORANGE)
Y_POSITION = Y_POSITION + 20
addtextshadow(sprintf("%s: %s GPs (%s K/H)", ((ITEMS_LOOTED_WORTH >= SUPPLIES_USED_WORTH and ("PROFIT")) or ("WASTE")), Misc.FormatNumber(ITEMS_LOOTED_WORTH - SUPPLIES_USED_WORTH), tostring(math.floor(((ITEMS_LOOTED_WORTH - SUPPLIES_USED_WORTH) * 3600) / (System.HuntingTime() / 1000) / 100) / 10)), 10, Y_POSITION + (INDEX * 16), ITEMS_LOOTED_WORTH >= SUPPLIES_USED_WORTH and MONITOR_MY_HUNTING.COLORS.GREEN or MONITOR_MY_HUNTING.COLORS.RED)</Script>
<RefreshRate>300</RefreshRate>
<Enabled>yes</Enabled>
</MonitorMyHunting>
</List>
<Show>If focused</Show>
<Enabled>yes</Enabled>
</Hud>
<Input>
<Keyboard>
<Mode>Simulate</Mode>
<StuckCtrlShift>If cavebot on, release after 1 sec</StuckCtrlShift>
<TypingStyle>Keyboard keys</TypingStyle>
<PressWaitTime>45 to 65</PressWaitTime>
</Keyboard>
<Mouse>
<Mode>Simulate</Mode>
<Scroll>Use mouse wheel</Scroll>
<MoveSpeed>Instantaneous</MoveSpeed>
<ClickWaitTime>30 to 50</ClickWaitTime>
</Mouse>
<OpenMenuPolicy>Confirm if cavebotting</OpenMenuPolicy>
<Enabled>yes</Enabled>
</Input>
</Settings>