summaryrefslogtreecommitdiff
path: root/Data/DefaultContent/Libraries/addons/addons/chatPorter/chatPorter.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Data/DefaultContent/Libraries/addons/addons/chatPorter/chatPorter.lua')
-rw-r--r--Data/DefaultContent/Libraries/addons/addons/chatPorter/chatPorter.lua644
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)