示例#1
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer callr   = (UnturnedPlayer)caller;
            string         kitName = null;

            if (command.Length == 0)
            {
                if (!AutoSave.ContainsKey(callr.CSteamID))
                {
                    if (Plugin.CustomKitsPlugin.Instance.Configuration.Instance.DefaultKitName == "preset_name")
                    {
                        foreach (Plugin.CustomKitsConfig.Preset Preset in Plugin.CustomKitsPlugin.Instance.Configuration.Instance.Presets)
                        {
                            if (caller.HasPermission(Plugin.CustomKitsPlugin.PERMISSION + Preset.Name))
                            {
                                kitName = Preset.Name;
                            }
                        }
                    }
                    else
                    {
                        kitName = Plugin.CustomKitsPlugin.Instance.Configuration.Instance.DefaultKitName;
                    }
                }
                else
                {
                    AutoSave.Remove(callr.CSteamID);
                    UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("autosave_off"), Color.green);
                    return;
                }
            }

            int slotCount = SlotManager.Slots[callr.CSteamID.m_SteamID].Count;

            if (kitName == "*")
            {
                UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("unsupported_character", "*"), Color.red);
                return;
            }

            if (KitManager.KitCount(callr, KitManager.Kits) >= slotCount)
            {
                if (!caller.IsAdmin || !caller.HasPermission("ck.admin"))
                {
                    UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("no_kits_left"), Color.red);
                    return;
                }
            }

            if (!AutoSave.ContainsKey(callr.CSteamID))
            {
                AutoSave.Add(callr.CSteamID, kitName);
                UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("autosave_on", kitName), Color.green);
            }
            else
            {
                AutoSave[callr.CSteamID] = kitName;
                UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("autosave_on", kitName), Color.green);
            }
        }
示例#2
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (caller == null)
            {
                return;
            }
            UnturnedPlayer player = (UnturnedPlayer)caller;

            if (caller.HasPermission(Duty.Instance.Configuration.Instance.SuperAdminPermission))
            {
                Duty.Instance.DoDuty(player);
                return;
            }

            foreach (DutyGroups Group in Duty.Instance.ValidGroups)
            {
                if (caller.HasPermission(Group.Permission))
                {
                    Duty.Instance.DoDuty(player, Group);
                    return;
                }
            }

            if (caller.HasPermission("duty"))
            {
                Rocket.Unturned.Chat.UnturnedChat.Say(caller, Duty.Instance.Translate("not_enough_permissions"));
            }
        }
 public void Execute(IRocketPlayer caller, string[] command)
 {
     // Get playername, if one was set in the command. Don't allow the command to be ran on self from the console.
     UnturnedPlayer target = command.GetUnturnedPlayerParameter(0);
     UnturnedPlayer untrunedCaller = null;
     if (!(caller is ConsolePlayer))
     {
         untrunedCaller = (UnturnedPlayer)caller;
     }
     if ((caller is ConsolePlayer && command.Length < 1) || command.Length > 1 || (target == null && command.Length == 1 && (caller.HasPermission("locate.other") || untrunedCaller.IsAdmin || caller is ConsolePlayer)))
     {
         UnturnedChat.Say(caller, TeleportUtil.Instance.Translate("can't_locate_player"));
         return;
     }
     if (command.Length == 1)
     {
         // Only allow the player to locate another player if they have the right permission.
         if (caller.HasPermission("locate.other") || untrunedCaller.IsAdmin || caller is ConsolePlayer)
         {
             UnturnedChat.Say(caller, TeleportUtil.Instance.Translate("location_on_map_other", target.CharacterName.Truncate(14), target.Position.xyz_Location()));
         }
         else
         {
             UnturnedChat.Say(caller, TeleportUtil.Instance.Translate("locate_other_not_allowed"));
             return;
         }
     }
     else
     {
         UnturnedPlayer unturnedCaller = (UnturnedPlayer)caller;
         UnturnedChat.Say(caller, TeleportUtil.Instance.Translate("location_on_map", unturnedCaller.Position.xyz_Location()));
     }
 }
        public void Execute(IRocketPlayer playerid, string[] msg)
        {
            if (playerid == null) return;
            if (msg.Length > 1)
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_command_usage", new object[] { }));
                return;
            }

            UnturnedPlayer caller = UnturnedPlayer.FromName(playerid.ToString());

            if (msg.Length == 0)
            {
                byte currentlevel = Zaup_Warning.Instance.Database.GetWarnings(caller.CSteamID);
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_current_level", new object[] { currentlevel }));
                return;
            }
            if (!playerid.HasPermission("warnings.others"))
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_no_permission_others", new object[] { }));
                return;
            }
            UnturnedPlayer warnee = UnturnedPlayer.FromName(msg[0]);
            if (warnee == null)
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("invalid_name_provided", new object[] { }));
                return;
            }
            byte currentlevel1 = Zaup_Warning.Instance.Database.GetWarnings(warnee.CSteamID);
            UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_current_level_others", new object[] { warnee.CharacterName, currentlevel1 }));
            return;
        }
示例#5
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            ushort ammoAmountToSpawn = (ushort)0;
            bool   EnteredAmount     = false;

            SDG.Unturned.ItemGunAsset currentWeapon;
            SDG.Unturned.ItemAsset    currentEquiped;
            UnturnedPlayer            Uplayer = (UnturnedPlayer)caller;

            if (command.Length >= 1)
            {
                if (ushort.TryParse(command[0], out ammoAmountToSpawn))
                {
                    EnteredAmount = true;
                }
            }

            currentEquiped = Uplayer.Player.equipment.asset;
            if (currentEquiped == null)
            {
                UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("nothing_equipped"));
                return;
            }
            if (currentEquiped.type != SDG.Unturned.EItemType.GUN)
            {
                UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("no_gun_equipped"));
                return;
            }

            //UnturnedChat.Say(caller, " your current equipped item is \" id: " + currentEquiped + " / " + "name: " + currentEquiped.name);
            //UnturnedChat.Say(caller, "item type: " + item.GetType().ToString());

            currentWeapon = (SDG.Unturned.ItemGunAsset)currentEquiped;
            if (currentWeapon == null)
            {
                UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("gun_asset_not_found"));
                return;
            }

            if (EasyAmmo.CheckIfBlacklisted(caller, currentWeapon))
            {
                return;
            }

            if (EnteredAmount && caller.HasPermission("dropammo.amount"))
            {
                if (EasyAmmo.Instance.Configuration.Instance.ClipLimitEnabled)
                {
                    DropMagsWithLimit(ammoAmountToSpawn, caller, currentWeapon, Uplayer, command);
                }
                else
                {
                    DropMags(ammoAmountToSpawn, caller, currentWeapon, Uplayer, command);
                }
            }
            else
            {
                DropMags((ushort)1, caller, currentWeapon, Uplayer, command);
            }
        }
示例#6
0
        public void Execute(IRocketPlayer caller, string[] args)
        {
            if (args.Length == 1)
            {
                if (!caller.HasPermission("antilock.clearlocks.other"))
                {
                    UnturnedChat.Say(caller, R.Translate("command_no_permission"), Color.red);
                    return;
                }

                UnturnedPlayer other = UnturnedPlayer.FromName(args[0]);

                if (other == null)
                {
                    UnturnedChat.Say(caller, AntiLock.instance.Translate("player_not_found"), Color.red);
                    return;
                }

                int count = ClearLocks(other);
                UnturnedChat.Say(caller, AntiLock.instance.Translate("clear_success_other", other.DisplayName, count));
            }
            else
            {
                int count = ClearLocks((UnturnedPlayer)caller);
                UnturnedChat.Say(caller, AntiLock.instance.Translate("clear_success", count));
            }
        }
示例#7
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            IRocketPlayer player = command.GetUnturnedPlayerParameter(0);
            if (player == null) player = command.GetRocketPlayerParameter(0);
            string groupName = command.GetStringParameter(1);

            if (command.Length == 0 && !(caller is ConsolePlayer))
            {
                UnturnedChat.Say(caller, U.Translate("command_p_groups_private", "Your", string.Join(", ", R.Permissions.GetGroups(caller, true).Select(g => g.DisplayName).ToArray())));
                UnturnedChat.Say(caller, U.Translate("command_p_permissions_private", "Your", string.Join(", ", Core.R.Permissions.GetPermissions(caller).ToArray())));
            }
            else if(command.Length == 1 && player != null) {
                UnturnedChat.Say(caller, U.Translate("command_p_groups_private", player.DisplayName+"s", string.Join(", ", R.Permissions.GetGroups(caller, true).Select(g => g.DisplayName).ToArray())));
                UnturnedChat.Say(caller, U.Translate("command_p_permissions_private", player.DisplayName + "s", string.Join(", ", Core.R.Permissions.GetPermissions(player).ToArray())));
            }
            else if (command.Length == 2 && player != null && !String.IsNullOrEmpty(groupName) && caller.HasPermission("p.set"))
            {
                if (Core.R.Permissions.SetGroup(player, groupName))
                {
                    UnturnedChat.Say(caller, U.Translate("command_p_group_assigned", player.DisplayName, groupName));
                }
                else {
                    UnturnedChat.Say(caller, U.Translate("command_p_group_not_found"));
                }
            }
            else
            {
                UnturnedChat.Say(caller, U.Translate("command_generic_invalid_parameter"));
                return;
            }

            
         }
示例#8
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer callr = (UnturnedPlayer)caller;

            if (command.Length == 0)
            {
                UnturnedChat.Say(caller, Syntax, Color.red);
                return;
            }
            else
            {
                if (caller.HasPermission(OTHER_PERM))
                {
                    UnturnedPlayer fromPlayer = UnturnedPlayer.FromName(command[0]);

                    if (fromPlayer.IsAdmin || fromPlayer.HasPermission("ck.admin"))
                    {
                        UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("copy_bypass", fromPlayer.CharacterName), Color.red);
                        return;
                    }
                    else
                    {
                        InventoryManager.Copy(fromPlayer, callr, Plugin.CustomKitsPlugin.Instance.Configuration.Instance.IncludeClothingInKits);

                        UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("copied", fromPlayer.CharacterName), Color.green);
                    }
                }
                else
                {
                    UnturnedChat.Say(caller, "You do not have permissions to execute this command.", Color.red);
                }
            }
        }
示例#9
0
        public void Execute(IRocketPlayer caller, params string[] command)
        {
            UnturnedPlayer CPlayer = UnturnedPlayer.FromName(caller.DisplayName);

            if (command.Length == 1)
            {
                if (caller.HasPermission("balance.check"))
                {
                    UnturnedPlayer target = UnturnedPlayer.FromName(command[0]);
                    if (target != null)
                    {
                        decimal balance = Uconomy.Instance.Database.GetBalance(target.Id);
                        //UnturnedChat.Say(caller, Uconomy.Instance.Translate("command_balance_show_otherPlayer", Uconomy.Instance.Configuration.Instance.MoneySymbol, balance, Uconomy.Instance.Configuration.Instance.MoneyName), UnturnedChat.GetColorFromName(Uconomy.MessageColor, Color.green));
                        ChatManager.serverSendMessage(Uconomy.Instance.Translate("command_balance_show_otherPlayer", Uconomy.Instance.Configuration.Instance.MoneySymbol, balance, Uconomy.Instance.Configuration.Instance.MoneyName).Replace('[', '<').Replace(']', '>'), Color.green, null, CPlayer.Player.channel.owner, EChatMode.SAY, Uconomy.Instance.Configuration.Instance.ImageURL, true);
                    }
                    else
                    {
                        //UnturnedChat.Say(caller, Uconomy.Instance.Translate("command_balance_error_player_not_found"), UnturnedChat.GetColorFromName(Uconomy.MessageColor, Color.green));
                        ChatManager.serverSendMessage(Uconomy.Instance.Translate("command_balance_error_player_not_found").Replace('[', '<').Replace(']', '>'), Color.green, null, CPlayer.Player.channel.owner, EChatMode.SAY, Uconomy.Instance.Configuration.Instance.ImageURL, true);
                    }
                }
                else
                {
                    //UnturnedChat.Say(caller, Uconomy.Instance.Translate("command_balance_check_noPermissions"), UnturnedChat.GetColorFromName(Uconomy.MessageColor, Color.green));
                    ChatManager.serverSendMessage(Uconomy.Instance.Translate("command_balance_check_noPermissions").Replace('[', '<').Replace(']', '>'), Color.green, null, CPlayer.Player.channel.owner, EChatMode.SAY, Uconomy.Instance.Configuration.Instance.ImageURL, true);
                }
            }
            else
            {
                decimal balance = Uconomy.Instance.Database.GetBalance(caller.Id);
                //UnturnedChat.Say(caller, Uconomy.Instance.Translations.Instance.Translate("command_balance_show", Uconomy.Instance.Configuration.Instance.MoneySymbol, balance, Uconomy.Instance.Configuration.Instance.MoneyName), UnturnedChat.GetColorFromName(Uconomy.MessageColor, Color.green));
                ChatManager.serverSendMessage(Uconomy.Instance.Translations.Instance.Translate("command_balance_show", Uconomy.Instance.Configuration.Instance.MoneySymbol, balance, Uconomy.Instance.Configuration.Instance.MoneyName).Replace('[', '<').Replace(']', '>'), Color.green, null, CPlayer.Player.channel.owner, EChatMode.SAY, Uconomy.Instance.Configuration.Instance.ImageURL, true);
            }
        }
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length == 0)
            {
                if (caller is ConsolePlayer)
                {
                    Plugin.VoteRewardsPlugin.Write("<player>", ConsoleColor.Red);
                    return;
                }

                VoteRewards.HandleVote((UnturnedPlayer)caller, true);
            }
            else
            {
                if (caller.HasPermission("voterewards.givereward") || caller is ConsolePlayer)
                {
                    UnturnedPlayer toPlayer = UnturnedPlayer.FromName(command[0]);

                    if (toPlayer != null)
                    {
                        VoteRewards.GiveReward(toPlayer, Plugin.VoteRewardsPlugin.Instance.Configuration.Instance.Services.FirstOrDefault().Name);

                        if (caller is ConsolePlayer)
                        {
                            Plugin.VoteRewardsPlugin.Write(Plugin.VoteRewardsPlugin.Instance.Translate("free_reward", toPlayer.CharacterName));
                        }
                        else
                        {
                            UnturnedChat.Say(caller, Plugin.VoteRewardsPlugin.Instance.Translate("free_reward", toPlayer.CharacterName));
                        }
                    }
                }
            }
        }
