Results 1 to 9 of 9

Thread: HUD Monitor location.

  1. #1
    Normal User Orexx's Avatar
    Join Date
    Oct 2012
    Posts
    592
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    64
    Rep Power
    6

    HUD Monitor location.

    Having troubles switching HUD's to my second monitor; before 2.0 I would use;

    setposition(Client.ClientWindow().left + 1500, Client.WorldWindow().top + 5)
    and it would be able to transfer my hud from Monitor 1 to Monitor 2 (SIRMATES monitor my hunting, Recent loot, General Hud).

    Now with 2.0 it doesnt seem to work.

    Is the code for that broken now?

  2. #2
    Normal User Orexx's Avatar
    Join Date
    Oct 2012
    Posts
    592
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    64
    Rep Power
    6
    Bump for any ideas

  3. #3
    Normal User Orexx's Avatar
    Join Date
    Oct 2012
    Posts
    592
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    64
    Rep Power
    6
    Bumping....

  4. #4
    iBot User jonathanjj's Avatar
    Join Date
    May 2012
    Posts
    166
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    3 Post(s)
    Reputation
    19
    Rep Power
    5
    here monitor my hunting dont work after ibot 2.0

  5. #5
    Normal User Orexx's Avatar
    Join Date
    Oct 2012
    Posts
    592
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    64
    Rep Power
    6
    Quote Originally Posted by jonathanjj View Post
    here monitor my hunting dont work after ibot 2.0
    Mine works, but randomly disappears for some reason.

    Still trying to figure out how to get it to switch monitors.

  6. #6
    Normal User Orexx's Avatar
    Join Date
    Oct 2012
    Posts
    592
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    64
    Rep Power
    6
    Bumping.....

  7. #7
    Normal User Orexx's Avatar
    Join Date
    Oct 2012
    Posts
    592
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    64
    Rep Power
    6
    Bumping again, looking for Soder, Raphael, anyone to help out.

  8. #8
    iBot User pink_panther's Avatar
    Join Date
    May 2012
    Location
    Australia
    Posts
    4,075
    Mentioned
    49 Post(s)
    Tagged
    1 Thread(s)
    Quoted
    178 Post(s)
    Reputation
    309
    Rep Power
    10
    whats the full hud.

    Personally, i dont see why you dont just put it on the primary monitor. why do you need to look at 2 tibias at the same time.

  9. #9
    Normal User Orexx's Avatar
    Join Date
    Oct 2012
    Posts
    592
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    64
    Rep Power
    6
    Quote Originally Posted by pink_panther View Post
    whats the full hud.

    Personally, i dont see why you dont just put it on the primary monitor. why do you need to look at 2 tibias at the same time.
    I guess everyone has their own opinions on how they like to do things eh? Maybe my primary isnt just Tibia? maybe Im playing another game?

    The full hud is like this;

    MMH:
    PHP 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 = "
    platinum coin", VALUE = 100},
            {NAME = "
    glacier kilt", VALUE = 11000},
            {NAME = "
    focus cape", VALUE = 6000},
            {NAME = "
    glacier amulet", VALUE = 1500},
            {NAME = "
    northwind rod", VALUE = 1500},
            {NAME = "
    serpent sword", VALUE = 900},
            {NAME = "
    small sapphire", VALUE = 250},
            {NAME = "
    stealth ring", VALUE = 200},
            {NAME = "
    life crystal", VALUE = 500},
            {NAME = "
    ring of healing", VALUE = 800},
            {NAME = "
    great mana potion", VALUE = 120},
            {NAME = "
    strong health potion", VALUE = 100},
            {NAME = "
    strong mana potion", VALUE = 80},
            {NAME = "
    sea serpent scale", VALUE = 520},
            {NAME = "
    crystalline armor", VALUE = 16000},
            {NAME = "
    leaviathan's amulet", VALUE = 3000},
        }
     
        MONITOR_MY_HUNTING.SHOW_ALL_SUPPLIES = true
        MONITOR_MY_HUNTING.SUPPLIES_LIST = {
            {NAME = "mana potion", PRICE = 50},
            {NAME = "strong mana potion", PRICE = 80},
            {NAME = "great mana potion", PRICE = 120},
            {NAME = "health potion", PRICE = 45},
            {NAME = "strong health potion", PRICE = 100},
            {NAME = "great health potion", PRICE = 190},
            {NAME = "ultimate health potion", PRICE = 310},
            {NAME = "assassin star", PRICE = 100},
            {NAME = "prismatic bolt", PRICE = 20},
            {NAME = "crystalline arrow", PRICE = 20},
            {NAME = "great fireball rune", PRICE = 45},
            {NAME = "sudden death rune", PRICE = 108},
            {NAME = "avalanche rune", PRICE = 45},
            {NAME = "icicle rune", PRICE = 30},
            {NAME = "fireball rune", PRICE = 30},
            {NAME = "thunderstorm rune", PRICE = 37},
        }
        
        -- [[ 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 + 1500, 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) 

    and I would post the General Information HUD, but its a private HUD and cannot be shared. But the MMH should suffice anyone who is looking to help.

    As you can see, this MMH HUD was altered already by me using
    PHP Code:
        MONITOR_MY_HUNTING.INITIALIZED true
    end

    setposition
    (Client.ClientWindow().left 1500Client.WorldWindow().top 5

    local Y_POSITIONINDEXITEMS_LOOTED_WORTHSUPPLIES_USED_WORTH 3000

Posting Permissions

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