public void ListClients(MapClient sclient) { string message = ""; int i = 0; foreach (Client j in this.clients.Values) { if (j.GetType() != typeof(MapClient)) { continue; } MapClient temp = (MapClient)j; if (temp.Char == null) { continue; } message += (temp.Char.name + " "); if ((i % 4) == 0 && i != 0) { sclient.SendMessage("Saga", message); message = ""; } i++; } if (message != "") { sclient.SendMessage("Saga", message); } }
public static Assembly CompileScript(string[] Source, CodeDomProvider Provider, MapClient client) { //ICodeCompiler compiler = Provider.; CompilerParameters parms = new CompilerParameters(); CompilerResults results; // Configure parameters parms.CompilerOptions = "/target:library /optimize"; parms.GenerateExecutable = false; parms.GenerateInMemory = true; parms.IncludeDebugInformation = true; parms.ReferencedAssemblies.Add("System.dll"); parms.ReferencedAssemblies.Add("SagaLib.dll"); parms.ReferencedAssemblies.Add("SagaDB.dll"); parms.ReferencedAssemblies.Add("SagaMap.exe"); // Compile results = Provider.CompileAssemblyFromFile(parms, Source); if (results.Errors.Count > 0) { foreach (CompilerError error in results.Errors) { if (client != null) { client.SendMessage("Saga", "Compile Error:" + error.ErrorText); client.SendMessage("Saga", "File:" + error.FileName + ":" + error.Line); } Logger.ShowError("Compile Error:" + error.ErrorText, null); Logger.ShowError("File:" + error.FileName + ":" + error.Line, null); } return(null); } //get a hold of the actual assembly that was generated return(results.CompiledAssembly); }
public void PerformTrade() { ActorPC target = (ActorPC)C.map.GetActor(I.TradeTarget); if (!Config.Instance.AllowGMTrade && (C.Char.GMLevel > 2 || target.GMLevel > 2)) { C.SendMessage("Saga", "GMs are not allowed to trade"); return; } else { //Swap the items and money if (target == null) { return; } if (C.TradeMoney > 0) { if (I.zeny >= C.TradeMoney) { target.zeny += (uint)C.TradeMoney; I.zeny -= (uint)C.TradeMoney; if (C.Char.GMLevel > 2 || target.GMLevel > 2) { Logger.gmlogger.WriteLog(C.Char.name + "->" + target.name + " | " + C.TradeMoney + "(zeny)"); } } else { C.SendTradeResult(TradeResults.NOT_ENOUGH_MONEY); return; } } foreach (Item SwapItem in C.TradeItems.Keys) { SwapItem.stack = C.TradeItems[SwapItem]; C.map.AddItemToActor(target, SwapItem, ITEM_UPDATE_REASON.OTHER); C.map.RemoveItemFromActorPC(I, SwapItem.id, SwapItem.stack, ITEM_UPDATE_REASON.OTHER); if (C.Char.GMLevel > 2 || target.GMLevel > 2) { Logger.gmlogger.WriteLog(C.Char.name + "->" + target.name + " | " + SwapItem.id); } } if (target.TradeStatus == TradeStatus.TRADE_CONFIRM) { target.e.PerformTrade(); } C.SendTradeResult(TradeResults.SUCCESS); C.ResetTradeItems(1); C.ResetTradeStatus(1); } }
public void ListClientsAndInfo(MapClient sclient) { foreach (Client i in this.clients.Values) { if (i.GetType() != typeof(MapClient)) { continue; } MapClient client = (MapClient)i; if (client.Char == null) { continue; } sclient.SendMessage("Saga", "Char: " + client.Char.name + " Map: " + client.Char.mapID + " x:" + client.Char.x + " y:" + client.Char.y + " z:" + client.Char.z); } }
public void ListClients(MapClient sclient) { string message = ""; int i = 0; foreach (Client j in this.clients.Values) { if (j.GetType() != typeof(MapClient)) continue; MapClient temp = (MapClient)j; if (temp.Char == null) continue; message += (temp.Char.name + " "); if ((i % 4) == 0 && i != 0) { sclient.SendMessage("Saga", message); message = ""; } i++; } if(message != "") sclient.SendMessage("Saga", message); }
public void ListClientsAndInfo(MapClient sclient) { foreach (Client i in this.clients.Values) { if (i.GetType() != typeof(MapClient)) continue; MapClient client = (MapClient)i; if (client.Char == null) continue; sclient.SendMessage("Saga", "Char: " + client.Char.name + " Map: " + client.Char.mapID + " x:" + client.Char.x + " y:" + client.Char.y + " z:" + client.Char.z); } }