示例#11
0
 public void Execute(IRocketPlayer caller, params string[] command)
 {
     if (command.Length == 1)
     {
         if (caller.HasPermission("balance.check"))
         {
             UnturnedPlayer target = UnturnedPlayer.FromName(command[0]);
             if (target != null)
             {
                 decimal balance = Uconomy.Instance.Database.GetBalance(target.Id);
                 UnturnedChat.Say(caller, Uconomy.Instance.Translate("command_balance_show_otherPlayer", Uconomy.Instance.Configuration.Instance.MoneySymbol, balance, Uconomy.Instance.Configuration.Instance.MoneyName), UnturnedChat.GetColorFromName(Uconomy.MessageColor, Color.green));
             }
             else
             {
                 UnturnedChat.Say(caller, Uconomy.Instance.Translate("command_balance_error_player_not_found"), UnturnedChat.GetColorFromName(Uconomy.MessageColor, Color.green));
             }
         }
         else
         {
             UnturnedChat.Say(caller, Uconomy.Instance.Translate("command_balance_check_noPermissions"), UnturnedChat.GetColorFromName(Uconomy.MessageColor, Color.green));
         }
     }
     else
     {
         decimal balance = Uconomy.Instance.Database.GetBalance(caller.Id);
         UnturnedChat.Say(caller, Uconomy.Instance.Translations.Instance.Translate("command_balance_show", Uconomy.Instance.Configuration.Instance.MoneySymbol, balance, Uconomy.Instance.Configuration.Instance.MoneyName), UnturnedChat.GetColorFromName(Uconomy.MessageColor, Color.green));
     }
 }
示例#12
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length == 0)
            {
                if (caller is ConsolePlayer)
                {
                    Logger.LogError($"Incorrect command usage! Try: {Syntax}");
                    return;
                }

                UnturnedPlayer callr = (UnturnedPlayer)caller;

                InventoryManager.Clear(callr, true);

                UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("inventory_cleared"));
            }

            if (command.Length == 1)
            {
                UnturnedPlayer toPlayer = UnturnedPlayer.FromName(command[0]);

                if (toPlayer.IsAdmin || toPlayer.HasPermission("ck.admin"))
                {
                    UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("ci_bypass", toPlayer.CharacterName), Color.red);
                    return;
                }

                if (caller is ConsolePlayer)
                {
                    if (toPlayer == null)
                    {
                        Logger.Log(Plugin.CustomKitsPlugin.Instance.Translate("player_doesn't_exist", command[0]), ConsoleColor.Red);
                        return;
                    }

                    InventoryManager.Clear(toPlayer, true);

                    Logger.Log(Plugin.CustomKitsPlugin.Instance.Translate("inventory_cleared_other", toPlayer.CharacterName), ConsoleColor.Cyan);
                    return;
                }

                if (caller.HasPermission(OTHER_PERM))
                {
                    if (toPlayer == null)
                    {
                        UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("player_doesn't_exist", command[0]), Color.red);
                        return;
                    }

                    InventoryManager.Clear(toPlayer, true);

                    UnturnedChat.Say(toPlayer, Plugin.CustomKitsPlugin.Instance.Translate("inventory_cleared"));
                    UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("inventory_cleared_other", toPlayer.CharacterName));
                }
                else
                {
                    UnturnedChat.Say(caller, "You do not have permissions to execute this command.", Color.red);
                }
            }
        }
        public void DropMagsWithLimit(ushort ammoAmountToSpawn, IRocketPlayer caller, SDG.Unturned.ItemGunAsset currentWeapon, UnturnedPlayer Uplayer, string[] command)
        {
            if (ammoAmountToSpawn <= (ushort)EasyAmmo.Instance.Configuration.Instance.ClipLimit || caller.HasPermission("easyammo.bypasslimit"))
            {
                UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("dropping_mags", ammoAmountToSpawn.ToString(), UnturnedItems.GetItemAssetById(GetMagId(Uplayer, currentWeapon, command)).Name, GetMagId(Uplayer, currentWeapon, command).ToString()));

                for (int ii = 0; ii < (int)ammoAmountToSpawn; ii++)
                {
                    ItemManager.dropItem(new Item(GetMagId(Uplayer, currentWeapon, command), true), Uplayer.Position, true, true, true);
                }
            }
            else
            {
                UnturnedItems.GetItemAssetById(1);
                ushort amountoverlimit = ammoAmountToSpawn;
                ammoAmountToSpawn = (ushort)EasyAmmo.Instance.Configuration.Instance.ClipLimit;

                UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("over_clip_spawn_limit_dropping", amountoverlimit.ToString(), EasyAmmo.Instance.Configuration.Instance.ClipLimit, UnturnedItems.GetItemAssetById(GetMagId(Uplayer, currentWeapon, command)).Name, GetMagId(Uplayer, currentWeapon, command).ToString()));

                for (int ii = 0; ii < (int)ammoAmountToSpawn; ii++)
                {
                    ItemManager.dropItem(new Item(GetMagId(Uplayer, currentWeapon, command), true), Uplayer.Position, true, true, true);
                }

            }
        }
 public void Execute(IRocketPlayer caller, params string[] command)
 {
     if (command.Length == 1)
     {
         if (caller.HasPermission("balance.check"))
         {
             var target = UnturnedPlayer.FromName(command[0]);
             if (target != null)
             {
                 var balance = Uconomy.Instance.Database.GetBalance(target.Id);
                 ChatManager.serverSendMessage(BankingSystem.Instance.Translate("chat_title", Uconomy.Instance.Translate("command_balance_show_otherPlayer_colored",
                                                                                                                         Uconomy.Instance.Configuration.Instance.MoneySymbol, balance,
                                                                                                                         Uconomy.Instance.Configuration.Instance.MoneyName)), Color.white, null, ((UnturnedPlayer)caller).SteamPlayer(), EChatMode.SAY, BankingSystem.Instance.Configuration.Instance.iconUrl, true);
             }
             else
             {
                 ChatManager.serverSendMessage(BankingSystem.Instance.Translate("chat_title", Uconomy.Instance.Translate("command_balance_error_player_not_found_colored")), Color.white, null, ((UnturnedPlayer)caller).SteamPlayer(), EChatMode.SAY, BankingSystem.Instance.Configuration.Instance.iconUrl, true);
             }
         }
         else
         {
             ChatManager.serverSendMessage(BankingSystem.Instance.Translate("chat_title", Uconomy.Instance.Translate("command_balance_check_noPermissions_colored")), Color.white, null, ((UnturnedPlayer)caller).SteamPlayer(), EChatMode.SAY, BankingSystem.Instance.Configuration.Instance.iconUrl, true);
         }
     }
     else
     {
         var balance = Uconomy.Instance.Database.GetBalance(caller.Id);
         ChatManager.serverSendMessage(BankingSystem.Instance.Translate("chat_title", Uconomy.Instance.Translate("command_balance_show_colored",
                                                                                                                 Uconomy.Instance.Configuration.Instance.MoneySymbol, balance,
                                                                                                                 Uconomy.Instance.Configuration.Instance.MoneyName)), Color.white, null, ((UnturnedPlayer)caller).SteamPlayer(), EChatMode.SAY, BankingSystem.Instance.Configuration.Instance.iconUrl, true);
     }
 }
示例#15
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            // Get playername, if one was set in the command. Don't allow the command to be ran on self from the console.
            UnturnedPlayer target         = command.GetUnturnedPlayerParameter(0);
            UnturnedPlayer untrunedCaller = null;

            if (!(caller is ConsolePlayer))
            {
                untrunedCaller = (UnturnedPlayer)caller;
            }
            if ((caller is ConsolePlayer && command.Length < 1) || command.Length > 1 || (target == null && command.Length == 1 && (caller.HasPermission("locate.other") || untrunedCaller.IsAdmin || caller is ConsolePlayer)))
            {
                UnturnedChat.Say(caller, TeleportUtil.Instance.Translate("can't_locate_player"));
                return;
            }
            if (command.Length == 1)
            {
                // Only allow the player to locate another player if they have the right permission.
                if (caller.HasPermission("locate.other") || untrunedCaller.IsAdmin || caller is ConsolePlayer)
                {
                    UnturnedChat.Say(caller, TeleportUtil.Instance.Translate("location_on_map_other", target.CharacterName.Truncate(14), target.Position.xyz_Location()));
                }
                else
                {
                    UnturnedChat.Say(caller, TeleportUtil.Instance.Translate("locate_other_not_allowed"));
                    return;
                }
            }
            else
            {
                UnturnedPlayer unturnedCaller = (UnturnedPlayer)caller;
                UnturnedChat.Say(caller, TeleportUtil.Instance.Translate("location_on_map", unturnedCaller.Position.xyz_Location()));
            }
        }
示例#16
0
 private void OnCommandExecuted(IRocketPlayer player, IRocketCommand command, ref bool cancel)
 {
     if (Configuration.Instance.AntiVehicleSpam)
     {
         if (player.IsAdmin || player.HasPermission("ck.admin") || player is ConsolePlayer)
         {
             // player  is  admin
         }
         else
         {
             if (Configuration.Instance.VehicleCommand != null)
             {
                 if (command.Name.Trim().ToLower() == Configuration.Instance.VehicleCommand)
                 {
                     StartCoroutine(VehicleManager.LimitVehicles((UnturnedPlayer)player));
                     cancel = false;
                 }
             }
             else
             {
                 if (command.Name.Trim().ToLower() == "v" || command.Name.Trim().ToLower() == "vehicle")
                 {
                     StartCoroutine(VehicleManager.LimitVehicles((UnturnedPlayer)player));
                     cancel = false;
                 }
             }
         }
     }
 }
示例#17
0
        public static bool CheckIfBlacklisted(IRocketPlayer caller, SDG.Unturned.ItemGunAsset currentWeapon)
        {
            bool cantSpawnMag = false;

            if (!caller.HasPermission("easyammo.bypassblacklist"))
            {
                foreach (ushort id in EasyAmmo.Instance.Configuration.Instance.BannedIds)
                {
                    if (currentWeapon.id == id)
                    {
                        UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("weapon_blacklisted", currentWeapon.name));
                        cantSpawnMag = true;
                    }
                }
            }

            if (cantSpawnMag)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#18
0
        public async Task RemoveColor(IRocketPlayer caller, string[] command)
        {
            if (command.Length == 1 && caller.HasPermission("supercolorchat.removecolor.other"))
            {
                var target = UnturnedPlayer.FromName(command[0]);

                if (await Main.MySqlUtils.CheckExists(target.Id) && Main.UserList.ContainsKey(target.Id))
                {
                    await Main.MySqlUtils.RemoveColor(target.Id);

                    Main.UserList.Remove(target.Id);

                    Main.Instance.Tell(caller, Main.Instance.Translate("player_color_reset", target.CharacterName));
                    Main.Instance.Tell(target, Main.Instance.Translate("color_reset_by_staff"));
                }
                else
                {
                    Main.Instance.Tell(caller, Main.Instance.Translate("player_color_not_found", target.CharacterName));
                }
            }
            else
            {
                if (await Main.MySqlUtils.CheckExists(caller.Id) && Main.UserList.ContainsKey(caller.Id))
                {
                    await Main.MySqlUtils.RemoveColor(caller.Id);

                    Main.UserList.Remove(caller.Id);
                    Main.Instance.Tell(caller, Main.Instance.Translate("color_reset"));
                }
                else
                {
                    Main.Instance.Tell(caller, Main.Instance.Translate("your_color_not_found"));
                }
            }
        }
