client
var
screen_objects/chat_objects
chatObject1;chatObject2;chatObject3;chatObject4;chatObject5;chatObject6;
chatObject7;chatObject8;chatObject9;chatObject10;chatObject11;chatObject12;
chatObject13;chatObject14;chatObject15;chatObject16;chatObject17;chatObject18;
chatObject19;chatObject20;chatObject21;chatObject22;chatObject23;chatObject24;
list
messages
chat_objects = list()
chat_objects_used = list()
verb
Chat(var/string as text|null)
set hidden=TRUE
if(findtext(string,1,2) == " " || !string){CloseChat();return}
for(var/client/clients in sao_online)
clients._applyMessages(src,string)
CloseChat()
OpenChat()
set hidden = 1
winset(src,"ClientInterface.input1","is-visible=true")
winset(src,"ClientInterface.input1","focus=true")
CloseChat()
set hidden = 1
winset(src,"ClientInterface.input1","is-visible=false")
winset(src,"ClientInterface.map1","focus=true")
winset(src,"ClientInterface.input1","text=")
proc
_applyMessages(client/messenger, string)
if(!messages)
messages=list()
for(var/i = 0, i<24, i++)
if(i==0)continue
messages["[i]"] = ""
if(!messages.Find("24"))
messages["24"] = ""
var/messages_maxed = messages["24"]
if(istext(messages_maxed) && length(messages_maxed) > 0)
messages["24"] = ""
var/swap = ""
for(var/i = messages.len, i>0, i--)
if(i==1)continue
swap = messages["[i]"]
messages["[i]"] = messages["[i-1]"]
messages["[i-1]"] = swap
messages["1"] = "<b><font color=black>[messenger.mob]</font><font color=black>: [string]</b></font>"
chatObject1.maptext = messages["1"]
chatObject2.maptext = messages["2"]
chatObject3.maptext = messages["3"]
chatObject4.maptext = messages["4"]
chatObject5.maptext = messages["5"]
chatObject6.maptext = messages["6"]
chatObject7.maptext = messages["7"]
chatObject8.maptext = messages["8"]
chatObject9.maptext = messages["9"]
chatObject10.maptext = messages["10"]
chatObject11.maptext = messages["11"]
chatObject12.maptext = messages["12"]
chatObject13.maptext = messages["13"]
chatObject14.maptext = messages["14"]
chatObject15.maptext = messages["15"]
chatObject16.maptext = messages["16"]
chatObject17.maptext = messages["17"]
chatObject18.maptext = messages["18"]
chatObject19.maptext = messages["19"]
chatObject20.maptext = messages["20"]
chatObject21.maptext = messages["21"]
chatObject22.maptext = messages["22"]
chatObject23.maptext = messages["23"]
chatObject24.maptext = messages["24"]
proc
function_generateHud(client/viewer)
var/mob/myMob = viewer.mob
if(!myMob.splashscreen_void)
myMob.splashscreen_void = new(viewer, _special = "SOUTHWEST to NORTHEAST")
viewer.chatObject24=new(viewer,_special = "WEST+1,CENTER+3");
viewer.chatObject23=new(viewer,_special = "WEST+1,CENTER+3:16")
viewer.chatObject22=new(viewer,_special = "WEST+1,CENTER+2");
viewer.chatObject21=new(viewer,_special = "WEST+1,CENTER+2:-16")
viewer.chatObject20=new(viewer,_special = "WEST+1,CENTER+1");
viewer.chatObject19=new(viewer,_special = "WEST+1,CENTER+1:-16")
viewer.chatObject18=new(viewer,_special = "WEST+1,CENTER");
viewer.chatObject17=new(viewer,_special = "WEST+1,CENTER:-16")
viewer.chatObject16=new(viewer,_special = "WEST+1,CENTER-1");
viewer.chatObject15=new(viewer,_special = "WEST+1,CENTER-1:-16")
viewer.chatObject14=new(viewer,_special = "WEST+1,CENTER-2");
viewer.chatObject13=new(viewer,_special = "WEST+1,CENTER-2:-16")
viewer.chatObject12=new(viewer,_special = "WEST+1,CENTER-3");
viewer.chatObject11=new(viewer,_special = "WEST+1,CENTER-3:-16")
viewer.chatObject10=new(viewer,_special = "WEST+1,CENTER-4");
viewer.chatObject9=new(viewer,_special = "WEST+1,CENTER-4:-16")
viewer.chatObject8=new(viewer,_special = "WEST+1,CENTER-5");
viewer.chatObject7=new(viewer,_special = "WEST+1,CENTER-5:-16")
viewer.chatObject6=new(viewer,_special = "WEST+1,CENTER-6");
viewer.chatObject5=new(viewer,_special = "WEST+1,CENTER-6:-16")
viewer.chatObject4=new(viewer,_special = "WEST+1,CENTER-7");
viewer.chatObject3=new(viewer,_special = "WEST+1,CENTER-7:-16")
viewer.chatObject2=new(viewer,_special = "WEST+1,CENTER-8");
viewer.chatObject1=new(viewer,_special = "WEST+1,CENTER-8:-16")
Okay I am going to start by apologizing for this wall of code. I know it's a hassle to look through but I need help with handling chat. So basically what's happening is once my viewer hits chatObject23 it, pardon my French, get's all fucked up. Here's a picture for lack of ability to explain what's happening without giving a wall of text on top of the wall of code.
This shows chatObject 1 - 22
This shows chatObject 23
This shows chatObject 24