private Race parseRace(string mapName, XmlGroup map) { var output = new Race(); output.Name = API.getResourceName(mapName); output.Description = API.getResourceDescription(mapName); output.Filename = mapName; var meta = map.getElementByType("laps"); if (meta != null) { output.LapsAvailable = meta.getElementData <bool>("value"); } var checkpoints = new List <Vector3>(); foreach (var chk in map.getElementsByType("checkpoint")) { checkpoints.Add( new Vector3(chk.getElementData <float>("posX"), chk.getElementData <float>("posY"), chk.getElementData <float>("posZ"))); } output.Checkpoints = checkpoints.ToArray(); var sp = new List <SpawnPoint>(); foreach (var chk in map.getElementsByType("spawnpoint")) { sp.Add(new SpawnPoint() { Position = new Vector3(chk.getElementData <float>("posX"), chk.getElementData <float>("posY"), chk.getElementData <float>("posZ")), Heading = chk.getElementData <float>("heading"), }); } output.SpawnPoints = sp.ToArray(); var vehs = new List <VehicleHash>(); foreach (var chk in map.getElementsByType("availablecar")) { vehs.Add((VehicleHash)chk.getElementData <int>("model")); } output.AvailableVehicles = vehs.ToArray(); return(output); }
private void onMapChange(string mapName, XmlGroup map) { spawns.Clear(); weapons.Clear(); Killstreaks.Clear(); var spawnpoints = map.getElementsByType("spawnpoint"); foreach (var point in spawnpoints) { spawns.Add(new Vector3(point.getElementData <float>("posX"), point.getElementData <float>("posY"), point.getElementData <float>("posZ"))); } var availableGuns = map.getElementsByType("weapon"); foreach (var point in availableGuns) { weapons.Add(API.weaponNameToModel(point.getElementData <string>("model"))); } API.resetIplList(); var neededInteriors = map.getElementsByType("ipl"); foreach (var point in neededInteriors) { API.requestIpl(point.getElementData <string>("name")); } var players = API.getAllPlayers(); foreach (var player in players) { var pBlip = API.exported.playerblips.getPlayerBlip(player); API.setBlipSprite(pBlip, 1); API.setBlipColor(pBlip, 0); Respawn(player); } }
public void OnMapChange(string mapName, XmlGroup map) { Console.WriteLine("OnMapChange"); Spawns.Clear(); Weapons.Clear(); Killstreaks.Clear(); var spawnpoints = map.getElementsByType("spawnpoint"); foreach (var point in spawnpoints) { Spawns.Add(new Vector3(point.getElementData <float>("posX"), point.getElementData <float>("posY"), point.getElementData <float>("posZ"))); } var availableGuns = map.getElementsByType("weapon"); foreach (var point in availableGuns) { Weapons.Add(NAPI.Util.WeaponNameToModel(point.getElementData <string>("model"))); } NAPI.World.ResetIplList(); var neededInteriors = map.getElementsByType("ipl"); foreach (var point in neededInteriors) { NAPI.World.RequestIpl(point.getElementData <string>("name")); } foreach (var player in NAPI.Pools.GetAllPlayers()) { var pBlip = NAPI.Exported.playerblips.getPlayerBlip(player); NAPI.Blip.SetBlipSprite(pBlip, 1); NAPI.Blip.SetBlipColor(pBlip, 0); Spawn(player); } }
public void onResourceStart() { databaseConfiguration = API.loadConfig("database.xml"); string host = null; string port = null; string user = null; string password = null; string database = null; foreach (xmlElement element in databaseConfiguration.getElementsByType("setting")) { string settingName = element.getElementData <string>("name"); string settingContent = element.getElementData <string>("content"); if (settingName.ToLower().Equals("host")) { host = settingContent; } else if (settingName.ToLower().Equals("port")) { port = settingContent; } else if (settingName.ToLower().Equals("user")) { user = settingContent; } else if (settingName.ToLower().Equals("password")) { password = settingContent; } else if (settingName.ToLower().Equals("database")) { database = settingContent; } } if (port == null) { connection = new MysqlConnection(host, user, password, database); } else { connection = new MysqlConnection(host, port, user, password, database); } }
public void MapChange(string name, XmlGroup map) { EndRound(); var round = new Round(); #region Objectives foreach (var element in map.getElementsByType("objective")) { var obj = new Objective(); if (element.hasElementData("id")) { obj.Id = element.getElementData <int>("id"); } obj.Position = new Vector3(element.getElementData <float>("posX"), element.getElementData <float>("posY"), element.getElementData <float>("posZ")); if (element.hasElementData("range")) { obj.Range = element.getElementData <float>("range"); } obj.name = element.getElementData <string>("name"); if (element.hasElementData("timer")) { obj.Timer = element.getElementData <int>("timer"); } if (element.hasElementData("required")) { var listStr = element.getElementData <string>("required"); obj.RequiredObjectives = listStr.Split(',').Select(id => int.Parse(id, CultureInfo.InvariantCulture)).ToList(); } round.Objectives.Add(obj); } #endregion #region Spawnpoints foreach (var element in map.getElementsByType("spawnpoint")) { var sp = new Spawnpoint(); sp.Team = element.getElementData <int>("team"); sp.Heading = element.getElementData <float>("heading"); sp.Position = new Vector3(element.getElementData <float>("posX"), element.getElementData <float>("posY"), element.getElementData <float>("posZ")); sp.Skins = element.getElementData <string>("skins") .Split(',') .Select(s => API.pedNameToModel(s)) .ToArray(); var guns = element.getElementData <string>("weapons") .Split(',') .Select(w => API.weaponNameToModel(w)); var ammos = element.getElementData <string>("ammo") .Split(',') .Select(w => int.Parse(w, CultureInfo.InvariantCulture)); sp.Weapons = guns.ToArray(); sp.Ammo = ammos.ToArray(); if (element.hasElementData("objectives")) { var objectives = element.getElementData <string>("objectives") .Split(',') .Select(w => int.Parse(w, CultureInfo.InvariantCulture)); sp.RequiredObjectives = objectives.ToArray(); } round.Spawnpoints.Add(sp); } #endregion StartRound(round); }