Get an Epic Experience with Premium

Prat 3.0

Chat & Communication Login to Add Favorites
  • 147 Likes
  • World of Warcraft
  • 96,802 Monthly Downloads
  • Supports: 6.2.3
  • 10,876,303 Total Downloads
  • Updated 02/07/2016
  • Created 07/28/2008
  • 10,598 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 3.6.5
or
Support development! **
Donate

About Prat 3.0

Prat-3.0 is a chat enhancement addon for world of warcraft 3.0.

It is made up of 30+ smaller "modules" which each provide additional functionality, and can be enabled or disabled individually.

In game, type /prat for a menu.

Bug reports: http://www.wowace.com/projects/prat-3-0/tickets/

Forum thread: http://forums.wowace.com/showthread.php?t=14004

Prat has just about every feature you can think of, and then some. Really. When I get some more time, I'll try and put together a full list (Even I have lost count)

(Thanks to Dreamsight for this partial list)

  • Change arrows, buttons, mouse scroll for chat scroll, scroll speed
  • you can add color per channel, color per lvl, color per class
  • timestamps
  • timestamp color
  • whether to show timestamp (what format the timestamp should be in)
  • whether to show players lvl
  • you can select the option for channel "stickys" (last channel you used you auto use when hitting enter, that sort of thing – or last thing someone said)
  • change the looks of the chat's editbox - as well as where it appears (you can even undock it and move it to where you'd like it to be)
  • chat fading, fading delay
  • You can change the font to a list of fonts, add an outline to it, monochrome it (if you don’t mind messing with files a bit you could prolly even add other fonts to that list)
  • change the chat frame/chat box appearance
  • set Chat history
  • set channel abbreviations
  • set brackets and color(or something instead of brackets)round player/lvl
  • alt invite option (press keyboard “alt” button and click on the player’s name to auto inv them)
  • raid icon
  • invite links
  • info keeping
  • url copying
  • full chat copying + options (html,bbcode, plain, forum) + copy button
  • allows pop-up msgs
  • enables tell target /tt
  • Alias options
  • altnames options
  • you can enable/disable all prat modules - dont have to have the ones you dont use running
  • change chat sounds (incoming and outgoing as well as per channel)

Its predecessor, Prat-2.0 has been around since the TBC release in 2006. This new version seeks to improve upon some aspects such as memory use, but still do so without creating 30+ small folders in your addon directory that you have to manage.

While trying to reduce resource utilization, it is also important to note that some people prefer the features, and don't care that an addon uses 500k more. I have been trying to isolate the most resource intensive functionality into the Prat_HighCPUUSageModules folder. You can enable or disable it per your preference.

http://static.wowace.com/content/images/25/298/WoWScrnShot_091410_175242.jpg

2016-02-07  sylvanaar  <sylvanaar@mindspring.com>

[5da43f3fa291] [3.6.5]
* modules/PlayerNames.lua services/chatsections.lua

Do not store the result of Disabiguate in the PLAYERLINK, it will obviously break it.

Comments

