Signup Now
Page 1 of 3 123 LastLast
Results 1 to 10 of 28
  1. #1
    Moderator Leonardo's Avatar
    Join Date
    Dec 2013
    Location
    Brazil
    Posts
    758
    Reputation
    77
    Rep Power
    22

    Private Messages

    Private Messages



    Configuration

    It'll show all the private messages sent and received on your screen.

    Configuration

    Change Sent to true to show messages sent by your character on the display, set it to false to hide them.
    Change Received to true to show messages received by your character on the display, set it to false to hide them.
    Change MaxLines to the number of lines you want to display.
    Change Scroll to true to enable mouse scroll between messages on the display, set it to false to ignore this feature.
    Change Length to the maximum text length you want to display.

    Code

    init start

    -- VERSION 2.2.0 --

    local Config = {
    Sent = true,
    Received = true,
    MaxLines = 8,
    Scroll = true,
    Length = 60,
    }

    -- DO NOT EDIT BELOW THIS LINE --

    PrivateMessages = PrivateMessages or {}

    local HUD = {
    Restart = -1,
    Start = 1,
    End = Config.MaxLines,
    strStart = 1,
    strEnd = 60,
    strMax = 60,
    Position = {$worldwin.right + 3, $worldwin.bottom - (Config.MaxLines * 16)},
    Auxiliar = {0, 0},
    ColumnWidth = {125, 12},
    Moving = false,
    Blue = {0.0, color(36, 68, 105, 20), 0.23, color(39, 73, 114, 20), 0.76, color(21, 39, 60, 20)},
    Black = {0.0, color(75, 75, 75, 20), 0.23, color(45, 45, 45, 20), 0.76, color(19, 19, 19, 20)},
    Orange = {0.0, color(145, 95, 0, 20), 0.23, color(158, 104, 0, 20), 0.76, color(84, 55, 0, 20)},
    Green = {0.0, color(65, 96, 12, 20), 0.23, color(67, 99, 13, 20), 0.76, color(36, 52, 6, 20)},
    Red = {0.0, color(90, 12, 15, 20), 0.23, color(98, 13, 17, 20), 0.76, color(52, 6, 9, 20)},
    }

    local tempPos = $chardb:getvalue('AWE.PM', 'POSITION')

    if tempPos then
    tempPos = tempPos:explode(":")
    HUD.Position = {tonumber(tempPos[1]), tonumber(tempPos[2])}
    end

    filterinput(true, true, true, Config.Scroll) setfillstyle('gradient', 'linear', 2, 0, 0, 0, 14) setfontstyle('Tahoma', 8, 50, 0xFFFFFF, 1, color(0, 0, 0, 50))

    function inputevents(e)
    if e.type == IEVENT_RMOUSEDOWN or e.type == IEVENT_MMOUSEDOWN then
    HUD.Moving, HUD.Auxiliar = true, {$cursor.x - HUD.Position[1], $cursor.y - HUD.Position[2]}
    elseif e.type == IEVENT_RMOUSEUP or e.type == IEVENT_MMOUSEUP then
    HUD.Moving = false
    elseif e.type == IEVENT_MOUSEWHEEL then
    if iskeypressed(0x12) then
    if e.value2 < 0 then
    HUD.strStart, HUD.strEnd = HUD.strStart - 1, HUD.strEnd - 1
    elseif e.value2 > 0 then
    HUD.strStart, HUD.strEnd = HUD.strStart + 1, HUD.End + 1
    end
    if HUD.strStart > HUD.strMax then
    HUD.strStart, HUD.strEnd = 1, 30
    end
    else
    if #PrivateMessages > Config.MaxLines then
    if e.value2 < 0 then
    if HUD.Start <= #PrivateMessages - Config.MaxLines then
    HUD.Start, HUD.End = HUD.Start + 1, HUD.End + 1
    end
    elseif e.value2 > 0 then
    if HUD.End > Config.MaxLines then
    HUD.Start, HUD.End = HUD.Start - 1, HUD.End - 1
    end
    end
    end
    end
    elseif e.type == IEVENT_LMOUSEUP then
    if e.elementid == HUD.Restart then
    PrivateMessages = {}
    end
    end
    end

    local function displaytext(text, x, y, c)
    addgradcolors(unpack(c))
    local w, h = measurestring(text)
    HUD.ColumnWidth[1], HUD.ColumnWidth[2] = math.max(HUD.ColumnWidth[1], w or 0), math.max(HUD.ColumnWidth[2], h or 0)
    local t = drawroundrect(x, y, HUD.ColumnWidth[1] + 7, HUD.ColumnWidth[2], 2, 2)
    drawtext(text, x + 2, y + math.floor(HUD.ColumnWidth[2] / 4) - 2.4)
    return t
    end

    init end

    if HUD.Moving then
    auto(10)
    HUD.Position = {$cursor.x - HUD.Auxiliar[1], $cursor.y - HUD.Auxiliar[2]}
    $chardb:setvalue('AWE.PM', 'POSITION', table.concat(HUD.Position, ':'))
    end

    foreach newmessage m do
    if m.channel:lower() ~= 'npcs' and (Config.Sent and m.type == MSG_SENT) or (Config.Received and m.type == MSG_PVT) then
    table.insert(PrivateMessages, {text = string.format("%s %s [%s]: %s", os.date('%H:%M'), m.sender, m.level, m.content), color = m.type == MSG_PVT and HUD.Orange or HUD.Black})
    end
    end

    local x, y, w, h = 0, 0, 0, 0

    displaytext(" Private Messages:", x, y, HUD.Blue)
    addgradcolors(unpack(#PrivateMessages > 0 and HUD.Green or HUD.Red))

    w, h = measurestring("RESET")
    HUD.ColumnWidth[1] = math.max(HUD.ColumnWidth[1], w)
    HUD.Restart = drawroundrect(x - w + HUD.ColumnWidth[1], y, w + 7, h, 2, 2)

    drawtext("RESET", 5 + x - w + HUD.ColumnWidth[1], y + math.floor(h / 4) - 2.4)

    y = y + 20

    for i = HUD.Start, HUD.End do
    if PrivateMessages[i] then
    local msg = PrivateMessages[i].text
    local h, j = math.max(1, HUD.strStart), math.max(msg:len(), HUD.strEnd)
    HUD.strMax = math.max(HUD.strMax, msg:len())
    if h == 2 then
    msg = "." .. msg:sub(h, j)
    elseif h == 3 then
    msg = ".." .. msg:sub(h, j)
    elseif h >= 4 then
    msg = "..." .. msg:sub(h, j)
    else
    msg = msg:sub(h, j)
    end
    displaytext(msg:fit(Config.Length or 60), x, y, PrivateMessages[i].color)

    y = y + 16
    end
    end

    setposition(HUD.Position[1], HUD.Position[2])

    Download
    Last edited by Leonardo; 03-16-2015 at 05:59 PM.

  2. #2
    Free User ralixi's Avatar
    Join Date
    Jul 2014
    Posts
    124
    Reputation
    11
    Rep Power
    20
    I've got problem with this script.
    I have to put it in Persistent , ye?

    When I try to enable it :

    14:43:19 error in Persistent script NewPersistentScript:
    ["HUD.ColumnWidth[1] = math.max(H..."]:NewPersistentScript:108 bad argument #2 to 'max' (number expected, got nil)
    stack traceback:
    ["HUD.ColumnWidth[1] = math.max(HUD.ColumnWidth[1], w)"]:NewPersistentScript:108 in user script
    Last edited by Leonardo; 08-19-2014 at 07:43 PM.

  3. #3
    Moderator Leonardo's Avatar
    Join Date
    Dec 2013
    Location
    Brazil
    Posts
    758
    Reputation
    77
    Rep Power
    22
    Quote Originally Posted by ralixi View Post
    I've got problem with this script.
    I have to put it in Persistent , ye?

    When I try to enable it :

    14:43:19 error in Persistent script NewPersistentScript:
    ["HUD.ColumnWidth[1] = math.max(H..."]:NewPersistentScript:108 bad argument #2 to 'max' (number expected, got nil)
    stack traceback:
    ["HUD.ColumnWidth[1] = math.max(HUD.ColumnWidth[1], w)"]:NewPersistentScript:108 in user script
    No, you need to put it in HUD.

  4. #4
    Free User Rickiey's Avatar
    Join Date
    Aug 2014
    Location
    The Netherlands
    Posts
    51
    Reputation
    13
    Rep Power
    20
    Thanks for this lovely script

  5. #5
    Free User
    Join Date
    Jul 2014
    Posts
    83
    Reputation
    20
    Rep Power
    20
    would be nice if it has auto scroll.

  6. #6
    Free User Banantwist's Avatar
    Join Date
    Oct 2014
    Location
    Norway
    Posts
    43
    Reputation
    10
    Rep Power
    0
    Hey there!
    How can I move this HUD to the bottom left side instead of the right side?

    What lines do I edit?

  7. #7
    Free User
    Join Date
    Mar 2014
    Posts
    24
    Reputation
    23
    Rep Power
    0
    Quote Originally Posted by Banantwist View Post
    Hey there!
    How can I move this HUD to the bottom left side instead of the right side?

    What lines do I edit?
    Just hold down your middle mouse button on the blue bar and you can drag it wherever you like

  8. #8
    Free User Banantwist's Avatar
    Join Date
    Oct 2014
    Location
    Norway
    Posts
    43
    Reputation
    10
    Rep Power
    0
    Quote Originally Posted by Dragoon View Post
    Just hold down your middle mouse button on the blue bar and you can drag it wherever you like
    You're awesome! Thanks a lot!

  9. #9
    Free User strahowski's Avatar
    Join Date
    Aug 2014
    Posts
    216
    Reputation
    27
    Rep Power
    20
    Ever since adding this HUD to a script, I've had odd crashes (bot crashing that is) within minutes of starting it.

  10. #10
    Moderator Leonardo's Avatar
    Join Date
    Dec 2013
    Location
    Brazil
    Posts
    758
    Reputation
    77
    Rep Power
    22
    Quote Originally Posted by strahowski View Post
    Ever since adding this HUD to a script, I've had odd crashes (bot crashing that is) within minutes of starting it.
    Sorry for the long delay between this response, this is a Windows problem and by far can't be fixed, the solution is to go back to v2 if you have these problems

    v2.0.0 download

 

 

Posting Permissions

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