示例#19
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            var player = (UnturnedPlayer)caller;

            if (command.Length < 1)
            {
                UnturnedChat.Say(caller, pluginInstance.Translate("KitFormat"), pluginInstance.MessageColor);
                return;
            }

            Kit kit = pluginInstance.KitsCache.FirstOrDefault(x => x.Name.Equals(command[0], StringComparison.OrdinalIgnoreCase));

            if (kit == null)
            {
                UnturnedChat.Say(caller, pluginInstance.Translate("KitNotFound"), pluginInstance.MessageColor);
                return;
            }

            if (!caller.HasPermission("kit." + kit.Name))
            {
                UnturnedChat.Say(caller, pluginInstance.Translate("KitNoPermission"), pluginInstance.MessageColor);
                return;
            }

            KitCooldown cooldown = pluginInstance.Cooldowns.FirstOrDefault(x => x.Player.CSteamID.Equals(player.CSteamID) && x.Kit.Name.Equals(kit.Name));

            if (cooldown != null && cooldown.Timer.Enabled)
            {
                UnturnedChat.Say(caller, pluginInstance.Translate("KitCooldown", (kit.Cooldown - (DateTime.Now - cooldown.TimeStarted).TotalSeconds).ToString("0")),
                                 pluginInstance.MessageColor);
                return;
            }

            foreach (var item in kit.Items)
            {
                Item itemObj = new Item(item.ItemId, true);
                itemObj.metadata = item.State;
                player.Player.inventory.forceAddItem(itemObj, true);
            }

            if (kit.Experience > 0)
            {
                player.Experience += kit.Experience;
            }

            if (kit.Vehicle != 0)
            {
                player.GiveVehicle(kit.Vehicle);
            }

            if (cooldown == null)
            {
                cooldown = new KitCooldown(player, kit);
                pluginInstance.Cooldowns.Add(cooldown);
            }

            cooldown.Start();
            UnturnedChat.Say(caller, pluginInstance.Translate("KitSuccess", kit.Name), pluginInstance.MessageColor);
        }
示例#20
0
 public void Execute(IRocketPlayer caller, string[] command)
 {
     if (caller.IsAdmin || caller.HasPermission("location"))
     {
         UnturnedPlayer unturnedPlayer = UnturnedPlayer.FromName(caller.DisplayName);
         UnturnedChat.Say(caller, string.Concat(new object[] { "Position x:", unturnedPlayer.Position.x, " y:", unturnedPlayer.Position.y, " z:", unturnedPlayer.Position.z }), Color.yellow);
     }
 }
示例#21
0
 bool checkIfBlacklisted(IRocketPlayer caller, ItemAsset item)
 {
     if (caller.HasPermission("clonei.bypassblacklist"))
     {
         return(false);
     }
     return(EasyAmmo.Instance.Configuration.Instance.BannedIds.Contains(item.id));
 }
示例#22
0
 public bool IsOwner(IRocketPlayer player)
 {
     if (player is ConsolePlayer)
     {
         return(true);
     }
     return(player.HasPermission("regions.overrideowner") || IsOwner(PlayerUtil.GetId(player)));
 }
示例#23
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer callr   = (UnturnedPlayer)caller;
            string         kitName = Plugin.CustomKitsPlugin.Instance.Configuration.Instance.DefaultKitName;

            if (!KitManager.HasSavedKits(callr, KitManager.Kits))
            {
                UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("no_saved_kits"), Color.red);
                return;
            }

            if (Plugin.CustomKitsPlugin.Instance.Configuration.Instance.DefaultKitName == "preset_name")
            {
                foreach (Plugin.CustomKitsConfig.Preset Preset in Plugin.CustomKitsPlugin.Instance.Configuration.Instance.Presets)
                {
                    if (caller.HasPermission(Plugin.CustomKitsPlugin.PERMISSION + Preset.Name))
                    {
                        kitName = Preset.Name;
                    }
                }
            }

            if (command.Length == 1)
            {
                kitName = command[0];
            }

            if (kitName == "*")
            {
                if (KitManager.HasSavedKits(callr, KitManager.Kits))
                {
                    UnturnedChat.Say(callr, Plugin.CustomKitsPlugin.Instance.Translate("are_you_sure"), Color.yellow);

                    if (!Yes.Contains(callr.CSteamID))
                    {
                        Yes.Add(callr.CSteamID);
                        return;
                    }
                }
                else
                {
                    UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("no_saved_kits"), Color.red);
                    return;
                }
            }

            if (KitManager.HasKit(callr, kitName, KitManager.Kits))
            {
                KitManager.DeleteKit(callr, kitName, KitManager.Kits);
            }
            else
            {
                UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("no_kit_exists"), Color.red);
                return;
            }

            UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("kit_deleted", kitName), Color.green);
        }
示例#24
0
 public static bool HasPermission(IRocketPlayer player, string permission)
 {
     var unturnedPlayer = player as UnturnedPlayer;
     if (unturnedPlayer != null && unturnedPlayer.IsAdmin)
     {
         return true;
     }
     return player.HasPermission("regions." + permission);
 }
示例#25
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            ushort AmountToSpawn = (ushort)0;

            SDG.Unturned.ItemAsset currentEquiped;
            UnturnedPlayer         Uplayer = (UnturnedPlayer)caller;

            currentEquiped = Uplayer.Player.equipment.asset;
            if (currentEquiped == null)
            {
                UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("nothing_equipped"));
                return;
            }

            if (checkIfBlacklisted(caller, currentEquiped))
            {
                UnturnedChat.Say(EasyAmmo.Instance.Translate("Clonei_item_blacklisted", currentEquiped.name));
                return;
            }

            var state = Uplayer.Player.equipment.state;

            /* for (int count = 0; count <= state.Length - 1; count++)
             * {
             *   Logger.Log("State " + count.ToString() + " : " + state[count].ToString());
             *   //state[count] = 17;
             * }  */
            /*
             * state[0] is a sight
             * state[8] is a magazine
             * state[10] is ammo count
             */

            SDG.Unturned.Item newItem = new SDG.Unturned.Item(currentEquiped.id, 100, 100, state);

            if (AmountToSpawn == 0)
            {
                AmountToSpawn = 1;
            }

            if (caller.HasPermission("clonei.amount"))
            {
                for (int ii = 0; ii < AmountToSpawn; ii++)
                {
                    Uplayer.GiveItem(newItem);
                }
            }
            else
            {
                Uplayer.GiveItem(newItem);
            }

            UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("cloned_item",
                                                                 UnturnedItems.GetItemAssetById(currentEquiped.id).itemName, AmountToSpawn.ToString()));
            return;
        }
示例#26
0
        public static bool HasPermission(IRocketPlayer player, string permission)
        {
            var unturnedPlayer = player as UnturnedPlayer;

            if (unturnedPlayer != null && unturnedPlayer.IsAdmin)
            {
                return(true);
            }
            return(player.HasPermission("regions." + permission));
        }
示例#27
0
        public static bool IsPermitted(IRocketPlayer player, string skillsetName)
        {
            SkillSet skillSet = Utils.SkillsUtils.FindSkillSetByName(skillsetName);

            if (skillSet == null)
            {
                return(false);
            }
            return(player.HasPermission(skillSet.getPermissionName()));
        }
        public void Execute(IRocketPlayer player, string[] parameters)
        {
            if (parameters.Length == 0 || parameters.Length > 2)
            {
                UnturnedChat.Say(player, ReputationManager.Instance.Translate("help_reputation"));
                return;
            }

            if (parameters.Length == 1)
            {
                if (player is ConsolePlayer)
                {
                    UnturnedChat.Say(player, ReputationManager.Instance.Translate("console_cannot_call"), UnityEngine.Color.red);
                    return;
                }

                int reputation;
                if (!int.TryParse(parameters[0], out reputation))
                {
                    UnturnedChat.Say(player, ReputationManager.Instance.Translate("invalid_reputation"), UnityEngine.Color.red);
                    return;
                }

                ReputationManager.SetReputation((UnturnedPlayer)player, reputation);

                UnturnedChat.Say(player, ReputationManager.Instance.Translate("reputation_set_success", reputation));
            }
            else
            {
                if (!player.HasPermission("reputation.other"))
                {
                    UnturnedChat.Say(player, ReputationManager.Instance.Translate("no_permission"), UnityEngine.Color.red);
                    return;
                }

                UnturnedPlayer target = UnturnedPlayer.FromName(parameters[0]);
                if (target == null)
                {
                    UnturnedChat.Say(player, ReputationManager.Instance.Translate("player_not_found"), UnityEngine.Color.red);
                    return;
                }

                int reputation;
                if (!int.TryParse(parameters[1], out reputation))
                {
                    UnturnedChat.Say(player, ReputationManager.Instance.Translate("invalid_reputation"), UnityEngine.Color.red);
                    return;
                }

                ReputationManager.SetReputation(target, reputation);

                UnturnedChat.Say(player, ReputationManager.Instance.Translate("reputation_set_other_success", target.DisplayName, reputation));
            }
        }
示例#29
0
        public void Execute(IRocketPlayer caller, string[] args)
        {
            var PlayerCaller = (UnturnedPlayer)caller;

            InteractableDoorHinge component = raycastdoor.Getdoor(PlayerCaller);

            if (component != null)
            {
                bool             isregistered = false;
                InteractableDoor door         = component.door;
                bool             flag         = !door.isOpen;
                byte             x;
                byte             y;
                ushort           plant;
                ushort           index;
                BarricadeRegion  barricadeRegion;
                BarricadeManager.tryGetInfo(door.transform, out x, out y, out plant, out index, out barricadeRegion);
                BarricadeDrop barricadedrop = barricadeRegion.drops[index];
                var           ID            = barricadedrop.instanceID;
                foreach (Registereddoortype doorinfo in miscstuff.Instance.Configuration.Instance.listofregistereddoors)
                {
                    if (doorinfo.ID == ID)
                    {
                        isregistered = true;
                        if (caller.HasPermission(doorinfo.permission))

                        {
                            //OPEN THE DOOOOOOOR
                            Rocket.Core.Logging.Logger.Log("Player has perm: " + doorinfo.permission);
                            SteamCaller steamCaller = (BarricadeManager)typeof(BarricadeManager).GetField("manager", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null);
                            door.updateToggle(flag);
                            steamCaller.channel.send("tellToggleDoor", ESteamCall.ALL, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[]
                            {
                                x,
                                y,
                                plant,
                                index,
                                flag
                            });
                            Rocket.Core.Logging.Logger.Log("Player toggled door " + doorinfo.ID);
                            UnturnedChat.Say(caller, doorinfo.name + " door toggled", Color.yellow);
                        }
                        else
                        {
                            UnturnedChat.Say(caller, "You do not have the right permissions to open this door", Color.red);
                        }
                    }
                }
                if (isregistered == false)
                {
                    UnturnedChat.Say(caller, "Door is not registered!", Color.red);
                }
            }
        }
示例#30
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer   player           = (UnturnedPlayer)caller;
            PVirtStorage     pComponent       = player.GetComponent <PVirtStorage>();
            string           DefaultContainer = VirtualStorage.Database.GetDefaultContainer(player.CSteamID);
            ContainerManager cData            = null;

            if (string.IsNullOrEmpty(DefaultContainer))
            {
                UnturnedChat.Say(caller, VirtualStorage.Instance.Translate("no_default_set"), Color.red);
                return;
            }

            object[] cInfo = VirtualStorage.Database.GetContainerData(player.CSteamID, DefaultContainer);
            if (cInfo == null)
            {
                UnturnedChat.Say(caller, VirtualStorage.Instance.Translate("open_data_not_found"), Color.red);
                return;
            }
            if (VirtualStorage.Containers.ContainsKey(player.CSteamID) && VirtualStorage.Containers[player.CSteamID].ContainerName == DefaultContainer)
            {
                cData = VirtualStorage.Containers[player.CSteamID];
            }
            else
            {
                if (VirtualStorage.Containers.ContainsKey(player.CSteamID))
                {
                    VirtualStorage.Containers[player.CSteamID].Cleanup();
                }
                cData = new ContainerManager(player);
                if (!cData.SetContainer((ushort)cInfo[0], (byte[])cInfo[1], player, (string)cInfo[2], (byte)cInfo[3], (byte)cInfo[4]))
                {
                    UnturnedChat.Say(caller, VirtualStorage.Instance.Translate("open_invalid"), Color.red);
                    return;
                }
            }
            if (VirtualStorage.TryCharge(caller, VirtualStorage.Instance.Configuration.Instance.OpenChargeCost, "vs.overrideopencost"))
            {
                if (!VirtualStorage.Containers.ContainsKey(player.CSteamID))
                {
                    VirtualStorage.Containers.Add(player.CSteamID, cData);
                }
                if (!caller.HasPermission("vs.overrideopencost"))
                {
                    UnturnedChat.Say(caller, VirtualStorage.Instance.Translate("open_charged", Math.Round(VirtualStorage.Instance.Configuration.Instance.OpenChargeCost, 2), fr34kyn01535.Uconomy.Uconomy.Instance.Configuration.Instance.MoneyName), Color.cyan);
                }
                pComponent.cData = cData;
                cData.Open();
            }
            else
            {
                UnturnedChat.Say(caller, VirtualStorage.Instance.Translate("not_enough_credits", fr34kyn01535.Uconomy.Uconomy.Instance.Configuration.Instance.MoneyName), Color.red);
            }
        }