First Previous Page 2 of 225 Next Last
  • #3919

    why when i "copy" text" do i only get 10 lines or so?

  • #3931

    Hold down the ctrl key when clicking the copy icon. You will get more/all of the text

  • #3918

    First of all, thank you again for re-enabling Smart Group using my suggested code from before. Now, I come with a change.

    function module:SmartGroupChatType()
        local _, instanceType = IsInInstance()
        
        if IsInGroup(LE_PARTY_CATEGORY_INSTANCE) then
            if instanceType == "arena" then
                return "PARTY"
            else
                return "INSTANCE_CHAT"
            end
        elseif IsInRaid() then
            return "RAID"
        elseif IsInGroup() then
            return "PARTY"
        else return "SAY" end
        
    end

    My previous code didn't account for the difference in queued instances and home instances. This code should encompass any situation now. Even though I think arenas have instance chat, I assume they still use party chat. I don't pvp much, so I'm not quite sure of that.

    Last edited by Kanegasi on 1/28/2016 6:51:24 PM
  • #3932

    Added. Thank you for your contribution to the project!

  • #3935

    You are very welcome!

  • #3917

    please forgive, total newb here... how do i change the format of the time stamp? and I am visually challenged so I changed the font size, but need a really big chat window now... how do I resize and undock it?

     

    thank you,

     

    sammy

  • #3916

    I've been getting horrid errors repeatedly. this is the one that keeps happening captured by bugsack

     

    101x Prat-3.0-3.6.1\modules\PlayerNames.lua:1460: Usage: GetPlayerInfoByGUID("playerGUID")
    [C]: in function `GetPlayerInfoByGUID'
    Prat-3.0-3.6.1\modules\PlayerNames.lua:1460: in function `?'
    ...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:145: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:145>
    [string "safecall Dispatcher[4]"]:4: in function <[string "safecall Dispatcher[4]"]:4>
    [C]: ?
    [string "safecall Dispatcher[4]"]:13: in function `?'
    ...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:90: in function `Fire'
    Prat-3.0-3.6.1\addon\addon.lua:277: in function <Prat-3.0\addon\addon.lua:259>
    (tail call): ?
    (tail call): ?
    WIM\Modules\History-History.lua:1261: in function `func'
    WIM\Modules\History-History.lua:1175: in function `Process'
    WIM\Modules\History-History.lua:1195: in function <WIM\Modules\History.lua:1186>

    Locals:
    nil

  • #3915

    I just resurrected one of my character to play with,  and i noticed when i start to facesmash (quickly) normal 1-9 buttons to cast spells (regardless of actually being in a combat, or even having a target), my framerate drops noticeably,  and my camera movement goes a bit choppy. so i turned off every addon and it was fine, then started to enable one by one, and got choppy again at Prat3. Then did the same again, but with the modules, and PlayerNames was the one i could toggle for noticeable lagginess. Then went to its option and played the same routine over and finally found the "Color Names Everywhere" as the final culprit, so i turned that off.

    I have no error message, but if this information helps anyone,  there you go ^^

    Ps:  these buttons are macros, and do contain names as target for spells. if this is relevant.

    Last edited by temp123456 on 1/1/2016 4:13:26 AM
  • #3913

    block addon greeting messages ?

  • #3911

    Having a small issue.

    Little problem with Prat. Every time I reload the ui or start the game up the chat background has turned white. All I need to do is open the settings and hit ok as they are still correct.  The chatframe alpha in the settings does nothing to help. Have also tried many other things before resorting to posting this.

    Here is a vid I made to show you.

     

    https://www.youtube.com/watch?v=8bnlL6wucVE

  • #3910

    Message: Interface\AddOns\Prat-3.0\services\chatsections.lua:607: attempt to call field 'RAID_CLASS_COLORS' (a table value)
    Time: 12/21/15 23:22:38
    Count: 139
    Stack: Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
    Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
    (tail call): ?
    Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
    [string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>

    Locals: frame = ChatFrame10 {
    0 = <userdata>
    isUninteractable = false
    flashTimer = 0
    isInitialized = 1
    originalShow = <function> defined =[C]:-1
    tellTimer = 11147.884
    resizeButton = ChatFrame10ResizeButton {
    }
    buttonFrame = ChatFrame10ButtonFrame {
    }
    Hide = <function> defined @Interface\FrameXML\FrameLocks.lua:121
    alternativeDefaultLanguage = "Common"
    oldAlpha = 0.15686275064945
    channelList = <table> {
    }
    defaultLanguage = "Common"
    clickAnywhereButton = ChatFrame10ClickAnywhereButton {
    }
    buttonSide = "left"
    editBox = ChatFrame10EditBox {
    }
    Show = <function> defined @Interface\FrameXML\FrameLocks.lua:125
    isLocked = true
    name = "Chat 10"
    originalHide = <function> defined =[C]:-1
    zoneChannelList = <table> {
    }
    AddMessage = <function> defined @Interface\AddOns\BigDebuffs\libs\AceHook-3.0\AceHook-3.0.lua:100
    messageTypeList = <table> {
    }
    }
    event = "CHAT_MSG_CHANNEL"
    arg1 = "{g1} you are"
    arg2 = "Kronenburg-Outland"
    arg3 = ""
    arg4 = "2. Trade - City"
    arg5 = "Kronenburg"
    arg6 = ""
    arg7 = 2
    arg8 = 2
    arg9 = "Trade - City"
    arg10 = 0
    arg11 = 7195
    arg12 = "Player-1301-07C4CB5B"
    arg13 = 0
    arg14 = false
    arg15 = false
    arg16 = nil
    arg17 = nil
    type = "CHANNEL"
    info = <table> {
    colorNameByClass = false
    flashTab = false
    b = 0.75294125080109
    r = 1
    id = 18
    sticky = 1
    flashTabOnGeneral = false
    g = 0.75294125080109
    }
    s = <table> {
    GUID = "Player-1301-07C4CB5B"
    lL = ""
    Ll = ""
    nN = ""
    cC = "["
    LANGUAGE_NOSHOW = ""
    Cc = "] "
    CHANNELNUM = "2"
    ZONE = "City"
    TYPEPREFIX = ""
    PLAYERLINKDATA = ":7195:CHANNEL:2"
    PLAYERLINK = "Kronenburg"
    Zz = ""
    CHANNEL = "Trade"
    CHANLINK = "channel:channel:2"
    zZ = " - "
    NN = ""
    MESSAGE = "{g1} you are"
    }
    kill = nil
    newarg1 = "{g1} you are"
    newarg2 = "Kronenburg-Outland"
    newarg3 = ""
    newarg4 = "2. Trade - City"
    newarg5 = "Kronenburg"
    newarg6 = ""
    newarg7 = 2
    newarg8 = 2
    newarg9 = "Trade - City"
    newarg10 = 0
    newarg11 = 7195
    newarg12 = "Player-1301-07C4CB5B"
    newarg13 = 0
    newarg14 = false
    newarg15 = false
    newarg16 = nil
    newarg17 = nil
    chatGroup = "CHANNEL"
    chatTarget = "2"
    presenceID = nil
    chatget = "%s: "
    arg2 = "Kronenburg"
    arg6 = ""
    arg3 = ""
    arg9 = "Trade - City"
    arg7 = 2
    term = "g1"
    (for generator) = <function> defined =[C]:-1
    (for state) = nil
    (for control) = "{g1}"
    tag = "{g1}"
    groupIndex = 1
    groupList = "["
    (for index) = 1
    (for limit) = 2
    (for step) = 1
    i = 1
    name = "Vánishbrb-Aegwynn"
    rank = 2
    subgroup = 1
    level = 100
    class = "Rogue"
    classFileName = "ROGUE"
    (*temporary) = <table> {
    HUNTER = <table> {
    }
    WARRIOR = <table> {
    }
    PALADIN = <table> {
    }
    MAGE = <table> {
    }
    PRIEST = <table> {
    }
    WARLOCK = <table> {
    }
    SHAMAN = <table> {
    }
    DEATHKNIGHT = <table> {
    }
    DRUID = <table> {
    }
    MONK = <table> {
    }
    ROGUE = <table> {
    }
    }
    (*temporary) = "ROGUE"
    (*temporary) = "attempt to call field 'RAID_CLASS_COLORS' (a table value)"
    strsub = <function> defined =[C]:-1
    _G = <table> {
    ContainerFrame5Item7 = ContainerFrame5Item7 {
    }
    MultiCastActionButton6Cooldown = MultiCastActionButton6Cooldown {
    }
    MerchantItem9ItemButtonStock = MerchantItem9ItemButtonStock {
    }
    GetTrainerServiceTypeFilter = <function> defined =[C]:-1
    UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names."
    UNIT_NAMEPLATES_TYPE_TOOLTIP_3 = "This method avoids overlapping nameplates by spreading them out horizontally and vertically."
    AchievementFrameStatsBG = AchievementFrameStatsBG {
    }
    SetTrainerServiceTypeFilter = <function> defined =[C]:-1
    EventTraceFrameButton7HideButton = EventTraceFrameButton7H

     

    I got this error with a short freeze, any solution ? 

  • #3912

    Should be fixed now

  • #3896

    Is there a way to have two outputs for a custom filter? I would like to have a trigger send me a message through default & raid warning (to alert me to it), as the default output option doesn't really add anything that makes it stand out from normal chatter.

    Additionally, is there a way to exclude self from the filter? My macro has my filter word and it'd be really cool to not see it come through an output method!

    Last edited by Zaydene on 12/13/2015 12:31:54 AM
  • #3897

    There is a secondary output option yes. I am not sure how you are using it, but it is possible in some cases

  • #3907

    Still getting lockups w/ errors. Not sure if it's just coincidence, but I had much more errors in the 2 fights I tested it on. Had probably 10 lockups or so on a single attempt, which is more than I've had happen previously.

    Here's one of the errors. There were a lot of different ones occuring, which I'm pretty sure wasn't happening before. Anyhow, here it is:

    Message: ...e\AddOns\Blizzard_DebugTools\Blizzard_DebugTools.lua:535: script ran too long
    Time: 12/16/15 22:20:22
    Count: 18
    Stack: ...e\AddOns\Blizzard_DebugTools\Blizzard_DebugTools.lua:535: in function `ScriptErrorsFrame_OnError'
    [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
    [C]: in function `RAID_CLASS_COLORS'
    Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
    Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
    (tail call): ?
    Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
    [string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>

    Locals: message = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: attempt to call field 'RAID_CLASS_COLORS' (a table value)"
    warnType = nil
    keepHidden = nil
    stack = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
    Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
    (tail call): ?
    Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
    [string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
    "
    messageStack = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: attempt to call field 'RAID_CLASS_COLORS' (a table value)Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
    Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
    (tail call): ?
    Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
    [string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
    "
    index = 1
    (*temporary) = <table> {
     1 = "frame = ChatFrame10 {
     0 = <userdata>
     isUninteractable = false
     flashTimer = 0
     isInitialized = 1
     PageUp = <function> defined =[C]:-1
     ScrollUp = <function> defined =[C]:-1
     PageDown = <function> defined =[C]:-1
     originalShow = <function> defined =[C]:-1
     tellTimer = 141.505
     alternativeDefaultLanguage = "Orcish"
     defaultLanguage = "Orcish"
     buttonSide = "left"
     resizeButton = ChatFrame10ResizeButton {
     }
     buttonFrame = ChatFrame10ButtonFrame {
     }
     Hide = <function> defined @Interface\FrameXML\FrameLocks.lua:121
     __aleaaddonsnameTargs = true
     oldAlpha = 0.15686275064945
     channelList = <table> {
     }
     ScrollDown = <function> defined =[C]:-1
     clickAnywhereButton = ChatFrame10ClickAnywhereButton {
     }
     ScrollToBottom = <function> defined =[C]:-1
     editBox = ChatFrame10EditBox {
     }
     Show = <function> defined @Interface\FrameXML\FrameLocks.lua:125
     isLocked = true
     name = "Chat 10"
     ScrollToTop = <function> defined =[C]:-1
     originalHide = <function> defined =[C]:-1
     zoneChannelList = <table> {
     }
     AddMessage  2 = "message = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: attempt to call field 'RAID_CLASS_COLORS' (a table value)"
    warnType = false
    keepHidden = true
    stack = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
    Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
    (tail call): ?
    Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
    [string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
    "
    messageStack = "Interface\AddOns\Prat-3.0\services\chatsections.lua:607: attempt to call field 'RAID_CLASS_COLORS' (a table value)Interface\AddOns\Prat-3.0\services\chatsections.lua:607: in function `SplitChatMessage'
    Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
    (tail call): ?
    Interface\FrameXML\ChatFrame.lua:2721: in function `ChatFrame_OnEvent'
    [string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
    "
    index = 1
    (*temporary) = <ta 3 = "font = "Interface\Addons\GrizzlySharedMedia\fonts\Franc.ttf"
    (*temporary) = true
    (*temporary) = "script ran too long"
    fontTester = OmniCCOptionsConfig_FontTester {
     0 = <u

    Last edited by How2pingu on 12/16/2015 10:28:00 PM
  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Darkest Dungeon Wiki Editing Contest