コード例 #1
0
        /// <summary>
        /// Check we have our NPC banker ready.
        /// </summary>
        public static void VerifyAndCreate(EconDataStruct data)
        {
            // we look up our bank record based on our bogus NPC Steam Id/
            ClientAccountStruct myNpcAccount = data.Clients.FirstOrDefault(
                a => a.SteamId == EconomyConsts.NpcMerchantId);

            // Do it have an account already?
            if (myNpcAccount == null)
            {
                //nope, lets construct our bank record with a new balance
                myNpcAccount = AccountManager.CreateNewDefaultAccount(EconomyConsts.NpcMerchantId, EconomyScript.Instance.ServerConfig.NpcMerchantName, 0);

                //ok lets apply it
                data.Clients.Add(myNpcAccount);
                data.CreditBalance -= myNpcAccount.BankBalance;
                EconomyScript.Instance.ServerLogger.WriteInfo("Banker Account Created.");
            }
            else
            {
                EconomyScript.Instance.ServerLogger.WriteInfo("Banker Account Exists.");
            }

            // ShipSale was added recently, so this makes sure the list is created in existing data stores.
            if (data.ShipSale == null)
            {
                data.ShipSale = new List <ShipSaleStruct>();
            }
        }
コード例 #2
0
 public static void ResetAccount(ClientAccountStruct account)
 {
     EconomyScript.Instance.Data.CreditBalance += account.BankBalance;
     EconomyScript.Instance.Data.CreditBalance -= EconomyScript.Instance.ServerConfig.DefaultStartingBalance;
     account.BankBalance = EconomyScript.Instance.ServerConfig.DefaultStartingBalance;
     account.Date        = DateTime.Now;
 }
コード例 #3
0
        public override void ProcessServer()
        {
            EconomyScript.Instance.ServerLogger.WriteVerbose("Action /hud started by Steam Id '{0}'.", SenderSteamId);

            ClientAccountStruct playerAccount = AccountManager.FindAccount(SenderSteamId);

            if (playerAccount == null)
            {
                return;
            }

            playerAccount.ClientHudSettings = HudSettings;
        }
コード例 #4
0
 public static void SendAccountMessage(ClientAccountStruct account)
 {
     ConnectionHelper.SendMessageToPlayer(account.SteamId, new MessageUpdateClient {
         ClientUpdateAction = ClientUpdateAction.Account, BankBalance = account.BankBalance, MissionId = account.MissionId
     });
 }