Example #1
0
        ////////////////////////////////////////////////////////////////////////////////////////
        //    Добыча ресурсов игроком
        ////////////////////////////////////////////////////////////////////////////////////////

        void OnDispenserGather(GameObject resourceNode, HurtMonoBehavior player, List <ItemObject> items)
        {
            string Name = GetNameOfObject(resourceNode);

            Name = Name.Replace("(P)", "");
            PlayerSession session = FindSession(Name);

            if (farmStarted && !playersWin.ContainsKey(Name))
            {
                foreach (var item in items)
                {
                    if (item == null)
                    {
                        return;
                    }
                    if (item.GetNameKey().ToString() == currentFarmEvent.Item.ToString())
                    {
                        if (!playersFarming.ContainsKey((ulong)session.SteamId))
                        {
                            playersFarming.Add((ulong)session.SteamId, item.StackSize);
                        }
                        else
                        {
                            playersFarming[(ulong)session.SteamId] += item.StackSize;
                        }

                        if (playersFarming[(ulong)session.SteamId] >= currentFarmEvent.Farm)
                        {
                            if (playersWin.Count < currentFarmEvent.Places)
                            {
                                playersWin.Add(Name, DateTime.Now);
                                TimeSpan ts = DateTime.Now - startTime;
                                BroadcastChat(GetMsg("msg_Prefix"), GetMsg("msg_Finished").Replace("{name}", Name).Replace("{time}", ConvertSecondsToDate(ts.TotalSeconds)));
                                playersFarming.Remove((ulong)session.SteamId);
                                return;
                            }
                            else
                            {
                                cmdFarmingStop(true);
                                return;
                            }
                        }
                    }
                }
            }
        }
        private void OnDispenserGather(GameObject obj, HurtMonoBehavior player, List <ItemObject> items)
        {
            this._owner = GameManager.Instance.GetIdentity(player.networkView.owner);
            for (int i = 0; i < items.Count; i++)
            {
                int defaultStack = items[i].StackSize;
                if (_config.EnableGlobalMultiplier)
                {
                    items[i].StackSize = defaultStack * _config.GlobalMultiplier;
                }
                else
                {
                    items[i].StackSize = defaultStack * _config.Gather;
                }

                items[i].InvalidateStack();
            }
        }
Example #3
0
        void OnDispenserGather(GameObject resourceNode, HurtMonoBehavior player, List <ItemObject> items)
        {
            var session = Player.Find(GetNameOfObject(resourceNode).Replace("(P)", string.Empty));

            if (session == null)
            {
                return;
            }

            if (!permission.UserHasPermission(session.SteamId.ToString(), this.Name.ToLower() + ".use"))
            {
                return;
            }

            for (int index = 0; index < items.Count - 1; index++)
            {
                if (shp.ContainsKey(items[index].GetNameKey()))
                {
                    items[index] = GetItem(shp[items[index].GetNameKey()], items[index].StackSize);
                }
            }
        }