示例#31
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer callr   = (UnturnedPlayer)caller;
            string         kitName = null;

            if (command.Length == 0)
            {
                if (!AutoLoad.ContainsKey(callr.CSteamID))
                {
                    if (Plugin.CustomKitsPlugin.Instance.Configuration.Instance.DefaultKitName == "preset_name")
                    {
                        foreach (Plugin.CustomKitsConfig.Preset Preset in Plugin.CustomKitsPlugin.Instance.Configuration.Instance.Presets)
                        {
                            if (caller.HasPermission(Plugin.CustomKitsPlugin.PERMISSION + Preset.Name))
                            {
                                kitName = Preset.Name;
                            }
                        }
                    }
                    else
                    {
                        kitName = Plugin.CustomKitsPlugin.Instance.Configuration.Instance.DefaultKitName;
                    }
                }
                else
                {
                    AutoLoad.Remove(callr.CSteamID);
                    UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("autoload_off"), Color.green);
                    return;
                }
            }
            else
            {
                kitName = command[0];
            }

            if (!KitManager.HasKit(callr, kitName, KitManager.Kits))
            {
                UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("no_kit_exists"), Color.red);
                return;
            }

            if (!AutoLoad.ContainsKey(callr.CSteamID))
            {
                AutoLoad.Add(callr.CSteamID, kitName);
                UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("autoload_on", kitName), Color.green);
            }
            else
            {
                AutoLoad[callr.CSteamID] = kitName;
                UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("autoload_on", kitName), Color.green);
            }
        }
        internal static bool TryCharge(IRocketPlayer caller, decimal cost, string permission = "")
        {
            if (permission != string.Empty && caller.HasPermission(permission))
            {
                return(true);
            }
            decimal curBalance = fr34kyn01535.Uconomy.Uconomy.Instance.Database.GetBalance(caller.Id);

            if (curBalance > cost)
            {
                fr34kyn01535.Uconomy.Uconomy.Instance.Database.IncreaseBalance(caller.Id, -cost);
                return(true);
            }
            return(false);
        }
示例#33
0
        public static double GetCooldown(RocketCommandManager manager, IRocketPlayer player, IRocketCommand command, int reputation)
        {
            IList cooldown = (IList)CooldownField.GetValue(manager);

            object rocketCommandCooldown = null;

            foreach (object iteration in cooldown)
            {
                IRocketCommand rocketCommand = (IRocketCommand)CommandField.GetValue(iteration);
                if (rocketCommand != command)
                {
                    continue;
                }

                IRocketPlayer rocketPlayer = (IRocketPlayer)PlayerField.GetValue(iteration);
                if (rocketPlayer.Id != player.Id)
                {
                    continue;
                }

                rocketCommandCooldown = iteration;
                break;
            }

            if (rocketCommandCooldown == null)
            {
                return(-1.0);
            }

            DateTime   commandRequested   = (DateTime)CommandRequestedField.GetValue(rocketCommandCooldown);
            Permission applyingPermission = (Permission)PermissionField.GetValue(rocketCommandCooldown);

            double totalSeconds = (DateTime.Now - commandRequested).TotalSeconds;

            double trueCooldown = applyingPermission.Cooldown;

            if (!player.HasPermission("repcooldown.exempt"))
            {
                trueCooldown *= ReputationCooldowns.Instance.GetCooldownMultiplier(reputation);
            }

            if (trueCooldown <= totalSeconds)
            {
                cooldown.Remove(rocketCommandCooldown);
                return(-1.0);
            }
            return(Math.Ceiling(trueCooldown - totalSeconds));
        }
示例#34
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer player = (UnturnedPlayer)caller;

            List<string> availableKits = new List<string>();

            foreach(Kit kit in Kits.Instance.Configuration.Instance.Kits)
            {
                if(caller.HasPermission("kit." + kit.Name.ToLower()))
                {
                    availableKits.Add(kit.Name);
                }
            }

            UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kits", String.Join(", ",availableKits.ToArray())));
        }
示例#35
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer player = (UnturnedPlayer)caller;

            List <string> availableKits = new List <string>();

            foreach (Kit kit in Kits.Instance.Configuration.Instance.Kits)
            {
                if (caller.HasPermission("kit." + kit.Name.ToLower()))
                {
                    availableKits.Add(kit.Name);
                }
            }

            UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kits", String.Join(", ", availableKits.ToArray())));
        }
示例#36
0
 private void Events_OnPlayerConnected(IRocketPlayer ConnectedPlayer)
 {
     Logger.LogWarning(ConnectedPlayer.DisplayName + " connected with IP " + ((UnturnedPlayer)ConnectedPlayer).IP);
     if (Instance.MySQLON && Instance.Database.MySqlNotif() > 0)
     {
         if (ConnectedPlayer.HasPermission("RocketReport.notify") || ConnectedPlayer.IsAdmin)
         {
             UnturnedChat.Say(ConnectedPlayer, Instance.Translate("new_reports_to_see", Instance.Database.MySqlNotif()));
             Notif++;
             if (Notif == Instance.Configuration.Instance.Notifications)
             {
                 Instance.Database.MySqlNotified();
             }
         }
     }
 }
示例#37
0
 public void Execute(IRocketPlayer caller,params string[] command)
 {
     if (!LIGHT.Instance.Configuration.Instance.KitsEnabled) return;
     string[] permission = {};
     string[] Kits;
     Kits = LIGHT.Instance.Database.GetPlayerKitName(LIGHT.Instance.Database.CheckUserGroup(caller.Id));
     bool hasPerm = false;
     bool console = (caller is ConsolePlayer);
     if (!console)
     {
         if (caller.HasPermission("kits") || caller.HasPermission("kits.*") || caller.HasPermission("*"))
         {
             hasPerm = true;
         }
         if (!hasPerm && !(caller.IsAdmin))
         {
             UnturnedChat.Say(caller, LIGHT.Instance.Translate("lpx_no_perm"));
             return;
         }
     }
     if (command.Length == 0)
     {
         string ListKit = "";
         for (int x = 0; x < Kits.Length; x++)
         {
             if (x < (Kits.Length - 1))
                 ListKit += Kits[x] + ", ";
             else
                 ListKit += Kits[x] + ".";
         }
         UnturnedChat.Say(caller, LIGHT.Instance.Translate("kit_list", ListKit));
         return;
     }
     if (command.Length >= 1)
     {
         hasPerm = false;
         switch (command[0].ToLower())
         {
             case "all":
                 if (caller.HasPermission("kits.all") || caller.HasPermission("kits.*") || caller.HasPermission("*"))
                 {
                     hasPerm = true;
                 }
                 if (!hasPerm && !console && !(caller.IsAdmin))
                 {
                     UnturnedChat.Say(caller, LIGHT.Instance.Translate("lpx_no_perm"));
                     return;
                 }
                 else
                 {
                     Kits = LIGHT.Instance.Database.GetAllKitName();
                     string[] cooldown = new string[Kits.Length];
                     string ALL = "";
                     for(int x = 0; x < Kits.Length; x ++)
                     {
                         cooldown[x] = LIGHT.Instance.Database.GetKitCooldown(Kits[x]).ToString();
                         if(x < (Kits.Length-1))
                             ALL += Kits[x] + " Cooldown: " + cooldown[x] + ", ";
                         else
                             ALL += Kits[x] + " Cooldown: " + cooldown[x];
                     }
                     UnturnedChat.Say(caller, LIGHT.Instance.Translate("kit_list_all",ALL));
                 }
                 break;
             case "cooldown":
                 if (caller.HasPermission("kits.cd") || caller.HasPermission("kits.*") || caller.HasPermission("*"))
                 {
                     hasPerm = true;
                 }
                 if (!hasPerm && !console && !(caller.IsAdmin))
                 {
                     UnturnedChat.Say(caller, LIGHT.Instance.Translate("lpx_no_perm"));
                     return;
                 }
                 else
                 {
                     if(command.Length == 1)
                     {
                         UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_chngcd_help"));
                         return;
                     }
                     if(command.Length == 2)
                     {
                         UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_chngcd_help2"));
                         return;
                     }
                     if(command.Length > 2)
                     {
                         string KitName = "";
                         double NewCD = 60.00;
                         for(int x = 1; x < command.Length-1; x++)
                         {
                             KitName += command[x] + " ";
                         }
                         KitName = KitName.Trim();
                         if (double.TryParse(command[command.Length - 1], out NewCD))
                         {
                             if (LIGHT.Instance.Database.SetKitsCooldown(KitName, NewCD))
                             {
                                 UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_success_chngcd", KitName, NewCD));
                             }
                             else
                             {
                                 UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_failed_chngcd", KitName));
                                 return;
                             }
                         }
                         else
                         {
                             UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_error_cooldown", KitName));
                             return;
                         }
                     }
                 }
                 break;
             case "add":
                 if (caller.HasPermission("kits.add") || caller.HasPermission("kits.*") || caller.HasPermission("*"))
                 {
                     hasPerm = true;
                 }
                 if (!hasPerm && !console && !(caller.IsAdmin))
                 {
                     UnturnedChat.Say(caller, LIGHT.Instance.Translate("lpx_no_perm"));
                     return;
                 }
                 else
                 {
                     if (command.Length == 1)
                     {
                         UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_add_help"));
                         return;
                     }
                     if (command.Length >= 2)
                     {
                         string KitName = "";
                         string itemID = "";
                         double NewCD = 60.00;
                         for (int x = 1; x < command.Length; x++)
                         {
                             if(!command[x].Contains("/"))
                                 KitName += command[x] + " ";
                             else
                                 itemID += command[x] + " ";
                         }
                         KitName = KitName.Trim();
                         itemID = itemID.Trim();
                         if(LIGHT.Instance.Database.AddKit(KitName,itemID,NewCD))
                         {
                             UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_add_success",KitName));
                         }
                         else
                         {
                             UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_add_failed",KitName));
                             return;
                         }
                     }
                 }
                 break;
             case "remove":
                 if (caller.HasPermission("kits.remove") || caller.HasPermission("kits.*") || caller.HasPermission("*"))
                 {
                     hasPerm = true;
                 }
                 if (!hasPerm && !console && !(caller.IsAdmin))
                 {
                     UnturnedChat.Say(caller, LIGHT.Instance.Translate("lpx_no_perm"));
                     return;
                 }
                 else
                 {
                     if (command.Length == 1)
                     {
                         UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_remove_help"));
                         return;
                     }
                     if (command.Length >= 2)
                     {
                         string KitName = "";
                         for (int x = 1; x < command.Length; x++)
                         {
                             KitName += command[x] + " ";
                         }
                         KitName = KitName.Trim();
                         if(LIGHT.Instance.Database.CheckKit(KitName))
                         {
                             if(LIGHT.Instance.Database.RemoveKit(KitName))
                             {
                                 UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_remove_success", KitName));
                             }
                             else
                             {
                                 UnturnedChat.Say(caller, LIGHT.Instance.Translate("kits_remove_failed", KitName));
                                 return;
                             }
                         }
                         else
                         {
                             UnturnedChat.Say(caller, LIGHT.Instance.Translate("kit_notexist"));
                             return;
                         }
                     }
                 }
                 break;
             default:
                 break;
         }
     }
 }
