public bool InstallRAM(RAM _ram, byte nSock) { bool result = false; if (nSock <= mboard.nRAM) { try { if (ram[nSock].name != string.Empty) { int sale = (int)(ram[nSock].Cost / PRICE_COST); OnSale(sale); ram[nSock] = _ram; result = true; } else { ram[nSock] = _ram; result = true; } } catch (NullReferenceException e) { LOG.Error(e.Message); } } else { result = false; } return(result); }
static Constance() { Lua ConstLua = new Lua(); try { ConstLua.DoFile("Data\\const.dat"); MAX_WANTED_LEVEL = int.Parse(ConstLua["MAX_WANTED_LEVEL"].ToString()); MIN_COST = int.Parse(ConstLua["MIN_COST"].ToString()); MIN_SPEED_RAM = float.Parse(ConstLua["MIN_SPEED_RAM"].ToString()); MIN_SPEED_CPU = float.Parse(ConstLua["MIN_SPEED_CPU"].ToString()); MIN_SPEED_LAN = float.Parse(ConstLua["MIN_SPEED_LAN"].ToString()); } catch (LuaException ex) { LOG.Error(ex.Message); } catch (Exception ex) { LOG.Error(ex.Message); } }
public static GameScript LoadScenario(byte level) { Level = level; RePoint point = new RePoint(); Lua lua = new Lua(); GameScript result = new GameScript(); try { lua["Point"] = point; lua.DoString(LoadLua.LoadScrpt("scen.d")); result = lua["game"] as GameScript; LOG.Log(string.Format("Load level: {0} - version: {1}", lua["name"], lua["version"])); } catch (LuaException ex) { LOG.Error(ex.Message); } catch (Exception ex) { LOG.Error(ex.Message); } return(result); }
public void ReadEnemy(string path) { try { XDocument xDoc = XDocument.Load(path); foreach (XElement enem in xDoc.Root.Elements()) { EnemyComp x_enemy = new EnemyComp(); x_enemy.id = enem.Attribute("id").Value; x_enemy.Addr = enem.Attribute("address").Value; RePoint r = new RePoint(); x_enemy.Position = r.Point(float.Parse(enem.Element("position").Attribute("x").Value), float.Parse(enem.Element("position").Attribute("y").Value)); x_enemy.isScaning = bool.Parse(enem.Element("isscan").Value); x_enemy.isVisible = bool.Parse(enem.Element("isvisible").Value); x_enemy.Money = int.Parse(enem.Element("money").Value); foreach (XElement sx in enem.Element("services").Elements("service")) { ServiceX service = new ServiceX(int.Parse(sx.Element("timestart").Value), int.Parse(sx.Element("port").Value)); service.id = sx.Attribute("id").Value; service.Desc = sx.Element("name").Value; switch (sx.Element("type").Value) { case "NONE": service.Type = TypeServiceX.NONE; break; case "FTP": service.Type = TypeServiceX.FTP; break; case "FIREWALL": service.Type = TypeServiceX.FIREWALL; break; case "ATM": service.Type = TypeServiceX.ATM; break; case "PROXY": service.Type = TypeServiceX.PROXY; break; case "SSH": service.Type = TypeServiceX.SSH; break; default: service.Type = TypeServiceX.NONE; break; } service.Pass = sx.Element("pass").Value; service.isHackPass = bool.Parse(sx.Element("ishackpass").Value); foreach (XElement fx in sx.Element("files").Elements("file")) { FileX file = null; switch (fx.Attribute("type").Value) { case "TXT": file = new FileTxtX(); break; case "SCRIPT": file = new FileScriptX(); break; case "EXPLOIT": file = new FileExploitX(); break; case "DATA": file = new FileDataX(); break; case "SSHKEY": file = new FileSSHKeyX(); break; default: file = new FileX(); break; } file.id = fx.Attribute("id").Value; file.Capacity = int.Parse(fx.Attribute("capacity").Value); file.Name = fx.Attribute("name").Value; file.AddText(fx.Value); service.AddFile(file); } x_enemy.AddService(service); } X_Enemies.Add(x_enemy); } } catch (Exception ex) { LOG.Error("ERROR LOAD comp.xml: {" + ex.Message + "}"); } }
public override ResponseData CheckedEvent(GameScript handle) { ResponseData result = new ResponseData("event"); if (!isEvented) { try { switch (this.TypeInEvent) { case TypeInEventX.E_Crack: { EnemyComp e = inEventData as EnemyComp; IEnumerable <EnemyComp> query = from ec in handle.ListEnemy where ec.Addr == e.Addr where ec.IsAllHack == true && ec.IsOffFirewall == true select ec; if (query.Count() > 0) { result = EventedData(handle); } break; } case TypeInEventX.E_Scan: { EnemyComp e = inEventData as EnemyComp; IEnumerable <EnemyComp> query = from ec in handle.ListEnemy where ec.Addr == e.Addr where ec.isScaning == true select ec; if (query.Count() > 0) { result = EventedData(handle); } break; } case TypeInEventX.File: { FileX file = inEventData as FileX; IEnumerable <FileX> query = from f in handle.player.Computer.FileList where f.Name == file.Name select f; if (query.Count() > 0) { result = EventedData(handle); } break; } case TypeInEventX.Time: { if (isOk) { result = EventedData(handle); } break; } case TypeInEventX.Wanted: { int wanted = int.Parse(inEventData.ToString()); if (handle.player.Wanted >= wanted) { result = EventedData(handle); } break; } case TypeInEventX.Connected: { EnemyComp eComp = inEventData as EnemyComp; if (eComp.isScaning) { if (handle.player.isConnected) { if ((handle.player.ConnectedEnemy.IsOffFirewall) && (handle.player.ConnectedEnemy.IsAllHack)) { if (handle.player.ConnectedEnemy.Addr == eComp.Addr) { result = EventedData(handle); } } } } break; } case TypeInEventX.Service_off: { ServiceX serv = inEventData as ServiceX; var servOff = from ec in handle.ListEnemy where ec.Addr == serv.Parrent.Addr select ec into enC from ser in enC.Services where ser.Port == serv.Port select ser; if (servOff.Count() > 0) { ServiceX s = servOff.ElementAt <ServiceX>(0); if (s.isRun == false) { result = EventedData(handle); } } break; } } } catch (Exception ex) { LOG.Error("Error event to: " + ex.Message); } } return(result); }