Ejemplo n.º 1
0
        public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
        {
            plugin.Info(ev.Player.Name + " picked up item " + ev.Item.ItemType);
            //Checks the itemtype of the picked up item
            if (ev.Item.ItemType == Smod2.API.ItemType.COIN)
            {
                double luckyValue = random.NextDouble();

                // Chance of instantly dying
                if (luckyValue < plugin.killChance)
                {
                    ev.Player.Kill();
                }
                else
                {
                    // An array lets other plugins set the values of it in events.
                    Smod2.API.ItemType[] itemPtr = { Smod2.API.ItemType.MICROHID };
                    plugin.InvokeEvent("courtney.example.plugin", itemPtr);

                    // Get the singular item from the array since indexing it every time is annoying.
                    Smod2.API.ItemType item = itemPtr[0];

                    // lottoItemCount is automatically read and converted to an int. This gives the item lottoItemCount times to the player.
                    int count = plugin.lottoItemCount;
                    plugin.Info($"{nameof(plugin.lottoItemCount)} is {count}");
                    for (int i = 0; i < count; i++)
                    {
                        ev.Player.GiveItem(item);
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
 {
     /// <summary>
     /// This is called when a player picks up an item.
     /// </summary>
     plugin.SendMessageAsync(plugin.GetConfigString("discord_channel_onplayerpickupitem"), ev.Player.Name + " (" + ev.Player.SteamId + plugin.MultiLanguage(27) + ev.Item + ".");
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Does handling to see if 343 should either convert to flashlight (Or different item depends on config) or drop the item.
 /// </summary>
 public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
 {
     //plugin.Info((int)ev.Item.ItemType + ":" + ev.Item.ItemType.ToString().Length + ":" + ((int)ev.Item.ItemType).ToString().Length);
     if (Is343(ev.Player))
     {
         if (_343Config.SCP343_convertitems)
         {
             if (_343Config.ItemConvertList.Contains((int)ev.Item.ItemType))
             {
                 ev.ChangeTo = (Smod2.API.ItemType)_343Config.ConvertedItemList[RNG.Next(_343Config.ConvertedItemList.Length - 1)];
             }
             if (_343Config.ItemBlackList.Contains((int)ev.Item.ItemType))
             {
                 ev.Item.Drop();                        //Idk how to not have it picked up
                 ev.Allow = false;                      // This deletes the item :(
             }
         }
         else if (_343Config.SCP343_convertitems == false && PluginManager.Manager.Server.Round.Duration >= 3)
         {
             if (_343Config.ItemBlackList.Contains((int)ev.Item.ItemType) || _343Config.ItemConvertList.Contains((int)ev.Item.ItemType))
             {
                 ev.Item.Drop();                        //Idk how to not have it picked up
                 ev.Allow = false;                      // This deletes the item :(
             }
         }
     }
 }
Ejemplo n.º 4
0
 public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
 {
     if (!allowPickup && ev.Player.TeamRole.Role == Role.TUTORIAL)
     {
         ev.Allow = false;
         plugin.pluginManager.Server.Map.SpawnItem(ev.Item.ItemType, ev.Player.GetPosition(), Vector.Zero);
     }
 }
Ejemplo n.º 5
0
 public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
 {
     //no permite al SCP-939-53 tomar objetos
     if (Habilidad.ContainsKey(ev.Player.SteamId))
     {
         ev.Allow = false;
     }
 }
Ejemplo n.º 6
0
 void IEventHandlerPlayerPickupItem.OnPlayerPickupItem(PlayerPickupItemEvent ev)
 {
     send(ev, new IdMapping()
          .appendId(Lib.PLAYER_ID, ev.Player)
          .appendId(Lib.PLAYER_EVENT_SCPDATA_ID, ev.Player.Scp079Data)
          .appendId(Lib.PLAYER_EVENT_TEAM_ROLE_ID, ev.Player.TeamRole)
          .appendId(Lib.ITEM_EVENT_ID, ev.Item)
          );
 }
Ejemplo n.º 7
0
        public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
        {
            if (this.isPluginDisabledThisRound)
            {
                return;
            }

            ev.Allow = this.isActualRoundStarted;
        }
Ejemplo n.º 8
0
 public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
 {
     if (ev.Item.ItemType == ItemType.SCP268)
     {
         ev.Item.Remove();
     }
     else
     {
         ev.Item.Drop();
     }
 }
Ejemplo n.º 9
0
        private static void Searching_CallCmdPickupItem(On.Searching.orig_CallCmdPickupItem orig, Searching self, UnityEngine.GameObject t)
        {
            var evnt = new PlayerPickupItemEvent(new LabPlayer(self.gameObject), new LabItem(t), (Smod2.API.ItemType)t.GetComponent <Pickup>().ItemId, true);

            EventManager.Manager.HandleEvent <IEventHandlerPlayerPickupItem>(evnt);
            if (evnt.Allow)
            {
                t.GetComponent <Pickup>().info.itemId = (ItemType)evnt.ChangeTo;
                orig(self, t);
                var evnt2 = new PlayerPickupItemLateEvent(new LabPlayer(self.gameObject), new LabItem(t));
                EventManager.Manager.HandleEvent <IEventHandlerPlayerPickupItemLate>(evnt2);
            }
        }
Ejemplo n.º 10
0
 public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
 {
     if (ev.Item.ItemType == ItemType.COIN)
     {
         ev.Item.Remove();
     }
     if ((ev.Item.ItemType == ItemType.FRAG_GRENADE) && (ev.Item.InWorld == true))
     {
         ev.Allow = false;
     }
     if ((ev.Item.ItemType == ItemType.COM15) || (ev.Item.ItemType == ItemType.USP) || (ev.Item.ItemType == ItemType.P90) || (ev.Item.ItemType == ItemType.LOGICER) || (ev.Item.ItemType == ItemType.E11_STANDARD_RIFLE) || (ev.Item.ItemType == ItemType.MP4))
     {
         ev.ChangeTo = ItemType.FRAG_GRENADE;
     }
 }
        public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
        {
            plugin.Info(ev.Player.Name + " picked up item " + ev.Item.ItemType);
            if (ev.Item.ItemType == ItemType.COIN)
            {
                double luckyValue = rnd.NextDouble();
                if (luckyValue > 0.8)
                {
                    ev.Player.Kill();
                }

                if (luckyValue < 0.1)
                {
                    ev.ChangeTo = ItemType.MICROHID;
                }
            }
        }
Ejemplo n.º 12
0
        public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
        {
            /// <summary>
            /// This is called when a player picks up an item.
            /// </summary>
            Dictionary <string, string> variables = new Dictionary <string, string>
            {
                { "item", ev.Item.ToString() },
                { "ipaddress", ev.Player.IpAddress },
                { "name", ev.Player.Name },
                { "playerid", ev.Player.PlayerId.ToString() },
                { "steamid", ev.Player.SteamId },
                { "class", ev.Player.TeamRole.Role.ToString() },
                { "team", ev.Player.TeamRole.Team.ToString() }
            };

            plugin.SendMessage(Config.GetArray("channels.onplayerpickupitem"), "player.onplayerpickupitem", variables);
        }
Ejemplo n.º 13
0
        public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
        {
            plugin.Info(ev.Player.Name + " picked up item " + ev.Item.ItemType);
            //Checks the itemtype of the picked up item
            if (ev.Item.ItemType == ItemType.COIN)
            {
                double luckyValue = random.NextDouble();
                if (luckyValue > 0.8)
                {
                    //20% chance of instantly dying
                    ev.Player.Kill();
                }

                if (luckyValue < 0.1)
                {
                    //10% chance of getting a MicroHID
                    ev.ChangeTo = ItemType.MICROHID;
                }
            }
        }
Ejemplo n.º 14
0
 public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
 {
     plugin.luaHookCall.Function.Call("OnPlayerPickupItem", ev.Player, ev.Item, ev.Allow, ev.ChangeTo);
 }
Ejemplo n.º 15
0
 public void OnPlayerPickupItem(PlayerPickupItemEvent ev)
 {
     ev.Item.Drop();
 }