コード例 #1
0
ファイル: Wallet.cs プロジェクト: pharrisee/7dtd-ServerTools
        public static void RemoveCurrency(string _steamid, int _amount)
        {
            int        count = 0;
            ClientInfo cInfo = PersistentOperations.GetClientInfoFromNameOrId(_steamid);

            if (cInfo != null)
            {
                EntityPlayer player = PersistentOperations.GetEntityPlayer(cInfo.entityId);
                if (player != null)
                {
                    if (player.IsSpawned())
                    {
                        count = GetCurrency(cInfo.CrossplatformId.CombinedString);
                        if (count > _amount)
                        {
                            count -= _amount;
                            ItemStack stack = new ItemStack(ItemClass.GetItem(PersistentOperations.Currency_Item, false), count);
                            if (stack != null)
                            {
                                UpdateRequired.Add(cInfo.entityId, count);
                                GameEventManager.Current.HandleAction("action_currency", null, player, false, "");
                                cInfo.SendPackage(NetPackageManager.GetPackage <NetPackageGameEventResponse>().Setup("action_currency", cInfo.playerName, "", "", NetPackageGameEventResponse.ResponseTypes.Approved));
                            }
                        }
                        else if (count == _amount)
                        {
                            GameEventManager.Current.HandleAction("action_currency", null, player, false, "");
                            cInfo.SendPackage(NetPackageManager.GetPackage <NetPackageGameEventResponse>().Setup("action_currency", cInfo.playerName, "", "", NetPackageGameEventResponse.ResponseTypes.Approved));
                        }
                    }
                    else
                    {
                        Timers.Wallet_Remove_SingleUseTimer(cInfo.CrossplatformId.CombinedString, count);
                    }
                }
            }
        }