示例#38
0
        public void Execute(IRocketPlayer caller, params string[] command)
        {
            if (command.Length == 3 && command[0] == "add" && caller.HasPermission("hitman.add"))
            {
                UnturnedPlayer otherPlayer = UnturnedPlayer.FromName(command[1]);

                if (otherPlayer == null)
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_general_not_found") != "hitman_general_not_found")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_general_not_found"));
                    }
                    return;
                }

                if (caller.Id == otherPlayer.Id)
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_add_self") != "hitman_add_self")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_add_self"));
                    }
                    return;
                }

                decimal bounty = 0;
                if (!Decimal.TryParse(command[2], out bounty) || bounty <= 0)
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_add_amount") != "hitman_add_amount")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_add_amount"));
                    }
                    return;
                }

                decimal myBalance = Uconomy.Instance.Database.GetBalance(caller.Id);
                if ((myBalance - bounty) < 0)
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_add_balance") != "hitman_add_balance")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_add_balance"));
                    }
                    return;
                }

                if (bounty < FeexHitman.Instance.Configuration.Instance.MinimumBounty)
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_add_minimum") != "hitman_add_minimum")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_add_minimum", FeexHitman.Instance.Configuration.Instance.MinimumBounty));
                    }
                    return;
                }

                if (FeexHitman.Instance.FeexHitmanDatabase.CheckExists(otherPlayer.CSteamID))
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_general_chat_increased") != "hitman_general_chat_increased")
                    {
                        UnturnedChat.Say(FeexHitman.Instance.Translations.Instance.Translate("hitman_general_chat_increased", otherPlayer.DisplayName, bounty, Convert.ToDecimal(FeexHitman.Instance.FeexHitmanDatabase.GetBounty(otherPlayer.CSteamID)) + bounty), UnityEngine.Color.yellow);
                    }
                }
                else
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_general_chat_created") != "hitman_general_chat_created")
                    {
                        UnturnedChat.Say(FeexHitman.Instance.Translations.Instance.Translate("hitman_general_chat_created", otherPlayer.DisplayName, bounty), UnityEngine.Color.yellow);
                    }
                }

                Uconomy.Instance.Database.IncreaseBalance(caller.Id.ToString(), -bounty);
                FeexHitman.Instance.FeexHitmanDatabase.AddUpdateVictimAccount(otherPlayer.CSteamID, bounty, otherPlayer.DisplayName);
            }
            else if (command.Length == 2 && command[0] == "payout" && caller.HasPermission("hitman.payout"))
            {
                UnturnedPlayer otherPlayer = UnturnedPlayer.FromName(command[1]);

                if (otherPlayer == null)
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_general_not_found") != "hitman_general_not_found")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_general_not_found"));
                    }
                    return;
                }

                if (FeexHitman.Instance.FeexHitmanDatabase.CheckExists(otherPlayer.CSteamID))
                {
                    decimal bounty = FeexHitman.Instance.FeexHitmanDatabase.GetBounty(otherPlayer.CSteamID);
                    Uconomy.Instance.Database.IncreaseBalance(caller.Id, bounty);
                    FeexHitman.Instance.FeexHitmanDatabase.RemoveVictimAccount(otherPlayer.CSteamID);
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_payout") != "hitman_payout")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_payout", otherPlayer.DisplayName, bounty));
                    }
                }
                else
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_check_false") != "hitman_check_false")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_check_false", otherPlayer.DisplayName));
                    }
                }
            }
            else if (command.Length == 2 && command[0] == "check" && caller.HasPermission("hitman.check"))
            {
                UnturnedPlayer otherPlayer = UnturnedPlayer.FromName(command[1]);

                if (otherPlayer == null)
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_general_not_found") != "hitman_general_not_found")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_general_not_found"));
                    }
                    return;
                }

                if (FeexHitman.Instance.FeexHitmanDatabase.CheckExists(otherPlayer.CSteamID))
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_check_true") != "hitman_check_true")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_check_true", otherPlayer.DisplayName, FeexHitman.Instance.FeexHitmanDatabase.GetBounty(otherPlayer.CSteamID)));
                    }
                }
                else
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_check_false") != "hitman_check_false")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_check_false", otherPlayer.DisplayName));
                    }
                }
            }
            else if (command.Length == 1 && command[0] == "list" && caller.HasPermission("hitman.list"))
            {
                if (FeexHitman.Instance.FeexHitmanDatabase.GetBountyCount() == 0)
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_list_false") != "hitman_list_false")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_list_false"));
                    }
                }
                else
                {
                    if (FeexHitman.Instance.Translations.Instance.Translate("hitman_list_true") != "hitman_list_true")
                    {
                        UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_list_true", FeexHitman.Instance.FeexHitmanDatabase.GetBountyCount(), FeexHitman.Instance.FeexHitmanDatabase.GetBountyList()));
                    }
                }
            }
            else
            {
                if (FeexHitman.Instance.Translations.Instance.Translate("hitman_general_invalid_parameter") != "hitman_general_invalid_parameter")
                {
                    UnturnedChat.Say(caller, FeexHitman.Instance.Translations.Instance.Translate("hitman_general_invalid_parameter"));
                }
            }
        }
示例#39
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length == 1 && !(caller is ConsolePlayer))
            {
                UnturnedPlayer UPcaller = (UnturnedPlayer)caller;
                if (!(caller.HasPermission("exp.self"))) { return; }
                uint commandExp;
                bool isNumeric = uint.TryParse(command[0], out commandExp);
                if (isNumeric)
                {
                    UPcaller.Experience = UPcaller.Experience + commandExp;
                    UnturnedChat.Say(caller, FeexExp.Instance.Translations.Instance.Translate("exp_self", commandExp));
                }
            }
            else if (command.Length == 2)
            {
                if (!caller.HasPermission("exp.give") && !caller.HasPermission("exp.transfer") && !(caller is ConsolePlayer)) { return; }

                uint commandExp;
                bool isNumeric = uint.TryParse(command[0], out commandExp);
                if (!isNumeric) { return; }

                UnturnedPlayer player = UnturnedPlayer.FromName(command[1]);
                if (player == null)
                {
                    if (caller is ConsolePlayer) { Logger.Log(FeexExp.Instance.Translations.Instance.Translate("general_not_found")); }
                    else { UnturnedChat.Say(caller, FeexExp.Instance.Translations.Instance.Translate("general_not_found")); }
                    return;
                }

                if (player.Id == caller.Id) { return; }

                if (caller.HasPermission("exp.give") || caller is ConsolePlayer)
                {
                    player.Experience = player.Experience + commandExp;

                    if (caller is ConsolePlayer) { UnturnedChat.Say(player, FeexExp.Instance.Translations.Instance.Translate("exp_give_player_console", commandExp)); }
                    else { UnturnedChat.Say(player, FeexExp.Instance.Translations.Instance.Translate("exp_give_player", commandExp, ((UnturnedPlayer)caller).CharacterName)); }

                    if (caller is ConsolePlayer) { Logger.Log(FeexExp.Instance.Translations.Instance.Translate("exp_give_caller", commandExp, player.CharacterName)); }
                    else { UnturnedChat.Say(caller, FeexExp.Instance.Translations.Instance.Translate("exp_give_caller", commandExp, player.CharacterName)); }
                }
                else if (caller.HasPermission("exp.transfer"))
                {
                    UnturnedPlayer UPcaller = (UnturnedPlayer)caller;
                    if ((Convert.ToDecimal(UPcaller.Experience) - Convert.ToDecimal(commandExp)) < 0)
                    {
                        UnturnedChat.Say(caller, FeexExp.Instance.Translations.Instance.Translate("exp_transfer_not_enough", commandExp));
                        return;
                    }

                    UPcaller.Experience = UPcaller.Experience - commandExp;
                    player.Experience = player.Experience + commandExp;

                    UnturnedChat.Say(player, FeexExp.Instance.Translations.Instance.Translate("exp_transfer_player", commandExp, ((UnturnedPlayer)caller).CharacterName));
                    UnturnedChat.Say(caller, FeexExp.Instance.Translations.Instance.Translate("exp_transfer_caller", commandExp, player.CharacterName));
                }
            }
            else
            {
                if (caller is ConsolePlayer) { Logger.Log(FeexExp.Instance.Translations.Instance.Translate("general_invalid_parameter")); }
                else { UnturnedChat.Say(caller, FeexExp.Instance.Translations.Instance.Translate("general_invalid_parameter")); }
            }
        }
示例#40
0
        public void Execute(IRocketPlayer caller, params string[] command)
        {
            bool console = (caller is ConsolePlayer);
            bool hasperm = false;
            string message;
            if (!console)
            {
                UnturnedPlayer player = (UnturnedPlayer)caller;
                if (player.HasPermission("shop.*") || player.HasPermission("shop.add") || player.HasPermission("shop.rem") || player.HasPermission("shop.chng") || player.HasPermission("shop.buy") || player.HasPermission("*"))
                    hasperm = true;
            }
            if (!hasperm && !console)
            {
                UnturnedChat.Say(caller, LIGHT.Instance.Translate("lpx_no_perm"));
                return;
            }
            if (command.Length == 0)
            {
                UnturnedChat.Say(caller, LIGHT.Instance.Translate("shop_command_usage"));
                return;
            }
            if (command.Length < 2)
            {
                UnturnedChat.Say(caller, LIGHT.Instance.Translate("no_itemid_given"));
                return;
            }
            if (command.Length == 2 && command[0] != "rem")
            {
                UnturnedChat.Say(caller, LIGHT.Instance.Translate("no_cost_given"));
                return;
            }
            else if (command.Length >= 2)
            {
                string[] type = Parser.getComponentsFromSerial(command[1], '.');
                ushort id;
                if (type.Length > 1 && type[0] != "v")
                {
                    UnturnedChat.Say(caller, LIGHT.Instance.Translate("v_not_provided"));
                    return;
                }

                if (type.Length > 1)
                {
                    if (!ushort.TryParse(type[1], out id))
                    {
                        UnturnedChat.Say(caller, LIGHT.Instance.Translate("invalid_id_given"));
                        return;
                    }
                }
                else
                {
                    if (!ushort.TryParse(type[0], out id))
                    {
                        UnturnedChat.Say(caller, LIGHT.Instance.Translate("invalid_id_given"));
                        return;
                    }
                }
                bool success = false;
                bool change = false;
                bool pass = false;
                switch (command[0])
                {
                    case "chng":
                        if (caller.HasPermission("shop.*") || caller.HasPermission("shop.chng") || caller.HasPermission("*"))
                        {
                            change = true;
                            pass = true;
                            goto case "add";
                        }
                        else
                        {
                            UnturnedChat.Say(caller, LIGHT.Instance.Translate("lpx_no_perm"));
                            return;
                        }
                    case "add":
                        if (!pass)
                        {
                            if (!caller.HasPermission("shop.*") && !caller.HasPermission("shop.add") && !caller.HasPermission("*"))
                            {
                                UnturnedChat.Say(caller, LIGHT.Instance.Translate("no_permission_shop_add"));
                                return;
                            }
                        }
                        string ac = (pass) ? LIGHT.Instance.Translate("changed") : LIGHT.Instance.Translate("added");
                        switch (type[0])
                        {
                            case "v":
                                try
                                {
                                    VehicleAsset va = (VehicleAsset)Assets.find(EAssetType.VEHICLE, id);
                                    message = LIGHT.Instance.Translate("changed_or_added_to_shop", new object[] { ac, va.Name, command[2] });
                                    success = LIGHT.Instance.ShopDB.AddVehicle((int)id, va.Name, decimal.Parse(command[2]), change);
                                    if (!success)
                                    {
                                        message = LIGHT.Instance.Translate("error_adding_or_changing", new object[] { va.Name });
                                    }
                                    this.sendMessage(caller, message, console);
                                }
                                catch
                                {
                                    UnturnedChat.Say(caller, LIGHT.Instance.Translate("vehicle_invalid"));
                                    return;
                                }
                                break;
                            default:
                                try
                                {
                                    ItemAsset ia = (ItemAsset)Assets.find(EAssetType.ITEM, id);
                                    message = LIGHT.Instance.Translate("changed_or_added_to_shop", new object[] { ac,ia.Name,command[2]});
                                    success = LIGHT.Instance.ShopDB.AddItem((int)id, ia.Name, decimal.Parse(command[2]), change);
                                    if (!success)
                                    {
                                        message = LIGHT.Instance.Translate("error_adding_or_changing", new object[] { ia.Name });
                                    }
                                    this.sendMessage(caller, message, console);
                                }
                                catch
                                {
                                     UnturnedChat.Say(caller, LIGHT.Instance.Translate("item_invalid"));
                                     return;
                                }
                                break;
                        }
                        break;
                    case "rem":
                        if (!caller.HasPermission("shop.*") && !caller.HasPermission("shop.rem") && !caller.HasPermission("*"))
                        {
                            message = LIGHT.Instance.DefaultTranslations.Translate("no_permission_shop_rem", new object[] { });
                            this.sendMessage(caller, message, console);
                            return;
                        }
                        switch (type[0])
                        {
                            case "v":
                                try
                                {
                                    VehicleAsset va = (VehicleAsset)Assets.find(EAssetType.VEHICLE, id);
                                    message = LIGHT.Instance.Translate("removed_from_shop", new object[] { va.Name });
                                    success = LIGHT.Instance.ShopDB.DeleteVehicle((int)id);
                                    if (!success)
                                    {
                                        message = LIGHT.Instance.Translate("not_in_shop_to_remove", new object[] { va.Name });
                                    }
                                    this.sendMessage(caller, message, console);
                                }
                                catch
                                {
                                    UnturnedChat.Say(caller, LIGHT.Instance.Translate("vehicle_invalid"));
                                    return;
                                }
                                break;
                            default:
                                try
                                {
                                    ItemAsset ia = (ItemAsset)Assets.find(EAssetType.ITEM, id);
                                    message = LIGHT.Instance.Translate("removed_from_shop", new object[] { ia.Name });
                                    success = LIGHT.Instance.ShopDB.DeleteItem((int)id);
                                    if (!success)
                                    {
                                        message = LIGHT.Instance.Translate("not_in_shop_to_remove", new object[] { ia.Name });
                                    }
                                    this.sendMessage(caller, message, console);
                                }
                                catch
                                {
                                    UnturnedChat.Say(caller, LIGHT.Instance.Translate("item_invalid"));
                                    return;
                                }
                                break;
                        }
                        break;
                    case "buy":
                        if (!caller.HasPermission("shop.*") && !caller.HasPermission("shop.buy") && !caller.HasPermission("*"))
                        {
                            UnturnedChat.Say(caller, LIGHT.Instance.Translate("no_permission_shop_buy"));
                            return;
                        }
                        try
                        {
                            ItemAsset iab = (ItemAsset)Assets.find(EAssetType.ITEM, id);
                            decimal buyb;
                            decimal.TryParse(command[2], out buyb);
                            message = LIGHT.Instance.Translate("set_buyback_price", new object[] {iab.Name, buyb.ToString()});
                            success = LIGHT.Instance.ShopDB.SetBuyPrice((int)id, buyb);
                            if (!success)
                            {
                                message = LIGHT.Instance.Translate("not_in_shop_to_buyback", new object[] { iab.Name });
                            }
                            this.sendMessage(caller, message, console);
                        }
                        catch
                        {
                            UnturnedChat.Say(caller, LIGHT.Instance.Translate("item_invalid"));
                            return;
                        }
                        break;
                    default:
                        // We shouldn't get this, but if we do send an error.
                        UnturnedChat.Say(caller, LIGHT.Instance.Translate("not_in_shop_to_remove"));
                        return;
                }
            }
        }
