diff --git a/Events/TM_HolidayShowdown.Script.txt b/Events/TM_HolidayShowdown.Script.txt index ab1f629..a6a2085 100644 --- a/Events/TM_HolidayShowdown.Script.txt +++ b/Events/TM_HolidayShowdown.Script.txt @@ -139,7 +139,11 @@ if (Now > WaitNextUpdate) { if (Player.Score.PrevRaceTimes.count > 0 && Player.RaceWaypointTimes.count == Player.Score.PrevRaceTimes.count && Player.RaceWaypointTimes[Player.RaceWaypointTimes.count - 1] == Player.Score.PrevRaceTimes[Player.Score.PrevRaceTimes.count - 1]) { SortedPlayersByRaceTime[Player.User.WebServicesUserId] = Player.Score.PrevRaceTimes[Player.Score.PrevRaceTimes.count - 1]; } else if (UIManager.UIAll.UISequence == CUIConfig::EUISequence::Playing && Player.SpawnStatus == CSmPlayer::ESpawnStatus::NotSpawned) { - SortedPlayersEliminated.add(Player.User.WebServicesUserId); + declare netwrite Integer Net_Knockout_KnockoutInfo_PlayersNb for Teams[0] = 0; + declare netwrite Boolean Net_Knockout_PlayerIsAlive for Player.Score = False; + if (Net_Knockout_KnockoutInfo_PlayersNb == 0 || Net_Knockout_PlayerIsAlive) { + SortedPlayersEliminated.add(Player.User.WebServicesUserId); + } } else { SortedPlayersByAltitude[Player.User.WebServicesUserId] = ML::FloorInteger(Player.Position.Y); } @@ -167,6 +171,7 @@ if (Now > WaitNextUpdate) { Eliminated = False, isSpectator = Player.RequestsSpectate }); + if (Rank != HolidayShowdown_PrevRank) CarRank::SetRank(Player, Rank); HolidayShowdown_PrevRank = Rank; Rank = Rank + 1; } @@ -189,6 +194,7 @@ if (Now > WaitNextUpdate) { Eliminated = False, isSpectator = Player.RequestsSpectate }); + if (Rank != HolidayShowdown_PrevRank) CarRank::SetRank(Player, Rank); HolidayShowdown_PrevRank = Rank; Rank = Rank + 1; } @@ -211,6 +217,7 @@ if (Now > WaitNextUpdate) { Eliminated = True, isSpectator = Player.RequestsSpectate }); + if (Rank != HolidayShowdown_PrevRank) CarRank::SetRank(Player, Rank); HolidayShowdown_PrevRank = Rank; Rank = Rank + 1; } @@ -225,6 +232,21 @@ if (Net_FloorsInfo != S_FloorsInfo) { } *** +***PhysicsController_NewCustomEvents*** +*** +if (Event.CustomEventType == "Request.ResetCD") { + declare Text Target = Event.CustomEventData[0]; + Log::Log("[UIManager] Admin send reset CD to : " ^ Target); + declare CSmPlayer Player = GetPlayer(Target); + if (Player != Null) { + declare netwrite Integer Net_CoolDownForEffects for Player = 0; + declare netwrite Integer Net_CoolDownBeforeReset for Player = 0; + Net_CoolDownForEffects=0; + Net_CoolDownBeforeReset=0; + } +} +*** + Void SetHolidayShowdownControlML() { @@ -471,6 +493,7 @@ Void SetHolidayShowdownControlML() { declare CMlQuad Quad_Fg <=> (Page.GetFirstChild("quad-fg") as CMlQuad); declare CMlQuad Quad_AntiClicks_Fg <=> (Page.GetFirstChild("quad-anticlicks-fg") as CMlQuad); declare CMlLabel Frame_Warning <=> (Page.GetFirstChild("frame-Warning") as CMlLabel); + declare CMlFrame Frame_Admin <=> (Page.GetFirstChild("Admin_Frame") as CMlFrame); declare CMlLabel Label_Title <=> (Page.GetFirstChild("label-title") as CMlLabel); @@ -596,6 +619,10 @@ Void SetHolidayShowdownControlML() { Frame_Global.Visible = False; } + if (Frame_Admin.Visible != Last_PlayerIsAdmin) { + Frame_Admin.Visible = Last_PlayerIsAdmin; + } + // Events foreach(Event in PendingEvents) { DevLog("[PendingEvents] Event.Type: " ^ Event.Type); @@ -612,6 +639,10 @@ Void SetHolidayShowdownControlML() { DevLog("[PendingEvents] Request of " ^ Effect ^ " to " ^ Target); SendCustomEvent("Request.PlayerPhysics." ^ Effect, [Target, "1"]); } + } else if (Event.ControlId == "ResetCD_SettingButton") { + declare Text Target = Owner.User.Login; + DevLog("[PendingEvents] Request reset CD to " ^ Target); + SendCustomEvent("Request.ResetCD", [Target]); } else if (Event.ControlId == "Toggle_Bg_SettingButton") { DevLog("[PendingEvents] Toggle UI by " ^ Owner.User.Login); ToggleUI(); @@ -739,6 +770,16 @@ Void SetHolidayShowdownControlML() { + + + + + + + + + +