diff --git a/2001/ze_surf_froyo/countdown.js b/2001/ze_surf_froyo/countdown.js new file mode 100644 index 0000000..d7e6004 --- /dev/null +++ b/2001/ze_surf_froyo/countdown.js @@ -0,0 +1,61 @@ +import { Instance } from "cs_script/point_script"; +let remainingTime = 0; +let isActive = false; +const hudhint = "countdown_hud"; +Instance.OnScriptInput("ShowCountdown120", () => StartCountdown(120)); +Instance.OnScriptInput("ShowCountdown90", () => StartCountdown(90)); +Instance.OnScriptInput("ShowCountdown60", () => StartCountdown(60)); +Instance.OnScriptInput("ShowCountdown45", () => StartCountdown(45)); +Instance.OnScriptInput("ShowCountdown40", () => StartCountdown(40)); +Instance.OnScriptInput("ShowCountdown35", () => StartCountdown(35)); +Instance.OnScriptInput("ShowCountdown30", () => StartCountdown(30)); +Instance.OnScriptInput("ShowCountdown25", () => StartCountdown(25)); +Instance.OnScriptInput("ShowCountdown20", () => StartCountdown(20)); +Instance.OnScriptInput("ShowCountdown15", () => StartCountdown(15)); +Instance.OnScriptInput("ShowCountdown10", () => StartCountdown(10)); + +Instance.OnScriptInput("HideCountdown", () => { + Instance.EntFireAtName({name: hudhint, input: "HideHudHint"}); + isActive = false; + remainingTime = 0; + Instance.SetThink(null); +}); + +function StartCountdown(time) { + const seconds = parseInt(time); + if (isNaN(seconds) || seconds <= 0) { + Instance.Msg("bad param"); + return; + } + remainingTime = seconds; + isActive = true; + Instance.SetThink(OnCountdownThink); + Instance.SetNextThink(Instance.GetGameTime()); +} + +function OnCountdownThink() { + if (!isActive) return; + if (remainingTime >= 1) { + let message = " SECONDS LEFT"; + + if(remainingTime == 1) message = " SECOND LEFT"; + message = remainingTime.toString()+message; + Instance.EntFireAtName({name: hudhint, input: "SetMessage", value: message}); + let players = Instance.FindEntitiesByClass("player"); + for(let i = 0; i < players.length; i++) { + let player = players[i]; + Instance.EntFireAtName({ name: hudhint, input: "ShowHudHint", activator: player }); + } + remainingTime--; + Instance.SetNextThink(Instance.GetGameTime() + 1); + } else { + Instance.EntFireAtName({name: hudhint, input: "HideHudHint"}); + isActive = false; + Instance.SetThink(null); + } +} + +Instance.OnRoundStart(() => { + isActive = false; + remainingTime = 0; +}); \ No newline at end of file diff --git a/2001/ze_surf_froyo/skin.js b/2001/ze_surf_froyo/skin.js new file mode 100644 index 0000000..aecc27a --- /dev/null +++ b/2001/ze_surf_froyo/skin.js @@ -0,0 +1,10 @@ +import { Instance } from "cs_script/point_script"; + +Instance.OnPlayerReset((event) => { + let team = event.player.GetTeamNumber(); + if (team == 3) { + event.player.SetModel("models/player/rayman/rayman.vmdl"); + } else if (team == 2) { + event.player.SetModel("models/player/dingodile/dingodile.vmdl"); + } +}) \ No newline at end of file