/// <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>(); } }
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; }
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; }
public static void SendAccountMessage(ClientAccountStruct account) { ConnectionHelper.SendMessageToPlayer(account.SteamId, new MessageUpdateClient { ClientUpdateAction = ClientUpdateAction.Account, BankBalance = account.BankBalance, MissionId = account.MissionId }); }