private void FixedUpdate() { if (Uconomy_Essentials.Instance.Configuration.Instance.PayTime && (DateTime.Now - this.lastpaid).TotalSeconds >= Uconomy_Essentials.Instance.Configuration.Instance.PayTimeSeconds) { this.lastpaid = DateTime.Now; decimal pay = 0.0m; Uconomy_Essentials.Instance.PayGroups.TryGetValue("all", out pay); string paygroup = "Player"; if (pay == 0.0m) { // We are checking for the different groups as All is not set. if (this.Player.IsAdmin && Uconomy_Essentials.Instance.PayGroups.ContainsKey("admin")) { Uconomy_Essentials.Instance.PayGroups.TryGetValue("admin", out pay); paygroup = "admin"; if (pay == 0.0m) { Logger.Log(Uconomy_Essentials.Instance.Translate("unable_to_pay_group_msg", new object[] { this.Player.CharacterName, "admin" })); return; } } else { // They aren't admin so we'll just go through like groups like normal. List <RocketPermissionsGroup> plgroups = R.Permissions.GetGroups(this.Player, true); decimal pay2 = 0.0m; foreach (RocketPermissionsGroup s in plgroups) { Logger.Log(s.Id); Uconomy_Essentials.Instance.PayGroups.TryGetValue(s.Id, out pay2); Logger.Log(pay2.ToString()); if (pay2 > pay) { pay = pay2; paygroup = s.Id; } } if (pay == 0.0m) { // We assume they are default group. Uconomy_Essentials.Instance.PayGroups.TryGetValue("default", out pay); if (pay == 0.0m) { // There was an error. End it. Logger.Log(Uconomy_Essentials.Instance.Translate("unable_to_pay_group_msg", new object[] { this.Player.CharacterName, "" })); return; } } } } decimal bal = Uconomy.Instance.Database.IncreaseBalance(this.Player.CSteamID.ToString(), pay); Uconomy_Essentials.HandleEvent(this.Player, pay, "paid"); UnturnedChat.Say(this.Player.CSteamID, Uconomy_Essentials.Instance.Translate("pay_time_msg", new object[] { pay, Uconomy.Instance.Configuration.Instance.MoneyName, paygroup })); if (bal >= 0.0m) { UnturnedChat.Say(this.Player.CSteamID, Uconomy_Essentials.Instance.Translate("new_balance_msg", new object[] { bal, Uconomy.Instance.Configuration.Instance.MoneyName })); } } }
private void rpe_OnUpdateStat(UnturnedPlayer player, EPlayerStat stat) { if (player == null) { return; } Uconomy u = Uconomy.Instance; if (Uconomy_Essentials.Instance.Configuration.Instance.PayZombie && stat == EPlayerStat.KILLS_ZOMBIES_NORMAL) { decimal balzk = u.Database.IncreaseBalance(player.CSteamID.ToString(), (decimal)Uconomy_Essentials.Instance.Configuration.Instance.PayZombieAmt); Uconomy_Essentials.HandleEvent(player, (decimal)Uconomy_Essentials.Instance.Configuration.Instance.PayZombieAmt, "paid"); if (!Uconomy_Essentials.Instance.Configuration.Instance.SendPayZombieMsg) { return; // No message is to be sent, so job is done. } UnturnedChat.Say(player.CSteamID, Uconomy_Essentials.Instance.Translate("zombie_kill_paid_msg", new object[] { Uconomy_Essentials.Instance.Configuration.Instance.PayZombieAmt.ToString(), u.Configuration.Instance.MoneyName, balzk.ToString(), u.Configuration.Instance.MoneyName })); } else if (Uconomy_Essentials.Instance.Configuration.Instance.PayMegaZombie && stat == EPlayerStat.KILLS_ZOMBIES_MEGA) { decimal balzk = u.Database.IncreaseBalance(player.CSteamID.ToString(), (decimal)Uconomy_Essentials.Instance.Configuration.Instance.PayMegaZombieAmt); Uconomy_Essentials.HandleEvent(player, (decimal)Uconomy_Essentials.Instance.Configuration.Instance.PayMegaZombieAmt, "paid"); if (!Uconomy_Essentials.Instance.Configuration.Instance.SendPayMegaZombieMsg) { return; // No message is to be sent, so job is done. } UnturnedChat.Say(player.CSteamID, Uconomy_Essentials.Instance.Translate("mega_zombie_kill_paid_msg", new object[] { Uconomy_Essentials.Instance.Configuration.Instance.PayMegaZombieAmt.ToString(), u.Configuration.Instance.MoneyName, balzk.ToString(), u.Configuration.Instance.MoneyName })); } }
public void Execute(IRocketPlayer caller, string[] msg) { UnturnedPlayer playerid = (UnturnedPlayer)caller; string message; if (msg.Length == 0) { message = Uconomy_Essentials.Instance.Translate("apay_usage_msg", new object[] {}); // We are going to print how to use UnturnedChat.Say(playerid, message); return; } if (msg.Length != 2) { message = Uconomy_Essentials.Instance.Translate("apay_usage_msg", new object[] { }); // Print how to use UnturnedChat.Say(playerid, message); return; } UnturnedPlayer rp = UnturnedPlayer.FromName(msg[0]); if (rp == null) { ulong id; ulong.TryParse(msg[0], out id); if (!((CSteamID)id).IsValid()) { message = Uconomy_Essentials.Instance.Translate("not_valid_player_msg", new object[] { msg[0] }); UnturnedChat.Say(playerid, message); return; } else { rp = UnturnedPlayer.FromCSteamID((CSteamID)id); } } uint amt; uint.TryParse(msg[1], out amt); if (amt <= 0) { message = Uconomy_Essentials.Instance.Translate("not_valid_amount", new object[] { msg[1] }); UnturnedChat.Say(playerid, message); return; } decimal newbal = Uconomy.Instance.Database.IncreaseBalance(rp.CSteamID.ToString(), amt); UnturnedChat.Say(rp.CSteamID, Uconomy_Essentials.Instance.Translate("apaid_msg", new object[] { playerid.CharacterName, amt, Uconomy.Instance.Configuration.Instance.MoneyName, newbal, Uconomy.Instance.Configuration.Instance.MoneyName })); UnturnedChat.Say(playerid, Uconomy_Essentials.Instance.Translate("apay_msg", new object[] { rp.CharacterName, amt, Uconomy.Instance.Configuration.Instance.MoneyName })); Uconomy_Essentials.HandleEvent(rp, amt, "paid"); }
protected override void Load() { Uconomy_Essentials.Instance = this; List <Group> nlgroup = this.Configuration.Instance.PayGroups.Distinct(new GroupComparer()).ToList(); this.Configuration.Instance.PayGroups = nlgroup; foreach (Group g in this.Configuration.Instance.PayGroups) { try { this.PayGroups.Add(g.DisplayName, g.Salary); } catch (Exception e) { Logger.LogException(e); //Logger.Log(g.DisplayName + " " + g.Salary.ToString()); //Logger.Log("There was an exception: " + e); } } }
private void rpe_OnPlayerDeath(UnturnedPlayer player, EDeathCause cause, ELimb limb, CSteamID murderer) { if (player == null) { return; } if (murderer == null) { return; } UnturnedPlayer killer = UnturnedPlayer.FromCSteamID(murderer); if (killer == null) { return; } if (Uconomy_Essentials.Instance.Configuration.Instance.PayHit) { Uconomy u = Uconomy.Instance; decimal bal = u.Database.GetBalance(player.CSteamID.ToString()); if (cause == EDeathCause.SUICIDE && Uconomy_Essentials.Instance.Configuration.Instance.LoseSuicide) { // We are going to remove currency for the suicide decimal loss = (decimal)Uconomy_Essentials.Instance.Configuration.Instance.LoseSuicideAmt * -1.0m; if (bal + loss < 0.0m) { loss = bal * -1.0m; } decimal bal1 = u.Database.IncreaseBalance(player.CSteamID.ToString(), loss); Uconomy_Essentials.HandleEvent(player, (loss * -1.0m), "loss"); UnturnedChat.Say(player.CSteamID, Uconomy_Essentials.Instance.Translate("lose_suicide_msg", new object[] { Uconomy_Essentials.Instance.Configuration.Instance.LoseSuicideAmt, u.Configuration.Instance.MoneyName })); if (bal1 != 0m) { UnturnedChat.Say(player.CSteamID, Uconomy_Essentials.Instance.Translate("new_balance_msg", new object[] { bal1, u.Configuration.Instance.MoneyName })); } return; } else if (cause == EDeathCause.SUICIDE && !Uconomy_Essentials.Instance.Configuration.Instance.LoseSuicide) { // We do nothing if they suicide. return; } if (Uconomy_Essentials.Instance.Configuration.Instance.LoseMoneyOnDeath) { decimal loss = (decimal)Uconomy_Essentials.Instance.Configuration.Instance.LoseMoneyOnDeathAmt * -1.0m; if (bal + loss < 0.0m) { loss = bal * -1.0m; } decimal lostbal = u.Database.IncreaseBalance(player.CSteamID.ToString(), loss); Uconomy_Essentials.HandleEvent(player, (loss * -1.0m), "loss"); UnturnedChat.Say(player.CSteamID, Uconomy_Essentials.Instance.Translate("lose_money_on_death_msg", new object[] { Uconomy_Essentials.Instance.Configuration.Instance.LoseMoneyOnDeathAmt.ToString(), u.Configuration.Instance.MoneyName })); } // Pay the other player for the kill decimal balk = u.Database.IncreaseBalance(murderer.ToString(), (decimal)Uconomy_Essentials.Instance.Configuration.Instance.PayHitAmt); Uconomy_Essentials.HandleEvent(player, (decimal)Uconomy_Essentials.Instance.Configuration.Instance.PayHitAmt, "paid"); if (!Uconomy_Essentials.Instance.Configuration.Instance.SendPayHitMsg) { return; // No message is to be sent, so job is done. } UnturnedChat.Say(murderer, Uconomy_Essentials.Instance.Translate("to_killer_msg", new object[] { Uconomy_Essentials.Instance.Configuration.Instance.PayHitAmt.ToString(), u.Configuration.Instance.MoneyName, player.CharacterName })); if (bal != 0m) { UnturnedChat.Say(murderer, Uconomy_Essentials.Instance.Translate("new_balance_msg", new object[] { balk.ToString(), u.Configuration.Instance.MoneyName })); } } }
public void Execute(IRocketPlayer caller, string[] amt) { UnturnedPlayer playerid = (UnturnedPlayer)caller; string message; if (amt.Length == 0) { message = Uconomy_Essentials.Instance.Translate("exchange_usage_msg", new object[] { }); UnturnedChat.Say(playerid, message); return; } if (amt.Length > 2) { message = Uconomy_Essentials.Instance.Translate("exchange_usage_msg", new object[] { }); UnturnedChat.Say(playerid, message); return; } if (!Uconomy_Essentials.Instance.Configuration.Instance.ExpExchange && amt.Length == 1) { message = Uconomy_Essentials.Instance.Translate("experience_exchange_not_available", new object[] { }); UnturnedChat.Say(playerid, message); return; } if (!Uconomy_Essentials.Instance.Configuration.Instance.MoneyExchange && amt.Length == 2) { message = Uconomy_Essentials.Instance.Translate("money_exchange_not_available", new object[] { }); UnturnedChat.Say(playerid, message); return; } // Get expereience balance first uint exp = playerid.Experience; uint examt = 0; UInt32.TryParse(amt[0], out examt); if (examt <= 0) { message = Uconomy_Essentials.Instance.Translate("exchange_zero_amount_error", new object[] { }); UnturnedChat.Say(playerid, message); return; } if (exp < examt && amt.Length == 1) { message = Uconomy_Essentials.Instance.Translate("exchange_insufficient_experience", new object[] { examt.ToString() }); UnturnedChat.Say(playerid, message); return; } // Get balance first decimal bal = Uconomy.Instance.Database.GetBalance(playerid.CSteamID.ToString()); if (amt.Length > 1 && bal < examt) { message = Uconomy_Essentials.Instance.Translate("exchange_insufficient_money", new object[] { examt.ToString(), Uconomy.Instance.Configuration.Instance.MoneyName }); UnturnedChat.Say(playerid, message); return; } switch (amt.Length) { case 1: decimal gain = (decimal)((float)examt * Uconomy_Essentials.Instance.Configuration.Instance.ExpExchangerate); // Just to make sure to avoid any errors gain = Decimal.Round(gain, 2); decimal newbal = Uconomy.Instance.Database.IncreaseBalance(playerid.CSteamID.ToString(), gain); message = Uconomy_Essentials.Instance.Translate("new_balance_msg", new object[] { newbal.ToString(), Uconomy.Instance.Configuration.Instance.MoneyName }); UnturnedChat.Say(playerid, message); playerid.Experience -= examt; Uconomy_Essentials.HandleEvent(playerid, gain, "exchange", examt); break; case 2: uint gainm = (uint)((float)examt * Uconomy_Essentials.Instance.Configuration.Instance.MoneyExchangerate); // Just to make sure to avoid any errors newbal = Uconomy.Instance.Database.IncreaseBalance(playerid.CSteamID.ToString(), (examt * -1.0m)); message = Uconomy_Essentials.Instance.Translate("new_balance_msg", new object[] { newbal.ToString(), Uconomy.Instance.Configuration.Instance.MoneyName }); UnturnedChat.Say(playerid, message); playerid.Experience += gainm; Uconomy_Essentials.HandleEvent(playerid, gainm, "exchange", examt, "money"); break; } playerid.Player.SteamChannel.send("tellExperience", ESteamCall.OWNER, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[] { playerid.Experience }); }