diff options
Diffstat (limited to 'Data/DefaultContent/Libraries/addons/addons/chatPorter/chatPorter.lua')
-rw-r--r-- | Data/DefaultContent/Libraries/addons/addons/chatPorter/chatPorter.lua | 644 |
1 files changed, 0 insertions, 644 deletions
diff --git a/Data/DefaultContent/Libraries/addons/addons/chatPorter/chatPorter.lua b/Data/DefaultContent/Libraries/addons/addons/chatPorter/chatPorter.lua deleted file mode 100644 index 744b659..0000000 --- a/Data/DefaultContent/Libraries/addons/addons/chatPorter/chatPorter.lua +++ /dev/null @@ -1,644 +0,0 @@ ---[[ -Copyright (c) 2013, 2015, Ikonic -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. -* Neither the name of ChatPorter nor the -names of its contributors may be used to endorse or promote products -derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL IKONIC BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -]] - - -_addon.name = 'ChatPorter' -_addon.version = '1.39' -_addon.author = 'Ikonic' -_addon.commands = {'ChatPorter','cp'} - -require('tables') -require('strings') -require('chat') -config = require('config') -require('logger') - -defaults = T{} -defaults.usechatporter = true - -defaults.linkshell = T{} -defaults.linkshell.displaychat = true -defaults.linkshell.color = 41 -- 41, 70, 158, 204 -defaults.linkshell.show = true -defaults.linkshell.lines = 8 -defaults.linkshell.alpha = 255 -defaults.linkshell.red = 152 -defaults.linkshell.green = 251 -defaults.linkshell.blue = 152 -defaults.linkshell.fontname = "Arial" -defaults.linkshell.fontsize = 8 -defaults.linkshell.x = 150 -defaults.linkshell.y = 505 - -defaults.party = T{} -defaults.party.displaychat = true -defaults.party.color = 207 -- 207 -defaults.party.show = true -defaults.party.lines = 8 -defaults.party.alpha = 255 -defaults.party.red = 0 -defaults.party.green = 191 -defaults.party.blue = 255 -defaults.party.fontname = "Arial" -defaults.party.fontsize = 8 -defaults.party.x = 150 -defaults.party.y = 390 - -defaults.tell = T{} -defaults.tell.displaychat = true -defaults.tell.color = 200 -- 208 -defaults.tell.show = true -defaults.tell.lines = 8 -defaults.tell.alpha = 255 -defaults.tell.red = 255 -defaults.tell.green = 0 -defaults.tell.blue = 255 -defaults.tell.fontname = "Arial" -defaults.tell.fontsize = 8 -defaults.tell.x = 150 -defaults.tell.y = 100 - -defaults.ffochat = T{} -defaults.ffochat.displaychat = false -defaults.ffochat.color = 167 -defaults.ffochat.show = false -defaults.ffochat.lines = 8 -defaults.ffochat.alpha = 255 -defaults.ffochat.red = 255 -defaults.ffochat.green = 0 -defaults.ffochat.blue = 0 -defaults.ffochat.fontname = "Arial" -defaults.ffochat.fontsize = 4 -defaults.ffochat.x = 380 -defaults.ffochat.y = 300 - -settings = config.load(defaults) - -showlinkshell = T{} -showparty = T{} -showtell = T{} -showffochat = T{} - -specialChar = "|" -lastTellFrom = "" - -playerResolution = T{} -playerResolution.x = windower.get_windower_settings().x_res -playerResolution.y = windower.get_windower_settings().y_res - -windower.register_event('load',function () - windower.text.create("showlinkshell") - windower.text.create("showparty") - windower.text.create("showtell") - windower.text.create("showffochat") - windower.send_command('alias l2 lua command ChatPorter l2') - windower.send_command('alias p2 lua command ChatPorter p2') - windower.send_command('alias t2 lua command ChatPorter t2') - windower.send_command('alias r2 lua command ChatPorter r2') - windower.send_command('alias f1 lua command ChatPorter f1') - windower.send_command('alias f2 lua command ChatPorter f2') - windower.send_command('alias f3 lua command ChatPorter f3') - windower.send_command('alias f4 lua command ChatPorter f4') - windower.send_command('alias f5 lua command ChatPorter f5') - windower.add_to_chat(160,' Type '..string.color('//cp help',204,160)..' for a list of possible commands.') -end) - -windower.register_event('load', 'login', 'linkshell change', function() - local player = windower.ffxi.get_player() - if player then - playerName = player.name - LSname = player.linkshell - end -end) - -windower.register_event('unload',function () - windower.text.delete("showlinkshell") - windower.text.delete("showparty") - windower.text.delete("showtell") - windower.text.delete("showffochat") - windower.send_command('unalias l2') - windower.send_command('unalias p2') - windower.send_command('unalias t2') - windower.send_command('unalias r2') - windower.send_command('unalias f1') - windower.send_command('unalias f2') - windower.send_command('unalias f3') - windower.send_command('unalias f4') - windower.send_command('unalias f5') -end) - -windower.register_event('login',function (name) - settings = config.load(defaults) - show("linkshell") - show("party") - show("tell") - show("ffochat") - LSname = windower.ffxi.get_player().linkshell; - playerName = windower.ffxi.get_player().name; -end) - -function addon_command(...) - local args = {...} - local dummysettings = table.copy(settings) - if args[1] ~= nil then - comm = args[1]:lower() - if comm == 'help' then - if args[2] == nil or (args[2] ~= "detail" and args[2] ~= "textbox") then - windower.add_to_chat(55,_addon.name.." v".._addon.version..' possible commands:') - windower.add_to_chat(160,' '..string.color('//ChatPorter',204,160)..' and '..string.color('//cp',204,160)..' are both valid commands.') - windower.add_to_chat(160,' '..string.color('//cp help',204,160)..' : Lists this menu.') - windower.add_to_chat(160,' '..string.color('//cp status',204,160)..' : Shows current configuration.') - windower.add_to_chat(160,' '..string.color('//cp textbox',204,160)..' : Shows current textbox configurations.') - windower.add_to_chat(160,' '..string.color('//cp colors',204,160)..' : Shows possible color codes.') - windower.add_to_chat(160,' '..string.color('//cp toggle',204,160)..' : Toggles ChatPorter on/off.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t] [toggle|displaychat]',204,160)..' : Toggles linkshell|party|tell messages from showing or not.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t] color #',204,160)..' : Sets color of l|p|t text (acceptable values of 1-255).') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] show',204,160)..' : Toggles l|p|t textboxes from showing.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] [fontname|fn, lines, fontsize|fs, x, y, alpha|a, red|r, green|g, blue|b] #',204,160)..' : Sets l|p|t textbox specifics.') - windower.add_to_chat(160,' '..string.color('//[l2|p2|t2 name|r2] message',204,160)..' : Sends message from second character to linkshell|party|tell|reply.') - windower.add_to_chat(160,' '..string.color('//[f#|cp f#] message',204,160)..' : Sends message from second character to ffochat channel.') - windower.add_to_chat(160,' '..string.color('//cp help detail',204,160)..' : Shows detailed ChatPorter commands.') - windower.add_to_chat(160,' '..string.color('//cp help textbox',204,160)..' : Shows detailed textbox commands.') - elseif args[2] == "detail" then - windower.add_to_chat(55,' ChatPorter detailed commands:') - windower.add_to_chat(160,' '..string.color('//l2 message',204,160)..' : Sends message from second character to linkshell.') - windower.add_to_chat(160,' '..string.color('//p2 message',204,160)..' : Sends message from second character to party.') - windower.add_to_chat(160,' '..string.color('//t2 name message',204,160)..' : Sends message from second character to name in tell.') - windower.add_to_chat(160,' '..string.color('//r2 message',204,160)..' : Sends reply message from second character.') - windower.add_to_chat(160,' '..string.color('//f# message',204,160)..' : Sends message from second character to FFOChat channel #. Works for 1-5.') - windower.add_to_chat(160,' '..string.color('//cp f# message',204,160)..' : Same as f#, but for any #.') - elseif args[2] == "textbox" then - windower.add_to_chat(55,'ChatPorter textbox commands:') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] [toggle|displaychat]',204,160)..' : Toggles linkshell|party|tell|ffochat messages from showing or not.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t] color #',204,160)..' : Sets color of l|p|t text (acceptable values of 1-255).') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] show',204,160)..' : Toggles l|p|t|f textboxes from showing.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] clear',204,160)..' : Clears l|p|t|f textbox.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] lines #',204,160)..' : Sets # of lines to show in textbox.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] [fontname|fn] *',204,160)..' : Sets fontname for textbox.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] [fontsize|fs] #',204,160)..' : Sets fontsize for textbox.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] x #',204,160)..' : Sets x coordinate for textbox (acceptable values: 10-'.. playerResolution.x-10 ..').') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] y #',204,160)..' : Sets y coordinate for textbox (acceptable values: 10-'.. playerResolution.y-10 ..').') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] [alpha|a] #',204,160)..' : Sets alpha (transparency) for textbox (acceptable values: 1-255; 0=fully transparent, 255=fully visible).') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] [red|r] #',204,160)..' : Sets red value for RGB color of text in textbox.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] [green|g] #',204,160)..' : Sets green value for RGB color of text in textbox.') - windower.add_to_chat(160,' '..string.color('//cp [l|p|t|f] [blue|b] #',204,160)..' : Sets blue value for RGB color of text in textbox.') - end - elseif comm == 'status' then - showStatus() - elseif comm == 'textbox' then - showStatus('textbox') - elseif comm == 'colors' then - showColors() - elseif comm == 'toggle' then - settings.usechatporter = not settings.usechatporter - showStatus('usechatporter') - elseif S({'l2','p2','t2','r2'}):contains(comm) or comm:match('^f%d%d?$') then - com2 = table.remove(args,1) - com2mess = table.sconcat(args) - com2mess = string.gsub(com2mess,"\n","\\\92\110") - if comm == 'l2' then - windower.send_ipc_message(specialChar.."l2:"..LSname..specialChar..playerName..specialChar..com2mess) - elseif comm == 'p2' then - windower.send_ipc_message(specialChar.."p2:"..""..specialChar..playerName..specialChar..com2mess) - elseif comm == 't2' then - windower.send_ipc_message(specialChar.."t2:"..playerName..specialChar..playerName..specialChar..com2mess) - elseif comm == 'r2' then - windower.send_ipc_message(specialChar.."r2:"..playerName..specialChar..playerName..specialChar..com2mess) - elseif string.first(comm, 1) == 'f' then - windower.send_ipc_message(specialChar.."f:"..string.at(comm,2)..specialChar..playerName..specialChar..com2mess) - end - elseif comm == "l" or comm == "p" or comm == "t" or comm == "f" then - com2 = args[2] - if com2 == nil then - com2 = "toggle" - end - if comm == "l" then - comm = "linkshell" - elseif comm == "p" then - comm = "party" - elseif comm == "t" then - comm = "tell" - elseif comm == "f" then - comm = "ffochat" - end - com3 = args[3] - com3num = tonumber(args[3]) - - if com2 == "toggle" or com2 == "displaychat" then - settings[comm].displaychat = not settings[comm].displaychat - showStatus('display'..comm..'chat') - elseif com2 == "show" then - settings[comm][com2] = not settings[comm][com2] - windower.add_to_chat(160," Setting "..comm.." textbox to display: "..string.color(onOffPrint(settings[comm][com2]),204,160)) - elseif com2 == "clear" then - _G['show'..comm] = {} - elseif com2 == "fontname" or com2 == "fn" then - if com3 ~= nil then - com3 = table.slice(args,3) - com3 = tostring(table.sconcat(com3)) - settings[comm].fontname = com3 - windower.add_to_chat(160," Setting fontname: "..string.color(com3,204,160)) - else - settings[comm].fontname = defaults[comm].fontname - windower.add_to_chat(160," No fontname specified; setting default fontname.") - end - elseif com2 == "lines" then - if com3num > 8 or com3num < 1 then - settings[comm][com2] = 8 - windower.add_to_chat(160," Invalid setting. Lines must be a value from 1-8. Setting max value.") - else - settings[comm][com2] = com3num - windower.add_to_chat(160," Setting lines for "..comm.." textbox: "..string.color(tostring(com3num),204,160)) - end - elseif com2 == "fontsize" or com2 == "fs" then - if com3num ~= nil and com3num >= 4 and com3num <= 144 then - settings[comm].fontsize = com3num - windower.add_to_chat(160," Setting fontsize for "..comm.." textbox: "..string.color(tostring(com3num),204,160)) - else - settings[comm].fontsize = defaults[comm].fontsize - windower.add_to_chat(160," Invalid fontsize; acceptable values: 4-144. Setting to default.") - end - elseif com2 == "x" or com2 == "y" then - if com3num ~= nil and com3num >= 10 and com3num <= playerResolution[com2] - 10 then - settings[comm][com2] = com3num - windower.add_to_chat(160," Setting "..com2.." value for "..comm.." textbox: "..string.color(tostring(com3num),204,160)) - else - settings[comm][com2] = defaults[comm][com2] - windower.add_to_chat(160," Invalid "..com2.." value; acceptable values: 10-".. playerResolution[com2]-10 ..". Setting to default.") - end - elseif S({'color','alpha','a','red','r','green','g','blue','b'}):contains(com2) then - if com2 == "a" then - com2 = "alpha" - elseif com2 == "r" then - com2 = "red" - elseif com2 == "g" then - com2 = "green" - elseif com2 == "b" then - com2 = "blue" - end - if (com3num ~= nil) and (com3num >= 1 and com3num <= 255) then - settings[comm][com2] = com3num - if com2 == "color" then - windower.add_to_chat(160," Setting "..com2.." for "..comm..": "..string.color(tostring(com3num),204,160)) - else - windower.add_to_chat(160," Setting "..com2.." value for "..comm.." textbox: "..string.color(tostring(com3num),204,160)) - end - else - settings[comm][com2] = defaults[comm][com2] - windower.add_to_chat(160," Invalid "..com2.." value; acceptable values: 1-255. Setting default.") - end --- showStatus(_G['settings['..comm..']['..com2..']']) --- _G['show'..tbName] - end - if comm == "linkshell" or comm == "party" or comm == "tell" or comm == "ffochat" then - show(comm) - if com3 ~= nil and tostring(com3) ~= tostring(dummysettings[comm][com2]) then --- settings:save('all') -- all characters - settings:save() -- current character only - windower.add_to_chat(55,"Saving "..string.color('ChatPorter',204,55).." settings.") - elseif com2 == "show" or com2 == "toggle" or com2 == "displaychat" then - settings:save() -- current character only - windower.add_to_chat(55,"Saving "..string.color('ChatPorter',204,55).." settings.") - end - end - elseif comm:lower() == 'vprint' then - settings:vprint() - elseif comm:lower() == 'print' then - for key, value in pairs(settings) do - log(key, value) - end - elseif comm:lower() == 'dummy' then - dummysettings:vprint() - elseif comm:lower() == 'pt' then - showparty:vprint() - elseif comm:lower() == 'test' then - windower.add_to_chat(160, "") - windower.send_command("input /p party 1") - coroutine.sleep(1) - windower.send_command("input /p party 2") - coroutine.sleep(1) - windower.send_command("input /p party 3") - coroutine.sleep(1) - windower.send_command("input /p party 4") - coroutine.sleep(1) - windower.send_command("input /p party 5") - coroutine.sleep(1) - windower.send_command("input /p party 6") - coroutine.sleep(1) - windower.send_command("input /p party 7") - coroutine.sleep(1) - windower.send_command("input /p party 8") - coroutine.sleep(1) - windower.send_command("input /t <me> tell 1") - coroutine.sleep(1) - windower.send_command("input /t <me> tell 2") - coroutine.sleep(1) - windower.send_command("input /t <me> tell 3") - coroutine.sleep(1) - windower.send_command("input /t <me> tell 4") - else - windower.add_to_chat(160, " Not a valid ".._addon.name.." v".._addon.version.." command. "..string.color('//cp help',204,160).." for a list of valid commands.") - return - end - else - addon_command('help') - end -end - -windower.register_event('addon command',addon_command) - -windower.register_event('linkshell change',function (linkshell) - LSname = windower.ffxi.get_player().linkshell; -end) - -function showStatus(var) - if (var ~= nul) and var ~= "textbox" then - if var == "usechatporter" then - windower.add_to_chat(160," UseChatPorter: " .. string.color(onOffPrint(settings.usechatporter),204,160)) - elseif var == "displaylinkshellchat" then - windower.add_to_chat(160," DisplayLinkshellChat: " .. string.color(onOffPrint(settings.linkshell.displaychat),204,160)) - elseif var == "displaypartychat" then - windower.add_to_chat(160," DisplayPartyChat: " .. string.color(onOffPrint(settings.party.displaychat),204,160)) - elseif var == "displaytellchat" then - windower.add_to_chat(160," DisplayTellChat: " .. string.color(onOffPrint(settings.tell.displaychat),204,160)) - elseif var == "linkshellcolor" then - windower.add_to_chat(160," LinkshellColor: " .. string.color(tostring(settings.linkshell.color),204,160)) - elseif var == "partycolor" then - windower.add_to_chat(160," PartyColor: " .. string.color(tostring(settings.party.color),204,160)) - elseif var == "tellcolor" then - windower.add_to_chat(160," TellColor: " .. string.color(tostring(settings.tell.color),204,160)) - end - elseif var == "textbox" then - windower.add_to_chat(55, "ChatPorter textbox settings: "..string.color('linkshell',settings.linkshell.color,160).." | "..string.color('party',settings.party.color,160).." | "..string.color('tell',settings.tell.color,160).." | "..string.color('ffochat',settings.ffochat.color,160)) --- windower.add_to_chat(160, " displaychat: "..string.color(onOffPrint(settings.linkshell.displaychat),settings.linkshell.color,160).." | "..string.color(onOffPrint(settings.party.displaychat),settings.party.color,160).." | "..string.color(onOffPrint(settings.tell.displaychat),settings.tell.color,160).." | "..string.color(onOffPrint(settings.ffochat.displaychat),settings.ffochat.color,160)) --- windower.add_to_chat(160, " color: "..string.color(tostring(settings.linkshell.color),settings.linkshell.color,160).." | "..string.color(tostring(settings.party.color),settings.party.color,160).." | "..string.color(tostring(settings.tell.color),settings.tell.color,160).." | "..string.color(tostring(settings.ffochat.color),settings.ffochat.color,160)) - windower.add_to_chat(160, " show: "..string.color(onOffPrint(settings.linkshell.show),settings.linkshell.color,160).." | "..string.color(onOffPrint(settings.party.show),settings.party.color,160).." | "..string.color(onOffPrint(settings.tell.show),settings.tell.color,160).." | "..string.color(onOffPrint(settings.ffochat.show),settings.ffochat.color,160)) - windower.add_to_chat(160, " lines: "..string.color(tostring(settings.linkshell.lines),settings.linkshell.color,160).." | "..string.color(tostring(settings.party.lines),settings.party.color,160).." | "..string.color(tostring(settings.tell.lines),settings.tell.color,160).." | "..string.color(tostring(settings.ffochat.lines),settings.ffochat.color,160)) - windower.add_to_chat(160, " fontname: "..string.color(settings.linkshell.fontname,settings.linkshell.color,160).." | "..string.color(settings.party.fontname,settings.party.color,160).." | "..string.color(settings.tell.fontname,settings.tell.color,160).." | "..string.color(settings.ffochat.fontname,settings.ffochat.color,160)) - windower.add_to_chat(160, " fontsize: "..string.color(tostring(settings.linkshell.fontsize),settings.linkshell.color,160).." | "..string.color(tostring(settings.party.fontsize),settings.party.color,160).." | "..string.color(tostring(settings.tell.fontsize),settings.tell.color,160).." | "..string.color(tostring(settings.ffochat.fontsize),settings.ffochat.color,160)) - windower.add_to_chat(160, " x: "..string.color(tostring(settings.linkshell.x),settings.linkshell.color,160).." | "..string.color(tostring(settings.party.x),settings.party.color,160).." | "..string.color(tostring(settings.tell.x),settings.tell.color,160).." | "..string.color(tostring(settings.ffochat.x),settings.ffochat.color,160)) - windower.add_to_chat(160, " y: "..string.color(tostring(settings.linkshell.y),settings.linkshell.color,160).." | "..string.color(tostring(settings.party.y),settings.party.color,160).." | "..string.color(tostring(settings.tell.y),settings.tell.color,160).." | "..string.color(tostring(settings.ffochat.y),settings.ffochat.color,160)) - windower.add_to_chat(160, " alpha: "..string.color(tostring(settings.linkshell.alpha),settings.linkshell.color,160).." | "..string.color(tostring(settings.party.alpha),settings.party.color,160).." | "..string.color(tostring(settings.tell.alpha),settings.tell.color,160).." | "..string.color(tostring(settings.ffochat.alpha),settings.ffochat.color,160)) - windower.add_to_chat(160, " red: "..string.color(tostring(settings.linkshell.red),settings.linkshell.color,160).." | "..string.color(tostring(settings.party.red),settings.party.color,160).." | "..string.color(tostring(settings.tell.red),settings.tell.color,160).." | "..string.color(tostring(settings.ffochat.red),settings.ffochat.color,160)) - windower.add_to_chat(160, " green: "..string.color(tostring(settings.linkshell.green),settings.linkshell.color,160).." | "..string.color(tostring(settings.party.green),settings.party.color,160).." | "..string.color(tostring(settings.tell.green),settings.tell.color,160).." | "..string.color(tostring(settings.ffochat.green),settings.ffochat.color,160)) - windower.add_to_chat(160, " blue: "..string.color(tostring(settings.linkshell.blue),settings.linkshell.color,160).." | "..string.color(tostring(settings.party.blue),settings.party.color,160).." | "..string.color(tostring(settings.tell.blue),settings.tell.color,160).." | "..string.color(tostring(settings.ffochat.blue),settings.ffochat.color,160)) - else --- windower.add_to_chat(160," UseChatPorter: " .. string.color(onOffPrint(settings.usechatporter),204,160)) --- windower.add_to_chat(160," DisplayLinkshellChat: " .. string.color(onOffPrint(settings.linkshell.displaychat),204,160)) --- windower.add_to_chat(160," DisplayPartyChat: " .. string.color(onOffPrint(settings.party.displaychat),204,160)) --- windower.add_to_chat(160," DisplayTellChat: " .. string.color(onOffPrint(settings.tell.displaychat),204,160)) --- windower.add_to_chat(160," DisplayFFOChat: " .. string.color(onOffPrint(settings.ffochat.displaychat),204,160)) --- windower.add_to_chat(160," LinkshellColor: " .. string.color(tostring(settings.linkshell.color),204,160)) --- windower.add_to_chat(160," PartyColor: " .. string.color(tostring(settings.party.color),204,160)) --- windower.add_to_chat(160," TellColor: " .. string.color(tostring(settings.tell.color),204,160)) --- windower.add_to_chat(160," TellColor: " .. string.color(tostring(settings.ffochat.color),204,160)) - windower.add_to_chat(55, "ChatPorter status: "..string.color('linkshell',settings.linkshell.color,160).." | "..string.color('party',settings.party.color,160).." | "..string.color('tell',settings.tell.color,160).." | "..string.color('ffochat',settings.ffochat.color,160)) - windower.add_to_chat(160, " DisplayChat: "..string.color(onOffPrint(settings.linkshell.displaychat),settings.linkshell.color,160).." | "..string.color(onOffPrint(settings.party.displaychat),settings.party.color,160).." | "..string.color(onOffPrint(settings.tell.displaychat),settings.tell.color,160).." | "..string.color(onOffPrint(settings.ffochat.displaychat),settings.ffochat.color,160)) - windower.add_to_chat(160, " Color: "..string.color(tostring(settings.linkshell.color),settings.linkshell.color,160).." | "..string.color(tostring(settings.party.color),settings.party.color,160).." | "..string.color(tostring(settings.tell.color),settings.tell.color,160).." | "..string.color(tostring(settings.ffochat.color),settings.ffochat.color,160)) - windower.add_to_chat(160, " UseChatPorter: " .. string.color(onOffPrint(settings.usechatporter),204,160)) - end -end - -function onOffPrint(bleh) - if (bleh ~= nul) then - if (bleh == 1) or (bleh == true) then - bleh = "ON"; - else - bleh = "OFF"; - end - else - bleh = "OFF"; - end - return bleh; -end - -function showColors() - colors = {} - colors[1] = 'Menu > Font Colors > Chat > Immediate vicinity ("Say")' - colors[2] = 'Menu > Font Colors > Chat > Wide area ("Shout")' - colors[3] = 'Menu > Font Colors > Chat > Extremely wide area ("Yell")' - colors[4] = 'Menu > Font Colors > Chat > Tell target only ("Tell")' - colors[5] = 'Menu > Font Colors > Chat > All party members ("Party")' - colors[6] = 'Menu > Font Colors > Chat > Linkshell group ("Linkshell")' - colors[7] = 'Menu > Font Colors > Chat > Emotes' - colors[8] = 'Menu > Font Colors > System > Calls for help' - colors[17] = 'Menu > Font Colors > Chat > Messages ("Message")' - colors[142] = 'Menu > Font Colors > Chat > NPC Conversations' -- 143? - colors[20] = 'Menu > Font Colors > For Others > HP/MP others loose' - colors[21] = 'Menu > Font Colors > For Others > Actions others evade' - colors[22] = 'Menu > Font Colors > For Others > HP/MP others recover' - colors[60] = 'Menu > Font Colors > For Others > Beneficial effects others are granted' - colors[61] = 'Menu > Font Colors > For Others > Detrimental effects others receive' - colors[63] = 'Menu > Font Colors > For Others > Effects others resist' - colors[28] = 'Menu > Font Colors > For Self > HP/MP you loose' - colors[29] = 'Menu > Font Colors > For Self > Actions you evade' - colors[30] = 'Menu > Font Colors > For Self > HP/MP you recover' - colors[56] = 'Menu > Font Colors > For Self > Beneficial effects you are granted' - colors[57] = 'Menu > Font Colors > For Self > Detrimental effects you receive' - colors[59] = 'Menu > Font Colors > For Self > Effects you resist' - colors[8] = 'Menu > Font Colors > System > Calls for help' - colors[50] = 'Menu > Font Colors > System > Standard battle messages' - colors[121] = 'Menu > Font Colors > System > Basic system messages' - - UsedColors = {9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,31,32,33,34,35,40,41,42,43,51,52,55,58,62,64,65,66,67,68,69,70,71,72,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,122,127,128,129,130,131,132,133,134,135,136,137,138,139,140,144,145,146,147,148,149,150,151,152,153,162,163,164,165,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,205,208,253,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,284,285,286,287,292,293,294,295,300,301,302,303,308,309,310,311,316,317,318,319,324,325,326,327,332,333,334,335,340,341,342,343,344,345,346,347,348,349,350,351,355,357,358,360,361,363,366,369,372,374,375,378,381,384,395,406,409,412,415,416,418,421,424,437,450,453,456,458,459,462,479,490,493,496,499,500,502,505,507,508} - makeArray = T{} - for v = 1, 255, 1 do - if colors[v] ~= nil then - windower.add_to_chat(v, string.rep(0,3-#tostring(v))..v.." - "..colors[v]) - else - if table.contains(UsedColors,v) ~= true then --- makeArray[#makeArray+1] = "\x1F"..string.char(v)..string.rep(0,3-#tostring(v))..v.."\x1F"..string.char(160) - makeArray[#makeArray+1] = string.char(0x1F,v)..string.rep(0,3-#tostring(v))..v..string.char(0x1F,v)..string.char(160) - end - end - end - windower.add_to_chat(160,table.sconcat(makeArray)) --- makeArray:vprint() -end - -function show(tbName) - if #_G['show'..tbName] > 8 then - table.remove(_G["show"..tbName],1) - end - windower.text.set_bg_color("show"..tbName, 200, 30, 30, 30) - if #_G['show'..tbName] == 0 then - windower.text.set_bg_visibility("show"..tbName, false) - else - windower.text.set_bg_visibility("show"..tbName, true) - end - windower.text.set_color("show"..tbName, settings[tbName].alpha, settings[tbName].red, settings[tbName].green, settings[tbName].blue) - windower.text.set_font("show"..tbName, settings[tbName].fontname) - windower.text.set_font_size("show"..tbName, settings[tbName].fontsize) - windower.text.set_location("show"..tbName, settings[tbName].x, settings[tbName].y) - windower.text.set_visibility("show"..tbName, settings[tbName].show) - if #_G['show'..tbName] <= settings[tbName].lines then - start = 1 - else - start = #_G['show'..tbName]-settings[tbName].lines+1 - end - windower.text.set_text("show"..tbName, " " ..table.concat(table.slice(_G['show'..tbName], start, #_G['show'..tbName]), '\n ')) - --- windower.text.set_bg_border_size("show"..tbName, 1) --- windower.text.set_bold("show"..tbName, false) --- windower.text.set_italic("show"..tbName, false) --- windower.text.set_right_justified("show"..tbName, false) --- windower.text.set_stroke_color("show"..tbName, 255, 100, 100, 100) --- windower.text.set_stroke_width("show"..tbName, 1) -end - -windower.register_event('ipc message',function (msg) - if (settings.usechatporter == true) then - if (string.find(msg, "|(%w+):(%w*)|(%a+)|(.+)")) then - a,b,chatMode,senderLSname,senderName,message = string.find(msg, "|(%w+):(%w*)|(%a+)|(.+)") - if (chatMode == "l") and (settings.linkshell.displaychat == true) then - if (senderLSname ~= LSname) then - windower.add_to_chat(settings.linkshell.color,"["..senderLSname.."] <"..senderName.."> "..message) - showlinkshell[#showlinkshell +1] = " ["..senderLSname.."] <"..senderName.."> "..message:strip_format().." " - show("linkshell") - end - elseif (chatMode == "t") and (settings.tell.displaychat == true) then - if (playerName ~= senderLSname) and (playerName ~= senderName) then - windower.add_to_chat(settings.tell.color,"[t] "..senderName..">>"..senderLSname.." "..message) - end - elseif (chatMode == "p") and (settings.party.displaychat == true) then - if (T(windower.ffxi.get_party()):with('name', senderName) == nil) then - windower.add_to_chat(settings.party.color," ("..senderName..") "..message) - showparty[#showparty +1] = " ("..senderName..") "..message:strip_format():trim().." " - show("party") - end - elseif (chatMode == "l2") then - windower.send_command("input /l "..message) - elseif (chatMode == "p2") then - windower.send_command("input /p "..message) - elseif (chatMode == "t2") then - windower.send_command("input /t "..message) - elseif (chatMode == "r2") then - windower.send_command("input /t "..lastTellFrom.." "..message) - elseif (chatMode == "f") then - windower.send_command("input /"..senderLSname.." "..message) - end - end - end -end) - -windower.register_event('incoming text',function (original, modified, mode) - if (playerName == nil) then - playerName = windower.ffxi.get_player().name - end - if (LSname == nil) then - LSname = windower.ffxi.get_player().linkshell - end - ---[[ - function inTable(tbl, item) - for key, value in pairs(tbl) do - if value == item then return key end - end - return false - end - - tbl = {12, 4, 13, 5, 14, 6, 214, 213, 212, 9, 1, 10, 2, 11, 3, 15, 7, 208, 121, 123, 204, 206, 90, 91, 127, 161, 138, 0, 207, 136, 160} - - if (mode ~= 206) then - if inTable(tbl, mode) then - else - windower.send_command("input /echo mode: " .. mode .. " message: " .. original) - print(' cp mode: '..mode..' message: '..original) - end - end -]]-- - - if (mode == 6) or (mode == 14) or (mode == 213) or (mode == 214) then -- linkshell - if (string.find(original:strip_format(), "%[(%d+)%]<(%a+)> (.+)")) then - a,b,lsnum,player,message = string.find(original:strip_format(), "%[(%d+)%]<(%a+)> (.+)") - windower.send_ipc_message(specialChar.."l:"..LSname..specialChar..player..specialChar..message) - showlinkshell[#showlinkshell +1] = " ["..lsnum.."]<"..player.."> "..message:strip_format():trim().." " - show("linkshell") - end - elseif (mode == 5) or (mode == 13) then -- party - if (string.find(original:strip_format(), "%((%a+)%) (.+)")) then - a,b,player,message = string.find(original:strip_format(), "%((%a+)%) (.+)") - windower.send_ipc_message(specialChar.."p:"..""..specialChar..player..specialChar..message) - showparty[#showparty +1] = " ("..player..") "..message:strip_format():trim().." " - show("party") - end - elseif (mode == 4) or (mode == 12) then -- tell - if (string.find(original:strip_format(), ">>(%a+) : (.+)")) then -- incoming - a,b,player,message = string.find(original:strip_format(), ">>(%a+) : (.+)") - lastTellFrom = player; - windower.send_ipc_message(specialChar.."t:"..player..specialChar..playerName..specialChar..message) - showtell[#showtell +1] = " >>"..player.." : "..message:strip_format():trim().." " - show("tell") - elseif (string.find(original:strip_format(), "(%a+)>> (.+)")) then -- outgoing - a,b,player,message = string.find(original:strip_format(), "(%a+)>> (.+)") - windower.send_ipc_message(specialChar.."t:"..playerName..specialChar..player..specialChar..message) - showtell[#showtell +1] = " "..player..">> "..message:strip_format():trim().." " - show("tell") - end - end - - if (string.find(original:strip_format(), "%[(%d+):#(%a+)%](.+): (.+)")) then - a,b,channum,chanchan,player,message = string.find(original:strip_format(), "%[(%d+):#(%a+)%](.+): (.+)") --- windower.send_ipc_message(specialChar.."f:"..player..specialChar..playerName..specialChar..message) - showffochat[#showffochat +1] = " "..original:strip_format():trim().." " - show("ffochat") - end - ---[[ -tell: in 12, out 4 -party: in 13, out 5 -linkshell: in 14, out 6 -linkshell2: in 214, out 213 -unity: in 212, out 212 - -say: in 9, out 1 -shout: in 10, out 2 -yell: in 11, out 3 -emote: in 15, out 7 - -3: ffochat channel -208: examines -121: browse and leaving bazaar -123: no party members message -204: player comments (seacom) -206: echo -90, 91, 127: uses an item -110: synergy overload -52: starts casting warp -64: casts warp -161: conquest results -138: bought from bazaar -0: player title -136: logout message -200: server welcome message -217: ls2 message -205: ls message -157: command error - ---]] -end) |