Ejemplo n.º 1
0
 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) + "秒方可再次领取");
         }
     }
 }
Ejemplo n.º 2
0
        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("会员已到期");
            }
        }
Ejemplo n.º 3
0
        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;
                }
            }
        }
Ejemplo n.º 4
0
        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;
            }
        }
Ejemplo n.º 5
0
        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) + "秒方可再次领取");
                }
            }
        }
Ejemplo n.º 6
0
 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();
                 }
             }
         }
     }
 }
Ejemplo n.º 7
0
 public void HandleCommand(Fougerite.Player player, string cmd, string[] args)
 {
     if (cmd == "test")
     {
         player.Message("You used /test command !");
     }
 }
Ejemplo n.º 8
0
 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]));
     }
 }
Ejemplo n.º 9
0
 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 ");
     }
 }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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.");
                    }
                }
            }
        }
Ejemplo n.º 12
0
 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("清理成功");
     }
 }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        // 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");
        }
Ejemplo n.º 15
0
 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();
         }
     }
 }
Ejemplo n.º 16
0
        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);
        }
Ejemplo n.º 17
0
 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");
     }
 }
Ejemplo n.º 18
0
 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();
         }
     }
 }
Ejemplo n.º 19
0
 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 查询斩仙商店");
         }
     }
 }
Ejemplo n.º 20
0
 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 查询斩仙商店");
             }
         }
     }
 }
Ejemplo n.º 21
0
 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 });
 }
Ejemplo n.º 22
0
        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);
                        }
                    }
                }
            }
        }
Ejemplo n.º 23
0
        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");
            }
        }
Ejemplo n.º 24
0
        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;
                }
            }
        }
Ejemplo n.º 25
0
        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!");
        }
Ejemplo n.º 26
0
 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!");
         }
         
     }
 }
Ejemplo n.º 27
0
 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);
     }
 }
Ejemplo n.º 28
0
        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;
            }
        }
Ejemplo n.º 29
0
        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("领取成功");
        }
Ejemplo n.º 30
0
        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("物资领取成功");
        }