117 lines
4.3 KiB
Plaintext
117 lines
4.3 KiB
Plaintext
|
|
/*
|
|
* This mode uses the TMGL World Cup mode and removes all references to it
|
|
*/
|
|
#Extends "Modes/TrackMania/TM_Final86TMGL_Online.Script.txt"
|
|
// #RequireContext CSmMode
|
|
|
|
#Include "ManiaApps/Nadeo/TMNext/TrackMania/UIModules/TMGLMarkers_Server.Script.txt" as UIModules_TMGLMarkers
|
|
|
|
#Setting S_PointsLimit 100
|
|
#Setting S_RoundsPerMap 3
|
|
#Setting S_ForceLapsNb -1
|
|
#Setting S_PointsRepartition ""
|
|
#Setting S_KOCheckpointNb 0 // Number of checkpoints in lead to validate a K.O.
|
|
#Setting S_KOCheckpointTime 1500 // Advance in milliseconds to validate a K.O.
|
|
#Setting S_KOValidationDelay 1000 // Delay in milliseconds before validating a K.O.
|
|
#Setting S_EnableAmbientSound True //"Enable ambient sound"
|
|
#Setting S_WorldRecords "" // Format : {"map uid": {"AcountId": "player account id", "Time": time in milliseconds}, ...}
|
|
#Setting S_DelayBetweenRounds 0
|
|
#Setting S_ForceRoadSpectatorsNb -1 //< Force the number of spectators displayed on the border of the road
|
|
#Setting S_DecoImageUrl_Screen16x9 ""
|
|
#Setting S_DecoImageUrl_Screen8x1 ""
|
|
#Setting S_DecoImageUrl_Screen16x1 ""
|
|
#Setting S_OverridePlayerProfiles ""
|
|
|
|
#Setting S_DisplayTeamName True as "Display Marker Name on the Live Ranking Interface"
|
|
#Setting S_DisplayTeamColor False as "Display Team Color on the Live Ranking Interface"
|
|
/*
|
|
S_OverridePlayerProfiles Json format : (enpty values can be removed)
|
|
{
|
|
"56f8dd9f-8581-444e-a2ad-1e8e89eed1a4": {
|
|
"WebServicesUserId": "56f8dd9f-8581-444e-a2ad-1e8e89eed1a4",
|
|
"Nickname": "Beu",
|
|
"Flag": "",
|
|
"TeamColor": "",
|
|
"Cheers": "",
|
|
"MarkerName": "$F0FTeam Beu"
|
|
},
|
|
"iiii-jjjj-kkkk-llll": {
|
|
...
|
|
},
|
|
...
|
|
}
|
|
|
|
TeamColor is not used if S_DisplayTeamColor = False
|
|
*/
|
|
|
|
***Match_AfterLoadHud***
|
|
***
|
|
// Remove TMGL Signs
|
|
UIModules::UnloadModules(["UIModule_ChampionTMGL_InfoPanels_2x3", "UIModule_ChampionTMGL_InfoPanels_16x9", "UIModule_ChampionCup_Sign64x10_64x10_Start","UIModule_ChampionCup_Sign64x10_64x10_Finish","UIModule_ChampionCup_Sign64x10_64x10_Checkpoint","FinalTMGL_WinScreen","UIModule_Champion_Chat", "UIModule_Champion_LapsCounter"]);
|
|
***
|
|
|
|
|
|
|
|
***Match_InitMap***
|
|
***
|
|
declare Boolean Last_DisplayTeamName;
|
|
declare Boolean Last_DisplayTeamColor;
|
|
declare Text Last_OverridePlayerProfiles;
|
|
|
|
if (Last_DisplayTeamName != S_DisplayTeamName || Last_DisplayTeamColor != S_DisplayTeamColor) {
|
|
Last_DisplayTeamName = S_DisplayTeamName;
|
|
Last_DisplayTeamColor = S_DisplayTeamColor;
|
|
UIModules_LiveRanking::DisplayTeamName(S_DisplayTeamName);
|
|
UIModules_LiveRanking::DisplayTeamColor(S_DisplayTeamColor);
|
|
}
|
|
if (Last_OverridePlayerProfiles != S_OverridePlayerProfiles) {
|
|
Last_OverridePlayerProfiles = S_OverridePlayerProfiles;
|
|
PlayerProfiles::OverridePlayerProfiles(Teams[0], S_OverridePlayerProfiles);
|
|
ResetMarkersConfig();
|
|
}
|
|
***
|
|
|
|
***Match_PlayLoop***
|
|
***
|
|
if (Last_DisplayTeamName != S_DisplayTeamName || Last_DisplayTeamColor != S_DisplayTeamColor) {
|
|
Last_DisplayTeamName = S_DisplayTeamName;
|
|
Last_DisplayTeamColor = S_DisplayTeamColor;
|
|
UIModules_LiveRanking::DisplayTeamName(S_DisplayTeamName);
|
|
UIModules_LiveRanking::DisplayTeamColor(S_DisplayTeamColor);
|
|
}
|
|
if (Last_OverridePlayerProfiles != S_OverridePlayerProfiles) {
|
|
Last_OverridePlayerProfiles = S_OverridePlayerProfiles;
|
|
PlayerProfiles::OverridePlayerProfiles(Teams[0], S_OverridePlayerProfiles);
|
|
ResetMarkersConfig();
|
|
}
|
|
***
|
|
|
|
|
|
Void ResetMarkersConfig() {
|
|
// Manialink variables
|
|
declare netwrite Text[Integer] Net_ChampionTMGL_TMGLMarkers_MarkerFrameIds for Teams[0] = [];
|
|
declare netwrite Integer Net_ChampionTMGL_TMGLMarkers_MarkerFrameIdsUpdate for Teams[0] = 0;
|
|
|
|
// TMGLMarkers Lib variables
|
|
declare Ident[Ident] LibTMGLMarkers_MarkedPlayerIds for UIManager.UIAll = [];
|
|
declare Integer[Ident] LibTMGLMarkers_MarkerFrameIds for UIManager.UIAll = [];
|
|
|
|
declare Text[Integer] MarkerToUpdate;
|
|
foreach (Key => Value in Net_ChampionTMGL_TMGLMarkers_MarkerFrameIds) {
|
|
MarkerToUpdate[Key] = "";
|
|
}
|
|
|
|
LibTMGLMarkers_MarkedPlayerIds = [];
|
|
LibTMGLMarkers_MarkerFrameIds = [];
|
|
Net_ChampionTMGL_TMGLMarkers_MarkerFrameIds = MarkerToUpdate;
|
|
Net_ChampionTMGL_TMGLMarkers_MarkerFrameIdsUpdate += 1;
|
|
|
|
|
|
// Force update at next yield
|
|
foreach (Player in Players) {
|
|
declare Boolean LibTMGLMarkers_NewPlayer for Player = True;
|
|
LibTMGLMarkers_NewPlayer = True;
|
|
break;
|
|
}
|
|
} |