示例#41
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if(command.Length == 1 && command[0].ToLower() == "reload" && caller.HasPermission("p.reload"))
            {
                R.Permissions.Reload();
                UnturnedChat.Say(caller, U.Translate("command_p_permissions_reload"));
                return;
            }




            if (command.Length == 0 && !(caller is ConsolePlayer))
            {
                UnturnedChat.Say(caller, U.Translate("command_p_groups_private", "Your", string.Join(", ", R.Permissions.GetGroups(caller, true).Select(g => g.DisplayName).ToArray())));
                UnturnedChat.Say(caller, U.Translate("command_p_permissions_private", "Your", string.Join(", ", Core.R.Permissions.GetPermissions(caller).Select(p => p.Name + (p.Cooldown != 0 ? "(" + p.Cooldown + ")" : "")).ToArray())));
            }
            else if(command.Length == 1) {

                IRocketPlayer player = command.GetUnturnedPlayerParameter(0);
                if (player == null) player = command.GetRocketPlayerParameter(0);
                if (player != null) {
                UnturnedChat.Say(caller, U.Translate("command_p_groups_private", player.DisplayName+"s", string.Join(", ", R.Permissions.GetGroups(player, true).Select(g => g.DisplayName).ToArray())));
                UnturnedChat.Say(caller, U.Translate("command_p_permissions_private", player.DisplayName + "s", string.Join(", ", Core.R.Permissions.GetPermissions(player).Select(p => p.Name +(p.Cooldown != 0? "(" + p.Cooldown + ")" : "")).ToArray())));
                }
                else
                {
                    UnturnedChat.Say(caller, U.Translate("command_generic_invalid_parameter"));
                    return;
                }
            }
            else if (command.Length == 3)
            {
                string c = command.GetStringParameter(0).ToLower();

                IRocketPlayer player = command.GetUnturnedPlayerParameter(1);
                if (player == null) player = command.GetRocketPlayerParameter(1);

                string groupName = command.GetStringParameter(2);
                
                switch (c)
                {
                    case "add":
                        if (caller.HasPermission("p.add")&& player != null && groupName != null) {
                            switch (Core.R.Permissions.AddPlayerToGroup(groupName, player))
                            {
                                case RocketPermissionsProviderResult.Success:
                                    UnturnedChat.Say(caller, U.Translate("command_p_group_player_added", player.DisplayName, groupName));
                                    return;
                                case RocketPermissionsProviderResult.DuplicateEntry:
                                    UnturnedChat.Say(caller, U.Translate("command_p_duplicate_entry", player.DisplayName, groupName));
                                    return;
                                case RocketPermissionsProviderResult.GroupNotFound:
                                    UnturnedChat.Say(caller, U.Translate("command_p_group_not_found", player.DisplayName, groupName));
                                    return;
                                case RocketPermissionsProviderResult.PlayerNotFound:
                                    UnturnedChat.Say(caller, U.Translate("command_p_player_not_found", player.DisplayName, groupName));
                                    return;
                                default:
                                    UnturnedChat.Say(caller, U.Translate("command_p_unknown_error", player.DisplayName, groupName));
                                    return;
                            }
                        }
                        return;
                    case "remove":
                        if (caller.HasPermission("p.remove") && player != null && groupName != null) {
                            switch (Core.R.Permissions.RemovePlayerFromGroup(groupName, player))
                            {
                                case RocketPermissionsProviderResult.Success:
                                    UnturnedChat.Say(caller, U.Translate("command_p_group_player_removed", player.DisplayName, groupName));
                                    return;
                                case RocketPermissionsProviderResult.DuplicateEntry:
                                    UnturnedChat.Say(caller, U.Translate("command_p_duplicate_entry", player.DisplayName, groupName));
                                    return;
                                case RocketPermissionsProviderResult.GroupNotFound:
                                    UnturnedChat.Say(caller, U.Translate("command_p_group_not_found", player.DisplayName, groupName));
                                    return;
                                case RocketPermissionsProviderResult.PlayerNotFound:
                                    UnturnedChat.Say(caller, U.Translate("command_p_player_not_found", player.DisplayName, groupName));
                                    return;
                                default:
                                    UnturnedChat.Say(caller, U.Translate("command_p_unknown_error", player.DisplayName, groupName));
                                    return;
                            }
                        }
                        return;
                    default:
                        UnturnedChat.Say(caller, U.Translate("command_generic_invalid_parameter"));
                        throw new WrongUsageOfCommandException(caller, this);
                }


            }
            else
            {
                UnturnedChat.Say(caller, U.Translate("command_generic_invalid_parameter"));
                throw new WrongUsageOfCommandException(caller, this);
            }

            
         }
 bool checkIfBlacklisted(IRocketPlayer caller, ItemAsset item)
 {
     if (caller.HasPermission("clonei.bypassblacklist")) return false;
     return EasyAmmo.Instance.Configuration.Instance.BannedIds.Contains(item.Id);
 }
示例#43
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length == 0)
            {
                UnturnedChat.Say(caller, "Rocket v" + Assembly.GetExecutingAssembly().GetName().Version + " for Unturned v" + Provider.APP_VERSION);
                UnturnedChat.Say(caller, "https://rocketmod.net - 2017");
                return;
            }

            if (command.Length == 1)
            {
                switch (command[0].ToLower()) {
                    case "plugins":
                        if (caller != null && !caller.HasPermission("rocket.plugins")) return;
                        List<IRocketPlugin> plugins = R.Plugins.GetPlugins();
                        UnturnedChat.Say(caller, U.Translate("command_rocket_plugins_loaded", String.Join(", ", plugins.Where(p => p.State == PluginState.Loaded).Select(p => p.GetType().Assembly.GetName().Name).ToArray())));
                        UnturnedChat.Say(caller, U.Translate("command_rocket_plugins_unloaded", String.Join(", ", plugins.Where(p => p.State == PluginState.Unloaded).Select(p => p.GetType().Assembly.GetName().Name).ToArray())));
                        UnturnedChat.Say(caller, U.Translate("command_rocket_plugins_failure", String.Join(", ", plugins.Where(p => p.State == PluginState.Failure).Select(p => p.GetType().Assembly.GetName().Name).ToArray())));
                        UnturnedChat.Say(caller, U.Translate("command_rocket_plugins_cancelled", String.Join(", ", plugins.Where(p => p.State == PluginState.Cancelled).Select(p => p.GetType().Assembly.GetName().Name).ToArray())));
                        break;
                    case "reload":
                        if (caller!=null && !caller.HasPermission("rocket.reload")) return;
                            UnturnedChat.Say(caller, U.Translate("command_rocket_reload"));
                            R.Reload();
                        break;
                }
            }

            if (command.Length == 2)
            {
                RocketPlugin p = (RocketPlugin)R.Plugins.GetPlugins().Where(pl => pl.Name.ToLower().Contains(command[1].ToLower())).FirstOrDefault();
                if (p != null)
                {
                    switch (command[0].ToLower())
                    {
                        case "reload":
                            if (caller != null && !caller.HasPermission("rocket.reloadplugin")) return;
                            if (p.State == PluginState.Loaded)
                            {
                                UnturnedChat.Say(caller, U.Translate("command_rocket_reload_plugin", p.GetType().Assembly.GetName().Name));
                                p.ReloadPlugin();
                            }
                            else
                            {
                                UnturnedChat.Say(caller, U.Translate("command_rocket_not_loaded", p.GetType().Assembly.GetName().Name));
                            }
                            break;
                        case "unload":
                            if (caller != null && !caller.HasPermission("rocket.unloadplugin")) return;
                            if (p.State == PluginState.Loaded)
                            {
                                UnturnedChat.Say(caller, U.Translate("command_rocket_unload_plugin", p.GetType().Assembly.GetName().Name));
                                p.UnloadPlugin();
                            }
                            else
                            {
                                UnturnedChat.Say(caller, U.Translate("command_rocket_not_loaded", p.GetType().Assembly.GetName().Name));
                            }
                            break;
                        case "load":
                            if (caller != null && !caller.HasPermission("rocket.loadplugin")) return;
                            if (p.State != PluginState.Loaded)
                            {
                                UnturnedChat.Say(caller, U.Translate("command_rocket_load_plugin", p.GetType().Assembly.GetName().Name));
                                p.LoadPlugin();
                            }
                            else
                            {
                                UnturnedChat.Say(caller, U.Translate("command_rocket_already_loaded", p.GetType().Assembly.GetName().Name));
                            }
                            break;
                    }
                }
                else
                {
                    UnturnedChat.Say(caller, U.Translate("command_rocket_plugin_not_found", command[1]));
                }
            }


        }
