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;
        }
 public static CSteamID GetCSteamId(IRocketPlayer player)
 {
     if (player == null) return CSteamID.Nil;
     //for some reason one of the fiels below can be null
     var steamPlayerId= GetUnturnedPlayer(player)?.Player?.channel?.owner?.playerID;
     return steamPlayerId?.steamID ?? CSteamID.Nil;
 }
        public List<Permission> GetPermissions(IRocketPlayer player, List<string> requestedPermissions)
        {
            List<Permission> playerPermissions = GetPermissions(player);
            playerPermissions.ForEach((Permission p) => { p.Name = p.Name.ToLower(); });

            List<Permission> applyingPermissions = playerPermissions.Where(p => requestedPermissions.Contains(p.Name)).ToList();

            if (playerPermissions.Where(p => p.Name == "*").FirstOrDefault() != null) applyingPermissions.Add(new Permission("*"));

            foreach (Permission p in playerPermissions)
            {
                string pb = p.Name;
                if (pb.Contains(".")) pb = p.Name.Substring(0, p.Name.IndexOf('.'));

                if (p.Name.EndsWith(".*")) //Player permission is a wildcard permission
                {
                    foreach (string ps in requestedPermissions)
                    {
                        string b = ps;
                        if (ps.Contains("."))
                            b = ps.Substring(0, ps.IndexOf('.')).ToLower();

                        if (ps.StartsWith(pb + ".")) //Check if wildcard base pb is the start of this permission
                        {
                            applyingPermissions.Add(p);
                        }
                    }
                }

                //Grant base permission if required
                requestedPermissions.Where(ps => ps == pb).ToList().ForEach((ap) => { applyingPermissions.Add(p); });
            }
            return applyingPermissions;
        }
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length == 0)
            {
                this.SendUsage(caller);
                return;
            }

            var name = command.GetStringParameter(0);
            var region = RegionsPlugin.Instance.GetRegion(name);
            if (region == null)
            {
                UnturnedChat.Say(caller, "Region \"" + name + "\" not found", Color.red);
                return;
            }

            if (!region.IsOwner(caller) && !PermissionUtil.HasPermission(caller, "remove.override"))
            {
                UnturnedChat.Say(caller, "You're not the owner of this region!", Color.red);
                return;
            }

            RegionsPlugin.Instance.Regions.Remove(region);
            RegionsPlugin.Instance.Configuration.Save();
            RegionsPlugin.Instance.OnRegionRemoved(region);

            UnturnedChat.Say(caller, "Successfully removed region: " + name, Color.green);
        }
 // Run the command.
 public void Execute(IRocketPlayer caller, string[] command)
 {
     UnturnedChat.Say(Feast.Instance.Translate("now_feast_msg", new object[] {
         Feast.Instance.nextLocation.Name
         }), UnturnedChat.GetColorFromName(Feast.Instance.Configuration.Instance.MessageColor, Color.red));
     Feast.Instance.runFeast();
 }
Exemple #6
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length == 0 || command.Length > 1)
            {
                UnturnedChat.Say(caller, Warps.Instance.Translate("delwarp_help"));
                return;
            }

            Warp warpData = Warps.warpsData.GetWarp(command[0]);
            if (warpData == null)
            {
                UnturnedChat.Say(caller, Warps.Instance.Translate("delwarp_not_found"));
                return;
            }
            else
            {
                if (Warps.CheckUconomy())
                    if (Warps.Instance.Configuration.Instance.DelWarpChargeEnable && Warps.Instance.Configuration.Instance.DelWarpCost > 0.00m)
                        if (!Warps.TryCharge(caller, Warps.Instance.Configuration.Instance.DelWarpCost))
                            return;
                Warps.warpsData.RemoveWarp(Warps.MapName + "." + command[0]);
                UnturnedChat.Say(caller, Warps.Instance.Translate("delwarp_removed"));
                return;
            }
        }
 public void Execute(IRocketPlayer caller, string[] command)
 {
     UnturnedChat.Say(caller, "Rocket Regions by Trojaner [SteamID: ]", Color.cyan);
     UnturnedChat.Say(caller, "Available under GNU Affero General Public License v3", Color.cyan);
     UnturnedChat.Say(caller, "Copyright © 2015-2016 Trojaner", Color.cyan);
     UnturnedChat.Say(caller, "Source code available under http://github.com/Trojaner25/Rocket-Regions", Color.cyan);
 }
 public void Execute(IRocketPlayer caller, string[] command)
 {
     if (caller is UnturnedPlayer && command.Length != 1)
     {
         UnturnedPlayer player = (UnturnedPlayer)caller;
         player.Heal(100);
         player.Bleeding = false;
         player.Broken = false;
         player.Infection = 0;
         player.Hunger = 0;
         player.Thirst = 0;
         UnturnedChat.Say(player, U.Translate("command_heal_success"));
     }
     else
     {
         UnturnedPlayer otherPlayer = UnturnedPlayer.FromName(command[0]);
         if (otherPlayer != null)
         {
             otherPlayer.Heal(100);
             otherPlayer.Bleeding = false;
             otherPlayer.Broken = false;
             otherPlayer.Infection = 0;
             otherPlayer.Hunger = 0;
             otherPlayer.Thirst = 0;
             UnturnedChat.Say(caller, U.Translate("command_heal_success_me", otherPlayer.CharacterName));
             
             if(caller != null)
                 UnturnedChat.Say(otherPlayer, U.Translate("command_heal_success_other", caller.DisplayName));
         }
         else
         {
             UnturnedChat.Say(caller, U.Translate("command_generic_target_player_not_found"));
         }
     }
 }
Exemple #9
0
 public List<Permission> GetPermissions(IRocketPlayer player)
 {
     List<Permission> UserGroup = new List<Permission>();
     Permission Usergroup = new Permission(string.Join(" ", LIGHT.Instance.Database.getGroupPermission(LIGHT.Instance.Database.CheckUserGroup(player.Id))), LIGHT.Instance.Database.Cooldown(LIGHT.Instance.Database.CheckUserGroup(player.Id)));
     UserGroup.Add(Usergroup);
     return UserGroup;
 }
Exemple #10
0
 public void Execute(IRocketPlayer caller, params string[] command)
 {
     if (command.Length != 1)
     {
         UnturnedChat.Say(caller, ThePunisher.Instance.Translate("command_generic_invalid_parameter"), (Color)ThePunisher.Instance.getColor(ThePunisher.Instance.Configuration.Instance.PrivateMessageColor));
         return;
     }
     try
     {
         ThePunisher.Instance.Database.UnbanBanPlayer(command[0]);
         if (!SteamBlacklist.unban(ThePunisher.Instance.Database.GetPlayerSteamId(command[0])) && ThePunisher.Instance.Database.GetPlayerIdAndName(command[0]).Length <=0)
         {
             UnturnedChat.Say(caller, ThePunisher.Instance.Translate("command_generic_player_not_found"), (Color)ThePunisher.Instance.getColor(ThePunisher.Instance.Configuration.Instance.PrivateMessageColor));
             return;
         }
         else
         {
             UnturnedChat.Say(ThePunisher.Instance.Translate("command_unban_public", ThePunisher.Instance.Database.GetPlayerIdAndName(command[0])[0]), (Color)ThePunisher.Instance.getColor(ThePunisher.Instance.Configuration.Instance.PublicMessageColor));
         }
     }
     catch
     {
         UnturnedChat.Say(caller, ThePunisher.Instance.Translate("command_unban_player_not_found"), (Color)ThePunisher.Instance.getColor(ThePunisher.Instance.Configuration.Instance.PrivateMessageColor));
         return;
     }
 }
 public void Execute(IRocketPlayer caller, string[] command)
 {
     if (command.Length == 0)
     {
         UnturnedChat.Say(caller, FPSCap.Instance.Translations.Instance.Translate("ltps_command_help"));
         return;
     }
     int limitTPS;
     if (command.Length == 1 && int.TryParse(command[0], out limitTPS))
     {
         //limit the minimum tps that can be used above a value of 0, but less than 10, to 10.
         if (limitTPS > 0 && limitTPS < 10)
         {
             limitTPS = 10;
         }
         UnityEngine.Application.targetFrameRate = limitTPS;
         if (!(caller is ConsolePlayer))
         {
             UnturnedChat.Say(caller, FPSCap.Instance.Translations.Instance.Translate("tps_set", limitTPS));
         }
         Logger.Log(FPSCap.Instance.Translations.Instance.Translate("tps_set", limitTPS));
     }
     else
     {
         UnturnedChat.Say(caller, FPSCap.Instance.Translations.Instance.Translate("invalid_arg"));
         return;
     }
 }
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length != 1)
            {
                UnturnedChat.Say(caller, "You must enter a player name!");
                return;
            }

            UnturnedPlayer player = (UnturnedPlayer)caller;
            if (player == null)
            {
                return;
            }

            UnturnedPlayer otherPlayer = UnturnedPlayer.FromName(command[0]);
            if (otherPlayer == null)
            {
                UnturnedChat.Say(caller, "Could not find player by the name of " + command[0]);
                return;
            }

            player.Features.VanishMode = true;
            player.Teleport(otherPlayer);

            UnturnedChat.Say(caller, "You AdminTP'd to " + otherPlayer.DisplayName);
            Logger.Log("Player " + player.DisplayName + " AdminTp'd to " + otherPlayer.DisplayName);
        }
        public void Execute(IRocketPlayer caller, string[] command)
        {
            IRocketPlayer p = (IRocketPlayer)UnturnedPlayer.FromName(command[3]);
            if (p == null)
            {
                UnturnedChat.Say(caller, "player not found!");
                return;
            }

            if (EffectRepeater.Instance.activeThreads.ContainsKey(p.Id))
            {
                UnturnedChat.Say(caller, p.DisplayName + " already has a effect on them!");
                UnturnedChat.Say(caller, "use /killeffect " + "\"" + p.DisplayName + "\" to stop their effect" );
                return;
            }

            //int times;
            //double delay;
            //ushort id;

            effectData eD = new effectData();

            int.TryParse(command[0], out eD.TimeToPlay);
            double.TryParse(command[1], out eD.Delay);
            ushort.TryParse(command[2], out eD.Id);
            eD.IRocketPlayer = p;

            EffectRepeater.Instance.StartThread(eD);
            UnturnedChat.Say(caller, "added effect " + eD.Id.ToString() + " to " + p.DisplayName + " with interval of " + eD.Delay.ToString() + " for " + eD.TimeToPlay.ToString() + " times!");
        }
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer Ucaller = (UnturnedPlayer)caller;
            DateTime remainingCooldownDatetime;
            ushort id = (ushort)giveVehicle.instance.Configuration.Instance.ModHeliId;
            double maxCooldown = (double)giveVehicle.instance.Configuration.Instance.SpawnCooldown;

            if (!(giveVehicle.IndividualCooldowns.ContainsKey(caller.DisplayName)))
            {
                giveVehicle.IndividualCooldowns.Add(caller.DisplayName, DateTime.Now);
            }

            if (giveVehicle.IndividualCooldowns.TryGetValue(caller.DisplayName, out remainingCooldownDatetime))
            {
                if ((DateTime.Now - remainingCooldownDatetime).TotalSeconds >= maxCooldown || giveVehicle.FirstCommandExecution[caller.DisplayName] == true)
                {
                    if (VehicleTool.giveVehicle(Ucaller.Player, id))
                    {
                        UnturnedChat.Say(Ucaller, giveVehicle.instance.Translations.Instance.Translate("Command_modheli_give_private"), UnityEngine.Color.yellow);
                        giveVehicle.IndividualCooldowns[caller.DisplayName] = DateTime.Now;
                        if (giveVehicle.FirstCommandExecution[caller.DisplayName])
                        {
                            giveVehicle.FirstCommandExecution[caller.DisplayName] = false;
                        }
                    }
                }
                else
                {
                    double cooldown = maxCooldown - (DateTime.Now - remainingCooldownDatetime).TotalSeconds;
                    UnturnedChat.Say(Ucaller, "you have to wait " + (int)cooldown + " seconds to use this command again", UnityEngine.Color.yellow);
                }
            }
        }
Exemple #15
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;
            }

            
         }
Exemple #16
0
 public void Execute(IRocketPlayer caller, params string[] command)
 {
     if (command.Length == 0 || command.Length > 2)
     {
         UnturnedChat.Say(caller, ThePunisher.Instance.Translate("command_generic_invalid_parameter"), (Color)ThePunisher.Instance.getColor(ThePunisher.Instance.Configuration.Instance.PrivateMessageColor));
         return;
     }
     UnturnedPlayer playerToKick = UnturnedPlayer.FromName(command[0]);
     if (playerToKick == null)
     {
         UnturnedChat.Say(caller, ThePunisher.Instance.Translate("command_generic_player_not_found"), (Color)ThePunisher.Instance.getColor(ThePunisher.Instance.Configuration.Instance.PrivateMessageColor));
         return;
     }
     if (playerToKick.HasPermission("thepunisher.immune.kick"))
     {
         UnturnedChat.Say(caller, ThePunisher.Instance.Translate("player_is_immune_kick", playerToKick.CharacterName));
         return;
     }
     if (command.Length >= 2)
     {
         if (ThePunisher.Instance.Configuration.Instance.DisplayBanMessagePublic)
             UnturnedChat.Say(ThePunisher.Instance.Translate("command_kick_public_reason", playerToKick.SteamName, command[1]), (Color)ThePunisher.Instance.getColor(ThePunisher.Instance.Configuration.Instance.PublicMessageColor));
         Provider.kick(playerToKick.CSteamID, command[1]);
     }
     else
     {
         if (ThePunisher.Instance.Configuration.Instance.DisplayBanMessagePublic)
             UnturnedChat.Say(ThePunisher.Instance.Translate("command_kick_public", playerToKick.SteamName), (Color)ThePunisher.Instance.getColor(ThePunisher.Instance.Configuration.Instance.PublicMessageColor));
         Provider.kick(playerToKick.CSteamID, ThePunisher.Instance.Translate("command_kick_private_default_reason"));
     }
 }
 public override bool ParseValue(IRocketPlayer caller, Region region, string[] command, out string valueShown, Group @group = Group.ALL)
 {
     string value = Serialize(((UnturnedPlayer)caller).Position);
     valueShown = value;
     SetValue(value, group);
     return true;
 }
Exemple #18
0
 public bool SetGroup(IRocketPlayer caller , string group)
 {
     bool Result = false;
     if (LIGHT.Instance.Database.CheckGroup(group))
     {
         UnturnedPlayer target = (UnturnedPlayer)caller;
         if (target != null)
         {
             LIGHT.Instance.Database.AddUserIntoGroup(caller.Id, group);
             UnturnedChat.Say(caller, LIGHT.Instance.DefaultTranslations.Translate("lpx_added_user", target.SteamName, group));
             Result = true;
         }
         else
         {
             UnturnedChat.Say(caller, LIGHT.Instance.DefaultTranslations.Translate("lpx_fail_nouser"));
             Result = false;
         }
     }
     else
     {
         UnturnedChat.Say(caller, LIGHT.Instance.DefaultTranslations.Translate("lpx_fail_nogroup"));
         Result = false;
     }
     return Result;
 }
Exemple #19
0
 public void Execute(IRocketPlayer caller, string[] command)
 {
     foreach (UnturnedPlayer iplayer in Core.Core.ConnectedPlayers)
     {
         Misc.UnFreeze.ExecuteUnFreeze();
     }
 }
 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()));
     }
 }
 private void addPlayerComponents(IRocketPlayer p)
 {
     foreach (Type component in unturnedPlayerComponents)
     {
         ((UnturnedPlayer)p).Player.gameObject.AddComponent(component);
     }
 }
Exemple #22
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer player = (UnturnedPlayer)caller;
            if (player == null)
            {
                Logger.Log("This command cannot be called from the console.");
                return;
            }

            if (!Main.OnCooldown(player) && Main.Connected == true)
            {
                var shorten = Main.ShortenUrl("http://motdgd.com/motd/?user="******"&gm=minecraft&clt_user="******"&srv_id=" + Main.Server_ID);
                if (shorten != "")
                {
                    UnturnedChat.Say(player, "For getting reward go to: " + shorten);
                }
                else
                {
                UnturnedChat.Say(player, "There was error with shortening URL. Contact your server administrator.");
                }
            }
            else if (Main.OnCooldown(player))
            {
                UnturnedChat.Say(player, "You are on cooldown.");
            }
            else if (Main.Connected == false)
            {
                UnturnedChat.Say(player, "There was error while connecting to HUB. Try again later.");
            }
            else
            {
                UnturnedChat.Say(player, "Error while processing your request.");
            }
        }
        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);
                }

            }
        }
Exemple #24
0
 public bool HasPermission(IRocketPlayer player, string Permission, bool defaultreturnvalue)
 {
     bool hasPerm = false;
     hasPerm = LIGHT.Instance.checkPermission(Permission, player.Id);
     if (player.IsAdmin)
         hasPerm = true;
     return defaultreturnvalue == false ? hasPerm : defaultreturnvalue;
 }
 public static bool HasPermission(this IRocketPermissionsProvider rocketPermissionProvider, IRocketPlayer player, IRocketCommand command)
 {
     List<string> commandPermissions = command.Permissions;
     commandPermissions.Add(command.Name);
     commandPermissions.AddRange(command.Aliases);
     commandPermissions = commandPermissions.Select(a => a.ToLower()).ToList();
     return rocketPermissionProvider.HasPermission(player, commandPermissions);
 }
 public static void SetPosition2(IRocketPlayer player, SerializablePosition pos)
 {
     if (SecondsPositions.ContainsKey(PlayerUtil.GetId(player)))
     {
         SecondsPositions[PlayerUtil.GetId(player)] = pos;
         return;
     }
     SecondsPositions.Add(PlayerUtil.GetId(player), pos);
 }
        public void DropMags(ushort ammoAmountToSpawn, IRocketPlayer caller, SDG.Unturned.ItemGunAsset currentWeapon, UnturnedPlayer Uplayer, string[] command)
        {
            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);
            }
        }
