Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Name: iBot Loot Counter HUD
- Version: v1.0.0
- Last Updated: 21 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 --]]
- 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