package { import com.adobe.serialization.json.*; import flash.display.*; import flash.events.*; import flash.net.*; import flash.system.*; import flash.utils.*; import flash.xml.*; public class network extends Object { public static var iprules:* = new Object(); public static var xNumAttempts:* = 5; public static var xFlag:* = 0; public static var attempt:* = 0; public static var prevrpool:* = -1; public static var NetworkState:*; public static var NetworkTimeout:*; public static var MessageCount:*; public static var LurkerLimit:*; public static var LurkerTimeout:*; public static var socket:*; public static var UnfairFile:String = ""; public static var UnfairMessage:String = ""; public static var UnfairGroupName:String = ""; public static var GotDone:Boolean = false; public static var GotFirstDone:Boolean = false; public static var w_redirectdom:* = undefined; public static var w_redirectport:* = undefined; public static var QK:* = false; public static var YI:* = undefined; public static var YC:int = undefined; public static var YC2:int = undefined; public static var WV:* = false; public static var WC:*; public static var FI:* = undefined; public static var LastLocate:* = 0; public static var fs:* = 0; public static var sjt:* = 0; public static var jt1:* = 0; public static var jt2:* = 0; public static var UngagTimeout:* = undefined; public static var Bootp:* = undefined; public static var UserId:*; public static var k1:*; public static var k2:*; public static var J2_Order:*; public static var ipLoaded:* = false; public static var p_w:* = 100; public static var p_h:* = 100; public static var p_octaves:* = 6; public static var p_seed:* = 12345; public static var p_x:* = 50; public static var p_y:* = 50; public static var codeLoad:*; public static var mcCode:MovieClip = null; final public static function PickIP(param1:*) { var _loc_5:* = undefined; var _loc_6:* = undefined; var _loc_7:* = undefined; var _loc_8:* = undefined; var _loc_9:* = undefined; var _loc_10:* = undefined; var _loc_11:* = undefined; if(attempt >= iprules["order"].length) { return new Array("0", 0, 0); } var _loc_2:* = iprules["order"][attempt][0]; var _loc_3:* = iprules[_loc_2]; var _loc_4:* = iprules["order"][attempt][1]; if((_loc_3[0] & 1) == 1) { _loc_5 = 0; if(prevrpool == -1) { _loc_5 = (Math.floor(Math.random() * (_loc_3.length - 1))) + 1; } else { _loc_5 = (_loc_5 % (_loc_3.length - 1)) + 1; } _loc_6 = Math.floor(Math.random() * _loc_3[_loc_5].length); _loc_7 = _loc_3[_loc_5][_loc_6].split(":"); if(_loc_7[1] == undefined) { _loc_7[1] = 10000; } if(_loc_7[2] == undefined) { _loc_7[2] = 39; } _loc_8 = xatlib.xInt(_loc_7[1]) + (Math.floor(Math.random() * xatlib.xInt(_loc_7[2]))); prevrpool = _loc_5; return new Array(_loc_7[0], _loc_8, _loc_4); } else { _loc_9 = network.GetDom(param1); _loc_10 = network.GetPort(param1); _loc_11 = _loc_3[1][(4 * _loc_9) + (Math.floor(Math.random() * 4))]; } return new Array(_loc_11, _loc_10, _loc_4); } final public static function GetDom(param1:*) : Number { if(xFlag & 8) { return Math.floor(Math.random() * 4); } if(xatlib.xInt(param1) == 8) { return 0; } return xatlib.xInt(param1) < 8 ? 3 : (xatlib.xInt(param1) & 96) >> 5; } final public static function GetPort(param1:*) : Number { if(xFlag & 8) { return (10000 + 7) + (Math.floor(Math.random() * 32)); } if(xatlib.xInt(param1) == 8) { return 10000; } return xatlib.xInt(param1) < 8 ? (10000 - 1) + xatlib.xInt(param1) : (10000 + 7) + (xatlib.xInt(param1) % 32); } final public static function NetworkInit() { NetworkState = 0; NetworkTimeout = -1; MessageCount = 0; LurkerLimit = (12 * 60) * 5; LurkerTimeout = -1; } final public static function NetworkStartChat() { ipLoaded = false; var _loc_1:URLRequest = new URLRequest(); var _loc_2:Date = new Date(); _loc_1.url = (todo.chatdomain + "ip2.htm?init") + (xatlib.xInt((_loc_2.getTime() + 30000) / 60000)); _loc_1.method = URLRequestMethod.GET; var _loc_3:URLLoader = new URLLoader(); _loc_3.load(_loc_1); _loc_3.addEventListener(Event.COMPLETE, ipcompleteHandler); _loc_3.addEventListener(IOErrorEvent.IO_ERROR, ipcompleteError); network.SetNetworkState(14, 60); } final public static function NetworkStartChat2() { var _loc_1:* = undefined; var _loc_3:* = undefined; var _loc_4:URLRequest = null; var _loc_5:URLLoader = null; xmessage.ClearLists(true); UngagTimeout = undefined; var _loc_2:* = iprules["k1n"]; _loc_2; todo.w_userno; todo.w_k1; if(_loc_2 && todo.w_userno && todo.w_userno < _loc_2 && todo.w_k1 && iprules["time"]) { _loc_3 = 14; if(iprules["k1d"]) { _loc_3 = iprules["k1d"]; } _loc_1 = todo.w_k1.substr(10, 8); if(!_loc_1 || (_loc_1 + (_loc_3 * 24) * 3600) < iprules["time"]) { todo.w_k1 = undefined; _loc_1 = 1; } else { _loc_1 = 0; } } if(!(todo.w_userrev == undefined) || _loc_1 && !todo.w_k1 || todo.w_k2 == 0) { UserId = undefined; _loc_4 = new URLRequest(); _loc_4.url = (todo.chatdomain + "auser3.php?") + "u=" + xatlib.xInt(todo.w_userno) + "&k2=" + todo.w_k2 + "&t=" + Math.random(); _loc_4.method = URLRequestMethod.GET; _loc_5 = new URLLoader(); _loc_5.load(_loc_4); _loc_5.addEventListener(Event.COMPLETE, ausercompleteHandler); } else { if(todo.w_userrev == undefined) { UserId = 2; } else { UserId = todo.w_userno; k1 = todo.w_k1; k2 = todo.w_k2; } } network.SetNetworkState(1, 120); todo.DoBuildUserListScrollUp = true; } final public static function NetworkClose() { network.SetNetworkState(0, -1); if(socket) { if(socket.connected) { socket.close(); } } if(todo.messageecho == "s") { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, 0, "o"); } } } final public static function SetNetworkState(param1:*, param2:*) { var _loc_3:String = null; NetworkState = param1; NetworkTimeout = param2; if(main.ButtonLoginMc != undefined) { if(NetworkState == 0) { _loc_3 = xconst.ST(19); } else { if(NetworkState == 4) { _loc_3 = xconst.ST(31); } else { _loc_3 = xconst.ST(32); } } main.ButtonLoginMc.SetText(_loc_3); } } final public static function NetworkTick() { var _loc_2:* = undefined; var _loc_3:* = undefined; var _loc_4:int = NaN; var _loc_5:* = undefined; var _loc_6:* = undefined; var _loc_7:int = 0; if(NetworkTimeout != -1) { NetworkTimeout = NetworkTimeout - 1; if(NetworkTimeout < 0) { NetworkTimeout = 0; } } if(NetworkState == 1) { network.auserLoaded(); if(NetworkTimeout == 0) { network.SetNetworkState(0, -1); if(xFlag & 2) { xatlib.xLog("AT_" + todo.w_useroom + "_" + todo.useport + "_" + todo.sockdomain); } xatlib.GeneralMessage(xconst.ST(100), xconst.ST(98) + " (AT)"); } } else { if(NetworkState == 3) { if(NetworkTimeout == 0) { if(attempt < xNumAttempts) { var _loc_8:network = network; var _loc_9:* = _loc_8.attempt + 1; _loc_8.attempt = _loc_9; _loc_8.SetNetworkState(0, -1); todo.lb = "n"; todo.DoUpdate = true; _loc_8.NetworkClose(); _loc_8.NetworkStartChat(); } else { _loc_8.SetNetworkState(0, -1); if(xFlag & 2) { xatlib.xLog("CT_" + todo.w_useroom + "_" + todo.useport + "_" + todo.sockdomain); } xatlib.GeneralMessage(xconst.ST(100), xconst.ST(98) + " (CT)"); } } } else { if(NetworkState == 4) { if(LurkerTimeout != -1) { if(todo.w_userno <= (2000000000 - 100000)) { if(LurkerTimeout <= 0) { _loc_8.NetworkSendMsg(todo.w_userno, "/KEEPALIVE", 0, 0, 1); } else { LurkerTimeout = LurkerTimeout - 1; } } } } else { if(NetworkState == 5) { if(NetworkTimeout != -1) { if(NetworkTimeout == 0) { _loc_8.NetworkStartChat(); } } else { _loc_8.NetworkStartChat(); } } else { if(NetworkState == 6) { if(YI != undefined) { if(todo.w_password != undefined) { _loc_8.NetworkLogin(todo.w_email, todo.w_password); WV = true; } _loc_8.SetNetworkState(7, 120); } if(NetworkTimeout == 0) { _loc_8.SetNetworkState(0, -1); if(xFlag & 2) { xatlib.xLog("Y_" + todo.w_useroom + "_" + todo.useport + "_" + todo.sockdomain); } xatlib.GeneralMessage(xconst.ST(100), xconst.ST(98) + " (Y)"); } } else { if(NetworkState == 7) { if(WC !== 1) { if(mcCode && mcCode.code) { WC = mcCode.code; mcCode.code = 0; } else { } } if(WV == false && WC > 0) { _loc_8.myOnJoin(); } } else { if(NetworkState == 8) { } else { if(NetworkState == 9) { } else { if(NetworkState == 11) { } else { if(NetworkState == 12) { } else { if(NetworkState == 13) { } else { if(NetworkState == 14) { if(ipLoaded || NetworkTimeout == 0) { ipLoaded = true; _loc_8.NetworkStartChat2(); } } } } } } } } } } } } } MessageCount = MessageCount - 1; if(MessageCount < 0) { MessageCount = 0; } if((todo.MessageToProcess == "") && todo.lb == "n" && GotDone) { main.ProcessMessage(); } if((todo.MessageToSend == "") && MessageCount <= 0 && todo.lb == "n" && GotDone) { todo.w_k1; if(!(todo.w_k1 && todo.MessageToSend.indexOf(todo.w_k1.toString()) == -1)) { todo.MessageToSend = xatlib.Replace(todo.MessageToSend, todo.w_k1.toString(), (Math.floor(Math.random() * 2147483648.00)).toString()); } todo.w_k3; if(!(todo.w_k3 && todo.MessageToSend.indexOf(todo.w_k3.toString()) == -1)) { todo.MessageToSend = xatlib.Replace(todo.MessageToSend, todo.w_k3.toString(), (Math.floor(Math.random() * 2147483648.00)).toString()); } _loc_2 = xatlib.CountLinks(todo.MessageToSend); if(_loc_2 <= 2) { _loc_8.NetworkSendMsg(todo.w_userno, todo.MessageToSend, todo.PrivateChat, todo.PrivateMessage, 0); var _loc_8:int = 0; todo.PrivateMessage = _loc_8; todo.PrivateChat = _loc_8; main.lockmc._visible = false; if(todo.messageecho == "l" && _loc_2 > 0) { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, todo.w_userno, todo.MessageToSend); } } } MessageCount = 25; todo.LastMessageToSend = todo.MessageToSend; todo.MessageToSend = ""; } if(!(todo.w_registered == undefined) && FI && (todo.tick % 12) == 6 && todo.lb == "t" && GotDone && w_redirectport == undefined || w_redirectport == 80) { _loc_3 = todo.w_friendlist.length; if(fs > 0) { xatlib.MainSolWrite("w_friendlist2", todo.w_friendlist2); } fs = 0; _loc_4 = 0; while(_loc_4 < _loc_3) { _loc_5 = todo.w_friendlist[_loc_4].u; if(_loc_5 > 6 && todo.w_friendlist2[_loc_5] == undefined) { _loc_6 = ""; if(todo.w_friendlist[_loc_4].u != todo.w_userno) { _loc_6 = "/b " + todo.w_friendlist[_loc_4].u + "," + "1" + "," + "" + "," + (todo.w_friendlist[_loc_4].n.substr(0, 20)); } else { if(todo.w_Mask == undefined) { todo.w_Mask = todo.NO_POWERS.slice(); } _loc_6 = "/b " + todo.w_friendlist[_loc_4].u + "," + "1" + "," + "" + "," + (todo.w_friendlist[_loc_4].n.substr(0, 128)) + "," + (todo.w_friendlist[_loc_4].a.toString().substr(0, 128)) + "," + (todo.w_friendlist[_loc_4].h.substr(0, 128)) + "," + todo.w_friendlist[_loc_4].v.toString(); _loc_7 = 0; while(_loc_7 < todo.MAX_PWR_INDEX) { _loc_6 = _loc_6 + "," + xatlib.xInt(todo.w_Mask[_loc_7]); _loc_7++; } } _loc_8.NetworkSendMsg(todo.w_userno, _loc_6, 0, 0, 2); todo.w_friendlist2[_loc_5] = {flags:1}; var _loc_8:network = _loc_8; var _loc_9:* = _loc_8.fs + 1; _loc_8.fs = _loc_9; if(_loc_9 >= 5) { break; } } _loc_4 = _loc_4 + 1; } if(fs == 0) { FI = false; } } var _loc_1:* = _loc_8.getTimer(); if(todo.lb == "t" && _loc_1 > UngagTimeout) { _loc_4 = xatlib.FindUser(todo.w_userno); todo.Users[_loc_4].gagged = false; todo.DoBuildUserList = true; UngagTimeout = undefined; } } final private static function ipcompleteHandler(param1:Event) : void { if(ipLoaded) { return; } var _loc_2:URLLoader = network.URLLoader(param1.target); iprules = xJSON.decode(_loc_2.data); xFlag = iprules["xFlag"]; xNumAttempts = iprules["order"].length; ipLoaded = true; } final public static function ipcompleteError(param1:ErrorEvent) : void { ipLoaded = true; } final private static function ausercompleteHandler(param1:Event) : void { var _loc_2:URLLoader = network.URLLoader(param1.target); var _loc_3:URLVariables = new URLVariables(_loc_2.data.substr(1)); UserId = _loc_3.UserId; k1 = _loc_3.k1; k2 = _loc_3.k2; } final public static function auserLoaded() { var Port:* = undefined; var IsBanned:Boolean = false; var vx:* = undefined; var ta:* = undefined; var ctimeout:* = undefined; var so4:* = undefined; var rn:* = undefined; if(UserId == undefined) { } else { if(UserId == 0) { network.SetNetworkState(0, -1); if(xFlag & 2) { xatlib.xLog("A_" + todo.w_useroom + "_" + todo.useport + "_" + todo.sockdomain); } xatlib.GeneralMessage(xconst.ST(100), xconst.ST(98) + " (A)"); todo.lb = "n"; todo.DoUpdate = true; } else { if(UserId != 2) { todo.w_userno = xatlib.xInt(UserId); todo.w_k1 = k1; todo.w_k2 = xatlib.xInt(k2); so4 = xatlib.getLocal("chat", "/"); so4.objectEncoding = ObjectEncoding.AMF0; if(todo.w_name == "") { todo.w_name = xatlib.GetDefaultName(todo.w_userno); } if(todo.w_avatar == "") { todo.w_avatar = xatlib.GetDefaultAvatar(todo.w_userno); } if(todo.w_homepage == "") { todo.w_homepage = ""; } } else { rn = xatlib.xInt(Math.random() * 1000000); if(todo.w_name == "") { todo.w_name = xatlib.GetDefaultName(rn); } if(todo.w_avatar == "") { todo.w_avatar = xatlib.GetDefaultAvatar(rn); } if(todo.w_homepage == "") { todo.w_homepage = ""; } } IsBanned = network.OnGagList(todo.w_useroom); vx = todo.Macros; xmessage.ClearLists(true); todo.Users.push({n:xatlib.NameNoXat(todo.w_name), s:todo.Macros != undefined ? todo.Macros["status"] : undefined, u:todo.w_userno, v:todo.w_userrev, a:todo.w_avatar, h:todo.w_homepage, online:true, banned:IsBanned, owner:false, OnXat:!(xatlib.xInt(global.xc) & 32) == 0, registered:todo.w_registered, VIP:todo.w_VIP, Bride:todo.w_d2, aFlags:todo.w_d0, Powers:todo.w_Powers, cb:todo.w_cb}); network.AddGiftPower(0); todo.DoUpdateMessages = true; todo.ScrollDown = true; todo.LastScrollTime = undefined; ta = network.PickIP(todo.w_useroom); todo.sockdomain = ta[0]; todo.useport = ta[1]; ctimeout = ta[2]; if(todo.sockdomain == "0" || todo.useport == 0) { network.SetNetworkState(0, -1); if(xFlag & 2) { xatlib.xLog("Z_" + todo.w_useroom + "_" + todo.useport + "_" + todo.sockdomain); } xatlib.GeneralMessage(xconst.ST(100), xconst.ST(98) + " (Z)"); } else { if(NetworkState == 3) { NetworkTimeout = 0; } var catchIOError:Function = _func_13; var catchSecurityError:Function = _func_14; socket = new XMLSocket(); socket.addEventListener(Event.CONNECT, myOnConnect); socket.addEventListener(DataEvent.DATA, myOnXML); socket.addEventListener(Event.CLOSE, socketClose); socket.addEventListener(IOErrorEvent.IO_ERROR, catchIOError); socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, catchSecurityError); sjt = network.getTimer(); Security.loadPolicyFile("xmlsocket://" + todo.sockdomain + ":10090"); socket.connect(todo.sockdomain, todo.useport); if(xFlag & 4) { xatlib.xLog("C_" + todo.w_useroom + "_" + todo.useport + "_" + todo.sockdomain); } network.SetNetworkState(3, ctimeout); } } } } final public static function socketClose(param1:Event) { if(w_redirectport == undefined) { network.SetNetworkState(5, Math.floor((Math.random() * 12) * 4)); todo.lb = "n"; todo.DoUpdate = true; } else { } } final public static function myOnConnect(param1:Event) { var _loc_3:* = undefined; var _loc_4:* = undefined; var _loc_5:String = null; var _loc_2:* = true; if(NetworkState == 3) { if(_loc_2) { YI = undefined; _loc_3 = new XMLDocument(); _loc_4 = _loc_3.createElement("y"); if(todo.useport == 80) { _loc_4.attributes.p = network.GetPort(todo.w_useroom); _loc_4.attributes.s = network.GetDom(todo.w_useroom); } if(todo.pass != undefined) { _loc_4.attributes.m = 1; } _loc_4.attributes.r = todo.w_useroom; _loc_4.attributes.v = attempt; _loc_4.attributes.u = todo.w_userno; _loc_3.appendChild(_loc_4); _loc_5 = xatlib.XMLOrder(_loc_3, new Array("w", "r", "m", "s", "p", "v", "u")); socket.send(_loc_5); network.SetNetworkState(6, 120); } else { if(attempt < xNumAttempts) { var _loc_6:network = network; var _loc_7:* = _loc_6.attempt + 1; _loc_6.attempt = _loc_7; _loc_6.SetNetworkState(0, -1); todo.lb = "n"; todo.DoUpdate = true; _loc_6.NetworkClose(); _loc_6.NetworkStartChat(); } else { _loc_6.SetNetworkState(0, -1); if(xFlag & 2) { xatlib.xLog("CT_" + todo.w_useroom + "_" + todo.useport + "_" + todo.sockdomain); } xatlib.GeneralMessage(xconst.ST(100), xconst.ST(98) + " (F)"); } } } else { } } final public static function myOnJoin() { var _loc_8:int = 0; network.SetNetworkState(4, -1); todo.DoUserSnd = true; var _loc_1:String = xatlib.CleanTextNoXat(todo.w_name); var _loc_2:String = xatlib.CleanText(todo.w_avatar); var _loc_3:String = xatlib.CleanText(todo.w_homepage); if(_loc_1 == null) { _loc_1 = ""; } if(_loc_2 == null) { _loc_2 = ""; } if(_loc_3 == null) { _loc_3 = ""; } GotDone = false; var _loc_4:* = new XMLDocument(); var _loc_5:* = _loc_4.createElement("j2"); _loc_5.attributes.v = todo.w_userrev == undefined ? 0 : todo.w_userrev; _loc_5.attributes.h = _loc_3.substr(0, 128); _loc_5.attributes.a = _loc_2.substr(0, 128); _loc_5.attributes.n = _loc_1.substr(0, 256); if(todo.Macros != undefined) { if(todo.Macros["status"] != undefined) { _loc_5.attributes.n = _loc_5.attributes.n + "##" + (todo.Macros["status"].substr(0, 128)); } } if(todo.w_registered != undefined) { _loc_5.attributes.N = todo.w_registered; } if(todo.w_dt) { _loc_5.attributes.dt = todo.w_dt; } if(todo.w_xats) { _loc_5.attributes.dx = todo.w_xats; } if(todo.w_sn) { _loc_5.attributes.sn = todo.w_sn; } if(todo.w_PowerO != undefined) { _loc_5.attributes.dO = todo.w_PowerO; } if(todo.w_Powers != null) { _loc_8 = 0; while(_loc_8 < todo.MAX_PWR_INDEX) { if(todo.w_Powers[_loc_8]) { _loc_5.attributes["d" + (_loc_8 + 4)] = todo.w_Powers[_loc_8]; } _loc_8++; } } if(todo.w_d3) { _loc_5.attributes.d3 = todo.w_d3; } if(todo.w_d2) { _loc_5.attributes.d2 = todo.w_d2; } if(todo.w_d0 != undefined) { _loc_5.attributes.d0 = todo.w_d0; } if(todo.w_Mask != null) { _loc_8 = 0; while(_loc_8 < todo.MAX_PWR_INDEX) { if(todo.w_Mask[_loc_8]) { _loc_5.attributes["m" + _loc_8] = todo.w_Mask[_loc_8]; } _loc_8++; } } _loc_5.attributes.u = todo.w_userrev == undefined ? 2 : todo.w_userno; if(global.rf) { _loc_5.attributes.e = "1"; } _loc_5.attributes.f = (global.um != undefined ? 0 : todo.w_autologin & 1 ? 0 : 1) | (todo.LoginPressed ? 2 : 0) | (global.pass != undefined ? 4 : 0); todo.w_autologin = todo.w_autologin | 1; todo.pass; if(!(todo.pass || global.pass == undefined)) { _loc_5.attributes.r = global.pass != undefined ? global.pass : todo.pass; } if(network.OnGagList(todo.w_useroom)) { _loc_5.attributes.b = network.GetGagTime(todo.w_useroom); } _loc_5.attributes.c = todo.w_useroom; if(todo.w_pool != undefined) { _loc_5.attributes.p = todo.w_pool; } if(todo.w_d1) { _loc_5.attributes.d1 = todo.w_d1; } _loc_5.attributes.k3 = xatlib.xInt(todo.w_k3); _loc_5.attributes.k = todo.w_k1; _loc_5.attributes.y = YI; if(global.xc & 32) { _loc_5.attributes.q = 1; } _loc_5.attributes.l2 = jt1; _loc_5.attributes.l3 = jt2; _loc_5.attributes.l4 = network.getTimer() - sjt; var _loc_6:BitmapData = new BitmapData(p_w, p_h, false, 13421772); _loc_6.perlinNoise(p_w, p_h, p_octaves, p_seed, false, true, (BitmapDataChannel.ALPHA | BitmapDataChannel.RED) | BitmapDataChannel.GREEN | BitmapDataChannel.BLUE, false, null); _loc_5.attributes.l5 = _loc_6.getPixel32(p_x, p_y); if(WC > 1) { _loc_5.attributes.Y = WC; } _loc_5.attributes.cb = todo.w_cb; _loc_6.dispose(); _loc_4.appendChild(_loc_5); if(!J2_Order) { J2_Order = "cb,Y,l5,l4,l3,l2,q,y,k,k3,d1,z,p,c,b,r,f,e,u"; _loc_8 = 0; while(_loc_8 < todo.MAX_PWR_INDEX) { J2_Order = J2_Order + ",m" + _loc_8; _loc_8++; } J2_Order = J2_Order + ",d0"; _loc_8 = 2; while(_loc_8 < (todo.MAX_PWR_INDEX + 4)) { J2_Order = J2_Order + ",d" + _loc_8; _loc_8++; } J2_Order = J2_Order + ",dO,sn,dx,dt,N,n,a,h,v"; J2_Order = J2_Order.split(","); } var _loc_7:String = xatlib.XMLOrder(_loc_4, J2_Order); socket.send(_loc_7); todo.lb = "t"; todo.OnSuper = true; todo.DoUpdate = true; todo.ResetSmilies = true; LurkerTimeout = LurkerLimit; if(todo.messageecho == "s") { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, 0, "i"); } } if(todo.messageecho == "a") { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, 0, "d"); } } xatlib.MainSolWrite("w_lastroom", todo.w_useroom); } final public static function myOnXML(param1:DataEvent) { var u:* = undefined; var UserIndex:* = undefined; var n:* = undefined; var stra:* = undefined; var t:int = 0; var uid:int = 0; var t55:* = undefined; var s:* = undefined; var vx:* = undefined; var str:String = null; var pstr:* = undefined; var gpa:* = undefined; var ll:* = undefined; var j:* = undefined; var c:* = undefined; var temp_comm:* = undefined; var IsPrivateMessage:Boolean = false; var IsPrivateChat:Boolean = false; var IsNew:Boolean = false; var IsDeleteMessage:* = undefined; var IsGagUser:* = undefined; var IsUnGagUser:* = undefined; var IsMakeUser:* = undefined; var IsUnMakeUser:* = undefined; var IsKickUser:* = undefined; var IsUnknown:* = undefined; var IsControlMessage:* = undefined; var IsLocateUser:* = undefined; var IsAtUser:* = undefined; var IsScroller:* = undefined; var FirstTwo:* = undefined; var IsSlash:* = undefined; var zz:* = undefined; var tgagged:* = undefined; var tbanned:* = undefined; var tfriend:* = undefined; var tmodplus:* = undefined; var IsIgnored:Boolean = false; var strText:String = null; var lc:* = undefined; var Links:* = undefined; var Payload:* = undefined; var TypeOn:* = undefined; var TypeOff:* = undefined; var farray:Array = null; var id:* = undefined; var f:* = undefined; var friobj:Object = null; var len:* = undefined; var i:int = NaN; var so93:* = undefined; var pci:* = undefined; var ptime:* = undefined; var tt:* = undefined; var TabsLength:* = undefined; var uuid:* = undefined; var arg:* = undefined; var selfid:int = NaN; var Friend:int = 0; var loctext:* = undefined; var pp:* = undefined; var ii:* = undefined; var d:* = undefined; var g:* = undefined; var msgno:* = undefined; var v:* = undefined; var NoBanMessage:* = undefined; var BanTime:* = undefined; var my_date:Date = null; var UnfairTitle:String = null; var UnfairReport:String = null; var hh:* = undefined; var so47:* = undefined; var vt:* = undefined; var nopc:* = undefined; var nom:* = undefined; var maxpc:* = undefined; var maxm:* = undefined; var RemoveMessage:* = undefined; var HaveTab:* = undefined; var AllowPC:* = undefined; var TabNumber:int = NaN; var self:int = NaN; var IsMainOwner:Boolean = false; var IsOwner:Boolean = false; var IsModerator:Boolean = false; var IsMember:Boolean = false; var IsOnline:Boolean = false; var IsBanned:Boolean = false; var IsForever:Boolean = false; var IsGagged:Boolean = false; var OnXat:Boolean = false; var IsVIP:Boolean = false; var Powers:* = undefined; var IsStealth:Boolean = false; var cc:* = undefined; var a:* = undefined; var ee:* = undefined; var StringIndex:int = 0; var type:* = undefined; var Text:* = undefined; var left:int = NaN; var RndOr:* = undefined; var Rnd2:* = undefined; var q:* = undefined; var sarray:Array = null; var p:* = undefined; var doautoredirect:Boolean = false; var reason:* = undefined; var bootr:* = undefined; var errnum:int = 0; var event:DataEvent = param1; var doc:* = new XMLDocument(event.data); var e:* = doc.firstChild; if(e.attributes.n != undefined) { e.attributes.n.replace(xatlib.r1, ""); e.attributes.n.replace(xatlib.r2, ""); } if(e.attributes.t != undefined) { e.attributes.t.replace(xatlib.r1, ""); e.attributes.t.replace(xatlib.r2, ""); } if(e != null) { u = xatlib.xInt(e.attributes.u); UserIndex = xatlib.FindUser(u); e.attributes.t; if(e.attributes.t && e.attributes.u > 0) { n = 0; while(n < e.attributes.t.length) { if(e.attributes.t.charCodeAt(n) < 32) { return; } n = n + 1; } } if(e.nodeName == "y") { todo.WY = {i:e.attributes.i, k:e.attributes.k, j:e.attributes.j, t:e.attributes.t, s:e.attributes.s, au:e.attributes.au, v:e.attributes.v}; if(e.attributes.C) { WC = todo.WY; network.doCap(); return; } YI = xatlib.xInt(e.attributes.i); jt2 = network.getTimer() - sjt; YC = xatlib.xInt(e.attributes.c); YC2 = network.getTimer(); e.attributes.cb; if(!(e.attributes.cb && global.sv == e.attributes.cb)) { global.sv = e.attributes.cb; xatlib.MainSolWrite("w_sv", e.attributes.cb); } if(e.attributes.j) { WC = todo.WY; network.doCode(); } else { WC = 1; } if(e.attributes.p) { stra = e.attributes.p.split("_"); p_w = xatlib.xInt(stra[0]); p_h = xatlib.xInt(stra[1]); p_octaves = xatlib.xInt(stra[2]); p_seed = xatlib.xInt(stra[3]); t = YI % (p_w * p_h); p_x = t % p_w; p_y = Math.floor(t / p_w); } attempt = 0; prevrpool = -1; } else { if(e.nodeName == "x") { network.UpdateChannel(e.attributes.i, e.attributes.u); todo.Users[UserIndex].mainowner; todo.Users[UserIndex].owner; if((e.attributes.i == 10001) || (e.attributes.t.substr(0, 1)) == "b" || todo.Users[UserIndex].mainowner || todo.Users[UserIndex].owner || todo.Users[UserIndex].moderator) { if(e.attributes.i >= 40000 && e.attributes.i < 50000) { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", e.attributes.i, e.attributes.u, e.toString()); } } else { if(e.attributes.i == 10000 && (e.attributes.t.substr(0, 1)) == "B" && (todo.HasPower(selfid, 44)) == false) { } else { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", e.attributes.i, e.attributes.u, e.attributes.t); } } } } } else { if(e.nodeName == "a") { uid = xatlib.FindUser(e.attributes.u); t55 = xconst.kssw[e.attributes.k]; if(t55) { t55 = !(todo.HasPower(uid, t55)); } if(!t55) { if(!(e.attributes.u == todo.w_userno || uid < 0 || todo.Users[uid].ignored == true)) { xkiss.Kiss({t:e.attributes.t, u:e.attributes.u, k:e.attributes.k, b:e.attributes.b, f:e.attributes.f, x:e.attributes.x, s:e.attributes.s}); } } if(e.attributes.c != undefined) { todo.w_coins = xatlib.xInt(e.attributes.c); xatlib.MainSolWrite("w_coins", todo.w_coins); } } else { if(e.nodeName == "bl") { xkiss.LoadWink(e); } else { if(e.nodeName == "v") { if(e.attributes.e != undefined) { t = xatlib.xInt(e.attributes.t); n = xatlib.xInt(e.attributes.e); switch(xatlib.xInt(e.attributes.e)) { case 6: s = xconst.ST(164); break; case 8: s = xconst.ST(165); break; case 10: s = xconst.ST(166); break; case 11: s = xconst.ST(167); break; case 13: s = xconst.ST(25); break; case 14: s = xconst.ST(168); break; case 15: s = xconst.ST(169); break; case 16: s = xconst.ST(170); break; case 17: s = xconst.ST(171); break; case 18: s = xconst.ST(172); break; case 22: s = xconst.ST(173); break; case 24: s = xconst.ST(187, t.toString()); break; case 36: s = xconst.ST(215); break; case 38: s = xconst.ST(234); if(t) { s = s + " " + (xconst.ST(235, t.toString())); } break; case 50: s = "Single power prevents this"; break; default: s = (xconst.ST(174) + " ") + n; break; } if(n != 39) { xatlib.GeneralMessage(xconst.ST(175), s); } if(e.attributes.m == undefined) { var _loc_3:undefined = undefined; todo.w_Powers = _loc_3; var _loc_3:undefined = _loc_3; todo.w_VIP = _loc_3; var _loc_3:undefined = _loc_3; todo.w_registered = _loc_3; var _loc_3:undefined = _loc_3; todo.w_bride = _loc_3; todo.w_d0 = _loc_3; todo.w_k3 = 0; todo.w_PowerO = 0; todo.w_sn = 0; todo.w_xats = 0; var _loc_3:int = 0; todo.w_coins = _loc_3; var _loc_3:int = _loc_3; todo.w_dt = _loc_3; var _loc_3:int = _loc_3; todo.w_d3 = _loc_3; todo.w_d2 = _loc_3; if(todo.w_email == 0 && todo.w_password == "$0") { network.SaveRegData(); try { main.mcLoad.LoggedIn(1); } catch(e:Error) { } } else { try { main.mcLoad.LoggedIn(0); } catch(e:Error) { } } } } else { todo.w_userno = e.attributes.i; todo.w_userrev = 0; todo.w_k1 = e.attributes.k1; todo.w_d0 = e.attributes.d0; todo.w_d1 = e.attributes.d1; todo.w_d2 = xatlib.xInt(e.attributes.d2); todo.w_d3 = xatlib.xInt(e.attributes.d3); todo.w_dt = xatlib.xInt(e.attributes.dt); todo.w_Powers = []; t = 0; while(t < todo.MAX_PWR_INDEX) { todo.w_Powers.push(xatlib.xInt(e.attributes["d" + (t + 4)])); t = t + 1; } todo.w_PowerO = e.attributes.dO; t = xatlib.FindUser(todo.w_d2); if(t >= 0) { todo.w_bride = todo.Users[t].registered; } todo.w_coins = xatlib.xInt(e.attributes.c); todo.w_xats = e.attributes.dx; todo.w_sn = e.attributes.sn; if(todo.w_xats) { todo.w_coins = xatlib.xInt(todo.w_xats); } todo.w_registered = e.attributes.n; todo.w_k2 = e.attributes.k2; todo.w_k3 = e.attributes.k3; todo.w_cb = YC; network.SaveRegData(); todo.WV2; if(todo.WV2 || e.attributes.RL) { todo.lb = "n"; todo.DoUpdate = true; network.NetworkClose(); network.NetworkStartChat(); todo.WV2 = false; } vx = todo.Macros; xmessage.ClearLists(true); todo.Users.push({n:xatlib.NameNoXat(todo.w_name), s:todo.Macros != undefined ? todo.Macros["status"] : undefined, u:todo.w_userno, v:todo.w_userrev, a:todo.w_avatar, h:todo.w_homepage, online:true, banned:IsBanned, owner:false, OnXat:!(xatlib.xInt(global.xc) & 32) == 0, registered:todo.w_registered, VIP:todo.w_VIP, Bride:todo.w_d2, aFlags:todo.w_d0, Powers:todo.w_Powers}); network.AddGiftPower(0); todo.DoBuildUserList = true; todo.DoUpdateMessages = true; todo.ScrollDown = true; todo.LastScrollTime = undefined; try { main.mcLoad.LoggedIn(1); } catch(e:Error) { } if(todo.messageecho == "s") { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, 0, "l"); } } } todo.w_password = undefined; WV = false; } else { if(e.nodeName == "ap") { str = " "; pstr = xconst.pssa[xatlib.xInt(e.attributes.p) + 1]; switch(xatlib.xInt(e.attributes.r)) { case 0: str = xconst.ST(239, pstr); break; case 1: str = xconst.ST(240, pstr); break; case 2: str = xconst.ST(241, pstr); break; case 3: str = xconst.ST(242, pstr); break; case 4: str = pstr + " already assigned"; break; case 9: str = pstr + " system error (db down)"; break; default: str = pstr + " unknown errorcode"; break; } xatlib.GeneralMessage(xconst.ST(237), str); } else { if(e.nodeName == "gp") { gpa = e.attributes.p.split("|"); ll = 0; while(ll < gpa.length) { todo.w_GroupPowers[ll] = xatlib.xInt(gpa[ll]); ll = ll + 1; } var _loc_3:int = 0; var _loc_4:* = e.attributes; for each(ll in _loc_4) { if(ll.charAt(0) == "g") { if(todo.HasPowerA(todo.w_GroupPowers, xatlib.xInt(ll.substr(1)))) { todo.gconfig[ll] = e.attributes[ll]; if(todo.gconfig[ll].charAt(0) == "{") { todo.gconfig[ll] = xatlib.xJSONdecode(todo.gconfig[ll]); } } } } if(todo.gconfig["g100"]) { ll = todo.gconfig["g100"].split(","); todo.gconfig["g100"] = {}; j = 0; while(j < ll.length) { todo.gconfig["g100"][ll[j]] = ll[j + 1]; j = j + 2; } } if(todo.HasPowerA(todo.w_GroupPowers, 90)) { xconst.MakeBads(e.attributes.g90); } if(todo.HasPowerA(todo.w_GroupPowers, 106) && todo.gconfig["g106"]) { c = todo.gconfig["g106"].split("#"); if(todo.HasPowerA(todo.w_GroupPowers, 130)) { todo.gconfig["g130"] = c.pop(); if(todo.Macros["gback"] === "off") { } } t = 0; while(t < c.length) { c[t] = xatlib.DecodeColor(c[t]); t = t + 1; } todo.gconfig["g106"] = c.join("#"); if(!todo.gconfig["g74"]) { todo.gconfig["g74"] = "smile,biggrin,wink,eek,tongue,cool,mad,confused,redface,frown,crying,sleepy,rolleyes,star,kiss,vampire,pirate2"; todo.w_GroupPowers[2] = todo.w_GroupPowers[2] | 65535; } } if(todo.HasPowerA(todo.w_GroupPowers, 206)) { temp_comm = "http://xat.com/json/lang/customlang2.php?t=" + todo.w_room_cb + "&r=" + todo.w_useroom; xatlib.LoadVariables(temp_comm, chat.onLang); } } else { if(e.nodeName == "m" || e.nodeName == "p" || e.nodeName == "c" || e.nodeName == "z") { if(!GotDone && global.xc & 32768) { return; } IsPrivateMessage = false; IsPrivateChat = false; IsNew = true; IsDeleteMessage = false; IsGagUser = false; IsUnGagUser = false; IsMakeUser = false; IsUnMakeUser = false; IsKickUser = false; IsUnknown = false; IsControlMessage = false; IsLocateUser = false; IsAtUser = false; IsScroller = false; if(!e.attributes.t) { e.attributes.t = ""; } FirstTwo = e.attributes.t.substr(0, 2); IsSlash = (FirstTwo.substr(0, 1)) == "/"; if(e.attributes.u == 0) { IsScroller = false; } zz = 0; if(e.attributes.t === "zz7") { zz = zz + 1; } if(e.nodeName == "p" || e.nodeName == "z") { IsPrivateMessage = true; } if(e.nodeName == "c") { IsControlMessage = true; } if(e.attributes.s & 1) { IsNew = false; } if(IsPrivateMessage && e.attributes.s & 2) { IsPrivateChat = true; } if(!IsSlash && e.nodeName == "m" && e.attributes.u == undefined) { return; } if(e.attributes.t.indexOf("") != -1) { IsSlash = true; } e.attributes.t = xatlib.Replace(e.attributes.t, ">", "}"); if(IsPrivateMessage && !IsPrivateChat && !IsSlash) { e.attributes.t = " " + e.attributes.t; } if(IsSlash) { if(FirstTwo == "/d") { IsDeleteMessage = true; } if(FirstTwo == "/s") { IsScroller = true; } if(e.nodeName == "c" && FirstTwo == "/g") { IsGagUser = true; } if(e.nodeName == "c" && FirstTwo == "/u") { IsUnGagUser = true; } if(e.nodeName == "c" || e.nodeName == "p") { if(FirstTwo == "/m") { IsMakeUser = true; } if(FirstTwo == "/r") { IsUnMakeUser = true; } if(FirstTwo == "/k") { IsKickUser = true; } } if(e.nodeName == "z") { if(FirstTwo == "/l") { IsLocateUser = true; } if(FirstTwo == "/a") { IsAtUser = true; } } if(FirstTwo == "/R") { Payload = e.attributes.t.substr(2); TypeOn = Payload == "TypeOn"; TypeOff = Payload == "TypeOff"; if(TypeOn || TypeOff) { if(TypeOff || IsPrivateMessage || !main.ctabsmc.TabIsPrivate()) { main.SetTyping(u, TypeOn); } } return; } if(FirstTwo == "/b") { if(e.attributes.t == "/bd") { todo.w_friendlist.length = 0; todo.w_friendlist2 = new Object(); } else { if(e.attributes.t == "/bf") { xatlib.MainSolWrite("w_friendlist", todo.w_friendlist); xatlib.MainSolWrite("w_friendlist2", todo.w_friendlist2); } else { farray = e.attributes.t.substr(3).split(","); id = xatlib.xInt(farray[0]); f = xatlib.xInt(farray[1]); if(id == todo.w_userno) { so93 = xatlib.getLocal("chat", "/"); so93.objectEncoding = ObjectEncoding.AMF0; } len = todo.w_friendlist.length; i = 0; while(i < len) { if(todo.w_friendlist[i].u == id) { friobj = todo.w_friendlist[i]; break; } i = i + 1; } if(!friobj) { friobj = new Object(); todo.w_friendlist.push(friobj); } friobj.u = id; friobj.v = xatlib.xInt(friobj.v); friobj.n = xatlib.CleanTextNoXat(farray[3]); if(!friobj.a) { friobj.a = ""; } if(!friobj.h) { friobj.h = ""; } friobj.f = f; if(todo.w_friendlist2[id] == undefined) { todo.w_friendlist2[id] = new Object(); } todo.w_friendlist2[id].flags = xatlib.xInt(todo.w_friendlist2[id].flags) | 1; } } } if(FirstTwo == "/p") { pci = xatlib.xInt(e.attributes.t.indexOf(",")); if(pci != -1) { i = xatlib.FindUser(todo.w_userno); todo.Users[i].gagged = true; todo.DoBuildUserList = true; UngagTimeout = network.getTimer() + (xatlib.xInt(e.attributes.t.substr(pci + 1))) * 1000; } ptime = 0; if(pci == -1) { ptime = xatlib.xInt(e.attributes.t.substr(2)); } else { ptime = xatlib.xInt(e.attributes.t.substr(2, pci - 1)); } id = " (" + e.attributes.d + ")"; if(ptime == 0) { if(pci == -1) { UngagTimeout = 0; } } else { if(ptime == -1) { len = todo.Users.length; tt = 0; while(tt < len) { todo.Users[tt].gagged = undefined; tt = tt + 1; } todo.DoBuildUserList = true; todo.helpstr = xconst.ST(192) + id; todo.HelpUpdate = 0; } else { if(!e.attributes.T || e.attributes.T == " ") { todo.helpstr = (xconst.ST(193, (Math.ceil(ptime / 60)).toString())) + id; } else { todo.helpstr = (xconst.ST(261) + " /p") + e.attributes.T + id; } todo.HelpUpdate = 0; } } } if(FirstTwo == "/t") { TabsLength = main.ctabsmc.tabs.length; tt = 0; while(tt < TabsLength) { if(main.ctabsmc.tabs[tt].User == u && main.ctabsmc.tabs[tt].Flags & 16) { xkiss.Kiss({t:e.attributes.t.substr(2), u:e.attributes.u, k:"Ttth"}); main.Private_onDelete(tt); break; } tt = tt + 1; } } if(e.nodeName == "m") { if(FirstTwo == "/k" && e.attributes.t.charAt(2) == "a") { e.attributes.t = " " + (xconst.ST(123, "(kickall#)", e.attributes.t)); IsSlash = false; } else { if(FirstTwo == "/g" || FirstTwo == "/u" || FirstTwo == "/m" || FirstTwo == "/r" || FirstTwo == "/k" || FirstTwo == "/n") { if(e.attributes.p != undefined) { e.attributes.p = xatlib.Replace(e.attributes.p, ">", " "); } uid = xatlib.FindUser(e.attributes.d); if(uid != -1) { if(FirstTwo == "/g") { if((e.attributes.t.substr(0, 3)) == "/gg") { e.attributes.t = network.SysMsg(5, undefined, uid, e.attributes.p, xatlib.xInt(e.attributes.t.substr(3))); } else { if((e.attributes.t.substr(0, 3)) == "/gm") { e.attributes.t = network.SysMsg(6, undefined, uid, e.attributes.p, xatlib.xInt(e.attributes.t.substr(3))); } else { e.attributes.t = network.SysMsg(2, undefined, uid, e.attributes.p, xatlib.xInt(e.attributes.t.substr(2)), e.attributes.w); } } } else { if(FirstTwo == "/u") { e.attributes.t = network.SysMsg(3, undefined, uid, e.attributes.p, xatlib.xInt(e.attributes.t.substr(2))); } else { if(FirstTwo == "/m") { e.attributes.t = network.SysMsg(0, e.attributes.p, uid); } else { if(FirstTwo == "/r") { e.attributes.t = network.SysMsg(0, "r", uid); } else { if(FirstTwo == "/k") { uuid = xatlib.FindUser(e.attributes.u); arg = []; if(e.attributes.p) { arg = e.attributes.p.split("#"); } if(arg.length == 2 && !(todo.HasPower(uuid, 25))) { e.attributes.p = arg[0]; } if(arg.length == 3 && !(todo.HasPower(uuid, 121))) { e.attributes.p = arg[0]; } e.attributes.t = network.SysMsg(1, undefined, uid, e.attributes.p); } else { if(FirstTwo == "/n") { e.attributes.t = network.SysMsg(4, e.attributes.p, uid); } } } } } } IsSlash = false; } } } } } if(!IsSlash) { if(UserIndex >= 0 && todo.Users[UserIndex].w == 176) { e.attributes.t = xatlib.ReversePower(e.attributes.t); } e.attributes.t = xatlib.PreProcSmilie(e.attributes.t, !(u == todo.w_userno)); } if(todo.w_mainowner) { IsGagUser = false; } MessageCount = 0; e.attributes.N; if(UserIndex == -1 && !IsSlash || e.attributes.N || e.attributes.n) { if(u != 0) { if(todo.FlagBits & xconst.f_Live && e.nodeName == "m") { todo.Users.push({n:"", u:u, v:0, a:"", h:"", online:e.nodeName == "z" ? undefined : false, onsuper:e.nodeName == "z" ? true : undefined, owner:false, friend:network.OnFriendList(u)}); UserIndex = xatlib.FindUser(u); todo.Users[UserIndex].n = xatlib.StripSmilies(xatlib.NameNoXat(e.attributes.n)); todo.Users[UserIndex].a = e.attributes.a; todo.Users[UserIndex].h = e.attributes.h; todo.Users[UserIndex].sn = xatlib.xJSONdecode(e.attributes.sn); todo.Users[UserIndex].v = e.attributes.v; if(todo.Users[UserIndex].n == "") { todo.Users[UserIndex].n = xatlib.GetDefaultName(todo.Users[UserIndex].u); } if(todo.Users[UserIndex].a == "") { todo.Users[UserIndex].a = xatlib.GetDefaultAvatar(todo.Users[UserIndex].u); } if(todo.Users[UserIndex].h == "") { todo.Users[UserIndex].h = ""; } todo.Users[UserIndex].registered = e.attributes.N; todo.Users[UserIndex].q = e.attributes.q; todo.Users[UserIndex].Bride = xatlib.xInt(e.attributes.d2); todo.Users[UserIndex].aFlags = xatlib.xInt(e.attributes.d0); } else { todo.Users.push({n:"", u:u, v:0, a:"", h:"", online:e.nodeName == "z" ? undefined : false, onsuper:e.nodeName == "z" ? true : undefined, owner:false, friend:network.OnFriendList(u)}); UserIndex = xatlib.FindUser(u); } } } tgagged = UserIndex != -1 ? todo.Users[UserIndex].gagged : false; if(UserIndex != -1) { todo.Users[UserIndex].banned; } else { } tbanned = false; tfriend = UserIndex != -1 ? todo.Users[UserIndex].friend : false; if(todo.Users[UserIndex].banned && IsPrivateMessage && tgagged || tbanned || e.attributes.b == 1 && !tfriend && !IsAtUser && !IsLocateUser) { return; } if(UserIndex != -1) { todo.Users[UserIndex].mainowner; todo.Users[UserIndex].owner; } else { } tmodplus = false; if(todo.Users[UserIndex].u < 1000 || todo.Users[UserIndex].mainowner || todo.Users[UserIndex].owner || IsPrivateMessage && !IsPrivateChat && todo.HasPowerA(todo.w_Powers, 69, todo.w_Mask) && !tfriend && !tmodplus && !IsAtUser && !IsLocateUser) { return; } if(IsControlMessage && tbanned) { return; } if(e.attributes.q & 2) { todo.Users[UserIndex].VIP = true; } if(e.nodeName == "z") { if(UserIndex != -1) { if(todo.Users[UserIndex].onsuper != true) { xmessage.DeleteOneUserMc(UserIndex); } todo.Users[UserIndex].onsuper = true; todo.Users[UserIndex].available = false; } } else { if(e.nodeName == "m" && GotDone) { if(!(UserIndex == -1) && todo.Users[UserIndex].gagged) { todo.Users[UserIndex].gagged = false; todo.DoBuildUserList = true; } if((UserIndex == -1) && todo.Users[UserIndex].online == true) { xmessage.DeleteOneUserMc(UserIndex); } if(UserIndex != -1) { todo.Users[UserIndex].online = true; } } } if(!(UserIndex == -1) && todo.Users[UserIndex].online == false) { if(e.attributes.n != undefined) { if(UserIndex != -1) { if((e.attributes.n.substr(0, 1)) == "$") { e.attributes.n = e.attributes.n.substr(1); } todo.Users[UserIndex].n = xatlib.NameNoXat(e.attributes.n); todo.Users[UserIndex].a = e.attributes.a; todo.Users[UserIndex].h = e.attributes.h; todo.Users[UserIndex].v = e.attributes.v; if(todo.Users[UserIndex].n == "") { todo.Users[UserIndex].n = xatlib.GetDefaultName(todo.Users[UserIndex].u); } if(todo.Users[UserIndex].a == "") { todo.Users[UserIndex].a = xatlib.GetDefaultAvatar(todo.Users[UserIndex].u); } if(todo.Users[UserIndex].h == "") { todo.Users[UserIndex].h = ""; } todo.Users[UserIndex].registered = e.attributes.N; xmessage.DeleteOneUserMc(UserIndex); todo.DoUpdateMessages = true; } } } if(!(UserIndex == -1) && GotDone && todo.Users[UserIndex].n == "" || network.GetRev(e.attributes.u) > todo.Users[UserIndex].v && !IsSlash) { network.NetworkLocateUser(u); } if(!(UserIndex == -1) && network.OnFriendList(todo.Users[UserIndex].u)) { len = todo.w_friendlist.length; g = 0; while(g < len) { if(todo.w_friendlist[g].u == todo.Users[UserIndex].u) { if(!(xatlib.StripSpace_(todo.Users[UserIndex].n) == xatlib.StripSpace_(todo.w_friendlist[g].n)) || todo.Users[UserIndex].a == todo.w_friendlist[g].a || todo.Users[UserIndex].h == todo.w_friendlist[g].h) { network.UpdateFriendList(todo.Users[UserIndex].u, todo.w_friendlist[g].f ? todo.w_friendlist[g].f : 1); } break; } g = g + 1; } } IsIgnored = network.OnIgnoreList(u); todo.w_mainowner; todo.w_owner; todo.w_moderator; if(todo.w_mainowner || todo.w_owner || todo.w_moderator || network.IgnoreTime(u) < 0 && !IsPrivateMessage && !IsPrivateChat) { IsIgnored = false; } todo.Users[UserIndex].member; todo.Users[UserIndex].moderator; todo.Users[UserIndex].owner; if(todo.FlagBits & xconst.f_Live && IsPrivateMessage && !IsPrivateChat && !IsSlash && todo.Users[UserIndex].member || todo.Users[UserIndex].moderator || todo.Users[UserIndex].owner || !todo.Users[UserIndex].mainowner) { return; } strText = e.attributes.t; strText = (xatlib.CleanText(strText, 1)).toLowerCase(); lc = strText.toLowerCase(); if(!(strText.indexOf("chat.php?") == -1) || lc.indexOf("freexat") == -1 || lc.indexOf("freesub") == -1 || lc.indexOf("listchats") == -1 || lc.indexOf("llstchats") == -1) { if((FirstTwo.substr(0, 1)) != "/") { IsSlash = true; } } Links = xatlib.CountLinks(e.attributes.t); if(!(UserIndex == -1) && e.nodeName == "m" && todo.Users[UserIndex].u > 101 && !todo.Users[UserIndex].member && !todo.Users[UserIndex].moderator && !todo.Users[UserIndex].owner && !todo.Users[UserIndex].mainowner) { if(Links > 0) { IsSlash = true; } } if(e.nodeName == "m" && todo.messageecho == "l" && Links > 0) { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, e.attributes.u, e.attributes.t); } } if(IsLocateUser) { selfid = xatlib.FindUser(todo.w_userno); uid = xatlib.FindUser(u); if(u > 101 && main.utabsmc.tabs[2]) { if(uid < 0) { var _loc_3:todo = todo; var _loc_4:* = _loc_3.Tickled + 1; _loc_3.Tickled = _loc_4; todo.Users.push({n:"", u:u, v:0, a:"", h:"", TickCnt:_loc_3.Tickled}); } else { var _loc_3:todo = todo; var _loc_4:* = _loc_3.Tickled + 1; _loc_3.Tickled = _loc_4; todo.Users[uid].TickCnt = _loc_3.Tickled; if(!todo.Users[uid].ignored) { main.utabsmc.ColorTab(2, 39168); main.utabsmc.GlowTab(2); main.utabsmc.Notif = true; } } } if(todo.Users[selfid].flag0 & 1024 && u > 101) { } else { Friend = 1; Friend = network.OnFriendList(u); if(Friend == 3) { Friend = todo.foe ? 0 : 1; } if(Friend == 5) { Friend = 1; } if(network.OnIgnoreList(u)) { Friend = 0; } if(Friend == 1 && todo.HasPower(selfid, 5)) { Friend = 2; } if(!(UserIndex == -1) && todo.Users[UserIndex].online === true && Friend) { Friend = 1; } if(u <= 101) { Friend = 1; } switch(Friend) { case 2: str = "_NF"; break; case 1: str = xatlib.GroupUrl(); break; default: str = "_" + xconst.ST(126); break; } if((network.getTimer() - LastLocate) > 1150) { if(todo.w_userno <= 101 && (todo.w_name.substr(0, 2)) == "$$") { } else { network.NetworkSendMsg(todo.w_userno, "/a" + str, 0, u, 0); LastLocate = network.getTimer(); } } } } else { if(IsAtUser) { loctext = ""; if((e.attributes.t.substr(0, 3)) == "/a_") { if((e.attributes.t.substr(3, 2)) == "NF") { loctext = "NoFollow"; } else { loctext = xconst.ST(126); } } else { if((e.attributes.t.substr(2, xconst.usedomain.length)) == xconst.usedomain) { loctext = xconst.ST(129, e.attributes.t.substr(2)); } else { loctext = e.attributes.t.substr(2); } } UserIndex = xatlib.FindUser(xatlib.xInt(e.attributes.u)); if(todo.Users[UserIndex].UnmaskedPowers == undefined) { todo.Users[UserIndex].UnmaskedPowers = new Array(); } if(todo.Users[UserIndex].Powers == undefined) { todo.Users[UserIndex].Powers = new Array(); } pp = 0; while(pp < todo.MAX_PWR_INDEX) { ii = "p" + pp; if(e.attributes[ii] != undefined) { todo.Users[UserIndex].UnmaskedPowers[pp] = xatlib.xInt(e.attributes[ii]); if(!todo.Users[UserIndex].Powers[pp]) { todo.Users[UserIndex].Powers[pp] = xatlib.xInt(e.attributes[ii]); } } pp = pp + 1; } if(e.attributes.po != undefined) { todo.Users[UserIndex].PowerO = e.attributes.po; } todo.Users[UserIndex].n = xatlib.NameNoXat(e.attributes.n); todo.Users[UserIndex].s = xatlib.GetStatus(e.attributes.n); todo.Users[UserIndex].coins = e.attributes.x; todo.Users[UserIndex].days = e.attributes.y; todo.Users[UserIndex].debug = e.attributes.g; i = 0; while(i < main.dialog_layer.numChildren) { d = main.dialog_layer.getChildAt(i); if(d is DialogActions) { d.WriteLocation(loctext, e.attributes.u, e.attributes.N); } i = i + 1; } if(e.attributes.n != undefined) { UserIndex = xatlib.FindUser(xatlib.xInt(e.attributes.u)); if(UserIndex != -1) { if((e.attributes.n.substr(0, 1)) == "$") { e.attributes.n = e.attributes.n.substr(1); } todo.Users[UserIndex].v = e.attributes.v; todo.Users[UserIndex].n = xatlib.NameNoXat(e.attributes.n); todo.Users[UserIndex].u = xatlib.xInt(e.attributes.u); todo.Users[UserIndex].a = e.attributes.a; todo.Users[UserIndex].h = e.attributes.h; todo.Users[UserIndex].sn = xatlib.xJSONdecode(e.attributes.sn); todo.Users[UserIndex].cb = e.attributes.cb; todo.Users[UserIndex].registered = e.attributes.N; if(todo.Users[UserIndex].n == "") { todo.Users[UserIndex].n = xatlib.GetDefaultName(todo.Users[UserIndex].u); } if(todo.Users[UserIndex].a == "") { todo.Users[UserIndex].a = xatlib.GetDefaultAvatar(todo.Users[UserIndex].u); } if(todo.Users[UserIndex].h == "") { todo.Users[UserIndex].h = ""; } xmessage.DeleteOneUserMc(UserIndex); xatlib.PurgeMessageFromUser(todo.Users[UserIndex].u); todo.DoUpdateMessages = true; todo.DoBuildUserList = true; if(todo.Users[UserIndex].tUpd != undefined) { var _loc_3:* = todo.Users[UserIndex].n; main.ctabsmc.tabs[todo.Users[UserIndex].tUpd].h = _loc_3; main.ctabsmc.tabs[todo.Users[UserIndex].tUpd].t = _loc_3; main.ctabsmc.UpdateTabs(); todo.Users[UserIndex].tUpd = undefined; } if(network.OnFriendList(todo.Users[UserIndex].u)) { len = todo.w_friendlist.length; g = 0; while(g < len) { if(todo.w_friendlist[g].u == todo.Users[UserIndex].u) { if(!(xatlib.StripSpace_(todo.Users[UserIndex].n) == xatlib.StripSpace_(todo.w_friendlist[g].n)) || todo.Users[UserIndex].a == todo.w_friendlist[g].a || todo.Users[UserIndex].h == todo.w_friendlist[g].h) { network.UpdateFriendList(todo.Users[UserIndex].u, todo.w_friendlist[g].f ? todo.w_friendlist[g].f : 1); } break; } g = g + 1; } } } } } else { if(IsKickUser) { uuid = xatlib.FindUser(e.attributes.u); arg = []; if(e.attributes.p) { arg = e.attributes.p.split("#"); } if(arg.length == 3 && todo.HasPower(uuid, 121)) { var _loc_3:* = arg[1]; todo.CustomSound = _loc_3; todo.BumpSound = _loc_3; todo.DoAudieSnd = true; } network.NetworkClose(); network.SetNetworkState(0, -1); todo.lb = "n"; todo.DoUpdate = true; } else { if(IsDeleteMessage) { msgno = xatlib.xInt(e.attributes.t.substr(2)); if(msgno != 0) { len = todo.Message.length; v = 0; while(v < len) { if(todo.Message[v].n == msgno) { todo.Message[v].ignored = true; } v = v + 1; } todo.DoUpdateMessages = true; } } else { if(IsGagUser || IsUnGagUser) { network.UpdateGagList(todo.w_useroom, xatlib.xInt(e.attributes.t.substr(2)), IsGagUser); i = xatlib.FindUser(todo.w_userno); if(i > -1) { todo.Users[i].banned = IsGagUser ? true : false; xmessage.DeleteOneUserMc(i); xkiss.ClosePuzzle(); } if(GotDone && IsGagUser) { UnfairGroupName = todo.w_room == todo.w_useroom ? global.gn != undefined ? xatlib.CleanCommas(global.gn) : xconst.ST(0) : todo.BackVars[1] != undefined ? xatlib.CleanCommas(todo.BackVars[1]) : xconst.ST(0); if(i >= 0 && todo.Users[i].w) { BanTime = network.GetGagTime(todo.w_useroom); if(BanTime) { BanTime = BanTime - xatlib.SockTime(); if(BanTime <= (10 * 3600)) { NoBanMessage = true; } } } if(NoBanMessage && UnfairGroupName == xconst.ST(0)) { my_date = new Date(); t = network.Number(my_date.getTime()); UnfairFile = (network.String(xatlib.xInt(Math.random() * 999999))) + t; UnfairMessage = (todo.w_useroom + ",") + UnfairGroupName + "," + todo.w_userno + "," + (xatlib.CleanTextNoXat(todo.w_name).substr(0, 128)) + "," + u + "," + xatlib.CleanCommas(xatlib.GetUsername(u)) + ",,"; UnfairTitle = xconst.ST(125); UnfairReport = UnfairTitle; len = todo.Message.length; hh = 0; while(hh < len) { if(!(todo.Message[hh].s & 2) && todo.Message[hh].n == 0 ? true : todo.Message[hh].d == 0) { UnfairMessage = UnfairMessage + (todo.Message[hh].u + ",") + xatlib.CleanCommas(xatlib.GetUsername(todo.Message[hh].u)) + "," + xatlib.CleanCommas(todo.Message[hh].t) + ",,"; } if(todo.Message[hh].u == u) { if((todo.Message[hh].t.substr(0, 20)) == " " + xconst.ST(119)) { UnfairTitle = (xatlib.GetUsername(todo.Message[hh].u) + " ") + xconst.ST(127); UnfairReport = todo.Message[hh].t.substr(7); } } hh = hh + 1; } xatlib.UnfairPopup(UnfairTitle, UnfairReport); } } } else { if(IsMakeUser || IsUnMakeUser) { if(IsMakeUser && todo.FlagBits & xconst.f_Live) { w_redirectport = undefined; } so47 = xatlib.getLocal("chat" + network.String(todo.w_useroom), "/"); so47.objectEncoding = ObjectEncoding.AMF0; if(IsMakeUser) { todo.w_userrev = xatlib.xInt(todo.w_userrev); so47.data.pass = xatlib.xInt(e.attributes.t.substr(2)); } else { } so47.flush(); i = xatlib.FindUser(todo.w_userno); if(i > -1) { if(todo.Users[i].gagged == true) { todo.Users[i].gagged = false; todo.DoBuildUserList = true; } } } else { if(IsScroller) { main.SetScroller(e.attributes.t.substr(2, 510)); } else { if(!IsUnknown && !IsSlash) { var _loc_3:todo = todo; var _loc_4:* = _loc_3.mi + 1; _loc_3.mi = _loc_4; todo.Message.push({i:todo.mi * 2, n:e.attributes.i, t:e.attributes.t, u:u, ignored:IsIgnored, s:e.attributes.s, d:IsPrivateChat ? u : 0, p:IsPrivateMessage, pb:e.attributes.pb}); if(todo.messageecho == "m") { if(network.YC) { vt = xatlib.xInt(todo.w_d1) - network.YC; if(vt < 0) { vt = 0; } vt = xatlib.xInt((vt / (24 * 3600)) + 0.30); if(vt > 0) { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, todo.mi * 2, e.attributes.t); } } } } todo.bMobile; if(!(todo.bMobile && main.mscrollmc.Scrolling == true || todo.bMobile && main.mbs.Scrolling == true)) { nopc = 0; nom = 0; len = todo.Message.length; tt = 0; while(tt < len) { if(todo.Message[tt].s == 2) { nopc = nopc + 1; } else { nom = nom + 1; } tt = tt + 1; } maxpc = 100; maxm = 150; while(nopc > maxpc || nom > maxm) { len = todo.Message.length; RemoveMessage = undefined; tt = 0; while(tt < len) { if(nopc > maxpc) { if(todo.Message[tt].s == 2) { xmessage.DeleteOneMessageMc(tt); RemoveMessage = todo.Message.splice(tt, 1); nopc = nopc - 1; break; } } else { if(nom > maxm) { if(todo.Message[tt].s != 2) { xmessage.DeleteOneMessageMc(tt); RemoveMessage = todo.Message.splice(tt, 1); nom = nom - 1; break; } } } tt = tt + 1; } if(!network.UserGotMessage(RemoveMessage[0].u)) { len = todo.Users.length; tt = 0; while(tt < len) { if(todo.Users[tt].u == RemoveMessage[0].u) { if(todo.Users[tt].online) { break; } else { if(todo.Users[tt].u != todo.w_userno) { if(todo.Users[tt].friend) { if(todo.Users[tt].online != undefined) { xmessage.DeleteOneUserMc(tt); } todo.Users[tt].online = undefined; } else { xmessage.DeleteOneUserMc(tt); todo.Users.splice(tt, 1); } todo.DoBuildUserList = true; } break; } } tt = tt + 1; } } } } if(!IsUnknown && IsNew && !IsIgnored) { if(!(main.ctabsmc.TabIsPrivate() && main.ctabsmc.TabUser() == u)) { } else { selfid = xatlib.FindUser(todo.w_userno); main.ProcessSounds(e.attributes.t, selfid != -1 ? !(todo.HasPower(selfid, 8)) : 0, selfid); } } if(!IsUnknown && IsNew && !IsPrivateChat) { network.GlowUser(u); if(main.ctabsmc.TabIsPrivate()) { if(todo.w_useroom == todo.w_room) { main.ctabsmc.ColorTab(0, 39168); main.ctabsmc.GlowTab(0); } else { if(todo.w_useroom == todo.group) { main.ctabsmc.ColorTab(1, 39168); main.ctabsmc.GlowTab(1); } } } } if(!IsUnknown && IsPrivateChat && !IsIgnored) { selfid = xatlib.FindUser(todo.w_userno); HaveTab = -1; AllowPC = true; if(e.attributes.u != undefined) { if(!todo.Users[UserIndex].mainowner && !todo.Users[UserIndex].owner && !todo.Users[UserIndex].moderator) { if(todo.HasPowerA(todo.w_Powers, 10, todo.w_Mask) || todo.FlagBits & xconst.f_Live && !(todo.HasPowerA(todo.w_Powers, 10))) { f = network.OnFriendList(todo.Users[UserIndex].u); if(f == 5) { f = 1; } if(f != 1) { if(todo.Users[UserIndex].u > 101) { AllowPC = false; tt = 0; while(tt < main.ctabsmc.tabs.length) { if(main.ctabsmc.tabs[tt].User == todo.Users[UserIndex].u) { AllowPC = true; HaveTab = tt; break; } tt = tt + 1; } } } } } if(AllowPC) { TabNumber = HaveTab != -1 ? HaveTab : main.ctabsmc.TabAdd(u, 16777215, 1, main.Private_onRelease, main.Private_onDelete); main.ctabsmc.UpdateTabs(); if(main.ctabsmc.TabSelected() != TabNumber) { main.ctabsmc.GlowTab(TabNumber); main.ctabsmc.ColorTab(TabNumber, 39168); } todo.DoBuildUserList = true; } if(AllowPC) { if(todo.HasPower(UserIndex, 75)) { if(e.attributes.t.indexOf("(bump") != -1) { if(todo.Users[param1].mainowner) { return false; } if(todo.Users[param1].owner) { return todo.Users[param2].mainowner ? true : false; } else { if(todo.Users[param1].moderator) { todo.Users[param2].mainowner; return todo.Users[param2].mainowner || todo.Users[param2].owner ? true : false; } else { todo.Users[param2].mainowner; todo.Users[param2].owner; if(todo.Users[param2].mainowner || todo.Users[param2].owner || todo.Users[param2].moderator) { return true; } } } return false; var Superior:Function = _func_19; self = xatlib.FindUser(todo.w_userno); if(network.OnFriendList(todo.Users[UserIndex].u) || todo.Users[UserIndex].u < 101 || Superior(self, UserIndex)) { main.ctabsmc.ColorTab(TabNumber, 16711680); t = network.getTimer(); if(todo.LastBump == -1 || (t - todo.LastBump) > 20000) { var _loc_3:String = "laserfire3"; todo.BumpSound = _loc_3; todo.CustomSound = _loc_3; todo.DoAudieSnd = true; todo.LastBump = t; } } } } } } } todo.DoUpdateMessages = true; todo.ScrollDown = true; } } } } } } } } } else { if(e.nodeName == "g") { if(UserIndex >= 0) { todo.Users[UserIndex].xNum = e.attributes.x; xmessage.DeleteOneUserMc(UserIndex); } } else { if(e.nodeName == "u" || e.nodeName == "o") { if(e.attributes.n == null || e.attributes.n == undefined) { e.attributes.n = ""; } if(e.attributes.a == null || e.attributes.a == undefined) { e.attributes.a = ""; } if(e.attributes.h == null || e.attributes.h == undefined) { e.attributes.h = ""; } IsMainOwner = false; IsOwner = false; IsModerator = false; IsMember = false; IsOnline = false; IsBanned = false; IsForever = false; IsGagged = false; IsNew = e.nodeName == "u"; OnXat = !(xatlib.xInt(e.attributes.q) & 1) == 0; IsVIP = (xatlib.xInt(e.attributes.f) & 32) == 0 || (xatlib.xInt(e.attributes.q) & 2) == 0; Powers = []; if(IsVIP) { t = 0; while(t < todo.MAX_PWR_INDEX) { Powers.push(xatlib.xInt(e.attributes["p" + t])); t = t + 1; } } if((e.attributes.f & 7) == 1) { IsMainOwner = true; } if((e.attributes.f & 7) == 2) { IsModerator = true; } if((e.attributes.f & 7) == 3) { IsMember = true; } if((e.attributes.f & 7) == 4) { IsOwner = true; } if(e.nodeName == "u") { IsOnline = true; } if(e.attributes.s & 1 || e.attributes.f & 8) { IsNew = false; } if(e.attributes.f & 16) { IsBanned = true; } if(e.attributes.f & 64) { IsForever = true; } if(e.attributes.f & 256) { IsGagged = true; } if(IsNew && todo.w_sound & 1 && !IsBanned && u <= (2000000000 - 100000)) { if(!(main.ctabsmc.TabIsPrivate() && main.ctabsmc.TabUser() == u)) { } else { todo.DoUserSnd = true; } } if(u != todo.w_userno) { UserIndex = xatlib.FindUser(u); IsStealth = false; if(!(e.attributes.n == undefined) && (e.attributes.n.substr(0, 1)) == "$") { IsStealth = IsMainOwner; e.attributes.n = IsOwner || e.attributes.n.substr(1); } if(UserIndex == -1) { if(e.attributes.n == "") { e.attributes.n = xatlib.GetDefaultName(u); } if(e.attributes.a == "") { e.attributes.a = xatlib.GetDefaultAvatar(u); } if(e.attributes.h == "") { e.attributes.h = ""; } UserIndex = todo.Users.push({}) - 1; } else { xmessage.DeleteOneUserMc(UserIndex); } todo.Users[UserIndex].n = xatlib.NameNoXat(e.attributes.n); todo.Users[UserIndex].s = xatlib.GetStatus(e.attributes.n); todo.Users[UserIndex].v = xatlib.xInt(e.attributes.v); todo.Users[UserIndex].u = u; todo.Users[UserIndex].a = e.attributes.a; todo.Users[UserIndex].h = e.attributes.h; todo.Users[UserIndex].cb = e.attributes.cb; todo.Users[UserIndex].online = IsOnline; todo.Users[UserIndex].mainowner = IsMainOwner; todo.Users[UserIndex].owner = IsOwner; todo.Users[UserIndex].moderator = IsModerator; todo.Users[UserIndex].member = IsMember; todo.Users[UserIndex].onsuper = undefined; todo.Users[UserIndex].available = undefined; todo.Users[UserIndex].OnXat = OnXat; todo.Users[UserIndex].Stealth = IsStealth; todo.Users[UserIndex].friend = network.OnFriendList(u); todo.Users[UserIndex].registered = e.attributes.N; todo.Users[UserIndex].sn = xatlib.xJSONdecode(e.attributes.sn); todo.Users[UserIndex].VIP = IsVIP; todo.Users[UserIndex].Powers = Powers; todo.Users[UserIndex].Bride = xatlib.xInt(e.attributes.d2); todo.Users[UserIndex].aFlags = xatlib.xInt(e.attributes.d0); todo.Users[UserIndex].flag0 = xatlib.xInt(e.attributes.f); todo.Users[UserIndex].w = xatlib.xInt(e.attributes.w); network.AddGiftPower(UserIndex); todo.Users[UserIndex].xNum = e.attributes.x; if(todo.Users[UserIndex].u == 4294967295.00) { todo.Users[UserIndex].n = todo.Users[UserIndex].n + " Spectators"; } if(IsNew && main.ctabsmc.TabIsPrivate()) { if(todo.w_useroom == todo.w_room) { main.ctabsmc.ColorTab(0, 39168); } else { if(todo.w_useroom == todo.group) { main.ctabsmc.ColorTab(1, 39168); } } } todo.DoBuildUserList = true; if(UserIndex > -1) { todo.Users[UserIndex].banned = IsBanned; todo.Users[UserIndex].forever = IsForever; todo.Users[UserIndex].gagged = IsGagged; len = todo.Message.length; cc = 0; while(cc < len) { if(xatlib.xInt(todo.Message[cc].u) == xatlib.xInt(todo.Users[UserIndex].u)) { if(IsBanned) { todo.Message[cc].ignored = true; } } cc = cc + 1; } todo.DoBuildUserList = true; todo.DoUpdateMessages = true; } if(todo.Users[UserIndex].friend) { len = todo.w_friendlist.length; g = 0; while(g < len) { if(todo.w_friendlist[g].u == u) { if(!(xatlib.StripSpace_(todo.Users[UserIndex].n) == xatlib.StripSpace_(todo.w_friendlist[g].n)) || todo.Users[UserIndex].a == todo.w_friendlist[g].a || todo.Users[UserIndex].h == todo.w_friendlist[g].h) { network.UpdateFriendList(u, todo.w_friendlist[g].f ? todo.w_friendlist[g].f : 1); } break; } g = g + 1; } } if(todo.messageecho == "a") { if(todo.Users[UserIndex].banned == true || network.OnIgnoreList(u)) { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, u, "l"); } } else { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, u, "u" + e.attributes.a); } } } } } else { if(e.nodeName == "l") { UserIndex = xatlib.FindUser(u); xmessage.DeleteOneUserMc(UserIndex); if((UserIndex == -1) && u == todo.w_userno) { if((todo.Users[UserIndex].online == false) || todo.Users[UserIndex].onsuper == false) { xmessage.DeleteOneUserMc(UserIndex); } var _loc_3:Boolean = false; todo.Users[UserIndex].online = _loc_3; var _loc_3:Boolean = _loc_3; todo.Users[UserIndex].available = _loc_3; todo.Users[UserIndex].onsuper = _loc_3; todo.Users[UserIndex].xNum = undefined; } if(!(UserIndex == -1) && !network.UserGotMessage(todo.Users[UserIndex].u)) { len = todo.Users.length; tt = 0; while(tt < len) { if(!(todo.Users[tt].u == todo.Users[UserIndex].u && todo.Users[tt].u == todo.w_userno)) { todo.Users.splice(tt, 1); todo.DoBuildUserList = true; break; } tt = tt + 1; } } todo.DoBuildUserList = true; if(todo.messageecho == "a") { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, u, "l"); } } } else { if(e.nodeName == "i") { todo.gconfig = new Object(); todo.w_room_cb = xatlib.xInt(e.attributes.cb); xconst.MakeBads(); if(todo.w_useroom == todo.w_room) { xatlib.SplitBackground(e.attributes.b); a = todo.BackVars; } else { a = e.attributes.b.split(";="); } todo.usebackground = a[0]; todo.useRadio = a[4]; if(!(todo.useRadio == undefined) && global.xc & 4096 || todo.useRadio.length < 10) { todo.useRadio = undefined; } if(todo.config["noradio"]) { todo.useRadio = undefined; } todo.ButCol = a[5]; if(todo.ButCol == undefined || todo.ButCol.length == 0) { todo.ButCol = 13158600; } else { if(todo.ButCol.charAt(0) == "#") { todo.ButCol = network.parseInt(todo.ButCol.substr(1), 16); } } todo.ButCol = xatlib.xInt(todo.ButCol) & 16777215; todo.ButColW2 = (todo.ButCol & 255) + (todo.ButCol >> 8) & 255 + (todo.ButCol >> 16) & 255; if(todo.ButColW2 > 384) { todo.ButColW = 0; } else { todo.ButColW = 16777215; } main.mcgetachat.RefreshColor(); main.ButtonLoginMc.RefreshColor(); main.retmc.RefreshColor(); if(todo.bThin) { main.retmcBut.Col = todo.ButColW; } else { xatlib.McSetRGB(main.retmcBut.xitem.back, todo.ButColW); } if(!todo.bMobile) { main.mscrollmc.RefreshColor(); main.uscrollmc.RefreshColor(); } todo.FlagBits = xatlib.xInt(e.attributes.f); if(todo.FlagBits & xconst.f_Deleted) { chat.mainDlg.visible = false; xatlib.getURL("http://alltop.com", "_self"); if(todo.lb != "n") { main.logoutbutonPress(); } return; } main.logo.visible = true; chat.mainDlg.MkGpBut(); if(todo.MainFlagBits == undefined) { todo.MainFlagBits = todo.FlagBits; } if(todo.w_sound == undefined) { if(todo.FlagBits & xconst.f_DefNoSound) { todo.w_sound = 4; } else { todo.w_sound = 253; } } if((todo.w_sound & 4) == 0) { todo.w_sound = todo.w_sound | 254; } if(global.xc & 8192) { todo.w_sound = todo.w_sound & ~2; } if(global.xt == undefined) { main.ctabsmc.tabs[1].t = todo.BackVars[1]; main.ctabsmc.tabs[1].h = main.ctabsmc.tabs[1].t + " "; } if(global.xl == undefined) { todo.group = todo.BackVars[2]; } if(xconst.f_Lobby & todo.MainFlagBits) { main.ctabsmc.tabs[0].Skip = undefined; main.ctabsmc.tabs[1].Skip = undefined; } else { main.ctabsmc.tabs[0].Skip = true; main.ctabsmc.tabs[1].Skip = true; } main.ctabsmc.UpdateTabs(); if(e.attributes.v & 1) { } else { todo.w_registered = undefined; } todo.w_VIP = (e.attributes.v & 3) == 3; todo.w_ALLP = e.attributes.v & 4; todo.w_mainowner = false; todo.w_owner = false; todo.w_moderator = false; todo.w_member = false; if(xatlib.xInt(e.attributes.r) == 1) { todo.w_mainowner = true; todo.w_owner = true; } else { if(xatlib.xInt(e.attributes.r) == 2) { todo.w_moderator = true; } else { if(xatlib.xInt(e.attributes.r) == 3) { todo.w_member = true; } else { if(xatlib.xInt(e.attributes.r) == 4) { todo.w_owner = true; } else { todo.pass = undefined; } } } } if(todo.w_mainowner) { if(network.OnGagList(todo.w_useroom)) { network.UpdateGagList(todo.w_useroom, 0, false); } i = xatlib.FindUser(todo.w_userno); if(i > -1) { todo.Users[i].banned = false; xmessage.DeleteOneUserMc(i); } } len = todo.Users.length; ee = 0; while(ee < len) { if(todo.Users[ee].u == todo.w_userno) { var _loc_3:Boolean = false; todo.Users[ee].member = _loc_3; var _loc_3:Boolean = _loc_3; todo.Users[ee].moderator = _loc_3; var _loc_3:Boolean = _loc_3; todo.Users[ee].owner = _loc_3; todo.Users[ee].mainowner = _loc_3; IsBanned = network.OnGagList(todo.w_useroom); todo.Users[ee].banned = IsBanned; if(todo.w_mainowner) { todo.Users[ee].mainowner = true; } if(todo.w_owner) { todo.Users[ee].owner = true; } todo.w_owner; todo.w_mainowner; if(todo.w_owner || todo.w_mainowner && (todo.w_name.substr(0, 1)) == "$") { todo.Users[ee].Stealth = true; } if(todo.w_moderator) { todo.Users[ee].moderator = true; } if(todo.w_member) { todo.Users[ee].member = true; } todo.Users[ee].VIP = todo.w_VIP; if(!todo.w_VIP) { todo.w_Powers = undefined; } todo.Users[ee].Powers = todo.w_Powers != undefined ? todo.w_Powers.slice() : todo.NO_POWERS.slice(); if(todo.w_ALLP) { todo.Users[ee].Powers[0] = todo.Users[ee].Powers[0] | 1; } network.AddGiftPower(ee); t = 0; while(t < todo.MAX_PWR_INDEX) { todo.Users[ee].Powers[t] = todo.Users[ee].Powers[t] & (~(xatlib.xInt(todo.w_Mask != undefined ? todo.w_Mask[t] : 0))); t = t + 1; } todo.Users[ee].Bride = todo.w_d2; todo.Users[ee].aFlags = todo.w_d0; todo.Users[ee].flag0 = xatlib.xInt(e.attributes.f2); todo.w_r = xatlib.xInt(e.attributes.r); todo.Users[ee].w = xatlib.xInt(e.attributes.w); todo.Users[ee].sn = xatlib.xJSONdecode(todo.w_sn); todo.foe = todo.HasPower(ee, 212); xmessage.DeleteOneUserMc(ee); todo.DoBuildUserList = true; break; } ee = ee + 1; } if(todo.config["uselogindialog"]) StringIndex = todo.config["uselogindialog"] ? 0 : todo.w_mainowner && !global.xb ? 34 : 5; main.mcgetachat.SetText(StringIndex ? xconst.ST(StringIndex) : "Login"); main.mcgetachat.lc = StringIndex; todo.w_owner; todo.w_moderator; if((xconst.f_MembersOnly | xconst.f_MembersOnly2) & todo.FlagBits && todo.w_owner || todo.w_moderator || !todo.w_member) { type = undefined; switch((xconst.f_MembersOnly | xconst.f_MembersOnly2) & todo.FlagBits) { case xconst.f_MembersOnly | xconst.f_MembersOnly2: if(!todo.w_VIP) { type = xconst.ST(176); } break; case xconst.f_MembersOnly2: if(todo.w_registered == undefined) { type = xconst.ST(177); } break; default: type = xconst.ST(178); break; } if(type != undefined) { todo.helpstr = xconst.ST(37, type); todo.HelpUpdate = 0; } } if(todo.messageecho == "a") { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, 0, "d"); } } main.SetScroller(todo.FlagBits & xconst.f_Live ? xconst.ST(217) : ""); UserIndex = xatlib.FindUser(todo.w_userno); todo.Users[UserIndex].banned; if(UserIndex >= 0 && todo.Users[UserIndex].banned && todo.Users[UserIndex].w) { xkiss.LoadPuzzle(todo.Users[UserIndex].w); } else { xkiss.ClosePuzzle(); } } else { if(e.nodeName == "w") { while(todo.Pools.length) { todo.Pools.shift(); } Text = e.attributes.v; left = 0; RndOr = todo.w_userno ^ 2863311530.00; Rnd2 = RndOr; len = Text.length; q = 0; while(q < len) { if((Text.substr(q, 1)) == " " || q == (Text.length - 1)) { todo.pool = xatlib.xInt(Text.substr(left, q == (Text.length - 1) ? (q - left) + 1 : q - left)); if(left == 0) { todo.newpool = todo.pool; } else { if(Rnd2 & 1) { todo.Pools.push(todo.pool); } else { todo.Pools.unshift(todo.pool); } Rnd2 = Rnd2 >>> 1; if(Rnd2 == 0) { Rnd2 = RndOr; } } left = q + 1; } q = q + 1; } if(todo.newpool != todo.w_pool) { main.ctabsmc.UpdateTabs(); todo.w_pool = todo.newpool; xmessage.ClearLists(false); todo.DoBuildUserListScrollUp = true; todo.DoUpdateMessages = true; } else { todo.DoBuildUserListScrollUp = true; } if(todo.messageecho == "a") { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, 0, "d"); } } } else { if(e.nodeName == "f") { str = e.attributes.v; sarray = str.split(","); len = sarray.length; p = 0; while(p < len) { UserIndex = xatlib.FindUser(sarray[p]); if(UserIndex != -1) { todo.Users[UserIndex].onsuper = true; todo.Users[UserIndex].available = sarray[p].charAt(0) === "0"; xmessage.DeleteOneUserMc(UserIndex); } p = p + 1; } todo.DoBuildUserListScrollUp = true; } else { if(e.nodeName == "k") { todo.OnSuper = false; } else { if(e.nodeName == "dup") { todo.helpstr = xconst.ST(36); todo.HelpUpdate = 0; network.SetNetworkState(0, -1); todo.lb = "n"; todo.DoUpdate = true; network.NetworkClose(); } else { if(e.nodeName == "q") { if(e.attributes.k != undefined) { network.SetNetworkState(0, -1); todo.lb = "n"; todo.DoUpdate = true; network.NetworkClose(); if(QK != true) { QK = true; todo.w_userno = 0; todo.w_userrev = 0; todo.w_k1 = 0; todo.w_k2 = 0; network.NetworkStartChat(); } } else { doautoredirect = w_redirectport == undefined; network.SetNetworkState(0, -1); if(e.attributes.r != undefined) { var _loc_3:xInt = xatlib.xInt(e.attributes.r); todo.w_useroom = _loc_3; todo.w_room = _loc_3; main.ctabsmc.UpdateTabs(0); } else { w_redirectport = xatlib.xInt(e.attributes.p); w_redirectdom = e.attributes.d; if((w_redirectdom.substr(0, 1)) == "e") { w_redirectdom = w_redirectdom + ".xatech.com"; } } if((e.attributes.p2 == undefined) && e.attributes.d2 == undefined) { uid = xatlib.FindUser(e.attributes.d2); if((e.attributes.p2.indexOf("#") == -1) && uid == -1) { reason = e.attributes.p2.substr(0, e.attributes.p2.indexOf("#")); bootr = e.attributes.p2.substr(e.attributes.p2.indexOf("#") + 1); Bootp = (todo.Users[uid].n + " (") + todo.Users[uid].u + ") booted you to " + bootr + (reason != "" ? ". Reason:" + reason : "."); } } todo.lb = "n"; todo.DoUpdate = true; network.NetworkClose(); if(doautoredirect) { network.NetworkStartChat(); } } } else { if(e.nodeName == "logout") { if(e.attributes.e == "F016" || e.attributes.e == "F021") { if(attempt < xNumAttempts) { var _loc_3:network = network; var _loc_4:* = _loc_3.attempt + 1; _loc_3.attempt = _loc_4; _loc_3.SetNetworkState(0, -1); todo.lb = "n"; todo.DoUpdate = true; _loc_3.NetworkClose(); _loc_3.NetworkStartChat(); return; } } todo.helpstr = xconst.ST(35); todo.HelpUpdate = 0; errnum = xatlib.xInt(e.attributes.e.substr(1)); switch(errnum) { case 36: todo.helpstr = xconst.ST(260); break; case 37: todo.helpstr = xconst.ST(260); break; case 38: todo.helpstr = xconst.ST(260); break; default: break; } _loc_3.SetNetworkState(0, -1); todo.lb = "n"; todo.DoUpdate = true; _loc_3.NetworkClose(); uid = xatlib.FindUser(todo.w_userno); todo.Users[uid].online = false; xmessage.DeleteOneUserMc(uid); _loc_3.RemoveMessagesWithNoUser(); } else { if(e.nodeName == "idle") { todo.helpstr = xconst.ST(33); todo.HelpUpdate = 0; _loc_3.SetNetworkState(0, -1); todo.lb = "n"; todo.DoUpdate = true; _loc_3.NetworkClose(); _loc_3.RemoveMessagesWithNoUser(); } else { if(e.nodeName == "abort") { todo.lb = "n"; todo.DoUpdate = true; _loc_3.NetworkClose(); _loc_3.SetNetworkState(5, 12 * 6); } else { if(e.nodeName == "BB") { if(YI != xatlib.xInt(e.attributes.y)) { return; } tickcode.BB = e.attributes.t.split(","); } else { if(e.nodeName == "done") { chat.mainDlg.UpdateBackground(todo.usebackground); chat.mainDlg.UpdateEmotes(); xmessage.OpenGifts(todo.w_userno, 0); if(global.um != undefined) { xatlib.GeneralMessage("", (xconst.ST(135) + ":\n\n") + global.um); network.NetworkMakeUser(global.um, "r"); network.SetNetworkState(0, -1); todo.lb = "n"; todo.DoUpdate = true; network.NetworkClose(); main.box_layer.GeneralMessageH.Delete(); global.um = undefined; main.box_layer.GeneralMessageH.Dia.Ok.But.PressFunc = _func_20; } _loc_3.RemoveMessagesWithNoUser(); _loc_3.RemoveUsersWithNoMessages(); if(xatlib.IsDefaultName(todo.w_name) && todo.helpstr == "") { todo.helpstr = xconst.ST(12, " " + todo.w_name); todo.HelpUpdate = 0; } todo.FV = xatlib.xInt(Capabilities.version.split(" ")[1]); if(todo.FV < 10) { todo.helpstr = "Please update your Flash player for best performance, click here: http://www.adobe.com/go/getflashplayer"; todo.helpupdate = 0; } if(Bootp != undefined) { todo.helpstr = Bootp; todo.HelpUpdate = 0; Bootp = undefined; } xmessage.UpdateMessages(true, false); todo.DoBuildUserList = true; GotDone = true; FI = true; if(todo.connectchannel != undefined) { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", chat.connectchannel, chat.connectuser, chat.connectmsg); } todo.connectchannel = undefined; } if(todo.RefreshLogin) { _loc_3.NetworkLogin(todo.w_userno, 0); todo.WV2 = true; todo.RefreshLogin = false; } if(todo.gconfig["g112"]) { todo.Message.push({n:0, t:" " + todo.gconfig["g112"], u:0, s:0, d:0}); todo.DoUpdateMessages = true; todo.ScrollDown = true; } uid = xatlib.FindUser(todo.w_userno); todo.Away = todo.HasPower(uid, 144) ? 1 : 0; todo.Typing = todo.HasPower(uid, 172) ? 1 : 0; } } } } } } } } } } } } } } } } } } } } } } } } final public static function NetworkSendMsg(param1:*, param2:*, param3:* = undefined, param4:* = undefined, param5:* = undefined, param6:* = undefined, param7:* = undefined) { var _loc_9:* = undefined; if(todo.lb == "n") { return; } if(param3 == undefined) { param3 = 0; } if(param4 == undefined) { param4 = 0; } if(param5 == undefined) { param5 = 0; } var _loc_8:* = new XMLDocument(); var _loc_10:* = true; var _loc_11:String = ""; if(param5 != 0) { _loc_9 = _loc_8.createElement("c"); if(param3 != 0) { _loc_9.attributes.d = todo.w_userno; _loc_9.attributes.s = 2; } _loc_9.attributes.t = param2; _loc_9.attributes.u = param5; if(param6 != undefined) { _loc_9.attributes.p = param6; } if(param7 != undefined) { _loc_9.attributes.w = param7; } _loc_8.appendChild(_loc_9); _loc_11 = xatlib.XMLOrder(_loc_8, new Array("w", "p", "u", "t", "s", "d")); socket.send(_loc_11); } else { if(param4 != 0) { if(!(network.OnUserList(param4) && (param2.substr(0, 2)) == "/a") && (param2.substr(0, 2)) == "/l" && (param2.substr(0, 2)) == "/t") { _loc_9 = _loc_8.createElement("p"); if(param3 != 0) { _loc_9.attributes.d = todo.w_userno; _loc_9.attributes.s = 2; } _loc_9.attributes.t = param2; _loc_9.attributes.u = param4; _loc_8.appendChild(_loc_9); _loc_11 = xatlib.XMLOrder(_loc_8, new Array("u", "t", "s", "d")); socket.send(_loc_11); } else { _loc_9 = _loc_8.createElement("z"); if(param3 != 0) { _loc_9.attributes.s = 2; } _loc_9.attributes.t = param2; _loc_9.attributes.u = (todo.w_userno + "_") + todo.w_userrev; _loc_9.attributes.d = param4; _loc_10 = false; _loc_8.appendChild(_loc_9); _loc_11 = xatlib.XMLOrder(_loc_8, new Array("d", "u", "t", "s")); socket.send(_loc_11); } } else { if(param3 != 0) { if(network.OnUserList(param3)) { _loc_9 = _loc_8.createElement("p"); _loc_9.attributes.d = todo.w_userno; _loc_9.attributes.s = 2; _loc_9.attributes.t = param2; _loc_9.attributes.u = param3; _loc_8.appendChild(_loc_9); _loc_11 = xatlib.XMLOrder(_loc_8, new Array("u", "t", "s", "d")); socket.send(_loc_11); } else { _loc_9 = _loc_8.createElement("z"); _loc_9.attributes.s = 2; _loc_9.attributes.t = param2; _loc_9.attributes.u = (todo.w_userno + "_") + todo.w_userrev; _loc_9.attributes.d = param3; _loc_10 = false; _loc_8.appendChild(_loc_9); _loc_11 = xatlib.XMLOrder(_loc_8, new Array("d", "u", "t", "s")); socket.send(_loc_11); } } else { _loc_9 = _loc_8.createElement("m"); _loc_9.attributes.u = todo.w_userrev <= 0 ? param1 : (param1 + "_") + todo.w_userrev; _loc_9.attributes.t = param2; if(xatlib.CountLinks(param2) > 0) { _loc_9.attributes.l = 1; } _loc_8.appendChild(_loc_9); _loc_11 = xatlib.XMLOrder(_loc_8, new Array("t", "u", "l")); socket.send(_loc_11); } } } if((param2.substr(0, 1)) != "/") { network.GlowUser(todo.w_userno); } if((param2.substr(0, 3)) == "/KD") { _loc_10 = false; } if(_loc_10) { LurkerTimeout = LurkerLimit; } } final public static function UpdateChannel(param1:*, param2:*) { var _loc_3:Number = xatlib.FindUser(param2); if(_loc_3 < 0) { return; } todo.Users[_loc_3].banned; todo.Users[_loc_3].w; if(todo.Users[_loc_3].banned && todo.Users[_loc_3].w && !(todo.Users[_loc_3].flag0 & 131072)) { param1 = 50000 + todo.Users[_loc_3].w; } if(param1 < 10000) { param1 = 0; } if(todo.Users[_loc_3].xNum != param1) { todo.Users[_loc_3].xNum = param1; xmessage.DeleteOneUserMc(_loc_3); } } final public static function NetworkSendExtMessage(param1:*, param2:* = undefined, param3:* = undefined) { var _loc_5:* = undefined; LurkerTimeout = LurkerLimit; var _loc_4:* = new XMLDocument(); _loc_5 = _loc_4.createElement("x"); _loc_5.attributes.t = param3 == undefined ? "undefined" : param3; if(param2 != 0) { _loc_5.attributes.d = param2 == undefined ? "undefined" : param2; } _loc_5.attributes.u = todo.w_userno; _loc_5.attributes.i = param1; network.UpdateChannel(param1, todo.w_userno); _loc_4.appendChild(_loc_5); var _loc_6:String = xatlib.XMLOrder(_loc_4, new Array("i", "u", "d", "t")); socket.send(_loc_6); } final public static function NetworkSendxmlExtMessage(param1:*) { LurkerTimeout = LurkerLimit; var _loc_2:* = new XMLDocument(param1); network.UpdateChannel(_loc_2.firstChild.attributes.i, todo.w_userno); var _loc_3:* = ""; if((_loc_2.toString().indexOf("t=\"/m") == -1) || _loc_2.toString().indexOf("t=\"/g") == -1) { _loc_3 = xatlib.XMLOrder(_loc_2, new Array("j", "i", "u", "t", "p")); } else { _loc_3 = xatlib.XMLOrder(_loc_2, new Array("H", "j", "i", "t", "u", "d0", "d2", "q", "N", "n", "a", "h", "v")); } socket.send(_loc_3); } final public static function NetworkLogin(param1:*, param2:*) { var _loc_3:* = new XMLDocument(); var _loc_4:* = _loc_3.createElement("v"); _loc_4.attributes.n = param1; _loc_4.attributes.p = param2; _loc_3.appendChild(_loc_4); socket.send(_loc_3); } final public static function NetworkDeleteMessage(param1:*) { network.NetworkSendMsg(todo.w_userno, "/d" + param1); } final public static function NetworkGagUser(param1:*, param2:*, param3:*, param4:*, param5:* = undefined, param6:* = undefined) { network.NetworkSendMsg(todo.w_userno, param3 ? "/" + param1 + param4 : "/u", 0, 0, param2, param5, param6); } final public static function NetworkKickUser(param1:*, param2:*) { network.NetworkSendMsg(todo.w_userno, "/k", 0, 0, param1, param2); } final public static function NetworkMakeUser(param1:*, param2:*) { network.NetworkSendMsg(todo.w_userno, "/" + param2, 0, 0, param1); } final public static function SysMsg(param1:*, param2:*, param3:* = undefined, param4:* = undefined, param5:* = undefined, param6:int = 0) : String { var _loc_8:* = undefined; var _loc_10:* = undefined; var _loc_11:* = undefined; var _loc_7:String = ""; var _loc_9:* = todo.Users[param3].n.substr(0, 128); if(param4 == undefined) { param4 = ""; } if(xatlib.CountLinks(_loc_9) > 0) { _loc_9 = todo.Users[param3].registered; if(!_loc_9) { _loc_9 = todo.Users[param3].u; } } if(param1 == 0) { if(param2 == "M") { _loc_7 = _loc_7 + (xconst.ST(137, _loc_9)); } else { if(param2.charAt(0) == "m") { _loc_7 = _loc_7 + (xconst.ST(128, _loc_9)); } else { if(param2.charAt(0) == "e") { _loc_7 = _loc_7 + (xconst.ST(132, _loc_9)); } else { if(param2.charAt(0) == "o") { _loc_7 = _loc_7 + (xconst.ST(137, _loc_9)); } else { if(param2 == "r") { _loc_7 = _loc_7 + (xconst.ST(138, _loc_9)); } } } } } _loc_10 = (xatlib.xInt(param2.substr(1) / 36)) / 100; if(_loc_10 > 0) { _loc_7 = _loc_7 + "(" + _loc_10 + " " + xconst.ST(116) + ")"; } } else { if(param1 == 1) { _loc_11 = param4.split("#"); if(_loc_11.length == 2) { _loc_7 = _loc_7 + (xconst.ST(194, _loc_9, _loc_11[1], _loc_11[0])); } else { if(_loc_11.length == 3) { _loc_7 = _loc_7 + "I have zapped " + _loc_9 + " Reason: " + _loc_11[0]; } else { _loc_7 = _loc_7 + (xconst.ST(123, _loc_9, _loc_11[0])); } } } else { if(param1 == 7) { _loc_7 = _loc_7 + (xconst.ST(123, _loc_9, _loc_11[0])); } else { if(param1 == 2) { if(param4.length == 0) { if(param5 == 0) { _loc_7 = _loc_7 + (xconst.ST(119, _loc_9)); } else { _loc_7 = _loc_7 + (xconst.ST(120, _loc_9, network.String(param5 / 3600))); } } else { if(param5 == 0) { _loc_7 = _loc_7 + (xconst.ST(121, _loc_9, param4)); } else { _loc_7 = _loc_7 + (xconst.ST(122, _loc_9, network.String(param5 / 3600), param4)); } } _loc_8 = 0; switch(param6) { case 158: _loc_8 = xconst.ST(259); break; case 264: _loc_8 = xconst.ST(265); break; case 284: _loc_8 = xconst.ST(268); break; case 292: _loc_8 = xconst.ST(272); break; default: if(param6) { _loc_8 = xconst.Puzzle[param6] + xconst.ST(258); } break; } if(_loc_8) { _loc_7 = xatlib.Replace(_loc_7, xconst.ST(258), _loc_8); } } else { if(param1 == 3) { if(param4.indexOf(",") >= 0) { _loc_8 = param4.split(","); _loc_7 = xconst.ST(250, _loc_8[2], xconst.Puzzle[_loc_8[0]], _loc_8[1]); } else { _loc_7 = _loc_7 + (xconst.ST(90) + " ") + _loc_9 + "."; } } else { if(param1 == 4) { if(param2.charAt(0) == "n") { _loc_7 = _loc_7 + (xconst.ST(196, _loc_9)); _loc_10 = (xatlib.xInt(param2.substr(1) / 36)) / 100; if(_loc_10 > 0) { _loc_7 = _loc_7 + "(" + _loc_10 + " " + xconst.ST(116) + ")"; } } } else { if(param1 == 5 || param1 == 6) { if(param4.length == 0) { _loc_7 = _loc_7 + (xconst.ST(199, param1 == 5 ? xconst.ST(188) : xconst.ST(201), _loc_9, network.String(param5 / 3600))); } else { _loc_7 = _loc_7 + (xconst.ST(200, param1 == 5 ? xconst.ST(188) : xconst.ST(201), _loc_9, network.String(param5 / 3600), param4)); } } else { return ""; } } } } } } } return " " + _loc_7; } final public static function NetworkFriendUser(param1:*, param2:*) { var _loc_4:* = undefined; var _loc_3:* = xatlib.FindUser(param1); todo.Users[_loc_3].friend = param2; xmessage.DeleteOneUserMc(_loc_3); network.UpdateFriendList(param1, param2); if(todo.w_registered == undefined) { return; } var _loc_5:* = "/b " + param1 + "," + (param2 == 0 ? 2 : param2); if(param2) { _loc_4 = todo.Users[_loc_3].registered; if(_loc_4 == undefined) { _loc_4 = ""; } _loc_5 = _loc_5 + "," + _loc_4 + "," + (todo.Users[_loc_3].n.substr(0, 20)); } network.NetworkSendMsg(todo.w_userno, _loc_5, 0, 0, 2); } final public static function NetworkSetPool(param1:*) { var _loc_2:* = new XMLDocument(); var _loc_3:* = _loc_2.createElement("w" + xatlib.xInt(param1)); _loc_2.appendChild(_loc_3); socket.send(_loc_2); } final public static function NetworkLocateUser(param1:*) { if(param1 >= (2000000000 - (100000 * 2))) { return; } network.NetworkSendMsg(todo.w_userno, "/l", 0, param1, 0); } final public static function RemoveMessagesWithNoUser() { var _loc_3:* = undefined; var _loc_1:* = todo.Message.length; var _loc_2:* = 0; while(_loc_2 < _loc_1) { _loc_3 = xatlib.FindUser(todo.Message[_loc_2].u); if(_loc_3 == -1) { } else { if(todo.Users[_loc_3].n == "") { todo.Message[_loc_2].ignored = true; } } _loc_2 = _loc_2 + 1; } todo.DoUpdateMessages = true; } final public static function RemoveUsersWithNoMessages() { var _loc_1:* = undefined; var _loc_2:* = undefined; _loc_1 = todo.Users.length; _loc_2 = 0; while(_loc_2 < _loc_1) { if(todo.Users[_loc_2] == undefined) { } else { if(todo.Users[_loc_2].u != todo.w_userno) { if(!network.UserGotUnignoredMessage(todo.Users[_loc_2].u)) { if(todo.Users[_loc_2].online == false) { if(todo.Users[_loc_2].friend) { if(todo.Users[_loc_2].online != undefined) { xmessage.DeleteOneUserMc(_loc_2); } todo.Users[_loc_2].online = undefined; } else { xmessage.DeleteOneUserMc(_loc_2); todo.Users.splice(_loc_2, 1); _loc_2 = _loc_2 - 1; } todo.DoBuildUserList = true; } } } } _loc_2 = _loc_2 + 1; } } final public static function GlowUser(param1:Number) { var _loc_2:* = undefined; var _loc_3:* = undefined; _loc_2 = xatlib.FindUser(param1); if(_loc_2 == -1) { return; } _loc_3 = todo.Users[_loc_2]; if(_loc_3.mc) { tickcode.GlowFlag = true; _loc_3.glowc = 6; _loc_3 = _loc_3.mc.av1; _loc_3.filters = [todo.TextGlow]; } } final public static function UserGotMessage(param1:Number) : Boolean { var _loc_2:* = undefined; var _loc_3:* = undefined; _loc_2 = todo.Message.length; _loc_3 = 0; while(_loc_3 < _loc_2) { if(todo.Message[_loc_3].u == param1) { return true; } _loc_3 = _loc_3 + 1; } return false; } final public static function UserGotUnignoredMessage(param1:Number) : Boolean { var _loc_2:* = undefined; var _loc_3:* = undefined; _loc_2 = todo.Message.length; _loc_3 = 0; while(_loc_3 < _loc_2) { if(!(todo.Message[_loc_3].u == param1 && todo.Message[_loc_3].ignored == true)) { return true; } _loc_3 = _loc_3 + 1; } return false; } final public static function OnGagList(param1:Number) : Boolean { var _loc_2:* = undefined; var _loc_3:* = undefined; _loc_2 = todo.w_banlist.length; _loc_3 = 0; while(_loc_3 < _loc_2) { if(todo.w_banlist[_loc_3].r == param1) { return true; } _loc_3 = _loc_3 + 1; } return false; } final public static function GetGagTime(param1:Number) { var _loc_2:* = undefined; var _loc_3:* = undefined; _loc_2 = todo.w_banlist.length; _loc_3 = 0; while(_loc_3 < _loc_2) { if(todo.w_banlist[_loc_3].r == param1) { return todo.w_banlist[_loc_3].t; } _loc_3 = _loc_3 + 1; } return 0; } final public static function UpdateGagList(param1:Number, param2:Number, param3:Boolean) { var _loc_4:* = undefined; var _loc_5:* = undefined; var _loc_6:Object = null; if(param3 == true) { if(network.OnGagList(param1)) { _loc_4 = todo.w_banlist.length; _loc_5 = 0; while(_loc_5 < _loc_4) { if(todo.w_banlist[_loc_5].r == param1) { todo.w_banlist[_loc_5].t = param2; break; } _loc_5 = _loc_5 + 1; } } else { _loc_6 = new Object(); _loc_6.r = param1; _loc_6.t = param2; todo.w_banlist.push(_loc_6); } } else { _loc_4 = todo.w_banlist.length; _loc_5 = 0; while(_loc_5 < _loc_4) { if(todo.w_banlist[_loc_5].r == param1) { todo.w_banlist.splice(_loc_5); break; } _loc_5 = _loc_5 + 1; } } xatlib.MainSolWrite("w_banlist", todo.w_banlist); } final public static function OnUserList(param1:Number, param2:Boolean = false) : Boolean { var _loc_3:* = undefined; _loc_3 = xatlib.FindUser(param1); if(_loc_3 == -1) { return false; } if(param2 == true || todo.Users[_loc_3].online) { return true; } return false; } final public static function OnFriendList(param1:Number) { var _loc_2:* = undefined; var _loc_3:* = undefined; _loc_2 = todo.w_friendlist.length; _loc_3 = 0; while(_loc_3 < _loc_2) { if(todo.w_friendlist[_loc_3].u == param1) { return todo.w_friendlist[_loc_3].f ? todo.w_friendlist[_loc_3].f : 1; } _loc_3 = _loc_3 + 1; } return 0; } final public static function UpdateFriendList(param1:Number, param2:int, param3:String = undefined) { var _loc_4:* = undefined; var _loc_5:Object = null; var _loc_6:* = undefined; var _loc_7:* = undefined; _loc_4 = xatlib.FindUser(param1); if(param2) { if(!network.OnFriendList(param1)) { _loc_5 = new Object(); _loc_5.u = param1; _loc_5.f = param2; if(_loc_4 != -1) { _loc_5.v = todo.Users[_loc_4].v; _loc_5.n = xatlib.CleanTextNoXat(todo.Users[_loc_4].n); _loc_5.a = todo.Users[_loc_4].a; _loc_5.h = todo.Users[_loc_4].h; } else { _loc_5.v = 0; _loc_5.n = param3; } todo.w_friendlist.push(_loc_5); FI = true; } else { _loc_6 = todo.w_friendlist.length; _loc_7 = 0; while(_loc_7 < _loc_6) { if(todo.w_friendlist[_loc_7].u == param1) { todo.w_friendlist[_loc_7].v = todo.Users[_loc_4].v; todo.w_friendlist[_loc_7].n = xatlib.CleanTextNoXat(todo.Users[_loc_4].n); todo.w_friendlist[_loc_7].a = todo.Users[_loc_4].a; todo.w_friendlist[_loc_7].h = todo.Users[_loc_4].h; todo.w_friendlist[_loc_7].f = param2; break; } _loc_7 = _loc_7 + 1; } } } else { _loc_6 = todo.w_friendlist.length; _loc_7 = 0; while(_loc_7 < _loc_6) { if(todo.w_friendlist[_loc_7].u == param1) { todo.w_friendlist.splice(_loc_7, 1); if(todo.w_friendlist2 != undefined) { if(todo.w_friendlist[_loc_7] != undefined) { if(todo.w_friendlist2[todo.w_friendlist[_loc_7].u] != undefined) { todo.w_friendlist2[todo.w_friendlist[_loc_7].u] = undefined; } } } break; } _loc_7 = _loc_7 + 1; } } xatlib.MainSolWrite("w_friendlist", todo.w_friendlist); xatlib.MainSolWrite("w_friendlist2", todo.w_friendlist2); } final public static function NetworkIgnore(param1:*, param2:* = undefined) { var _loc_3:* = undefined; var _loc_4:* = undefined; var _loc_5:* = undefined; var _loc_6:* = undefined; var _loc_7:* = undefined; _loc_3 = network.OnIgnoreList(param1); network.UpdateIgnoreList(param1, !_loc_3, param2); if(param2 == undefined) { _loc_4 = todo.Message.length; _loc_5 = 0; while(_loc_5 < _loc_4) { if(xatlib.xInt(todo.Message[_loc_5].u) == param1) { todo.Message[_loc_5].ignored = !_loc_3; } _loc_5 = _loc_5 + 1; } } if(!_loc_3) { _loc_6 = main.ctabsmc.tabs.length; _loc_7 = 0; while(_loc_7 < _loc_6) { if(main.ctabsmc.tabs[_loc_7].User == param1) { main.Private_onDelete(_loc_7); break; } _loc_7 = _loc_7 + 1; } } todo.DoBuildUserList = true; todo.DoUpdateMessages = true; } final public static function TrimIgnoreList() { var _loc_1:Date = null; var _loc_2:* = undefined; var _loc_3:* = undefined; var _loc_4:* = undefined; _loc_1 = new Date(); _loc_2 = (xatlib.xInt(network.Number(_loc_1.getTime()) / 1000)) - (7 * 24) * 3600; var _loc_5:int = 0; var _loc_6:* = todo.w_ignorelist2; for each(_loc_3 in _loc_6) { _loc_4 = todo.w_ignorelist2[_loc_3]; if(_loc_4 < 0) { _loc_4 = _loc_4 * -1; } if(_loc_4 < _loc_2) { } } } final public static function OnIgnoreList(param1:Number) : Boolean { return !(todo.w_ignorelist2[param1] == undefined); } final public static function IgnoreTime(param1:Number) { return todo.w_ignorelist2[param1]; } final public static function UpdateIgnoreList(param1:Number, param2:Boolean, param3:*) { var _loc_4:* = undefined; var _loc_5:* = undefined; var _loc_6:Date = null; var _loc_7:* = undefined; _loc_4 = xatlib.FindUser(param1); _loc_5 = xatlib.FindUser(todo.w_userno); if(todo.Users[_loc_5].xNum == 30004) { if(param2 == true) { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, param1, "l"); } } else { if(chat.sending_lc) { chat.sending_lc.send(chat.fromxat, "onMsg", 4, param1, "u" + todo.Users[_loc_4].a); } } } xmessage.DeleteOneUserMc(_loc_4); if(param2 == true) { _loc_6 = new Date(); _loc_7 = xatlib.xInt(network.Number(_loc_6.getTime()) / 1000); todo.w_ignorelist2[param1] = param3 == undefined ? _loc_7 : -_loc_7; } else { } xatlib.MainSolWrite("w_ignorelist2", todo.w_ignorelist2); todo.DoBuildUserList = true; } final public static function GetFriendStatus() { var _loc_1:* = undefined; var _loc_3:* = undefined; var _loc_4:String = null; var _loc_5:* = undefined; var _loc_6:* = undefined; var _loc_7:* = undefined; var _loc_8:* = undefined; var _loc_9:* = undefined; _loc_1 = todo.w_friendlist.length; var _loc_2:* = network.getTimer(); _loc_3 = 0; while(_loc_3 < _loc_1) { _loc_6 = xatlib.FindUser(todo.w_friendlist[_loc_3].u); if(_loc_6 == -1) { if(todo.w_friendlist[_loc_3].n != undefined) { todo.Users.push({n:xatlib.NameNoXat(todo.w_friendlist[_loc_3].n), u:todo.w_friendlist[_loc_3].u, v:todo.w_friendlist[_loc_3].v, a:todo.w_friendlist[_loc_3].a, h:todo.w_friendlist[_loc_3].h, online:undefined, banned:false, owner:false, friend:todo.w_friendlist[_loc_3].f ? todo.w_friendlist[_loc_3].f : 1, onsuper:false}); } } else { if(todo.Users[_loc_6].friend || todo.Users[_loc_6].onsuper == false) { xmessage.DeleteOneUserMc(_loc_6); } todo.Users[_loc_6].friend = todo.w_friendlist[_loc_3].f ? todo.w_friendlist[_loc_3].f : 1; todo.Users[_loc_6].onsuper = false; } _loc_3 = _loc_3 + 1; } if(todo.lb == "n") { return; } _loc_4 = ""; _loc_5 = 0; _loc_4 = "f"; if(todo.w_friendlist.length > 0) { if(todo.w_friendlist[0].u != undefined) { _loc_1 = todo.w_friendlist.length; _loc_7 = 0; while(_loc_7 < _loc_1) { _loc_5 = _loc_5 + 1; _loc_4 = _loc_4 + " " + todo.w_friendlist[_loc_7].u; if(_loc_5 == 80 || _loc_7 >= (_loc_1 - 1)) { _loc_8 = new XMLDocument(); _loc_9 = _loc_8.createElement(_loc_4); _loc_8.appendChild(_loc_9); socket.send(_loc_8); _loc_5 = 0; _loc_4 = "f"; } _loc_7 = _loc_7 + 1; } } } } final public static function GetRev(param1:*) : Number { return param1.indexOf("_") != -1 ? xatlib.xInt(param1.substr(param1.indexOf("_") + 1)) : 0; } final public static function SaveRegData() { var _loc_1:* = undefined; _loc_1 = xatlib.getLocal("chat", "/"); _loc_1.objectEncoding = ObjectEncoding.AMF0; } final public static function AddGiftPower(param1:*) { var _loc_2:* = undefined; if(param1 < 0) { return; } _loc_2 = todo.Users[param1]; if(!(_loc_2.aFlags & (1 << 24))) { return; } if(!_loc_2.Powers) { _loc_2.Powers = [0]; } if(!_loc_2.Powers[-1]) { _loc_2.Powers[-1] = 0; } _loc_2.Powers[-1] = _loc_2.Powers[-1] | 4; } final public static function doCap() { var _loc_1:* = undefined; if(global.xc & 2048) { _loc_1 = WC; WC["roomid"] = todo.w_useroom; WC["type"] = "AYAH"; main.mcLoad.OpenByN(xJSON.encode(_loc_1)); } else { xatlib.UrlPopup(xconst.ST(264), (xconst.chatdomain + "AreYouaHuman.php") + xatlib.MakeQuery(WC) + "&r=" + todo.w_useroom); } } final public static function doCode() { var _loc_1:* = undefined; _loc_1 = ""; if(WC.v > 1) { _loc_1 = WC.v; } codeLoad = xatlib.LoadMovie(chat.mainDlg, (todo.flashdomain + "auth") + _loc_1 + "/auth" + WC.au + ".swf", onCodeLoaded); } final public static function onCodeLoaded(param1:Event) { mcCode = network.MovieClip(codeLoad.contentLoaderInfo.content); if(WC.v > 1) { mcCode.Call(todo.sockdomain, todo.useport, todo.w_userno, todo.w_useroom, todo.WY.k); } } public function network() { super(); } } }