示例#44
0
        public void SpawnMagsWithLimit_Uconomy(ushort ammoAmountToSpawn, IRocketPlayer caller, SDG.Unturned.ItemGunAsset currentWeapon, UnturnedPlayer Uplayer, string[] command)
        {
            int costMultiplier = EasyAmmo.Instance.Configuration.Instance.PerBulletCostMultiplier;
            SDG.Unturned.ItemMagazineAsset magazine = (SDG.Unturned.ItemMagazineAsset)UnturnedItems.GetItemAssetById(GetMagId(Uplayer, currentWeapon, command));

            if (ammoAmountToSpawn <= (ushort)EasyAmmo.Instance.Configuration.Instance.ClipLimit || caller.HasPermission("easyammo.bypasslimit"))
            {
                if (Uconomy.Instance.Database.GetBalance(caller.Id) >= GetCost(false, ammoAmountToSpawn, currentWeapon, magazine))
                {
                    if (Uplayer.GiveItem(GetMagId(Uplayer, currentWeapon, command), (byte)ammoAmountToSpawn))
                    {
                        Uconomy.Instance.Database.IncreaseBalance(caller.Id, GetCost(true, ammoAmountToSpawn, currentWeapon, magazine));

                        UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("giving_mags", ammoAmountToSpawn.ToString(), UnturnedItems.GetItemAssetById(GetMagId(Uplayer, currentWeapon, command)).Name, GetMagId(Uplayer, currentWeapon, command).ToString()));
                        UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("balance", Uconomy.Instance.Database.GetBalance(caller.Id)));
                    }
                    else
                    {
                        UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("failed_to_spawn_mags"));
                    }
                }
                else
                {
                    UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("not_enough_funds",
                        Uconomy.Instance.Configuration.Instance.MoneyName,
                        ammoAmountToSpawn, magazine.itemName, GetCost(false, ammoAmountToSpawn, currentWeapon, magazine).ToString()));
                }
            }
            else
            {
                ushort amountoverlimit = ammoAmountToSpawn;
                ammoAmountToSpawn = (ushort)EasyAmmo.Instance.Configuration.Instance.ClipLimit;

                if (Uconomy.Instance.Database.GetBalance(caller.Id) >= GetCost(false, ammoAmountToSpawn, currentWeapon, magazine))
                {
                    if (Uplayer.GiveItem(GetMagId(Uplayer, currentWeapon, command), (byte)ammoAmountToSpawn))
                    {
                        Uconomy.Instance.Database.IncreaseBalance(caller.Id, GetCost(true, ammoAmountToSpawn, currentWeapon, magazine));

                        UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("over_clip_spawn_limit_giving", amountoverlimit.ToString(),
                            EasyAmmo.Instance.Configuration.Instance.ClipLimit, UnturnedItems.GetItemAssetById(GetMagId(Uplayer, currentWeapon, command)).Name,
                            GetMagId(Uplayer, currentWeapon, command).ToString()));
                        UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("balance", Uconomy.Instance.Database.GetBalance(caller.Id)));
                    }
                    else
                    {
                        UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("failed_to_spawn_mags"));
                    }
                }
                else
                {
                    UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("not_enough_funds",
                        Uconomy.Instance.Configuration.Instance.MoneyName,
                        ammoAmountToSpawn, magazine.itemName, GetCost(false, ammoAmountToSpawn, currentWeapon, magazine).ToString()));
                }
            }
        }
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (caller is ConsolePlayer)
            {
                if (command.Length == 0)
                {
                    Logger.Log("missing parameter");
                    return;
                }

                UnturnedPlayer player = UnturnedPlayer.FromName(command[0]);
                IRocketPlayer Rplayer = (IRocketPlayer)player;

                if (player == null )
                {
                    Logger.Log("failed to find player by the name: " + command[0]);
                    return;
                }

                if (player.Features.GodMode)
                {
                    player.Features.GodMode = false;
                    Logger.Log(player.DisplayName + " is no longer in godmode");
                    UnturnedChat.Say(Rplayer, "you are no longer in godmode", UnityEngine.Color.yellow);
                }
                else
                {
                    player.Features.GodMode = true;
                    Logger.Log(player.DisplayName + " is now in godmode");
                    UnturnedChat.Say(Rplayer, "you are now in godmode", UnityEngine.Color.yellow);
                }
            }
            else
            {
                UnturnedPlayer player = (UnturnedPlayer)caller;

                if (command.Length == 1 && caller.HasPermission("godmode.other"))
                {
                    UnturnedPlayer Uplayer = UnturnedPlayer.FromName(command[0]);
                    IRocketPlayer Rplayer = (IRocketPlayer)Uplayer;

                    if (Uplayer.Features.GodMode)
                    {
                        Uplayer.Features.GodMode = false;
                        UnturnedChat.Say(caller, "you have disabled godmode on: " + Uplayer.DisplayName, UnityEngine.Color.yellow);
                        UnturnedChat.Say(Rplayer, caller.DisplayName + " has taken you out of godmode", UnityEngine.Color.yellow);
                        Logger.Log(caller.DisplayName + " has taken " + Uplayer.DisplayName + " out of godmode");
                    }
                    else
                    {
                        Uplayer.Features.GodMode = true;
                        UnturnedChat.Say(caller, "you have enabled godmode on: " + Uplayer.DisplayName, UnityEngine.Color.yellow);
                        UnturnedChat.Say(Rplayer, caller.DisplayName + " has put you in godmode", UnityEngine.Color.yellow);
                        Logger.Log(caller.DisplayName + " has put " + Uplayer.DisplayName + " in godmode");
                    }
                    return;
                }

                if (player.Features.GodMode)
                {
                    player.Features.GodMode = false;
                    string globalMessage = player.DisplayName + " has disabled godmode";
                    Logger.Log(globalMessage);
                    UnturnedChat.Say(globalMessage, UnityEngine.Color.yellow);
                }
                else
                {
                    player.Features.GodMode = true;
                    string globalMessage = player.DisplayName + " has enabled godmode";
                    Logger.Log(globalMessage);
                    UnturnedChat.Say(globalMessage, UnityEngine.Color.yellow);
                }
            }
        }
        public void Execute(IRocketPlayer caller, string[] command)
        {
            ushort AmountToSpawn = (ushort)0;
            bool EnteredAmount = false;
            SDG.Unturned.ItemAsset currentEquiped;
            UnturnedPlayer Uplayer = (UnturnedPlayer)caller;

            if (command.Length == 1)
            {
                if (ushort.TryParse(command[0], out AmountToSpawn))
                {
                    EnteredAmount = true;
                }
            }

            currentEquiped = Uplayer.Player.equipment.asset;
            if (currentEquiped == null)
            {
                UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("nothing_equipped"));
                return;
            }

            if (checkIfBlacklisted(caller, currentEquiped))
            {
                UnturnedChat.Say(EasyAmmo.Instance.Translate("Clonei_item_blacklisted", currentEquiped.Name));
                return;
            }

            var state = Uplayer.Player.equipment.state;

               /* for (int count = 0; count <= state.Length - 1; count++)
            {
                Logger.Log("State " + count.ToString() + " : " + state[count].ToString());
                //state[count] = 17;
            }  */
            /*
            state[0] is a sight
            state[8] is a magazine
            state[10] is ammo count
             */

            SDG.Unturned.Item newItem = new SDG.Unturned.Item(currentEquiped.id, 100, 100, state);

            if (AmountToSpawn == 0)
            {
                AmountToSpawn = 1;
            }

            if (caller.HasPermission("clonei.amount"))
            {
                for (int ii = 0; ii < AmountToSpawn; ii++)
                {
                    Uplayer.GiveItem(newItem);
                }
            }
            else
            {
                Uplayer.GiveItem(newItem);
            }

            UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("cloned_item",
               UnturnedItems.GetItemAssetById(currentEquiped.id).itemName, AmountToSpawn.ToString()));
            return;
        }
示例#47
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer player = (UnturnedPlayer)caller;
            if (command.Length != 1)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_invalid_parameter"));
                return;
            }

            Kit kit = Kits.Instance.Configuration.Instance.Kits.Where(k => k.Name.ToLower() == command[0].ToLower()).FirstOrDefault();
            if (kit == null)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_not_found"));
                return;
            }

            bool hasPermissions = caller.HasPermission("kit." + kit.Name.ToLower());

            if (!hasPermissions)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_no_permissions"));
                return;
            }

            KeyValuePair<string, DateTime> globalCooldown = Kits.GlobalCooldown.Where(k => k.Key == caller.ToString()).FirstOrDefault();
            if (!globalCooldown.Equals(default(KeyValuePair<string, DateTime>)))
            {
                double globalCooldownSeconds = (DateTime.Now - globalCooldown.Value).TotalSeconds;
                if (globalCooldownSeconds < Kits.Instance.Configuration.Instance.GlobalCooldown)
                {
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_cooldown_command", (int)(Kits.Instance.Configuration.Instance.GlobalCooldown - globalCooldownSeconds)));
                    return;
                }
            }

            KeyValuePair<string, DateTime> individualCooldown = Kits.InvididualCooldown.Where(k => k.Key == (caller.ToString() + kit.Name)).FirstOrDefault();
            if (!individualCooldown.Equals(default(KeyValuePair<string, DateTime>)))
            {
                double individualCooldownSeconds = (DateTime.Now - individualCooldown.Value).TotalSeconds;
                if (individualCooldownSeconds < kit.Cooldown)
                {
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_cooldown_kit", (int)(kit.Cooldown - individualCooldownSeconds)));
                    return;
                }
            }

            foreach (KitItem item in kit.Items)
            {

                if (!player.GiveItem(item.ItemId, item.Amount))
                {
                    Logger.Log(Kits.Instance.Translations.Instance.Translate("command_kit_failed_giving_item", player.CharacterName, item.ItemId, item.Amount));
                }
            }
            UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_success", kit.Name));

            if (Kits.GlobalCooldown.ContainsKey(caller.ToString()))
            {
                Kits.GlobalCooldown[caller.ToString()] = DateTime.Now;
            }
            else
            {
                Kits.GlobalCooldown.Add(caller.ToString(), DateTime.Now);
            }

            if (Kits.GlobalCooldown.ContainsKey(caller.ToString()))
            {
                Kits.InvididualCooldown[caller.ToString() + kit.Name] = DateTime.Now;
            }
            else
            {
                Kits.InvididualCooldown.Add(caller.ToString() + kit.Name, DateTime.Now);
            }
        }
示例#48
0
 public void Execute(IRocketPlayer caller, params string[] command)
 {
     if (!LIGHT.Instance.Configuration.Instance.EnableShop || !LIGHT.Instance.Configuration.Instance.SaleEnable)
     {
         UnturnedChat.Say(caller, LIGHT.Instance.Translate("shop_disable"));
         return;
     }
     bool console = (caller == null) ? true : false;
     bool hasPerm = false;
     if (!console)
     {
         if (caller.HasPermission("sale.*") || caller.HasPermission("sale.start") || caller.HasPermission("sale.stop") || caller.HasPermission("sale") || caller.HasPermission("*"))
         {
             hasPerm = true;
         }
     }
     if (!hasPerm && !console)
     {
         UnturnedChat.Say(caller, LIGHT.Instance.Translate("lpx_no_perm"));
         return;
     }
     if (command.Length == 0)
     {
         LIGHT.Instance.sale.msgSale(caller);
     }
     if (command.Length == 1)
     {
         switch (command[0])
         {
             case "stop":
                 if (caller.HasPermission("sale.*") || caller.HasPermission("sale.stop") || caller.HasPermission("*"))
                 {
                     LIGHT.Instance.sale.resetSale();
                     if (!console)
                         UnturnedChat.Say(caller, "You have stop the sales.");
                     else
                         Logger.Log("Sale have stop");
                     UnturnedChat.Say(LIGHT.Instance.Translate("sale_end"));
                 }
                 else
                 {
                     UnturnedChat.Say(caller, LIGHT.Instance.Translate("lpx_no_perm"));
                     return;
                 }
                 break;
             case "start":
                 if (caller.HasPermission("sale.*") || caller.HasPermission("sale.start") || caller.HasPermission("*"))
                 {
                     if (!LIGHT.Instance.sale.salesStart)
                     {
                         LIGHT.Instance.sale.startSale();
                         if (!console)
                             UnturnedChat.Say(caller, "You have started the sale!");
                         else
                             Logger.Log("Sales have started");
                         UnturnedChat.Say(LIGHT.Instance.Translate("sale_started", LIGHT.Instance.Configuration.Instance.SaleTime));
                     }
                     else
                     {
                         if (!console)
                             UnturnedChat.Say(caller, "Sales is still ongoing!");
                         else
                             Logger.Log("Sales is still ongoing!");
                         return;
                     }
                 }
                 else
                 {
                     UnturnedChat.Say(caller, LIGHT.Instance.Translate("lpx_no_perm"));
                     return;
                 }
                 break;
             default: UnturnedChat.Say(caller, "/sale - To Check Sale time, /sale stop - To stop or reset sale");
                 break;
         }
     }
 }
