/// <summary> /// Start the poll /// </summary> public void Start() { EssLang.Broadcast("POLL_STARTED", Name, Description); var thiz = this; lock (Polls) Polls.Add(Name, thiz); if (Duration > 0) { Task.Create() .Id("Poll Stop") .Delay(TimeSpan.FromSeconds(Duration)) .Action(() => { lock (Polls) { if (!Polls.ContainsKey(thiz.Name)) { return; } thiz.Stop(); } }) .Submit(); } if (!UEssentials.Config.EnablePollRunningMessage) { return; } var interval = UEssentials.Config.PollRunningMessageCooldown * 1000; Task.Create() .Id("Poll Running Message") .Interval(interval) .UseIntervalAsDelay() .Action(task => { lock (Polls) { if (!Polls.ContainsKey(thiz.Name)) { task.Cancel(); return; } EssLang.Broadcast("POLL_RUNNING", thiz.Name, thiz.Description, thiz.YesVotes, thiz.NoVotes); } }) .Submit(); }
/// <summary> /// Start the poll /// </summary> public void Start() { EssLang.Broadcast("POLL_STARTED", Name, Description); var thiz = this; lock (Polls) Polls.Add(Name, thiz); if (Duration > 0) { Tasks.New(task => { lock (Polls) { if (!Polls.ContainsKey(thiz.Name)) { return; } thiz.Stop(); } }).Delay(Duration * 1000).Go(); } if (!UEssentials.Config.EnablePollRunningMessage) { return; } var interval = UEssentials.Config.PollRunningMessageCooldown * 1000; Tasks.New(task => { lock (Polls) { if (!Polls.ContainsKey(thiz.Name)) { task.Cancel(); return; } EssLang.Broadcast( "POLL_RUNNING", thiz.Name, thiz.Description, thiz.YesVotes, thiz.NoVotes ); } }).Interval(interval).Delay(interval).Go(); }
private void LeaveMessage(UnturnedPlayer player) { EssLang.Broadcast("PLAYER_EXITED", player.CharacterName); }
private void JoinMessage(UnturnedPlayer player) { EssLang.Broadcast("PLAYER_JOINED", player.CharacterName); }
void DeathMessages(UnturnedPlayer player, EDeathCause cause, ELimb limb, CSteamID killer) { switch (cause) { case EDeathCause.BLEEDING: EssLang.Broadcast("DEATH_BLEEDING", player.CharacterName); break; case EDeathCause.BONES: EssLang.Broadcast("DEATH_BONES", player.CharacterName); break; case EDeathCause.FREEZING: EssLang.Broadcast("DEATH_FREEZING", player.CharacterName); break; case EDeathCause.BURNING: EssLang.Broadcast("DEATH_BURNING", player.CharacterName); break; case EDeathCause.FOOD: EssLang.Broadcast("DEATH_FOOD", player.CharacterName); break; case EDeathCause.WATER: EssLang.Broadcast("DEATH_WATER", player.CharacterName); break; case EDeathCause.GUN: var pKiller = UPlayer.From(killer)?.CharacterName ?? "?"; EssLang.Broadcast("DEATH_GUN", player.CharacterName, TranslateLimb(limb), pKiller); break; case EDeathCause.MELEE: pKiller = UPlayer.From(killer)?.CharacterName ?? "?"; EssLang.Broadcast("DEATH_MELEE", player.CharacterName, TranslateLimb(limb), pKiller); break; case EDeathCause.ZOMBIE: EssLang.Broadcast("DEATH_ZOMBIE", player.CharacterName); break; case EDeathCause.ANIMAL: EssLang.Broadcast("DEATH_ANIMAL", player.CharacterName); break; case EDeathCause.SUICIDE: EssLang.Broadcast("DEATH_SUICIDE", player.CharacterName); break; case EDeathCause.KILL: EssLang.Broadcast("DEATH_KILL", player.CharacterName); break; case EDeathCause.INFECTION: EssLang.Broadcast("DEATH_INFECTION", player.CharacterName); break; case EDeathCause.PUNCH: pKiller = UPlayer.From(killer)?.CharacterName ?? "?"; EssLang.Broadcast("DEATH_PUNCH", player.CharacterName, TranslateLimb(limb), pKiller); break; case EDeathCause.BREATH: EssLang.Broadcast("DEATH_BREATH", player.CharacterName); break; case EDeathCause.ROADKILL: pKiller = UPlayer.From(killer)?.CharacterName ?? "?"; EssLang.Broadcast("DEATH_ROADKILL", pKiller, player.CharacterName); break; case EDeathCause.VEHICLE: EssLang.Broadcast("DEATH_VEHICLE", player.CharacterName); break; case EDeathCause.GRENADE: EssLang.Broadcast("DEATH_GRENADE", player.CharacterName); break; case EDeathCause.SHRED: EssLang.Broadcast("DEATH_SHRED", player.CharacterName); break; case EDeathCause.LANDMINE: EssLang.Broadcast("DEATH_LANDMINE", player.CharacterName); break; case EDeathCause.ARENA: EssLang.Broadcast("DEATH_ARENA", player.CharacterName); break; //TODO add on lang case EDeathCause.MISSILE: break; case EDeathCause.CHARGE: break; case EDeathCause.SPLASH: break; case EDeathCause.SENTRY: break; case EDeathCause.ACID: break; case EDeathCause.BOULDER: break; case EDeathCause.BURNER: break; } }
/// <summary> /// Stop the poll /// </summary> public void Stop() { EssLang.Broadcast("POLL_STOPPED", Name, Description, YesVotes, NoVotes); lock (Polls) Polls.Remove(Name); }