public void LoadSVTServerDll() { this.pSVTServerDll = LoadLibrary(@"SVTServer.dll"); if (pSVTServerDll == IntPtr.Zero) { Log.Write("Fail to load library: {0}", GetLastError()); return; } IntPtr pRunInterface = GetProcAddress(pSVTServerDll, "runInterface"); if (pRunInterface == IntPtr.Zero) { Log.Write("Fail to find DLL function: runInterface: {0}", GetLastError()); return; } this.runInterface = (runInterfaceHandler)Marshal.GetDelegateForFunctionPointer( pRunInterface, typeof(runInterfaceHandler)); IntPtr pCommand = GetProcAddress(pSVTServerDll, "command"); if (pCommand == IntPtr.Zero) { Log.Write("Fail to find DLL function: command: {0}", GetLastError()); return; } this.command = (commandHandler)Marshal.GetDelegateForFunctionPointer( pCommand, typeof(commandHandler)); Log.Write("SVT Server DLL loaded successfully"); this.isGood = true; }
private void handle() { functions func = new functions(); Message = socket.readString(); commandHandler ch = new commandHandler(socket, mainform, func.strip_codes(Message)); handleColors(Message); if (mainform.ircmode == 2 || mainform.ircmode == 3) { string[] args = Message.Split(' '); string username = args[0].Replace("<", "").Replace(">", "").Replace(":", "").Replace(" ", ""); username = func.strip_codes(username); if (!(username == mainform.username && Message.Contains("IRC: <"))) { mainform.ircmessage(mainform.translate_colors(Message)); } } }
private void handle() { functions func = new functions(); string name = "", message = "", type = "", color = "", style = ""; Message = socket.readString(); var root = JObject.Parse(Message); foreach (KeyValuePair <String, JToken> app in root) { var appName = app.Key; switch (appName) { case "text": message = app.Value.ToString(); if (message.Contains(" ")) { name = func.strip_codes(message.Substring(0, message.IndexOf(" ")).Replace("<", "").Replace(">", "").Replace(":", "").Replace(" ", "")); } type = "chat"; break; case "translate": type = app.Value.ToString(); break; case "using": name = app.Value.First.ToString(); message = app.Value.Last.ToString(); break; case "color": color = app.Value.ToString(); break; case "italic": if (app.Value.ToString() == "true") { style = "italic"; } break; } if (type == "chat.type.admin") { if (app.Value.HasValues == true) { name = app.Value[0].ToString(); JObject thisObj = JObject.Parse(app.Value[1].ToString()); foreach (KeyValuePair <String, JToken> part in thisObj) { var topName = part.Key; switch (topName) { case "translate": type = part.Value.ToString(); break; case "using": message = part.Value.First.ToString(); name = part.Value.Last.ToString(); break; } } } } } // Now with the JSON Parsed, we have to add some special message cases. switch (type) { case "multiplayer.player.joined": message = name + " Joined the server"; break; case "multiplayer.player.left": message = name + " Left the server"; break; case "death.attack.outOfWorld": message = name + " fell out of the world!"; break; case "death.attack.explosion.player": message = name + " was blown up by " + message; break; case "death.attack.mob": message = name + " was killed by a " + message; break; case "chat.type.text": message = name + ": " + message; commandHandler ch = new commandHandler(socket, mainform, name, message); break; case "chat": commandHandler h = new commandHandler(socket, mainform, name, message); break; case "chat.type.emote": message = "§d" + name + " " + message; break; case "chat.type.announcement": message = "§d[" + name + "]:§f " + message; break; case "commands.tp.success": message = name + " teleported to " + message; break; case "commands.op.success": message = name + " was promoted to Op"; break; default: message = Message; break; } if (color != "") { message = convertCode(message, color); } handleColors(message, style); if (mainform.ircmode == 2 || mainform.ircmode == 3) { string[] args = message.Split(' '); string username = args[0].Replace("<", "").Replace(">", "").Replace(":", "").Replace(" ", ""); username = func.strip_codes(username); if (!(username == mainform.username && message.Contains("IRC: <"))) { mainform.ircmessage(mainform.translate_colors(message)); } } }
private void handle() { functions func = new functions(); string name = "", message = "", type = "", color = "", style = ""; Message = socket.readString(); var root = JObject.Parse(Message); foreach (KeyValuePair<String, JToken> app in root) { var appName = app.Key; switch (appName) { case "text": message = app.Value.ToString(); if (message.Contains(" ")) name = func.strip_codes(message.Substring(0, message.IndexOf(" ")).Replace("<", "").Replace(">", "").Replace(":", "").Replace(" ", "")); type = "chat"; break; case "translate": type = app.Value.ToString(); break; case "using": name = app.Value.First.ToString(); message = app.Value.Last.ToString(); break; case "color": color = app.Value.ToString(); break; case "italic": if (app.Value.ToString() == "true") style = "italic"; break; } if (type == "chat.type.admin") { if (app.Value.HasValues == true) { name = app.Value[0].ToString(); JObject thisObj = JObject.Parse(app.Value[1].ToString()); foreach (KeyValuePair<String, JToken> part in thisObj) { var topName = part.Key; switch (topName) { case "translate": type = part.Value.ToString(); break; case "using": message = part.Value.First.ToString(); name = part.Value.Last.ToString(); break; } } } } } // Now with the JSON Parsed, we have to add some special message cases. switch (type) { case "multiplayer.player.joined": message = name + " Joined the server"; break; case "multiplayer.player.left": message = name + " Left the server"; break; case "death.attack.outOfWorld": message = name + " fell out of the world!"; break; case "death.attack.explosion.player": message = name + " was blown up by " + message; break; case "death.attack.mob": message = name + " was killed by a " + message; break; case "chat.type.text": message = name + ": " + message; commandHandler ch = new commandHandler(socket, mainform, name, message); break; case "chat": commandHandler h = new commandHandler(socket, mainform, name, message); break; case "chat.type.emote": message = "§d" + name + " " + message; break; case "chat.type.announcement": message = "§d[" + name + "]:§f " + message; break; case "commands.tp.success": message = name + " teleported to " + message; break; case "commands.op.success": message = name + " was promoted to Op"; break; default: message = Message; break; } if (color != "") message = convertCode(message, color); handleColors(message,style); if (mainform.ircmode == 2 || mainform.ircmode == 3) { string[] args = message.Split(' '); string username = args[0].Replace("<", "").Replace(">", "").Replace(":", "").Replace(" ", ""); username = func.strip_codes(username); if (!(username == mainform.username && message.Contains("IRC: <"))) mainform.ircmessage(mainform.translate_colors(message)); } }