Results 1 to 2 of 2

Thread: Help Huds

  1. #1
    Normal User
    Join Date
    Oct 2012
    Posts
    6
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    10
    Rep Power
    5

    Help Huds

    like the title says, my hud "monitor my hunting" doesn't work no more on the new bot, any reason why?


    this is the code i use

    Code:
    -- [[ 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 = "dirty turban", VALUE = 120},
           {NAME = "mana potion", VALUE = 50},
           {NAME = "green piece of cloth", VALUE = 2000},
           {NAME = "jewelled belt", VALUE = 180},
           {NAME = "small emerald", VALUE = 250},
           {NAME = "noble turban", VALUE = 430},
           {NAME = "strong mana potion", VALUE = 250},
           {NAME = "magma monocle", VALUE = 2500},
           {NAME = "wand of inferno", VALUE = 3000},
           {NAME = "green gem", VALUE = 5000},
           {NAME = "mystic turban", VALUE = 1000},
        }
     
    	MONITOR_MY_HUNTING.SHOW_ALL_SUPPLIES = false
    	MONITOR_MY_HUNTING.SUPPLIES_LIST = {
    		{NAME = "Great Health Potion", PRICE = 190},
    		{NAME = "Ultimate Health Potion", PRICE = 310},
    		{NAME = "Mana Potion", PRICE = 50},
    	}
    	
    	-- [[ 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().right - 434, 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)

  2. #2
    Normal User
    Join Date
    May 2012
    Posts
    30
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    9
    Rep Power
    0
    do you have sirmate's library on library folder?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •