internal static bool TeleportCar(this InteractableVehicle vehicle, UnturnedPlayer player, Vector3 Location) { if (player.CurrentVehicle.passengers[0].player != null) return false; vehicle.transform.position = Location; return true; }
public void Execute(UnturnedPlayer caller, string[] command) { if (command.Length > 0) DGPlugin.messagePlayer(caller, "Invalid amount of parameters. Format is \"/balance\"."); else DGPlugin.messagePlayer(caller, "You currently have " + Currency.getBalance(caller) + " credits."); }
public void chat(UnturnedPlayer caller, string text) { if (isMember(caller)) tellParty(caller.CharacterName + (isLeader(caller) ? "[L]: " : "[P]: ") + text); else DGPlugin.messagePlayer(caller, "Error, you are not in this party."); }
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 static void playerDied(UnturnedPlayer player) { if (nextTP.ContainsKey(player.CSteamID)) nextTP[player.CSteamID] = Math.Max(Time.realtimeSinceStartup + cooldownTime / 2, nextTP[player.CSteamID]); else nextTP[player.CSteamID] = Time.realtimeSinceStartup + cooldownTime / 2; }
public void Execute(UnturnedPlayer caller, string[] command) { //check for parameter vaidity if (command.Length == 0) { DGPlugin.messagePlayer(caller, "Invalid amount of players. Format is \"/kick PlayerName\"."); return; } var playerName = string.Join(" ", command); //check for player existence var player = DGPlugin.getPlayer(playerName); if (player == null) { DGPlugin.messagePlayer(caller, "Failed to find player named \"" + playerName + "\""); return; } var party = Parties.getParty(caller); if (party != null) { party.kickMember(caller, player); DGPlugin.messagePlayer(player, "You have been removed from the party."); } else DGPlugin.messagePlayer(caller, "You are not in a party."); }
public override void OnRegionEnter(UnturnedPlayer player) { if(!_lastHealth.ContainsKey(player.CSteamID.m_SteamID)) _lastHealth.Add(player.CSteamID.m_SteamID, player.Health); if (!GetValueSafe(Region.GetGroup(player))) return; player.Features.GodMode = true; }
public override void OnRegionEnter(UnturnedPlayer player) { if (Value == null) return; var val = GetValue<ushort>(Region.GetGroup(player)); player.TriggerEffect(val); }
public void Execute(UnturnedPlayer caller, string[] command) { if (command.Length < 2) DGPlugin.messagePlayer(caller, "Invalid amount of parameters. Format is \"/transfer amount playerName\"."); else { int amount; if (!int.TryParse(command[0], out amount)) DGPlugin.messagePlayer(caller, "Invalid amount."); else { var playerName = string.Join(" ", command.Skip(1).ToArray()); UnturnedPlayer player; if ((player = DGPlugin.getPlayer(playerName)) == null) DGPlugin.messagePlayer(caller, "Failed to find player named \"" + playerName + "\""); else { if (amount < 1) DGPlugin.messagePlayer(caller, "You cannot send negative credits!"); else if (Currency.transferCredits(caller, player, amount)) { DGPlugin.messagePlayer(caller, "You sent " + amount + " credits to " + player.CharacterName + "."); DGPlugin.messagePlayer(player, caller.CharacterName + " just gave you $" + amount + "!"); } else { DGPlugin.messagePlayer(caller, "Insufficient funds."); } } } } }
public override void OnRegionEnter(UnturnedPlayer player) { var parsedValue = GetValue<string>(Region.GetGroup(player)); if (parsedValue == null) return; parsedValue = parsedValue.Replace("{0}", Region.Name); UnturnedChat.Say(player, parsedValue); }
private void e_OnPlayerUpdateHealth(UnturnedPlayer player, byte health) { if (health < 95) { Player.Heal(100); Player.Bleeding = false; Player.Broken = false; } }
public override void OnRegionEnter(UnturnedPlayer player) { var group = Region.GetGroup(player); var val = GetValue<string>(group); if(val == null) return; string msg = RegionsPlugin.Instance.Configuration.Instance.UrlOpenMessage; PlayerUtil.OpenUrl(player, msg, val); }
public static void clearStats(UnturnedPlayer player) { player.Hunger = 0; player.Infection = 0; player.Thirst = 0; player.Heal(100); player.Bleeding = false; player.Broken = false; }
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); } }
public void addMember(UnturnedPlayer player) { //add the player to the steam group for this party player.Player.SteamChannel.SteamPlayer.playerID.SteamGroupID = steamGroup; members.Add(player); tellParty(player.CharacterName + " has joined the party!", player); DGPlugin.messagePlayer(player, "You have joined the party!", chatColor); }
public void Execute(UnturnedPlayer caller, string[] command) { if (command.Length != 0) { DGPlugin.messagePlayer(caller, "Incorrect format. Format is \"/listevents\"."); } else { EventScheduler.listEvents(caller); } }
public static void ExecuteFreeze(UnturnedPlayer player) { Actions.FrozenPlayers.stop = false; Core.Core.FrozenPlayersList.Add( new FrozenPlayerConstructor { Player = player, FrozenPos = player.Position, LastPos = player.Position }); }
public static int valueOfPlayer(UnturnedPlayer player) { int minutesAlive = (int) (Time.realtimeSinceStartup-player.Player.PlayerLife.lastRespawn)/60; int playersKilledSinceSpawn = (killsSinceSpawn.ContainsKey(player.CSteamID) ? killsSinceSpawn[player.CSteamID] : 0); int valueOfPlayer = Math.Min(minutesAlive, 10) + playersKilledSinceSpawn * 5; if (ArenaEvent.isOccurring) return Math.Max(valueOfPlayer, 10); return valueOfPlayer; }
public static bool transferCredits(UnturnedPlayer from, UnturnedPlayer to, int amount) { string src = DGPlugin.getConstantID(from), dest = DGPlugin.getConstantID(to); if (amount > 0 && balances[src] >= amount) { balances[src] -= amount; balances[dest] += amount; return true; } return false; }
public void Trigger(UnturnedPlayer player) { if (!Global) { SDG.Unturned.EffectManager.Instance.SteamChannel.send("tellEffectPoint", player.CSteamID, ESteamPacket.UPDATE_UDP_BUFFER, new object[] { EffectID, player.Player.transform.position }); } else { SDG.Unturned.EffectManager.Instance.SteamChannel.send("tellEffectPoint", ESteamCall.CLIENTS, player.Player.transform.position, 1024, ESteamPacket.UPDATE_UDP_BUFFER, new object[] { EffectID, player.Player.transform.position }); } }
private void ClearInventory(UnturnedPlayer player, EDeathCause cause, ELimb limb, CSteamID murderer) { if (!player.HasPermission ("keepinventory.keep")) { return; } var playerInventory = player.Inventory; List<Item> ids = new List<Item> (); List<Item> clothes = new List<Item> (); // "Remove "models" of items from player "body"" player.Player.channel.send ("tellSlot", ESteamCall.ALL, ESteamPacket.UPDATE_RELIABLE_BUFFER, ( byte ) 0, ( byte ) 0, new byte[0]); player.Player.channel.send ("tellSlot", ESteamCall.ALL, ESteamPacket.UPDATE_RELIABLE_BUFFER, ( byte ) 1, ( byte ) 0, new byte[0]); // Remove items for (byte page = 0; page < 8; page++) { var count = playerInventory.getItemCount (page); for (byte index = 0; index < count; index++) { ids.Add (playerInventory.getItem (page, 0).item); playerInventory.removeItem (page, 0); } } // Unequip & remove from inventory player.Player.clothing.askWearBackpack (0, 0, new byte[0], true); clothes.Add (removeUnequipped (playerInventory)); player.Player.clothing.askWearGlasses (0, 0, new byte[0], true); clothes.Add (removeUnequipped (playerInventory)); player.Player.clothing.askWearHat (0, 0, new byte[0], true); clothes.Add (removeUnequipped (playerInventory)); player.Player.clothing.askWearPants (0, 0, new byte[0], true); clothes.Add (removeUnequipped (playerInventory)); player.Player.clothing.askWearMask (0, 0, new byte[0], true); clothes.Add (removeUnequipped (playerInventory)); player.Player.clothing.askWearShirt (0, 0, new byte[0], true); clothes.Add (removeUnequipped (playerInventory)); player.Player.clothing.askWearVest (0, 0, new byte[0], true); clothes.Add (removeUnequipped (playerInventory)); clothes.AddRange (ids); deadAdmins.Add (player); adminItems.Add (player, clothes); }
public void Execute(UnturnedPlayer caller, string[] command) { var party = Parties.getParty(caller); if (party != null) { party.removeMember(caller); party.tellParty(caller.CharacterName + " has left the party."); DGPlugin.messagePlayer(caller, "You have left the party."); } else DGPlugin.messagePlayer(caller, "You are not in a party."); }
internal void OnPlayerDeath( UnturnedPlayer player, EDeathCause cause, ELimb limb, CSteamID murderer ) { if ( !player.HasPermission( "essentials.command.back" ) ) return; var displayName = player.DisplayName; if ( BackDict.ContainsKey( displayName ) ) BackDict.Remove( displayName ); BackDict.Add( displayName, player.Position ); }
public Party(UnturnedPlayer leader) { //create the party's fake steam group var buffer = new byte[sizeof(ulong)]; random.NextBytes(buffer); ulong newID = BitConverter.ToUInt64(buffer, 0); steamGroup = new CSteamID(newID); claimedIDs.Add(newID); //set and add the leader this.leader = leader; leader.Player.SteamChannel.SteamPlayer.playerID.SteamGroupID = steamGroup; members.Add(leader); }
public void Execute(UnturnedPlayer caller, string[] command) { if (arenaEvent == null) { arenaEvent = new ArenaEvent(caller.Position, startItem: 1036, dropItem: 1021); EventScheduler.scheduleEvent(arenaEvent, 30, snapToHour:true, minimumPlayers:5, durationSeconds:60, countDownTimes:new uint[]{600, 300, 60, 10, 5, 4, 3, 2, 1}); DGPlugin.messagePlayer(caller, "Arena scheduled and set at your location."); } else { arenaEvent.locations.Add(caller.Position); DGPlugin.messagePlayer(caller, "Your location has been added to the Arena location pool."); } }
public LineText(string configText, Tps tpsMonitor, UnturnedPlayer player) { configText = configText.Replace("%servername%", Provider.serverName); configText = configText.Replace("%playername%", player.CharacterName); configText = configText.Replace("%online%", Provider.clients.Count().ToString() + "/" + Provider.maxPlayers.ToString()); configText = configText.Replace("%adminsonline%", Admins()); configText = configText.Replace("%mode%", Provider.mode.ToString().ToLower()); configText = configText.Replace("%pvp/pve%", PvPorPvE()); configText = configText.Replace("%map%", Provider.map); configText = configText.Replace("%uptime%", UpTime()); configText = configText.Replace("%tps%", TPS(tpsMonitor)); text = configText; }
public void Execute(UnturnedPlayer caller, string[] command) { //check for parameter vaidity if (command.Length == 0) { DGPlugin.messagePlayer(caller, "Invalid amount of players. Format is \"/tp PlayerName\"."); return; } var playerName = string.Join(" ", command); //check for player existence var player = DGPlugin.getPlayer(playerName); if (player == null) { DGPlugin.messagePlayer(caller, "Failed to find player named \"" + playerName + "\""); return; } var party = Parties.getParty(caller); if (party != null) { if (party.isMember(player)) { if (!player.Dead) { //add them to the CD list if they aren't in it if (!nextTP.ContainsKey(caller.CSteamID) || Time.realtimeSinceStartup > nextTP[caller.CSteamID]) { if(DGPlugin.teleportPlayer(caller, player)) { nextTP[caller.CSteamID] = Time.realtimeSinceStartup + cooldownTime; DGPlugin.messagePlayer(player, caller.CharacterName + " has teleported to you!"); } else DGPlugin.messagePlayer(caller, "Could not teleport to " + player.CharacterName + " because their vehicle is full."); } else DGPlugin.messagePlayer(caller, "Teleport is on cooldown for "+(int)(nextTP[caller.CSteamID] - Time.realtimeSinceStartup)+" more seconds."); } else DGPlugin.messagePlayer(caller, player.CharacterName + " is dead. You can't teleport to dead players."); } else DGPlugin.messagePlayer(caller, player.CharacterName + " is not in your party. You can only teleport to party members."); } else DGPlugin.messagePlayer(caller, "You are not in a party. You can only teleport to party members."); }
public static void clearInventory(UnturnedPlayer player) { //dequip anything they have equipped player.Player.Equipment.dequip(); //remove items foreach (var items in player.Inventory.Items) for (int i=items.getItemCount()-1; i >= 0; --i) player.Inventory.removeItem(items.page, items.getIndex(items.getItem((byte)i).PositionX, items.getItem((byte)i).PositionY)); //remove clothes var p = player.Player; if (p.Clothing.backpack != 0) { p.Clothing.askWearBackpack(0, 0, new byte[0]); p.Inventory.removeItem(2, 0); } if (p.Clothing.glasses != 0) { p.Clothing.askWearGlasses(0, 0, new byte[0]); p.Inventory.removeItem(2, 0); } if (p.Clothing.hat != 0) { p.Clothing.askWearHat(0, 0, new byte[0]); p.Inventory.removeItem(2, 0); } if (p.Clothing.mask != 0) { p.Clothing.askWearMask(0, 0, new byte[0]); p.Inventory.removeItem(2, 0); } if (p.Clothing.pants != 0) { p.Clothing.askWearPants(0, 0, new byte[0]); p.Inventory.removeItem(2, 0); } if (p.Clothing.shirt != 0) { p.Clothing.askWearShirt(0, 0, new byte[0]); p.Inventory.removeItem(2, 0); } if (p.Clothing.vest != 0) { p.Clothing.askWearVest(0, 0, new byte[0]); p.Inventory.removeItem(2, 0); } }
public bool ClearClothes(UnturnedPlayer player) { bool returnv = false; try { player.Player.Clothing.askWearBackpack(0, 0, new byte[0]); for (byte p2 = 0; p2 < player.Player.Inventory.getItemCount(2); p2++) { player.Player.Inventory.removeItem(2, 0); } player.Player.Clothing.askWearGlasses(0, 0, new byte[0]); for (byte p2 = 0; p2 < player.Player.Inventory.getItemCount(2); p2++) { player.Player.Inventory.removeItem(2, 0); } player.Player.Clothing.askWearHat(0, 0, new byte[0]); for (byte p2 = 0; p2 < player.Player.Inventory.getItemCount(2); p2++) { player.Player.Inventory.removeItem(2, 0); } player.Player.Clothing.askWearMask(0, 0, new byte[0]); for (byte p2 = 0; p2 < player.Player.Inventory.getItemCount(2); p2++) { player.Player.Inventory.removeItem(2, 0); } player.Player.Clothing.askWearPants(0, 0, new byte[0]); for (byte p2 = 0; p2 < player.Player.Inventory.getItemCount(2); p2++) { player.Player.Inventory.removeItem(2, 0); } player.Player.Clothing.askWearShirt(0, 0, new byte[0]); for (byte p2 = 0; p2 < player.Player.Inventory.getItemCount(2); p2++) { player.Player.Inventory.removeItem(2, 0); } player.Player.Clothing.askWearVest(0, 0, new byte[0]); for (byte p2 = 0; p2 < player.Player.Inventory.getItemCount(2); p2++) { player.Player.Inventory.removeItem(2, 0); } returnv = true; } catch (Exception e) { Logger.Log("There was an error clearing " + player.CharacterName + "'s inventory. Here is the error."); Console.Write(e); } return returnv; }
public void AddAccount(UnturnedPlayer player) { try { MySqlConnection connection = CreateConnection(); MySqlCommand command = connection.CreateCommand(); connection.Open(); command.CommandText = "INSERT IGNORE INTO `" + FeexRanks.Instance.Configuration.Instance.FeexRanksDatabase.DatabaseTableName + "` (`steamId`,`lastDisplayName`) VALUES ('" + player.CSteamID.ToString() + "','" + player.DisplayName + "')"; command.ExecuteNonQuery(); connection.Close(); } catch (Exception ex) { Logger.LogException(ex); } }
public UnturnedPlayerItemEquippedEvent(UnturnedPlayer player, UnturnedItem item) : base(player) { Item = item; }
internal static void Wreck(IRocketPlayer caller, string filter, float radius, Vector3 position, WreckType type, FlagType flagtype, ulong steamID, ushort itemID) { bool pInfoLibLoaded = false; syncError = false; if (type == WreckType.Wreck) { if (DestructionProcessing.processing) { UnturnedChat.Say(caller, WreckingBall.Instance.Translate("wreckingball_processing", originalCaller != null ? originalCaller.CharacterName : "???", (dIdxCount - dIdx), CalcProcessTime())); return; } Abort(WreckType.Wreck); } else if (type == WreckType.Scan) { WreckingBall.ElementData.reportLists[BuildableType.Element].Clear(); WreckingBall.ElementData.reportLists[BuildableType.VehicleElement].Clear(); if (WreckingBall.Instance.Configuration.Instance.EnablePlayerInfo && WreckingBall.isPlayerInfoLibPresent && WreckingBall.isPlayerInfoLibLoaded) { pInfoLibLoaded = true; } } UnturnedPlayer Player = null; if (!(caller is ConsolePlayer) && type != WreckType.Cleanup) { Player = (UnturnedPlayer)caller; if (Player.IsInVehicle) { position = Player.CurrentVehicle.transform.position; } else { position = Player.Position; } } List <char> Filter = new List <char>(); Filter.AddRange(filter.ToCharArray()); float distance = 0; float vdistance = 0; StructureRegion structureRegion; BarricadeRegion barricadeRegion; for (int k = 0; k < StructureManager.regions.GetLength(0); k++) { for (int l = 0; l < StructureManager.regions.GetLength(1); l++) { // check to see if the region is out of range, skip if it is. if (!radius.IsNaN() && position.RegionOutOfRange(k, l, radius) && type != WreckType.Cleanup && type != WreckType.Counts) { continue; } structureRegion = StructureManager.regions[k, l]; ProcessElements(caller, itemID, radius, type, flagtype, Filter, pInfoLibLoaded, structureRegion, position, steamID, BuildableType.Element); } } for (int k = 0; k < BarricadeManager.BarricadeRegions.GetLength(0); k++) { for (int l = 0; l < BarricadeManager.BarricadeRegions.GetLength(1); l++) { // check to see if the region is out of range, skip if it is. if (!radius.IsNaN() && position.RegionOutOfRange(k, l, radius) && type != WreckType.Cleanup && type != WreckType.Counts) { continue; } barricadeRegion = BarricadeManager.BarricadeRegions[k, l]; ProcessElements(caller, itemID, radius, type, flagtype, Filter, pInfoLibLoaded, barricadeRegion, position, steamID, BuildableType.Element); } } foreach (InteractableVehicle vehicle in VehicleManager.vehicles) { bool validVehicleElements = BarricadeManager.tryGetPlant(vehicle.transform, out byte x, out byte y, out ushort plant, out barricadeRegion); // Process Vehicles. if ((Filter.Contains('V') || Filter.Contains('*')) && type != WreckType.Cleanup && type != WreckType.Counts && (flagtype == FlagType.Normal || (flagtype == FlagType.SteamID && vehicle.isLocked && vehicle.lockedOwner == (CSteamID)steamID))) { vdistance = Vector3.Distance(vehicle.transform.position, position); if ((!radius.IsNaN() && vdistance <= radius) || (radius.IsNaN() && (vehicle.transform.position.x.IsNaN() || vehicle.transform.position.y.IsNaN() || vehicle.transform.position.z.IsNaN()))) { WreckProcess(caller, 999, vdistance, pInfoLibLoaded, BuildableType.Vehicle, type, vehicle, vehicle.transform, !validVehicleElements ? 0 : barricadeRegion.drops.Count, vehicle.isLocked ? (ulong)vehicle.lockedOwner : 0); } if (vehicle.asset.engine == EEngine.TRAIN && vehicle.trainCars != null && vehicle.trainCars.Length > 1) { for (int i = 1; i < vehicle.trainCars.Length; i++) { if (BarricadeManager.tryGetPlant(vehicle.trainCars[i].root, out x, out y, out plant, out BarricadeRegion barricadeRegion2)) { float tcdistance = Vector3.Distance(vehicle.trainCars[i].root.position, position); if (tcdistance <= radius) { WreckProcess(caller, 999, tcdistance, pInfoLibLoaded, BuildableType.Vehicle, type, vehicle, vehicle.transform, barricadeRegion2 == null ? 0 : barricadeRegion2.drops.Count, 0, i); } } } } } if (type == WreckType.Cleanup && vehicle.asset.engine != EEngine.TRAIN && WreckingBall.Instance.Configuration.Instance.CleanupLockedCars && vehicle.isLocked && vehicle.lockedOwner == (CSteamID)steamID) { cleanupList.Add(new Destructible(vehicle.transform, ElementType.Vehicle, vehicle.asset.id, vehicle)); } // Add Locked vehicles to the top players count, if the cleanup locked vehicles feature is active. if (type == WreckType.Counts && vehicle.asset.engine != EEngine.TRAIN && WreckingBall.Instance.Configuration.Instance.CleanupLockedCars && vehicle.isLocked) { ulong vOwner = (ulong)vehicle.lockedOwner; if (pElementCounts.ContainsKey(vOwner)) { pElementCounts[vOwner]++; } else { pElementCounts.Add(vOwner, 1); } } // Process vehicles elements, remove distance limiting on vehicle placement for element scanning, to handle massively misplaced elements on vehicles. if (validVehicleElements) { ProcessElements(caller, itemID, radius, type, flagtype, Filter, pInfoLibLoaded, barricadeRegion, position, steamID, BuildableType.VehicleElement); } if (vehicle.asset.engine == EEngine.TRAIN && vehicle.trainCars != null && vehicle.trainCars.Length > 1) { for (int i = 1; i < vehicle.trainCars.Length; i++) { if (BarricadeManager.tryGetPlant(vehicle.trainCars[i].root, out x, out y, out plant, out BarricadeRegion barricadeRegion2)) { ProcessElements(caller, itemID, radius, type, flagtype, Filter, pInfoLibLoaded, barricadeRegion2, position, steamID, BuildableType.VehicleElement); } } } } if (Filter.Contains('Z')) { for (int z = 0; z < ZombieManager.regions.Length; z++) { foreach (Zombie zombie in ZombieManager.regions[z].zombies) { distance = Vector3.Distance(zombie.transform.position, position); if (distance < radius) { WreckProcess(caller, 998, distance, pInfoLibLoaded, BuildableType.Element, type, zombie, zombie.transform); } } } } if (Filter.Contains('A')) { foreach (Animal animal in AnimalManager.animals) { distance = Vector3.Distance(animal.transform.position, position); if (distance <= radius) { WreckProcess(caller, 997, distance, pInfoLibLoaded, BuildableType.Element, type, animal, animal.transform); } } } if (type == WreckType.Scan) { uint totalCount = 0; if (WreckingBall.ElementData.reportLists[BuildableType.Element].Count > 0 || WreckingBall.ElementData.reportLists[BuildableType.VehicleElement].Count > 0) { foreach (KeyValuePair <BuildableType, Dictionary <char, uint> > reportDictionary in WreckingBall.ElementData.reportLists) { if (reportDictionary.Value.Count == 0) { continue; } foreach (KeyValuePair <char, uint> reportFilter in reportDictionary.Value) { totalCount += reportFilter.Value; } } } Logger.Log(string.Format("Player: {0}, ran scan at: {1}, with Radius: {7}, with Flag type: {2}, with Flags: {3}, with ItemID: {4}, with SteamID: {5}, number of elements scanned: {6}", caller is ConsolePlayer ? "Console" : Player.CharacterName + " [" + Player.SteamName + "] (" + Player.CSteamID.ToString() + ")", caller is ConsolePlayer ? "N/A" : Player.Position.ToString(), flagtype.ToString(), Filter.Count > 0 ? string.Join("", Filter.Select(i => i.ToString()).ToArray()) : "N/A", itemID, steamID, totalCount, radius.IsNaN() ? "NaN(NaN Check)" : radius.ToString())); return; } if (destroyList.Count >= 1 && type == WreckType.Wreck) { Logger.Log(string.Format("Player {0}, queued wreck at: {1}, with Radius: {7}, with Flag type: {2}, with Flags: {3}, with itemID: {4}, with StermID: {5}, number of elements queued: {6}", caller is ConsolePlayer ? "Console" : Player.CharacterName + " [" + Player.SteamName + "] (" + Player.CSteamID.ToString() + ")", caller is ConsolePlayer ? "N/A" : Player.Position.ToString(), flagtype.ToString(), Filter.Count > 0 ? string.Join("", Filter.Select(i => i.ToString()).ToArray()) : "N/A", itemID, steamID, destroyList.Count, radius.IsNaN() ? "NaN(NaN Check)" : radius.ToString())); dIdxCount = destroyList.Count; WreckingBall.Instance.Instruct(caller); } else if (type == WreckType.Cleanup) { cdIdxCount = cleanupList.Count; } else if (type != WreckType.Counts) { UnturnedChat.Say(caller, WreckingBall.Instance.Translate("wreckingball_not_found", radius)); } }
public void Execute(IRocketPlayer caller, string[] command) { UnturnedPlayer player = (UnturnedPlayer)caller; if (command.Length == 0) // /jail { UnturnedChat.Say(player, $"{JailTimePlugin.Instance.Translate("jail.syntax")}", Color.red); return; } UnturnedPlayer toPlayer = UnturnedPlayer.FromName(command[0]); if (command.Length == 1) // /jail [playername] { if (toPlayer == null) { UnturnedChat.Say(player, $"{JailTimePlugin.Instance.Translate("jail.player.not.found", command[0])}", Color.red); return; } if (toPlayer.CSteamID == player.CSteamID) { UnturnedChat.Say(player, $"{JailTimePlugin.Instance.Translate("jail.player.self")}", Color.red); return; } UnturnedChat.Say(player, $"{JailTimePlugin.Instance.Translate("jail.syntax")}", Color.red); return; } int.TryParse(command[1], out int resultDuration); if (command.Length == 2) // /jail [playername] [duration] { if (toPlayer == null) { UnturnedChat.Say(player, $"{JailTimePlugin.Instance.Translate("jail.player.not.found", command[0])}", Color.red); return; } if (toPlayer.HasPermission(Permissions[0])) // есть ли у другого игрока пермишен иммунитета { UnturnedChat.Say(player, $"{JailTimePlugin.Instance.Translate("jail.player.immune", toPlayer.CharacterName)}", Color.red); return; } if (JailTimePlugin.Instance.Prison.IsPlayerContains(toPlayer.CSteamID)) // находится ли игрок в тюрьме { UnturnedChat.Say(player, $"{JailTimePlugin.Instance.Translate("jail.player.arrested", toPlayer.CharacterName, resultDuration)}", Color.red); return; } if (toPlayer.CSteamID == player.CSteamID) // проверка на само jail { UnturnedChat.Say(player, $"{JailTimePlugin.Instance.Translate("jail.player.self")}", Color.red); return; } // одеть наручники на игрока JailTimePlugin.Instance.Prison.HandcuffToPlayer(toPlayer.CSteamID); JailTimePlugin.Instance.Prison.ArrestPlayer(toPlayer.CSteamID, resultDuration); UnturnedChat.Say(player, $"{JailTimePlugin.Instance.Translate("jail.successful.arrested", toPlayer.CharacterName, resultDuration)}", Color.yellow); UnturnedChat.Say(toPlayer, $"{JailTimePlugin.Instance.Translate("jail.player.arrested.message", player.CharacterName, resultDuration)}", Color.red); } }
//Updates the UI public void UpdateUI(UnturnedPlayer p, bool firstsend = false) { short effectshortID = (short)Configuration.Instance.UIEffectID; if (firstsend) { EffectManager.sendUIEffect(Configuration.Instance.UIEffectID, effectshortID, p.CSteamID, true); } int admin_members_integer = 0; int police_members_integer = 0; int mechanic_members_integer = 0; int medic_members_integer = 0; string admin_members_string = null; string police_members_string = null; string mechanic_members_string = null; string medic_members_string = null; var config = Configuration.Instance; RocketPermissionsManager Permissions = R.Instance.GetComponent <RocketPermissionsManager>(); RocketPermissionsGroup group_pol = R.Permissions.GetGroup(config.PoliceGroup); RocketPermissionsGroup group_med = R.Permissions.GetGroup(config.MedicGroup); RocketPermissionsGroup group_mec = R.Permissions.GetGroup(config.MechanicGroup); RocketPermissionsGroup group_ad = R.Permissions.GetGroup(config.PoliceGroup); Provider.clients.ForEach(client => { string clientid = client.playerID.steamID.m_SteamID.ToString(); if (group_pol.Members.Contains(clientid)) { police_members_integer = police_members_integer + 1; } else if (group_med.Members.Contains(clientid)) { medic_members_integer = medic_members_integer + 1; } else if (group_mec.Members.Contains(clientid)) { mechanic_members_integer = mechanic_members_integer + 1; } else if (group_ad.Members.Contains(clientid) || client.isAdmin) { admin_members_integer = admin_members_integer + 1; } }); if (config.ShowOfflineMembersFromtheGroup) { police_members_string = police_members_integer.ToString() + "/" + group_pol.Members.Count; medic_members_string = medic_members_integer.ToString() + "/" + group_med.Members.Count; mechanic_members_string = mechanic_members_integer.ToString() + "/" + group_mec.Members.Count; admin_members_string = admin_members_integer.ToString() + "/" + group_ad.Members.Count; } else { police_members_string = police_members_integer.ToString(); medic_members_string = medic_members_integer.ToString(); mechanic_members_string = mechanic_members_integer.ToString(); admin_members_string = admin_members_integer.ToString(); } EffectManager.sendUIEffectText(effectshortID, p.CSteamID, true, "police_members_count_text", Translate("ui_text", Translate("police"), police_members_string)); EffectManager.sendUIEffectText(effectshortID, p.CSteamID, true, "medic_members_count_text", Translate("ui_text", Translate("medic"), medic_members_string)); EffectManager.sendUIEffectText(effectshortID, p.CSteamID, true, "mechanic_members_count_text", Translate("ui_text", Translate("mechanic"), mechanic_members_string)); EffectManager.sendUIEffectText(effectshortID, p.CSteamID, true, "admin_members_count_text", Translate("ui_text", Translate("admin"), admin_members_string)); }
public void Execute(IRocketPlayer caller, string[] command) { UnturnedPlayer plr = (UnturnedPlayer)caller; //plr.Player.transform.gameObject.TryAddComponent<Module.HUD_Players>(); }
private void OnPlayerConnected(UnturnedPlayer player) { player.Player.GetComponent <PlayerComponent>().Checker(player); }
public void Execute(IRocketPlayer caller, string[] command) { UnturnedPlayer player = (UnturnedPlayer)caller; if (command.Length == 0 || command.Length > 2) { UnturnedChat.Say(player, U.Translate("command_generic_invalid_parameter")); throw new WrongUsageOfCommandException(caller, this); } ushort id = 0; byte amount = 1; string itemString = command[0].ToString(); if (!ushort.TryParse(itemString, out id)) { List <ItemAsset> sortedAssets = new List <ItemAsset>(SDG.Unturned.Assets.find(EAssetType.ITEM).Cast <ItemAsset>()); ItemAsset asset = sortedAssets.Where(i => i.itemName != null).OrderBy(i => i.itemName.Length).Where(i => i.itemName.ToLower().Contains(itemString.ToLower())).FirstOrDefault(); if (asset != null) { id = asset.id; } if (String.IsNullOrEmpty(itemString.Trim()) || id == 0) { UnturnedChat.Say(player, U.Translate("command_generic_invalid_parameter")); throw new WrongUsageOfCommandException(caller, this); } } Asset a = SDG.Unturned.Assets.find(EAssetType.ITEM, id); if (command.Length == 2 && !byte.TryParse(command[1].ToString(), out amount) || a == null) { UnturnedChat.Say(player, U.Translate("command_generic_invalid_parameter")); throw new WrongUsageOfCommandException(caller, this); } string assetName = ((ItemAsset)a).itemName; if (U.Settings.Instance.EnableItemBlacklist && !player.HasPermission("itemblacklist.bypass")) { for (int i = 0; i < U.Settings.Instance.Items.Count; i++) { Blacklist Item = U.Settings.Instance.Items[i]; if (id == Item.id) { UnturnedChat.Say(player, U.Translate("command_i_blacklisted")); return; } } } if (U.Settings.Instance.EnableItemSpawnLimit && !player.HasPermission("itemspawnlimit.bypass")) { if (amount > U.Settings.Instance.MaxSpawnAmount) { UnturnedChat.Say(player, U.Translate("command_i_too_much", U.Settings.Instance.MaxSpawnAmount)); return; } } if (player.GiveItem(id, amount)) { Logger.Log(U.Translate("command_i_giving_console", player.DisplayName, id, amount)); UnturnedChat.Say(player, U.Translate("command_i_giving_private", amount, assetName, id)); } else { UnturnedChat.Say(player, U.Translate("command_i_giving_failed_private", amount, assetName, id)); } }
public UnturnedPlayerReputationUpdatedEvent(UnturnedPlayer player, int reputation) : base(player) { Reputation = reputation; }
public UnturnedPlayerExperienceUpdatedEvent(UnturnedPlayer player, uint experience) : base(player) { Experience = experience; }
public void Execute(ICommandContext context) { UnturnedPlayer uCaller = ((UnturnedUser)context.User).Player; WebsiteCommandsPlugin.OpenUrl(uCaller, Url, Summary); }