示例#49
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (caller is ConsolePlayer)
            {
                if (command.Length == 0 || command.Length > 1)
                {
                    Logger.Log("missing parameter or invalid parameter");
                    return;
                }

                UnturnedPlayer Uplayer = UnturnedPlayer.FromName(command[0]);
                IRocketPlayer Rplayer = (IRocketPlayer)Uplayer;

                if (Uplayer == null)
                {
                    Logger.Log("Player not found");
                    return;
                }

                if (Uplayer.Features.VanishMode)
                {
                    Uplayer.Features.VanishMode = false;
                    Logger.Log("you have disabled vanish on: " + Uplayer.DisplayName);
                    UnturnedChat.Say(Rplayer, "you are no longer in vanish", UnityEngine.Color.yellow);
                }
                else
                {
                    Uplayer.Features.VanishMode = true;
                    Logger.Log("you have enabled vanish on: " + Uplayer.DisplayName);
                    UnturnedChat.Say(Rplayer, "you are now in vanish", UnityEngine.Color.yellow);
                    Uplayer.Teleport(Uplayer);
                }
            }
            else
            {
                UnturnedPlayer player = (UnturnedPlayer)caller;

                if (command.Length == 1 && caller.HasPermission("vm.other"))
                {
                    UnturnedPlayer Uplayer = UnturnedPlayer.FromName(command[0]);
                    IRocketPlayer Rplayer = (IRocketPlayer)Uplayer;

                    if (Uplayer == null)
                    {
                        UnturnedChat.Say(caller, "player not found", UnityEngine.Color.yellow);
                        return;
                    }

                    if (Uplayer.Features.VanishMode)
                    {
                        Uplayer.Features.VanishMode = false;
                        Logger.Log(caller.DisplayName + " has disabled vanish on: " + Uplayer.DisplayName);
                        UnturnedChat.Say(Rplayer, player.DisplayName + " has taken you out of vanish", UnityEngine.Color.yellow);
                        UnturnedChat.Say(caller, "you have disabled vanish on: " + Uplayer.DisplayName, UnityEngine.Color.yellow);
                    }
                    else
                    {
                        Uplayer.Features.VanishMode = true;
                        Logger.Log(caller.DisplayName + " has enabled vanish on: " + Uplayer.DisplayName);
                        UnturnedChat.Say(Rplayer, player.DisplayName + " has put you in vanish", UnityEngine.Color.yellow);
                        UnturnedChat.Say(caller, "you have enabled vanish on: " + Uplayer.DisplayName, UnityEngine.Color.yellow);
                        Uplayer.Teleport(Uplayer);
                    }
                }
                else
                {
                    if (player.Features.VanishMode)
                    {
                        player.Features.VanishMode = false;
                        UnturnedChat.Say(caller, "you have disabled vanish", UnityEngine.Color.yellow);
                        Logger.Log(player.DisplayName + " has disabled vanish");
                    }
                    else
                    {
                        player.Features.VanishMode = true;
                        UnturnedChat.Say(caller, "you have enabled vanish", UnityEngine.Color.yellow);
                        Logger.Log(player.DisplayName + " has enabled vanish");
                        player.Teleport(player);
                    }
                }
            }
        }
示例#50
0
        public void SpawnMagsWithLimit(ushort ammoAmountToSpawn, IRocketPlayer caller, SDG.Unturned.ItemGunAsset currentWeapon, UnturnedPlayer Uplayer, string[] command)
        {
            if (ammoAmountToSpawn <= (ushort)EasyAmmo.Instance.Configuration.Instance.ClipLimit || caller.HasPermission("easyammo.bypasslimit"))
            {
                if (Uplayer.GiveItem(GetMagId(Uplayer, currentWeapon, command), (byte)ammoAmountToSpawn))
                {
                    UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("giving_mags", ammoAmountToSpawn.ToString(), UnturnedItems.GetItemAssetById(GetMagId(Uplayer, currentWeapon, command)).Name, GetMagId(Uplayer, currentWeapon, command).ToString()));
                }
                else
                {
                    UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("failed_to_spawn_mags"));
                }
            }
            else
            {
                ushort amountoverlimit = ammoAmountToSpawn;
                ammoAmountToSpawn = (ushort)EasyAmmo.Instance.Configuration.Instance.ClipLimit;

                if (Uplayer.GiveItem(GetMagId(Uplayer, currentWeapon, command), (byte)ammoAmountToSpawn))
                {
                    UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("over_clip_spawn_limit_giving", amountoverlimit.ToString(), EasyAmmo.Instance.Configuration.Instance.ClipLimit, UnturnedItems.GetItemAssetById(GetMagId(Uplayer, currentWeapon, command)).Name, GetMagId(Uplayer, currentWeapon, command).ToString()));
                }
                else
                {
                     UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("failed_to_spawn_mags"));
                }
            }
        }
示例#51
0
 public void Execute(IRocketPlayer caller, string[] command)
 {
     if (command.Length == 0 || command.Length > 2)
     {
         UnturnedChat.Say(caller, Warps.Instance.Translate("warp_help"));
         return;
     }
     Warp warp = Warps.warpsData.GetWarp(command[0]);
     UnturnedPlayer unturnedTarget = command.GetUnturnedPlayerParameter(1);
     if (warp != null)
     {
         if (unturnedTarget != null && (caller.HasPermission("warp.other") || SteamAdminlist.checkAdmin(caller is ConsolePlayer ? CSteamID.Nil : (CSteamID)ulong.Parse(caller.Id))))
         {
             if (unturnedTarget.Stance == EPlayerStance.DRIVING || unturnedTarget.Stance == EPlayerStance.SITTING)
             {
                 UnturnedChat.Say(caller, Warps.Instance.Translate("warp_cant_warp_in_car"));
                 return;
             }
             if (Warps.CheckUconomy())
                 if (Warps.Instance.Configuration.Instance.WarpOtherChargeEnable && Warps.Instance.Configuration.Instance.WarpOtherCost > 0.00m)
                     if (!Warps.TryCharge(caller, Warps.Instance.Configuration.Instance.WarpOtherCost))
                         return;
             unturnedTarget.Teleport(warp.Location, warp.Rotation);
             UnturnedChat.Say(caller, Warps.Instance.Translate("admin_warp", unturnedTarget.CharacterName, warp.Name));
             Logger.Log(Warps.Instance.Translate("admin_warp_log", caller.DisplayName, caller.Id, unturnedTarget.CharacterName, warp.Name));
             UnturnedChat.Say(unturnedTarget, Warps.Instance.Translate("player_warp", warp.Name));
             return;
         }
         else if (unturnedTarget != null)
         {
             UnturnedChat.Say(caller, Warps.Instance.Translate("warp_other_not_allowed"));
             return;
         }
         if (unturnedTarget == null && command.Length == 2)
         {
             UnturnedChat.Say(caller, Warps.Instance.Translate("warp_cant_find_player"));
             return;
         }
         else if (caller is ConsolePlayer)
         {
             UnturnedChat.Say(caller, Warps.Instance.Translate("warp_console_no_player"));
             return;
         }
         else
         {
             UnturnedPlayer unturnedCaller = (UnturnedPlayer)caller;
             if (unturnedCaller.Stance == EPlayerStance.DRIVING || unturnedCaller.Stance == EPlayerStance.SITTING)
             {
                 UnturnedChat.Say(caller, Warps.Instance.Translate("warp_cant_warp_in_car"));
                 return;
             }
             if (Warps.Instance.Configuration.Instance.EnableWaitGroups)
             {
                 if (Warps.CheckUconomy())
                     if (Warps.Instance.Configuration.Instance.WarpCargeEnable && Warps.Instance.Configuration.Instance.WarpCost > 0.00m)
                         if (!Warps.TryCharge(caller, Warps.Instance.Configuration.Instance.WarpCost, true))
                             return;
                 WarpsPlayerComponent wpc = unturnedCaller.GetComponent<WarpsPlayerComponent>();
                 wpc.DoWarp(warp);
                 return;
             }
             else
             {
                 if (Warps.CheckUconomy())
                     if (Warps.Instance.Configuration.Instance.WarpCargeEnable && Warps.Instance.Configuration.Instance.WarpCost > 0.00m)
                         if (!Warps.TryCharge(caller, Warps.Instance.Configuration.Instance.WarpCost))
                             return;
                 unturnedCaller.Teleport(warp.Location, warp.Rotation);
                 UnturnedChat.Say(caller, Warps.Instance.Translate("player_warp", warp.Name));
                 return;
             }
         }
     }
     else
     {
         UnturnedChat.Say(caller, Warps.Instance.Translate("warp_cant_find_warp", command[0]));
         return;
     }
 }
示例#52
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            ushort ammoAmountToSpawn = (ushort)0;
            bool EnteredAmount = false;
            SDG.Unturned.ItemGunAsset currentWeapon;
            SDG.Unturned.ItemAsset currentEquiped;
            UnturnedPlayer Uplayer = (UnturnedPlayer)caller;

               if (command.Length >= 1)
            {
                if (ushort.TryParse(command[0], out ammoAmountToSpawn))
                {
                    EnteredAmount = true;
                }
            }

            currentEquiped = Uplayer.Player.equipment.asset;
            if (currentEquiped == null)
            {
                UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("nothing_equipped"));
                return;
            }
            if (currentEquiped.ItemType != SDG.Unturned.EItemType.GUN )
            {
                UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("no_gun_equipped"));
                return;
            }

            //UnturnedChat.Say(caller, " your current equipped item is \" id: " + currentEquiped + " / " + "name: " + currentEquiped.name);
            //UnturnedChat.Say(caller, "item type: " + item.GetType().ToString());

            currentWeapon = (SDG.Unturned.ItemGunAsset)currentEquiped;
            if (currentWeapon == null)
            {
                UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("gun_asset_not_found"));
                return;
            }

            if (EasyAmmo.CheckIfBlacklisted(caller, currentWeapon))
            {
                return;
            }

            if (EnteredAmount && caller.HasPermission("ammo.amount"))
            {
                if (EasyAmmo.Instance.Configuration.Instance.ClipLimitEnabled)
                {
                    if (EasyAmmo.Instance.Configuration.Instance.UconomySupportEnabled)
                    {
                        SpawnMagsWithLimit_Uconomy(ammoAmountToSpawn, caller, currentWeapon, Uplayer, command);
                    }
                    else
                    {
                        SpawnMagsWithLimit(ammoAmountToSpawn, caller, currentWeapon, Uplayer, command);

                    }
                }
                else
                {
                    if (EasyAmmo.Instance.Configuration.Instance.UconomySupportEnabled)
                    {
                        SpawnMagsWithLimit_Uconomy(ammoAmountToSpawn, caller, currentWeapon, Uplayer, command);
                    }
                    else
                    {
                        SpawnMags(ammoAmountToSpawn, caller, currentWeapon, Uplayer, command);
                    }
                }
            }
            else
            {
                if (EasyAmmo.Instance.Configuration.Instance.UconomySupportEnabled)
                {
                    SpawnMagsWithLimit_Uconomy((ushort)1, caller, currentWeapon, Uplayer, command);
                }
                else
                {
                    SpawnMags((ushort)1, caller, currentWeapon, Uplayer, command);
                }
            }
        }
示例#53
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length == 2 && command[0] == "set" && caller.HasPermission("afk.set"))
            {
                UnturnedPlayer player = UnturnedPlayer.FromName(command[1]);
                if (player == null)
                {
                    UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("general_not_found"));
                }
                else
                {
                    if (player.GetComponent<FeexAFKPlayerComponent>().isAFK)
                    {
                        UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("afk_set_caller_error_afk", player.CharacterName)); return;
                    }
                    if (caller.Id == player.Id)
                    {
                        UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("afk_set_caller_error_self", player.CharacterName)); return;
                    }
                    if (FeexAFK.Instance.Configuration.Instance.IgnoreAdmins && player.IsAdmin)
                    {
                        UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("afk_set_caller_error_admin", player.CharacterName)); return;
                    }

                    player.GetComponent<FeexAFKPlayerComponent>().lastActivity = DateTime.Now.AddSeconds(-FeexAFK.Instance.Configuration.Instance.Seconds);

                    UnturnedChat.Say(player, FeexAFK.Instance.Translations.Instance.Translate("afk_set_player", ((UnturnedPlayer)caller).CharacterName));
                    UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("afk_set_caller", player.CharacterName));
                }
            }
            else if (command.Length == 2 && command[0] == "check" && caller.HasPermission("afk.check"))
            {
                UnturnedPlayer player = UnturnedPlayer.FromName(command[1]);
                if (player == null)
                {
                    UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("general_not_found"));
                }
                else
                {
                    if (player.GetComponent<FeexAFKPlayerComponent>().isAFK)
                    {
                        UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("afk_check_caller_true", player.CharacterName));
                    }
                    else
                    {
                        UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("afk_check_caller_false", player.CharacterName));
                    }
                }
            }
            else if (command.Length == 1 && command[0] == "checkall" && caller.HasPermission("afk.checkall"))
            {
                int playerCount = 0;
                StringBuilder stringBuilder = new StringBuilder();

                foreach (SteamPlayer steamPlayer in Provider.clients)
                {
                    UnturnedPlayer player = UnturnedPlayer.FromSteamPlayer(steamPlayer);
                    if (player.GetComponent<FeexAFKPlayerComponent>().isAFK)
                    {
                        playerCount ++;
                        if (stringBuilder.ToString() != string.Empty) { stringBuilder.Append(", "); }
                        stringBuilder.Append(player.CharacterName);
                    }
                }

                if (playerCount == 0)
                {
                    UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("afk_checkall_caller_false"));
                }
                else
                {
                    UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("afk_checkall_caller_true", Provider.clients.Count, stringBuilder.ToString()));
                }
            }
            else
            {
                UnturnedChat.Say(caller, FeexAFK.Instance.Translations.Instance.Translate("general_invalid_parameter"));
            }
        }