Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Name: iBot Loot Counter HUD
- Version: v1.1
- Last Updated: 23 Jan 2014
- ]]--
- HUD = {
- TITLE = "iBot Loot Counter",
- CONFIG = {
- ORIENTATION = "right",
- START_POSITION = {35, 25},
- MAX_TEXT_LENGTH = 15,
- TEXT_DISTANCE = 115,
- LINE_DISTANCE = 12,
- },
- ITEMS =
- {
- LOOT = getlootitems(),
- SUPPLY =
- {
- {NAME = "mana potion", VALUE = 50},
- {NAME = "strong mana potion", VALUE = 80},
- {NAME = "great mana potion", VALUE = 120},
- {NAME = "health potion", VALUE = 45},
- {NAME = "strong health potion", VALUE = 100},
- {NAME = "great health potion", VALUE = 190},
- {NAME = "ultimate health potion", VALUE = 310},
- {NAME = "Assassin Star", VALUE = 100},
- {NAME = "prismatic bolt", VALUE = 20},
- {NAME = "crystalline arrow", VALUE = 20},
- {NAME = "great fireball rune", VALUE = 45},
- {NAME = "sudden death rune", VALUE = 108},
- {NAME = "avalanche rune", VALUE = 45},
- {NAME = "icicle rune", VALUE = 30},
- {NAME = "fireball rune", VALUE = 30},
- {NAME = "thunderstorm rune", VALUE = 37},
- {NAME = "Soft Boots", VALUE = 10000},
- {NAME = "Rust Remover", VALUE = 50}
- }
- },
- --[[ Just edit below if you know what you're doing --]]
- COLORS = {
- SHADOW = rgbcolor(10, 10, 10),
- TITLE = rgbcolor(255, 165, 0),
- TEXT1 = rgbcolor(205, 200, 177),
- TEXT2 = rgbcolor(255, 255, 255),
- SUBTITLE = rgbcolor(30, 144, 255),
- PROFIT = rgbcolor(107, 142, 35),
- WASTE = rgbcolor(178, 34, 34),
- },
- VERSION = "1.0"
- }
- --[[ DONT EDIT NOTHING BELOW THIS LINE --]]
- AMMO_COUNT, AMMO_COUNT_BP = AMMO_COUNT or 0, AMMO_COUNT_BP or 0
- local DISTANCE_WEAPONS, AMMUNITION, AMMO_NAME, AMMO_TYPE_COUNT, ADD_TO_HUD = {"assassin star", "enchanted spear", "hunting spear", "mean paladin spear", "royal spear", "small stone", "snowball", "spear", "throwing knife", "throwing star", "viper star"}, {"arrow", "burst arrow", "crystalline arrow", "earth arrow", "envenomed arrow", "flaming arrow", "flash arrow", "onyx arrow", "poison arrow", "shiver arrow", "sniper arrow", "tarsal arrow", "infernal bolt", "drill bolt", "power bolt", "prismatic bolt", "vortex bolt", "piercing bolt", "bolt"}, nil, 0, 0
- if (weapon ~= 0) and (table.find(DISTANCE_WEAPONS, itemname(weapon):lower())) then
- AMMO_NAME, AMMO_TYPE_COUNT = itemname(weapon) or nil, weaponamount or 0
- elseif (ammo ~= 0) and (table.find(AMMUNITION, itemname(ammo):lower())) then
- AMMO_NAME, AMMO_TYPE_COUNT = itemname(ammo) or nil, ammoamount or 0
- end
- if (AMMO_NAME ~= nil) then
- local CURRENT_AMMO_COUNT = itemcount(AMMO_NAME)
- if (AMMO_TYPE_COUNT < AMMO_COUNT) then
- ADD_TO_HUD = math.max(0, AMMO_COUNT-AMMO_TYPE_COUNT)
- elseif (AMMO_TYPE_COUNT > AMMO_COUNT) and (CURRENT_AMMO_COUNT < AMMO_COUNT_BP) then
- ADD_TO_HUD = math.max(0, (AMMO_COUNT+(AMMO_COUNT_BP-CURRENT_AMMO_COUNT))-100)
- end
- addhudsupplie(AMMO_NAME, ADD_TO_HUD)
- AMMO_COUNT, AMMO_COUNT_BP = AMMO_TYPE_COUNT, CURRENT_AMMO_COUNT
- end
- function formatnumber(n, s)
- local result, sign, before, after = '', string.match(tostring(n), '^([%+%-]?)(%d*)(%.?.*)$')
- while #before > 3 do
- result = (s or '.') .. string.sub(before, -3, -1) .. result
- before = string.sub(before, 1, -4)
- end
- return sign .. before .. result .. after
- end
- local X, Y, INDEX, TOTAL, TOTAL_LOOTED, TOTAL_WASTED = (HUD.CONFIG.ORIENTATION:lower() == "right" and worldwin.right + 10 or clientwin.left + 10) + HUD.CONFIG.START_POSITION[1], worldwin.top + 10 + HUD.CONFIG.START_POSITION[2], 1, 0, 0, 0
- setfontcolor(HUD.COLORS.TITLE)
- addtextstroke(HUD.TITLE, X, Y)
- Y = Y + 20
- -- ADDED HUNTING INFORMATION PART BY SHANP
- setfontcolor(HUD.COLORS.SUBTITLE)
- addtextstroke("HUNTING INFORMATION:", X, Y)
- Y = Y + 20
- local STATNAME = {"Level", "Exp/h (Ibot info)", "Exp/h (Tibia info)", "Exp Gained", "Exp to level", "Time to level", "Time Played", "Bank Balance", "Cursor ID", "Stamina"}
- local STATVALUE = {level, formatnumber(exphour), formatnumber(tibiaexphour), formatnumber(expgained), formatnumber(exptolevel()), timetolevel, timehunt, formatnumber(balance), cursorinfo().id, (math.floor(stamina/60)..":"..string.format("%02s", (stamina-60*math.floor(stamina/60)))) }
- for i=1, #STATNAME do
- setfontcolor(HUD.COLORS.TEXT1)
- addtextstroke(STATNAME[i], X, Y)
- setfontcolor(HUD.COLORS.TEXT2)
- if i > 9 then
- if stamina > 2400 then
- setfontcolor(HUD.COLORS.PROFIT)
- elseif stamina < 840 then
- setfontcolor(HUD.COLORS.WASTE)
- else setfontcolor(HUD.COLORS.TITLE)
- end
- end
- addtextstroke(STATVALUE[i], X+HUD.CONFIG.TEXT_DISTANCE, Y)
- Y = Y + HUD.CONFIG.LINE_DISTANCE
- end
- local ENGINE = {"Cavebot", "Looting", "Targeting"}
- local ENGINEVALUE = {cavebot, looting, targeting}
- for i=1, #ENGINE do
- setfontcolor(HUD.COLORS.TEXT1)
- addtextstroke(ENGINE[i], X, Y)
- setfontcolor(HUD.COLORS.TEXT2)
- if ENGINEVALUE[i] then
- setfontcolor(HUD.COLORS.PROFIT)
- addtextstroke("ON", X+HUD.CONFIG.TEXT_DISTANCE, Y)
- else
- setfontcolor(HUD.COLORS.WASTE)
- addtextstroke("OFF", X+HUD.CONFIG.TEXT_DISTANCE, Y)
- end
- Y = Y + HUD.CONFIG.LINE_DISTANCE
- end
- Y = Y + 20
- --- END OF ADDED PART
- setfontcolor(HUD.COLORS.SUBTITLE)
- addtextstroke("ITEMS LOOTED:", X, Y)
- Y = Y + 5
- local lootqtd = HUD.ITEMS.LOOT.count-1
- for it = 0, lootqtd do
- local ITEM = HUD.ITEMS.LOOT[it]
- if ITEM.lootmessage > 0 then
- Y = Y + HUD.CONFIG.LINE_DISTANCE
- local itemvalue = ITEM.npcsell
- if ITEM.custom ~= 0 then
- itemvalue = ITEM.custom
- end
- setfontcolor(HUD.COLORS.TEXT1)
- addtextstroke((#ITEM.NAME < HUD.CONFIG.MAX_TEXT_LENGTH and ITEM.NAME or ITEM.NAME:sub(1, HUD.CONFIG.MAX_TEXT_LENGTH) .. "..."):gsub("(%a)([%w_']*)", function(s1, s2) return s1:upper() .. s2:lower() end), X, Y)
- setfontcolor(HUD.COLORS.TEXT2)
- addtextstroke(string.format("%s (%s k)", formatnumber(ITEM.lootmessage), math.floor(ITEM.lootmessage * itemvalue / 100) / 10), X + HUD.CONFIG.TEXT_DISTANCE, Y)
- TOTAL, TOTAL_LOOTED = TOTAL + ITEM.lootmessage * itemvalue, TOTAL_LOOTED + (ITEM.lootmessage * itemvalue)
- end
- end
- Y = Y + HUD.CONFIG.LINE_DISTANCE + 2
- setfontcolor(HUD.COLORS.TEXT2)
- addtextstroke("Total: ", X, Y)
- setfontcolor(HUD.COLORS.TITLE)
- addtextstroke(formatnumber(TOTAL_LOOTED) .. " GPs", X+35, Y)
- Y = Y + 25
- setfontcolor(HUD.COLORS.SUBTITLE)
- addtextstroke("SUPPLIES USED:", X, Y)
- Y = Y + 5
- for _, ITEM in ipairs(HUD.ITEMS.SUPPLY) do
- local ITEM_USED = itemproperty(ITEM.NAME)
- if ITEM_USED.usagemessage > 0 then
- Y = Y + HUD.CONFIG.LINE_DISTANCE
- setfontcolor(HUD.COLORS.TEXT1)
- addtextstroke((#ITEM.NAME < HUD.CONFIG.MAX_TEXT_LENGTH and ITEM.NAME or ITEM.NAME:sub(1, HUD.CONFIG.MAX_TEXT_LENGTH) .. "..."):gsub("(%a)([%w_']*)", function(s1, s2) return s1:upper() .. s2:lower() end), X, Y)
- setfontcolor(HUD.COLORS.TEXT2)
- addtextstroke(string.format("%s (%sk)", formatnumber(ITEM_USED.usagemessage), math.floor(ITEM_USED.usagemessage * (ITEM.VALUE or itemvalue(ITEM.NAME)) / 100) / 10), X + HUD.CONFIG.TEXT_DISTANCE, Y)
- TOTAL, TOTAL_WASTED = TOTAL - ITEM_USED.usagemessage * (ITEM.VALUE or itemvalue(ITEM.NAME)), TOTAL_WASTED + (ITEM_USED.usagemessage * (ITEM.VALUE or itemvalue(ITEM.NAME)))
- end
- end
- Y = Y + HUD.CONFIG.LINE_DISTANCE + 2
- setfontcolor(HUD.COLORS.TEXT2)
- addtextstroke("Total: ", X, Y)
- setfontcolor(HUD.COLORS.TITLE)
- addtextstroke("-" .. formatnumber(TOTAL_WASTED) .. " GPs", X + 35, Y)
- Y = Y + 25
- setfontcolor(TOTAL_LOOTED - TOTAL_WASTED >= 0 and HUD.COLORS.PROFIT or HUD.COLORS.WASTE)
- addtextstroke(string.format("%s %s GPs (%s k/h)", TOTAL_LOOTED - TOTAL_WASTED >= 0 and "PROFIT:" or "WASTE:", formatnumber(TOTAL_LOOTED - TOTAL_WASTED), math.floor(((TOTAL_LOOTED - TOTAL_WASTED) / (tosec(timehunt) / 3600)) / 100) / 10), X, Y)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement