//////////////////////////////////////////////////////////////////////////////////////// // Добыча ресурсов игроком //////////////////////////////////////////////////////////////////////////////////////// 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(); } }
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); } } }