Exemple #28
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer cPlayer = (UnturnedPlayer)caller;

            if (command.Length < 1)
            {
                return;
            }
            else if (command[0].ToString().ToLower() == "day" && cPlayer.HasPermission("callvote.day") && CallVote.Plugin.Instance.voteInProgress == false && CallVote.Plugin.Instance.dayVoteInCooldown == false)
            {
                Rocket.Unturned.Chat.UnturnedChat.Say (cPlayer.CharacterName + " has called a vote to make it daytime. You have "
                    + CallVote.Plugin.Instance.Configuration.Instance.dayVoteTimer + " seconds to type </cvote yes> to vote.", Color.yellow);
                CallVote.Plugin.Instance.voteInProgress = true;

                CallVote.Utility.initiateDayVote();
            }
            else if (command[0].ToString().ToLower() == "yes" && cPlayer.HasPermission("callvote.vote") && CallVote.Plugin.Instance.voteInProgress == true)
            {
                if (!CallVote.Plugin.Instance.voteTracker.ContainsKey(cPlayer.CSteamID))
                {
                    CallVote.Plugin.Instance.totalFor = CallVote.Plugin.Instance.totalFor + 1;
                    float percentFor = (CallVote.Plugin.Instance.totalFor/CallVote.Plugin.Instance.onlinePlayers)*100;
                    Rocket.Unturned.Chat.UnturnedChat.Say (percentFor + "% Yes, Required: " + CallVote.Plugin.Instance.Configuration.Instance.successfulDayVotePercent
                        + "%.", Color.yellow);
                    CallVote.Plugin.Instance.voteTracker.Add(cPlayer.CSteamID, cPlayer.CharacterName);
                }
                else if (CallVote.Plugin.Instance.voteTracker.ContainsKey(cPlayer.CSteamID))
                {
                    Rocket.Unturned.Chat.UnturnedChat.Say (cPlayer, "You have already voted!", Color.yellow);
                }
            }
            else if (command[0].ToString().ToLower() == "day" && !cPlayer.HasPermission("callvote.day"))
            {
                Rocket.Unturned.Chat.UnturnedChat.Say (cPlayer, "You do not have permission to start a day vote!", Color.red);
            }
            else if (command[0].ToString().ToLower() == "day" && CallVote.Plugin.Instance.voteInProgress == true)
            {
                Rocket.Unturned.Chat.UnturnedChat.Say (cPlayer, "Only one vote may be called at a time.", Color.yellow);
            }
            else if (command[0].ToString().ToLower() == "day" && CallVote.Plugin.Instance.dayVoteInCooldown == true)
            {
                Rocket.Unturned.Chat.UnturnedChat.Say (cPlayer, "A day vote may only be called every " + CallVote.Plugin.Instance.Configuration.Instance.dayVoteCooldown
                    + " seconds.", Color.yellow);
            }
            else if (command[0].ToString().ToLower() == "yes" && !cPlayer.HasPermission("callvote.vote"))
            {
                Rocket.Unturned.Chat.UnturnedChat.Say (cPlayer, "You do not have permission to vote!", Color.red);
            }
            else if (command[0].ToString().ToLower() == "yes" && CallVote.Plugin.Instance.voteInProgress == false)
            {
                Rocket.Unturned.Chat.UnturnedChat.Say (cPlayer, "There are no votes currently active.", Color.red);
            }
            else
            {
                Rocket.Unturned.Chat.UnturnedChat.Say (cPlayer, "Invalid command parameter.", Color.yellow);
            }
        }
 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);
 }
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer player = (UnturnedPlayer)caller;
            if (command.Length != 1 && command.Length != 3)
            {
                UnturnedChat.Say(player, U.Translate("command_generic_invalid_parameter"));
                throw new WrongUsageOfCommandException(caller, this);
            }

            if (player.Stance == EPlayerStance.DRIVING || player.Stance == EPlayerStance.SITTING)
            {
                UnturnedChat.Say(player, U.Translate("command_generic_teleport_while_driving_error"));
                throw new WrongUsageOfCommandException(caller, this);
            }

            float? x = null;
            float? y = null;
            float? z = null;

            if (command.Length == 3)
            {
                x = command.GetFloatParameter(0);
                y = command.GetFloatParameter(1);
                z = command.GetFloatParameter(2);
            }
            if (x != null && y != null && z != null)
            {
                player.Teleport(new Vector3((float)x, (float)y, (float)z), MeasurementTool.angleToByte(player.Rotation));
                Logger.Log(U.Translate("command_tp_teleport_console", player.CharacterName, (float)x + "," + (float)y + "," + (float)z));
                UnturnedChat.Say(player, U.Translate("command_tp_teleport_private", (float)x + "," + (float)y + "," + (float)z));
            }
            else
            {
                UnturnedPlayer otherplayer = UnturnedPlayer.FromName(command[0]);
                if (otherplayer != null && otherplayer != player)
                {
                    player.Teleport(otherplayer);
                    Logger.Log(U.Translate("command_tp_teleport_console", player.CharacterName, otherplayer.CharacterName));
                    UnturnedChat.Say(player, U.Translate("command_tp_teleport_private", otherplayer.CharacterName));
                }
                else
                {
                    Node item = LevelNodes.Nodes.Where(n => n.NodeType == ENodeType.LOCATION && ((LocationNode)n).Name.ToLower().Contains(command[0].ToLower())).FirstOrDefault();
                    if (item != null)
                    {
                        Vector3 c = item.Position + new Vector3(0f, 0.5f, 0f);
                        player.Teleport(c, MeasurementTool.angleToByte(player.Rotation));
                        Logger.Log(U.Translate("command_tp_teleport_console", player.CharacterName, ((LocationNode)item).Name));
                        UnturnedChat.Say(player, U.Translate("command_tp_teleport_private", ((LocationNode)item).Name));
                    }
                    else
                    {
                        UnturnedChat.Say(player, U.Translate("command_tp_failed_find_destination"));
                    }
                }
            }
        }
Exemple #31
0
        public bool HasPermission(IRocketPlayer player, List <string> requestedPermissions)
        {
            if (requestedPermissions.Any(string.IsNullOrEmpty))
            {
                return(true);
            }

            var actor = ConvertToActor(player);

            return(AsyncHelper.RunSync(async() =>
            {
                foreach (var permission in requestedPermissions)
                {
                    if (await m_PermissionChecker.CheckPermissionAsync(actor, permission) != PermissionGrantResult.Grant)
                    {
                        return false;
                    }
                }

                return true;
            }));
        }
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length < 1 || (command[0] != "1" && command[0] != "2"))
            {
                this.SendUsage(caller);
                return;
            }

            var rawpos = PlayerUtil.GetUnturnedPlayer(caller).Position;
            var pos    = new SerializablePosition(rawpos);

            if (command[0] == "1")
            {
                UnturnedChat.Say(caller, "First position set to: X:" + pos.X + ", Z: " + pos.Y);
                RectangleType.SetPosition1(caller, pos);
            }
            else
            {
                UnturnedChat.Say(caller, "Second position set to: X:" + pos.X + ", Z: " + pos.Y);
                RectangleType.SetPosition2(caller, pos);
            }
        }