public static void starter(Fougerite.Player player) { temp = ds.Get("starter", player.SteamID); if (temp == null) { ds.Add("starter", player.SteamID, DateTime.Now); player.Inventory.AddItem("Hatchet", 1); player.Inventory.AddItem("Pick Axe", 1); player.Inventory.AddItem("Cooked Chicken Breast", 20); player.Message("领取成功"); } else { timeSpan = DateTime.Now - (DateTime)temp; if ((int)timeSpan.TotalSeconds >= startercd) { ds.Add("starter", player.SteamID, DateTime.Now); player.Inventory.AddItem("Hatchet", 1); player.Inventory.AddItem("Pick Axe", 1); player.Inventory.AddItem("Cooked Chicken Breast", 20); player.Message("领取成功"); } else { player.Message("您还需要" + (startercd - (int)timeSpan.TotalSeconds) + "秒方可再次领取"); } } }
public static void Vipsearch(Fougerite.Player player) { string cmdText = string.Concat(new string[] { "SELECT date FROM ", "stats", " WHERE steamid=", player.SteamID, }); if (Stats.OpenConnection()) { MySqlCommand cmd = new MySqlCommand(cmdText, JianxianS.connection); //新建立1个数据库命令对象用来执行你下达的命令,命令就是上面的命令字符串SQL MySqlDataAdapter dd = new MySqlDataAdapter(cmd); //只有查询数据库才会用到适配器对象,用来存储上面的命令执行后得到的数据内容. DataSet dset = new DataSet(); //新建1个数据集 dd.Fill(dset); //然后把内容填充到数据集对象 Stats.CloseConnection(); //操作完成关闭数据库 dateTime = DateTime.Parse((string)dset.Tables[0].Rows[0][0]); } TimeSpan timeSpan = DateTime.Now.Date - dateTime; if ((timeSpan.Days) <= 30) { player.Message("您的会员还有" + (Vipcd - (timeSpan.Days)).ToString() + "天"); } else { player.Message("会员已到期"); } }
public void Chat(Fougerite.Player pl, ref ChatString chatString) { DateTime current = DateTime.Now; //check if player is muted if (PlayersMuted.Contains(pl.SteamID)) { chatString.NewText = ""; pl.Message("YOU STILL MUTED! f**k you"); return; } if (!LastChatUse.ContainsKey(pl.SteamID)) { //add player to list LastChatUse.Add(pl.SteamID, DateTime.Now); } else { DateTime lastchat = LastChatUse[pl.SteamID]; TimeSpan ts = current - lastchat; int difference = ts.Seconds; if (difference < 5) { pl.Message("YOU ARE MUTED FOR 30seconds BITCH! only 1 message is allowed every 5 seconds"); MutePlayer(pl); } else { //update last chat LastChatUse[pl.SteamID] = DateTime.Now; } } }
public void OnCommand(Fougerite.Player player, string cmd, string[] args) { switch (cmd) { case "addloot": if (player.Admin) { if (args.Length == 0 || args.Length > 1) { player.Message("Usage: /addloot 1-5"); player.Message("AmmoLootBox, MedicalLootBox, BoxLoot, WeaponLootBox, Random"); return; } AddSpawnPoint(player, args[0]); } break; case "clearloot": if (player.Admin) { ClearLoot(player); } break; case "reloadloot": if (player.Admin) { LootPositions.Clear(); ReloadConfig(); foreach (var x in Settings.EnumSection("Positions")) { try { int loottype = int.Parse(x); string data = Settings.GetSetting("Positions", x); Vector3 v = Util.GetUtil().ConvertStringToVector3(data); LootPositions[v] = (LootType)loottype; } catch (Exception ex) { Logger.LogError("[LootSpawner] Failed to read position: " + ex); } } } break; case "forcespawnloot": if (player.Admin) { SpawnLoots(player); } break; } }
public static void xklb(Fougerite.Player player) { temp = ds.Get("xklb", player.SteamID); if (temp == null) { ds.Add("xklb", player.SteamID, DateTime.Now); player.Inventory.AddItem("Wood Planks", 1); player.Inventory.AddItem("Workbench", 1); player.Inventory.AddItem("Large Wood Storage", 1); player.Inventory.AddItem("Furnace", 1); player.Inventory.AddItem("Metal Door", 1); player.Inventory.AddItem("Cloth Helmet", 1); player.Inventory.AddItem("Cloth Vest", 1); player.Inventory.AddItem("Cloth Pants", 1); player.Inventory.AddItem("Cloth Boots", 1); player.Inventory.AddItem("Hunting Bow", 1); player.Inventory.AddItem("Arrow", 50); player.Inventory.AddItem("Pick Axe", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("9mm Ammo", 30); player.Inventory.AddItem("Large Medkit", 10); player.Message("领取成功"); } else { timeSpan = DateTime.Now - (DateTime)temp; if ((int)timeSpan.TotalSeconds >= xklbcd) { ds.Add("starter", player.SteamID, DateTime.Now); player.Inventory.AddItem("Wood Planks", 1); player.Inventory.AddItem("Workbench", 1); player.Inventory.AddItem("Large Wood Storage", 1); player.Inventory.AddItem("Furnace", 1); player.Inventory.AddItem("Metal Door", 1); player.Inventory.AddItem("Cloth Helmet", 1); player.Inventory.AddItem("Cloth Vest", 1); player.Inventory.AddItem("Cloth Pants", 1); player.Inventory.AddItem("Cloth Boots", 1); player.Inventory.AddItem("Hunting Bow", 1); player.Inventory.AddItem("Arrow", 50); player.Inventory.AddItem("Pick Axe", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("9mm Ammo", 30); player.Inventory.AddItem("Large Medkit", 10); player.Message("领取成功"); } else { player.Message("您还需要" + (xklbcd - (int)timeSpan.TotalSeconds) + "秒方可再次领取"); } } }
public void OnPlayerHurt(HurtEvent he) { if (he.WeaponName == "Hunting Bow" && he.AttackerIsPlayer && !he.VictimIsSleeper) { Fougerite.Player attacker = (Fougerite.Player)he.Attacker; Fougerite.Player victim = (Fougerite.Player)he.Victim; if (victim.IsOnline && !victim.IsDisconnecting && victim.IsAlive) { var possibility = rnd.Next(0, 100); if (possibility < PossibilityOfPoisoning) { victim.AdjustPoisonLevel(AmountOfVenne); victim.Message("You have been poisoned with an PoisonArrow"); attacker.Message("You poisoned your victim with a PoisonArrow"); if (AvoidBypass) { //asegurarse que el jugador no intenta desconectarse para evitar su envenenamiento PoisonedIDs.Add(victim.SteamID); var listpois = new Dictionary <string, object>(); listpois["pID"] = victim.SteamID; Timer1(TimeToAvoidBypass * 60000, listpois).Start(); } } } } }
public void HandleCommand(Fougerite.Player player, string cmd, string[] args) { if (cmd == "test") { player.Message("You used /test command !"); } }
void Test(Fougerite.Player pl, string cmd, string[] args) { if (cmd == "test") { if (flag.HasFlag(pl, "testflag")) { flag.RegisterFlag("test2"); } else { pl.Message("The flag > testflag < is required for this command"); } } else if (cmd == "test2") { if (flag.HasFlag(pl, "testflag")) { flag.RemoveFlag("test2"); } } else if (cmd == "getflag") { Player target = Server.GetServer().FindPlayer(args[0]); pl.MessageFrom(Name, target.Name + " has " + flag.GetFlag(target, args[1])); } }
public void RemoveMute(Fougerite.Player pl) { PlayersMuted.RemoveAll(t => PlayersMuted.Contains(pl.SteamID)); if (pl.IsAlive && !pl.IsDisconnecting) { pl.Message("Congratulations m**********r!!! -- you are unmuted "); } }
void PlayerBroadcast_Test() { Log("PlayerBroadcast_Test: Test 1"); TesterPlayer.Message(""); Log("PlayerBroadcast_Test: Test 2"); TesterPlayer.Message(null); Log("PlayerBroadcast_Test: Test 3"); TesterPlayer.MessageFrom("", null); Log("PlayerBroadcast_Test: Test 4"); TesterPlayer.MessageFrom(null, ""); Log("PlayerBroadcast_Test: Test 5"); TesterPlayer.MessageFrom(null, null); }
private void OnCommand(Fougerite.Player player, string cmd, string[] args) { if (cmd == "airdrop") { if (player.Admin || (player.Moderator && Mods) || WLS.Contains(player.SteamID)) { if (args.Length == 0) { player.Message("Usage: /airdrop here/random"); return; } object ttime = DataStore.GetInstance().Get("AirdropCD", "CD"); if (ttime == null) { ttime = 0; DataStore.GetInstance().Add("AirdropCD", "CD", 0); } double time = (double)ttime; double systick = TimeSpan.FromTicks(DateTime.Now.Ticks).TotalSeconds; double calc = systick - time; if (calc < 0) { time = 0; DataStore.GetInstance().Add("AirdropCD", "CD", 0); } if (calc >= Cooldown || time == 0 || Cooldown == 0) { if (args[0] == "here") { if (player.Admin || (player.Moderator && ModCalltoPos) || WLS.Contains(player.SteamID)) { World.GetWorld().AirdropAtOriginal(player.X, 700, player.Z); player.Notice("\u2708", "Airdrop has been spawned!", 3); DataStore.GetInstance().Add("AirdropCD", "CD", TimeSpan.FromTicks(DateTime.Now.Ticks).TotalSeconds); } } else if (args[0] == "random") { World.GetWorld().Airdrop(); player.Notice("\u2708", "Airdrop has been spawned!", 3); DataStore.GetInstance().Add("AirdropCD", "CD", TimeSpan.FromTicks(DateTime.Now.Ticks).TotalSeconds); } } else { double done = Math.Round(calc); double done2 = Math.Round((double)Cooldown, 2); player.Notice("\u2708", "Cooldown: " + done + "/" + done2 + " seconds."); } } } }
public static void remove(Fougerite.Player player, string player1) { if (player.Admin) { ds.Remove("starter", Fougerite.Player.FindByName(player1).SteamID); ds.Remove("vip", Fougerite.Player.FindByName(player1).SteamID); ds.Remove("xklb", Fougerite.Player.FindByName(player1).SteamID); player.Message("清理成功"); } }
public void DirectSpawn(Fougerite.Player player, string data) { Vector3 plloc = player.Location; int type = 5; int.TryParse(data, out type); string name = GetPrefab(type); World.GetWorld().Spawn(name, new Vector3(plloc.x, plloc.y - 1.6f, plloc.z)); player.Message("Successfully Spawned: " + name); }
// Example public void OnEntityDestroy(DestroyEvent de) { Entity entity = de.Entity; Fougerite.Player attacker = (Fougerite.Player)de.Attacker; //Getting the entity ownername using PlayerDatabase + owner doesnt have to be online string ownername = PlayerDatabase.GetNameFromID(entity.OwnerID); attacker.Message(ownername + " is the owner of this structure"); }
public void OnPlayerTeleport(Fougerite.Player player, Vector3 from, Vector3 dest) { if (RockGlitch) { var loc = player.Location; Vector3 cachedPosition = loc; RaycastHit cachedRaycast; cachedPosition.y += 100f; try { if (Physics.Raycast(loc, Vector3Up, out cachedRaycast, terrainLayer)) { cachedPosition = cachedRaycast.point; } if (!Physics.Raycast(cachedPosition, Vector3Down, out cachedRaycast, terrainLayer)) return; } catch { return; } if (!string.IsNullOrEmpty(cachedRaycast.collider.gameObject.name)) return; if (cachedRaycast.point.y < player.Y) return; Logger.LogDebug(player.Name + " tried to TELEPORT rock glitch at " + player.Location); Server.GetServer().Broadcast(player.Name + " don't try to rock glitch =)"); foreach (Collider collider in Physics.OverlapSphere(player.Location, 3f)) { if (collider.gameObject.name == "SleepingBagA(Clone)") TakeDamage.KillSelf(collider.GetComponent<IDMain>()); } if (RockGlitchKill) { if (player.Admin) { player.Message("You administrator rights allowed you to bug inside rocks."); return; } player.Message("Glitching gets you killed."); player.Kill(); } } }
public bool AddSpawnPoint(Fougerite.Player player, string data) { Vector3 plloc = player.Location; int type = 5; int.TryParse(data, out type); Vector3 findclosestpos = Vector3.zero; float currentdist = float.MaxValue; foreach (var x in LootPositions.Keys) { float dist = Vector3.Distance(plloc, x); if (dist < currentdist) { findclosestpos = x; currentdist = dist; } } if (findclosestpos == Vector3.zero) // If we had no other positions to compare to. { LootPositions.Add(plloc, (LootType)type); Settings.AddSetting("Positions", plloc.ToString(), type.ToString()); Settings.Save(); player.Message("Successfully added spawnpoint for: " + GetPrefab(type)); return(true); } if (Vector3.zero != findclosestpos) // If we found the closest position. { if (Vector3.Distance(plloc, findclosestpos) > Distance) { LootPositions.Add(plloc, (LootType)type); Settings.AddSetting("Positions", plloc.ToString(), type.ToString()); Settings.Save(); player.Message("Successfully added spawnpoint for: " + GetPrefab(type)); return(true); } player.Message("You need to be " + Distance + "m away atleast from an existing spawnpoint!"); } return(false); }
public void OnCommand(Fougerite.Player player, string cmd, string[] args) { if (cmd == "doorcloser") { if (args.Length == 0) { player.Message("Usage: /doorcloser number (1-10)"); return; } int i; string s = string.Join("", args); bool b = int.TryParse(s, out i); if (!b || i > 10 || i < 1) { player.Message("Usage: /doorcloser number (1-10)"); return; } DataStore.GetInstance().Add("AutoCloser", player.UID, i); player.Message("Closing door after " + i + " seconds"); } }
public void OnPlayerTeleport(Fougerite.Player player, Vector3 from, Vector3 dest) { if (RockGlitch) { var loc = player.Location; Vector3 cachedPosition = loc; RaycastHit cachedRaycast; cachedPosition.y += 100f; try { if (Physics.Raycast(loc, Vector3Up, out cachedRaycast, terrainLayer)) { cachedPosition = cachedRaycast.point; } if (!Physics.Raycast(cachedPosition, Vector3Down, out cachedRaycast, terrainLayer)) { return; } } catch { return; } if (!string.IsNullOrEmpty(cachedRaycast.collider.gameObject.name)) { return; } if (cachedRaycast.point.y < player.Y) { return; } Logger.LogDebug(player.Name + "intentó teletransportarse dentro de una roca. " + player.Location); Server.GetServer().Broadcast(player.Name + " intentó entrar dentro de una piedra."); foreach (Collider collider in Physics.OverlapSphere(player.Location, 3f)) { if (collider.gameObject.name == "SleepingBagA(Clone)") { TakeDamage.KillSelf(collider.GetComponent <IDMain>()); } } if (RockGlitchKill) { if (player.Admin) { player.Message("Usted es administrador y está autorizado a buguear las piedras."); return; } player.SendClientMessage("[color red]<Atención> No esta permitido buguear las piedras."); player.Kill(); } } }
private void Hooks_OnNPCKilled(Fougerite.Events.DeathEvent de) { if (de.Attacker != null && de.Victim != null && de.AttackerIsPlayer) { NPC npc = (NPC)de.Victim; if (npc.Name == "MutantBear" || npc.Name == "MutantWolf") { Fougerite.Player killer = (Fougerite.Player)de.Attacker; AddMoney(killer, 1); killer.Message("[color#99FF]成功击杀一个异兽,获得1斩仙币 /zxsc 查询斩仙商店"); } } }
private void Hooks_OnPlayerKilled(Fougerite.Events.DeathEvent de) { if (de.Attacker != null && de.AttackerIsPlayer && de.VictimIsPlayer && de.Victim != null) { //Example to add 1 money to the killer Fougerite.Player killer = (Fougerite.Player)de.Attacker; if (killer.SteamID != "") { if (de.Attacker != de.Victim) { AddMoney(killer, 1); killer.Message("[color#99FF]成功击杀一个剑客,获得1斩仙币 /zxsc 查询斩仙商店"); } } } }
public void OnCommand(Fougerite.Player player, string command, string[] args) { if (Fougerite.Server.CommandCancelList.ContainsKey(player)) { var list = Fougerite.Server.CommandCancelList[player]; if (list.Contains(command)) { player.Message("You cannot execute " + command + " at the moment!"); return; } } if (CommandList.Count != 0 && !CommandList.Contains(command) && !Fougerite.Server.ForceCallForCommands.Contains(command)) { return; } this.Invoke("On_Command", new object[] { player, command, args }); }
public void OnCommand(Fougerite.Player pl, string cmd, string[] args) { if (!pl.Admin) { return; } if (cmd == "spawn") { if (args.Length == 0) { pl.MessageFrom(Name, green + "/spawn - adds a spawn to the random spawns."); pl.MessageFrom(Name, green + "/spawn add - adds a spawn to the random spawns."); //pl.MessageFrom("SpawnsManager", green + "/spawn del - MAKE SURE YOU TYPE THE FULL NAME OF THE SPAWN TO DELETE IT."); pl.MessageFrom(Name, green + "/spawn reload - reloads the spawns list."); } else { if (args[0] == "add") { AddSpawn(pl); } else if (args[0] == "reload") { ReloadSpawns(); pl.MessageFrom(Name, green + "Spawn list Reloaded ,found (" + spawns.Count + ") points."); } else if (args[0] == "test") { tryagain: Vector3 location = GivemeRandomSpawn(); if (IsCloseOfStructure(location)) { pl.Message("TEST: cant spawn on structure, serching another location"); goto tryagain; } else { pl.SafeTeleportTo(location); } } } } }
public void CallBack(TimedEvent e) { var dict = e.Args; e.Kill(); Fougerite.Player pl = (Fougerite.Player)dict["player"]; Fougerite.Entity ent = (Fougerite.Entity)dict["entity"]; try { ent.Destroy(); } catch (Exception exc) { Logger.Log(Name + " ERROR: Failed to destroy " + ent.Name + " at position " + ent.Location.ToString()); Logger.Log(Name + exc.ToString()); } if (pl.IsAlive && !pl.IsDisconnecting) { pl.Message("Your " + green + ent.Name + white + " has been removed for exceeding the maximum time allowed"); } }
private void Command(Fougerite.Player player, string cmd, string[] args) { if (cmd == "test" && args.Length == 1 && player.Admin) { TesterPlayer = player; switch (args[0].ToLower()) { case "all": TestAll(); break; case "dump": ObjectsDump(); break; case "target": Target_Test(); break; case "ground": GetGround_Test(); break; case "help": player.Message("Use in only on test server!"); player.Message("/test dump - dump info about all objects to log"); player.Message("/test target - info about targeted object"); player.Message("/test ground - testing Z coord"); player.Message("/test all - testing all"); player.Message("/test save - saving world"); break; case "save": Server.GetServer().Save(); break; default: player.Message("Enter valid arg!"); break; } } }
public void ClearLoot(Fougerite.Player player) { int num = 0; foreach (var x in LootPositions.Keys) { try { var obj = Util.GetUtil().FindClosestEntity(x, 1.5f); if (obj != null && obj.Object is LootableObject) { Util.GetUtil().DestroyObject(((LootableObject)obj.Object).gameObject); num++; } } catch (Exception ex) { Logger.LogError("[LootSpawner] Error occured: " + ex); } } player.Message(num + " loots were cleaned!"); }
private void OnCommand(Fougerite.Player player, string cmd, string[] args) { if (cmd == "svres") { if (player.Admin || (player.Moderator)) { AlertTimer.Dispose(); KickTimer.Dispose(); KDTimer.Start(); Server.GetServer().BroadcastNotice("Server Restarting in 60 Seconds!!!"); Server.GetServer().Broadcast("Server will Restart in [color #82009c]60 Seconds [color white]By Admin [color #82009c]" + player.Name "); Logger.LogError("[AutoRestart] " + player.Name + " Restarted Server!"); string pname = player.Name; Log(pname); } else { player.Message("[color red]Only Admins have Access to this Command!"); } } }
public void ItemRemoved(InventoryModEvent e) { try { if (e.Player != null) { Fougerite.Player player = (Fougerite.Player)e.Player; if (player.IsOnline) { Vector3 location = player.Location; float d = Vector3.Distance(e.Inventory.transform.position, location); if (d > MaxlootDist) { if (BroadcastAdmins) { NotifyAdmin(player.Name + yellow + " Is Maybe using longdistance looting dist: " + (Math.Round(d))); } string line = DateTime.Now + " [AntiAutoLoot] " + player.Name + "-" + player.SteamID + " Tried to loot from " + (Math.Round(d)) + " max dist = " + MaxlootDist + ""; file = new System.IO.StreamWriter(ppath, true); file.WriteLine(line); file.Close(); string message = Broadcast.Replace("{Player}", player.Name); Server.GetServer().Broadcast(message); player.Message(WarningMessage); Logger.LogWarning(player.Name + " Tried to loot from an unreachable container"); e.Cancel(); player.Disconnect(); } } } } catch (Exception ex) { Logger.LogError("[AntiCrackLoot] ERROR: " + ex); } }
private void OnCommand(Fougerite.Player player, string cmd, string[] args) { switch (cmd) { case "record": { if (player.Admin || PermissionSystem.GetPermissionSystem().PlayerHasPermission(player, "recorder.record")) { if (args.Length == 0) { player.MessageFrom("Recorder", "Usage: /record name"); return; } object state = DataStore.GetInstance().Get("Recorder", player.UID); if (state != null) { player.MessageFrom("Recorder", "Already Recording!"); return; } string name = string.Join("_", args).ToLower(); DataStore.GetInstance().Flush("RecordedData" + player.UID); DataStore.GetInstance().Add("Recorder", player.UID, 1); DataStore.GetInstance().Add("Recorder_Name", player.UID, name); player.MessageFrom("Recorder", "Recording " + name + ".ini (/rstop to finish!)"); } break; } case "rspawn": if (player.Admin || PermissionSystem.GetPermissionSystem().PlayerHasPermission(player, "recorder.rspawn")) { if (args.Length != 2) { player.MessageFrom("Recorder", "Usage: /rspawn name.ini distance"); return; } float distance = 0f; bool success = float.TryParse(args[1], out distance); if (!success) { player.MessageFrom("Recorder", "Usage: /rspawn name.ini distance"); return; } if (!File.Exists(Path.Combine(ModuleFolder, "Buildings\\" + args[0]))) { player.MessageFrom("Recorder", "Building not found!"); return; } IniParser file = new IniParser(Path.Combine(ModuleFolder, "Buildings\\" + args[0])); DataStore.GetInstance().Flush("SpawnedData" + player.UID); DataStore.GetInstance().Remove("RecorderSMs", player.UID); Vector3 playerFront = Util.GetUtil().Infront(player, distance); float groundposition = World.GetWorld().GetGround(playerFront.x, playerFront.z); //playerFront.y = World.GetGround(playerFront.x, playerFront.z); List <string> sections = file.Sections.Where(x => x != "Init").ToList(); StructureMaster master = null; int failures = 0; for (int i = 0; i < sections.Count; i++) { Vector3 entPos = Util.GetUtil().CreateVector(float.Parse(file.GetSetting("Part" + i, "PosX")), float.Parse(file.GetSetting("Part" + i, "PosY")), float.Parse(file.GetSetting("Part" + i, "PosZ"))); Vector3 spawnPos = Util.GetUtil().CreateVector(entPos.x + playerFront.x, entPos.y + groundposition, entPos.z + playerFront.z); Quaternion spawnRot = Util.GetUtil().CreateQuat(float.Parse(file.GetSetting("Part" + i, "RotX")), float.Parse(file.GetSetting("Part" + i, "RotY")), float.Parse(file.GetSetting("Part" + i, "RotZ")), float.Parse(file.GetSetting("Part" + i, "RotW"))); if (master == null) { master = World.GetWorld() .CreateSM(player, spawnPos.x, spawnPos.y, spawnPos.z, spawnRot); } Entity go = null; try { go = World.GetWorld().SpawnEntity(file.GetSetting("Part" + i, "Prefab"), spawnPos, spawnRot); } catch { failures++; // Ignore. continue; } try { if (go.IsLootableObject()) { LootableObject lootableObject = (LootableObject)go.Object; go.ChangeOwner(player); DataStore.GetInstance().Add("SpawnedData" + player.UID, "Part" + i, lootableObject.gameObject); } else if (go.IsDeployableObject()) { go.ChangeOwner(player); DeployableObject deployableObject = (DeployableObject)go.Object; DataStore.GetInstance().Add("SpawnedData" + player.UID, "Part" + i, deployableObject.gameObject); } else if (go.IsBasicDoor()) { BasicDoor door = (BasicDoor)go.Object; go.ChangeOwner(player); DataStore.GetInstance().Add("SpawnedData" + player.UID, "Part", door.gameObject); } else if (go.IsStructure()) { StructureComponent structureComponent = (StructureComponent)go.Object; master.AddStructureComponent(structureComponent); DataStore.GetInstance().Add("SpawnedData" + player.UID, "Part" + i, structureComponent.gameObject); } } catch (Exception ex) { Logger.LogError("[Recorder] Error: " + ex); Logger.LogError("At prefab: " + file.GetSetting("Part" + i, "Prefab")); } } player.MessageFrom("Recorder", args[0] + " was spawned !"); if (failures > 0) { player.MessageFrom("Recorder", failures + " amount of failures happened. This file might have wrong values!"); } } break; case "rlist": if (player.Admin || PermissionSystem.GetPermissionSystem().PlayerHasPermission(player, "recorder.rlist")) { string[] files = Directory.GetFiles(Path.Combine(ModuleFolder, "Buildings\\"), "*.ini"); for (int i = 0; i < files.Length; i++) { files[i] = Path.GetFileName(files[i]); } player.MessageFrom("Recorder", "=== Files ==="); player.MessageFrom("Recorder", string.Join(", ", files)); } break; case "rcancel": if (player.Admin || PermissionSystem.GetPermissionSystem().PlayerHasPermission(player, "recorder.rcancel")) { int cpt = DataStore.GetInstance().Count("SpawnedData" + player.UID); for (int i = 0; i < cpt; i++) { GameObject ent = DataStore.GetInstance().Get("SpawnedData" + player.UID, "Part" + i) as GameObject; if (ent != null) { Util.GetUtil().DestroyObject(ent); } DataStore.GetInstance().Remove("Recorder", player.UID); DataStore.GetInstance().Flush("RecordedData" + player.UID); DataStore.GetInstance().Flush("SpawnedData" + player.UID); DataStore.GetInstance().Remove("RecorderInit", player.UID); DataStore.GetInstance().Remove("RecorderSMs", player.UID); } DataStore.GetInstance().Flush("SpawnedData" + player.UID); player.Message("Cancelled recording"); } break; case "rstop": if (player.Admin || PermissionSystem.GetPermissionSystem().PlayerHasPermission(player, "recorder.rstop")) { string name = (string)DataStore.GetInstance().Get("Recorder_Name", player.UID); if (File.Exists(Path.Combine(ModuleFolder, "Buildings\\" + name))) { var rnd = new Random(); int rnd2 = rnd.Next(0, 500000); player.Message(name + ".ini already exists ! renaming.."); name = name + rnd2; } name = name + ".ini"; Vector3 loc = (Vector3)DataStore.GetInstance().Get("RecorderInit", player.UID); float groundposition = World.GetWorld().GetGround(loc.x, loc.z); //loc.y = World.GetGround(loc.x, loc.z) int cpt = DataStore.GetInstance().Count("RecordedData" + player.UID); if (cpt == 0) { DataStore.GetInstance().Flush("RecordedData" + player.UID); return; } if (!File.Exists(Path.Combine(ModuleFolder, "Buildings\\" + name))) { File.Create(Path.Combine(ModuleFolder, "Buildings\\" + name)).Dispose(); } IniParser rfile = new IniParser(Path.Combine(ModuleFolder, "Buildings\\" + name)); for (int i = 0; i < cpt; i++) { Entity ent = (Entity)DataStore.GetInstance().Get("RecordedData" + player.UID, "Part" + i); Vector3 entPos = new Vector3((ent.X - loc.x), (ent.Y - groundposition), (ent.Z - loc.z)); Quaternion spawnRot = ent.Rotation; rfile.AddSetting("Part" + i, "Prefab", Prefabs[ent.Name]); rfile.AddSetting("Part" + i, "PosX", entPos.x.ToString(CultureInfo.CurrentCulture)); rfile.AddSetting("Part" + i, "PosY", entPos.y.ToString(CultureInfo.CurrentCulture)); rfile.AddSetting("Part" + i, "PosZ", entPos.z.ToString(CultureInfo.CurrentCulture)); rfile.AddSetting("Part" + i, "RotX", spawnRot.x.ToString(CultureInfo.CurrentCulture)); rfile.AddSetting("Part" + i, "RotY", spawnRot.y.ToString(CultureInfo.CurrentCulture)); rfile.AddSetting("Part" + i, "RotZ", spawnRot.z.ToString(CultureInfo.CurrentCulture)); rfile.AddSetting("Part" + i, "RotW", spawnRot.w.ToString(CultureInfo.CurrentCulture)); } DataStore.GetInstance().Remove("Recorder", player.UID); DataStore.GetInstance().Flush("RecordedData" + player.UID); DataStore.GetInstance().Flush("SpawnedData" + player.UID); DataStore.GetInstance().Remove("RecorderInit", player.UID); DataStore.GetInstance().Remove("RecorderSMs", player.UID); DataStore.GetInstance().Flush("SpawnedData" + player.UID); rfile.Save(); player.MessageFrom("Recorder", name + " was saved !"); } break; } }
public static void vipyf(Fougerite.Player player) { string playervip = Vip.GetVip(player.SteamID); if (playervip == "0") { player.Message("您未充值VIP,隐身衣的领取下限为VIP4"); return; } else if (playervip == "1") { player.Message("您的VIP权限不足,隐身衣的领取下限为VIP4"); return; } else if (playervip == "2") { player.Message("您的VIP权限不足,隐身衣的领取下限为VIP4"); return; } else if (playervip == "3") { player.Message("您的VIP权限不足,隐身衣的领取下限为VIP4"); return; } else if (playervip == "4") { player.Inventory.AddItem("Invisible Boots", 1); } else if (playervip == "5") { player.Inventory.AddItem("Invisible Pants", 1); } else if (playervip == "6") { player.Inventory.AddItem("Invisible Vest", 1); } else if (playervip == "7") { player.Inventory.AddItem("Invisible Helmet", 1); } else if (playervip == "8") { player.Inventory.AddItem("Invisible Boots", 1); player.Inventory.AddItem("Invisible Helmet", 1); } else if (playervip == "9") { player.Inventory.AddItem("Invisible Pants", 1); player.Inventory.AddItem("Invisible Helmet", 1); } else if (playervip == "10") { player.Message("您的VIP权限不足,隐身衣的领取下限为VIP4"); return; } else { player.Message("您未充值VIP,无法领取,欢迎您赞助服务器=-=!"); } player.Message("领取成功"); }
public static void vip(Fougerite.Player player) { temp = ds.Get("vip", player.SteamID); string playervip = Vip.GetVip(player.SteamID); if (playervip == "0") { player.Message("您未充值VIP,无法领取,欢迎您赞助服务器=-=!"); return; } else if (Vip.VipSure(player.SteamID) == false) { player.Message("您VIP已经到期,无法领取,欢迎您续费,赞助服务器=-=!Tip:感谢您之前对服务器的支持!(比心心)"); return; } else if (temp != null) { timeSpan = DateTime.Now - (DateTime)temp; if ((int)timeSpan.TotalSeconds <= vipcd) { player.Message("您还需要" + (vipcd - (int)timeSpan.TotalSeconds) + "秒方可再次领取"); return; } } ds.Add("vip", player.SteamID, DateTime.Now); if (playervip == "1") { player.Inventory.AddItem("Raw Chicken Breast", 250); player.Inventory.AddItem("Metal Fragments", 250); player.Inventory.AddItem("Large Medkit", 5); player.Inventory.AddItem("Wood Planks", 100); player.Inventory.AddItem("Gunpowder", 50); player.Inventory.AddItem("Rad Suit Helmet", 1); player.Inventory.AddItem("Rad Suit Vest", 1); player.Inventory.AddItem("Rad Suit Pants", 1); player.Inventory.AddItem("Rad Suit Boots", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("MP5A4", 1); player.Inventory.AddItem("9mm Ammo", 250); Money.AddMoney(player, 100); } else if (playervip == "2") { player.Inventory.AddItem("Raw Chicken Breast", 250); player.Inventory.AddItem("Metal Fragments", 500); player.Inventory.AddItem("Large Medkit", 10); player.Inventory.AddItem("Wood Planks", 600); player.Inventory.AddItem("Gunpowder", 100); player.Inventory.AddItem("Rad Suit Helmet", 1); player.Inventory.AddItem("Rad Suit Vest", 1); player.Inventory.AddItem("Rad Suit Pants", 1); player.Inventory.AddItem("Rad Suit Boots", 1); player.Inventory.AddItem("Shotgun", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("MP5A4", 1); player.Inventory.AddItem("9mm Ammo", 250); player.Inventory.AddItem("Shotgun Shells", 100); player.Inventory.AddItem("Holo sight", 1); Money.AddMoney(player, 200); } else if (playervip == "3") { player.Inventory.AddItem("Low Quality Metal", 30); player.Inventory.AddItem("Large Medkit", 20); player.Inventory.AddItem("Wood Planks", 700); player.Inventory.AddItem("Metal Door", 3); player.Inventory.AddItem("Research Kit 1", 2); player.Inventory.AddItem("Gunpowder", 150); player.Inventory.AddItem("Rad Suit Helmet", 1); player.Inventory.AddItem("Rad Suit Vest", 1); player.Inventory.AddItem("Rad Suit Pants", 1); player.Inventory.AddItem("Rad Suit Boots", 1); player.Inventory.AddItem("F1 Grenade", 10); player.Inventory.AddItem("Shotgun", 1); player.Inventory.AddItem("M4", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("MP5A4", 1); player.Inventory.AddItem("9mm Ammo", 250); player.Inventory.AddItem("556 Ammo", 250); player.Inventory.AddItem("Shotgun Shells", 100); player.Inventory.AddItem("Holo sight", 1); player.Inventory.AddItem("Laser Sight", 1); player.Inventory.AddItem("Silencer", 1); player.Inventory.AddItem("Flashlight Mod", 1); Money.AddMoney(player, 300); } else if (playervip == "4") { player.Inventory.AddItem("Low Quality Metal", 150); player.Inventory.AddItem("Large Medkit", 30); player.Inventory.AddItem("Wood Planks", 700); player.Inventory.AddItem("Metal Door", 5); player.Inventory.AddItem("Research Kit 1", 2); player.Inventory.AddItem("Gunpowder", 300); player.Inventory.AddItem("Leather Helmet", 1); player.Inventory.AddItem("Leather Vest", 1); player.Inventory.AddItem("Leather Pants", 1); player.Inventory.AddItem("Leather Boots", 1); player.Inventory.AddItem("F1 Grenade", 20); player.Inventory.AddItem("Shotgun", 1); player.Inventory.AddItem("M4", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("MP5A4", 1); player.Inventory.AddItem("9mm Ammo", 400); player.Inventory.AddItem("556 Ammo", 400); player.Inventory.AddItem("Shotgun Shells", 200); player.Inventory.AddItem("Holo sight", 1); player.Inventory.AddItem("Laser Sight", 1); player.Inventory.AddItem("Silencer", 1); player.Inventory.AddItem("Flashlight Mod", 1); Money.AddMoney(player, 400); } else if (playervip == "5") { player.Inventory.AddItem("Low Quality Metal", 200); player.Inventory.AddItem("Large Medkit", 50); player.Inventory.AddItem("Wood Planks", 700); player.Inventory.AddItem("Metal Door", 10); player.Inventory.AddItem("Research Kit 1", 2); player.Inventory.AddItem("Gunpowder", 500); player.Inventory.AddItem("Kevlar Helmet", 1); player.Inventory.AddItem("Kevlar Vest", 1); player.Inventory.AddItem("Kevlar Pants", 1); player.Inventory.AddItem("Kevlar Boots", 1); player.Inventory.AddItem("F1 Grenade", 30); player.Inventory.AddItem("Shotgun", 1); player.Inventory.AddItem("M4", 1); player.Inventory.AddItem("Bolt Action Rifle", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("MP5A4", 1); player.Inventory.AddItem("9mm Ammo", 400); player.Inventory.AddItem("556 Ammo", 400); player.Inventory.AddItem("Shotgun Shells", 200); player.Inventory.AddItem("Holo sight", 1); player.Inventory.AddItem("Laser Sight", 1); player.Inventory.AddItem("Silencer", 1); Money.AddMoney(player, 500); } else if (playervip == "6") { player.Inventory.AddItem("Low Quality Metal", 300); player.Inventory.AddItem("Large Medkit", 50); player.Inventory.AddItem("Wood Planks", 700); player.Inventory.AddItem("Metal Door", 20); player.Inventory.AddItem("Research Kit 1", 10); player.Inventory.AddItem("Gunpowder", 500); player.Inventory.AddItem("Kevlar Helmet", 1); player.Inventory.AddItem("Kevlar Vest", 1); player.Inventory.AddItem("Kevlar Pants", 1); player.Inventory.AddItem("Kevlar Boots", 1); player.Inventory.AddItem("F1 Grenade", 50); player.Inventory.AddItem("Shotgun", 1); player.Inventory.AddItem("M4", 1); player.Inventory.AddItem("Bolt Action Rifle", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("MP5A4", 1); player.Inventory.AddItem("9mm Ammo", 500); player.Inventory.AddItem("556 Ammo", 500); player.Inventory.AddItem("Shotgun Shells", 300); player.Inventory.AddItem("Holo sight", 1); player.Inventory.AddItem("Laser Sight", 1); player.Inventory.AddItem("Silencer", 1); player.Inventory.AddItem("Explosive Charge", 1); Money.AddMoney(player, 600); } else if (playervip == "7") { player.Inventory.AddItem("Low Quality Metal", 400); player.Inventory.AddItem("Large Medkit", 100); player.Inventory.AddItem("Wood Planks", 750); player.Inventory.AddItem("Metal Door", 50); player.Inventory.AddItem("Research Kit 1", 3); player.Inventory.AddItem("Gunpowder", 500); player.Inventory.AddItem("Kevlar Helmet", 1); player.Inventory.AddItem("Kevlar Vest", 1); player.Inventory.AddItem("Kevlar Pants", 1); player.Inventory.AddItem("Kevlar Boots", 1); player.Inventory.AddItem("F1 Grenade", 80); player.Inventory.AddItem("Shotgun", 1); player.Inventory.AddItem("M4", 1); player.Inventory.AddItem("Bolt Action Rifle", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("MP5A4", 1); player.Inventory.AddItem("9mm Ammo", 500); player.Inventory.AddItem("556 Ammo", 500); player.Inventory.AddItem("Shotgun Shells", 400); player.Inventory.AddItem("Holo sight", 1); player.Inventory.AddItem("Laser Sight", 1); player.Inventory.AddItem("Silencer", 1); player.Inventory.AddItem("Flashlight Mod", 1); player.Inventory.AddItem("Explosive Charge", 3); Money.AddMoney(player, 700); } else if (playervip == "8") { player.Inventory.AddItem("Low Quality Metal", 500); player.Inventory.AddItem("Large Medkit", 200); player.Inventory.AddItem("Wood Planks", 750); player.Inventory.AddItem("Metal Door", 100); player.Inventory.AddItem("Research Kit 1", 3); player.Inventory.AddItem("Gunpowder", 500); player.Inventory.AddItem("Kevlar Helmet", 1); player.Inventory.AddItem("Kevlar Vest", 1); player.Inventory.AddItem("Kevlar Pants", 1); player.Inventory.AddItem("Kevlar Boots", 1); player.Inventory.AddItem("F1 Grenade", 100); player.Inventory.AddItem("Shotgun", 1); player.Inventory.AddItem("M4", 1); player.Inventory.AddItem("Bolt Action Rifle", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("MP5A4", 1); player.Inventory.AddItem("9mm Ammo", 500); player.Inventory.AddItem("556 Ammo", 500); player.Inventory.AddItem("Shotgun Shells", 500); player.Inventory.AddItem("Holo sight", 1); player.Inventory.AddItem("Laser Sight", 1); player.Inventory.AddItem("Silencer", 1); player.Inventory.AddItem("Flashlight Mod", 1); player.Inventory.AddItem("Explosive Charge", 5); Money.AddMoney(player, 800); } else if (playervip == "9") { player.Inventory.AddItem("Low Quality Metal", 700); player.Inventory.AddItem("Large Medkit", 250); player.Inventory.AddItem("Wood Planks", 750); player.Inventory.AddItem("Metal Door", 250); player.Inventory.AddItem("Research Kit 1", 4); player.Inventory.AddItem("Gunpowder", 500); player.Inventory.AddItem("Kevlar Helmet", 1); player.Inventory.AddItem("Kevlar Vest", 1); player.Inventory.AddItem("Kevlar Pants", 1); player.Inventory.AddItem("Kevlar Boots", 1); player.Inventory.AddItem("F1 Grenade", 250); player.Inventory.AddItem("Shotgun", 1); player.Inventory.AddItem("M4", 1); player.Inventory.AddItem("Bolt Action Rifle", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("MP5A4", 1); player.Inventory.AddItem("9mm Ammo", 500); player.Inventory.AddItem("556 Ammo", 500); player.Inventory.AddItem("Shotgun Shells", 500); player.Inventory.AddItem("Holo sight", 1); player.Inventory.AddItem("Laser Sight", 1); player.Inventory.AddItem("Silencer", 1); player.Inventory.AddItem("Flashlight Mod", 1); player.Inventory.AddItem("Explosive Charge", 10); Money.AddMoney(player, 900); } else if (playervip == "10") { player.Inventory.AddItem("Raw Chicken Breast", 20); player.Inventory.AddItem("Metal Fragments", 500); player.Inventory.AddItem("Large Medkit", 10); player.Inventory.AddItem("Wood Planks", 600); player.Inventory.AddItem("Gunpowder", 100); player.Inventory.AddItem("Rad Suit Helmet", 1); player.Inventory.AddItem("Rad Suit Vest", 1); player.Inventory.AddItem("Rad Suit Pants", 1); player.Inventory.AddItem("Rad Suit Boots", 1); player.Inventory.AddItem("Shotgun", 1); player.Inventory.AddItem("P250", 1); player.Inventory.AddItem("MP5A4", 1); player.Inventory.AddItem("9mm Ammo", 250); player.Inventory.AddItem("Shotgun Shells", 100); player.Inventory.AddItem("Holo sight", 1); player.Inventory.AddItem("Laser Sight", 1); player.Inventory.AddItem("Silencer", 1); player.Inventory.AddItem("Flashlight Mod", 1); Money.AddMoney(player, 1000); } player.Message("工资领取成功"); player.Message("服装领取成功"); player.Message("武器领取成功"); player.Message("物资领取成功"); }