Updated basetriggers to use more translation friendly phrases (bug 3330, r=dvander).
Basetriggers now counts rounds remaining for mp_maxrounds output.
This commit is contained in:
parent
4a1c565b62
commit
07cbe39552
@ -64,6 +64,8 @@ new Handle:g_Cvar_MaxRounds = INVALID_HANDLE;
|
|||||||
|
|
||||||
new bool:mapchooser;
|
new bool:mapchooser;
|
||||||
|
|
||||||
|
new g_TotalRounds;
|
||||||
|
|
||||||
public OnPluginStart()
|
public OnPluginStart()
|
||||||
{
|
{
|
||||||
LoadTranslations("common.phrases");
|
LoadTranslations("common.phrases");
|
||||||
@ -81,6 +83,11 @@ public OnPluginStart()
|
|||||||
|
|
||||||
HookConVarChange(g_Cvar_TimeleftInterval, ConVarChange_TimeleftInterval);
|
HookConVarChange(g_Cvar_TimeleftInterval, ConVarChange_TimeleftInterval);
|
||||||
|
|
||||||
|
HookEvent("round_end", Event_RoundEnd);
|
||||||
|
HookEvent("game_start", Event_GameStart);
|
||||||
|
HookEventEx("teamplay_win_panel", Event_TeamPlayWinPanel);
|
||||||
|
HookEventEx("teamplay_restart_round", Event_TFRestartRound);
|
||||||
|
HookEventEx("arena_win_panel", Event_TeamPlayWinPanel);
|
||||||
|
|
||||||
g_Cvar_WinLimit = FindConVar("mp_winlimit");
|
g_Cvar_WinLimit = FindConVar("mp_winlimit");
|
||||||
g_Cvar_FragLimit = FindConVar("mp_fraglimit");
|
g_Cvar_FragLimit = FindConVar("mp_fraglimit");
|
||||||
@ -89,6 +96,37 @@ public OnPluginStart()
|
|||||||
mapchooser = LibraryExists("mapchooser");
|
mapchooser = LibraryExists("mapchooser");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public OnMapStart()
|
||||||
|
{
|
||||||
|
g_TotalRounds = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Round count tracking */
|
||||||
|
public Event_TFRestartRound(Handle:event, const String:name[], bool:dontBroadcast)
|
||||||
|
{
|
||||||
|
/* Game got restarted - reset our round count tracking */
|
||||||
|
g_TotalRounds = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Event_GameStart(Handle:event, const String:name[], bool:dontBroadcast)
|
||||||
|
{
|
||||||
|
/* Game got restarted - reset our round count tracking */
|
||||||
|
g_TotalRounds = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Event_TeamPlayWinPanel(Handle:event, const String:name[], bool:dontBroadcast)
|
||||||
|
{
|
||||||
|
if(GetEventInt(event, "round_complete") == 1 || StrEqual(name, "arena_win_panel"))
|
||||||
|
{
|
||||||
|
g_TotalRounds++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* You ask, why don't you just use team_score event? And I answer... Because CSS doesn't. */
|
||||||
|
public Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
|
||||||
|
{
|
||||||
|
g_TotalRounds++;
|
||||||
|
}
|
||||||
|
|
||||||
public OnLibraryRemoved(const String:name[])
|
public OnLibraryRemoved(const String:name[])
|
||||||
{
|
{
|
||||||
if (StrEqual(name, "mapchooser"))
|
if (StrEqual(name, "mapchooser"))
|
||||||
@ -330,12 +368,27 @@ ShowTimeLeft(client, who)
|
|||||||
new len = strlen(finalOutput);
|
new len = strlen(finalOutput);
|
||||||
if (len < sizeof(finalOutput))
|
if (len < sizeof(finalOutput))
|
||||||
{
|
{
|
||||||
FormatEx(finalOutput[len], sizeof(finalOutput)-len, "%T", "WinLimitAppend" ,client, winlimit, (winlimit == 1)? "":"s");
|
if (winlimit > 1)
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput[len], sizeof(finalOutput)-len, "%T", "WinLimitAppendPlural" ,client, winlimit);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput[len], sizeof(finalOutput)-len, "%T", "WinLimitAppend" ,client);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FormatEx(finalOutput, sizeof(finalOutput), "%T", "WinLimit", client, winlimit, (winlimit == 1)? "":"s");
|
if (winlimit > 1)
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput, sizeof(finalOutput), "%T", "WinLimitPlural", client, winlimit);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput, sizeof(finalOutput), "%T", "WinLimit", client);
|
||||||
|
}
|
||||||
|
|
||||||
written = true;
|
written = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -352,12 +405,27 @@ ShowTimeLeft(client, who)
|
|||||||
new len = strlen(finalOutput);
|
new len = strlen(finalOutput);
|
||||||
if (len < sizeof(finalOutput))
|
if (len < sizeof(finalOutput))
|
||||||
{
|
{
|
||||||
FormatEx(finalOutput[len], sizeof(finalOutput)-len, "%T", "FragLimitAppend", client, fraglimit, (fraglimit == 1)? "":"s");
|
if (fraglimit > 1)
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput[len], sizeof(finalOutput)-len, "%T", "FragLimitAppendPlural", client, fraglimit);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput[len], sizeof(finalOutput)-len, "%T", "FragLimitAppend", client);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FormatEx(finalOutput, sizeof(finalOutput), "%T", "FragLimit", client, fraglimit, (fraglimit == 1)? "":"s");
|
if (fraglimit > 1)
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput, sizeof(finalOutput), "%T", "FragLimitPlural", client, fraglimit);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput, sizeof(finalOutput), "%T", "FragLimit", client);
|
||||||
|
}
|
||||||
|
|
||||||
written = true;
|
written = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -369,17 +437,34 @@ ShowTimeLeft(client, who)
|
|||||||
|
|
||||||
if (maxrounds > 0)
|
if (maxrounds > 0)
|
||||||
{
|
{
|
||||||
|
new remaining = maxrounds - g_TotalRounds;
|
||||||
|
|
||||||
if (written)
|
if (written)
|
||||||
{
|
{
|
||||||
new len = strlen(finalOutput);
|
new len = strlen(finalOutput);
|
||||||
if (len < sizeof(finalOutput))
|
if (len < sizeof(finalOutput))
|
||||||
{
|
{
|
||||||
FormatEx(finalOutput[len], sizeof(finalOutput)-len, "%T", "MaxRoundsAppend", client, maxrounds, (maxrounds == 1)? "":"s");
|
if (remaining > 1)
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput[len], sizeof(finalOutput)-len, "%T", "MaxRoundsAppendPlural", client, remaining);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput[len], sizeof(finalOutput)-len, "%T", "MaxRoundsAppend", client);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FormatEx(finalOutput, sizeof(finalOutput), "%T", "MaxRounds", client, maxrounds, (maxrounds == 1)? "":"s");
|
if (remaining > 1)
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput, sizeof(finalOutput), "%T", "MaxRoundsPlural", client, remaining);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FormatEx(finalOutput, sizeof(finalOutput), "%T", "MaxRounds", client);
|
||||||
|
}
|
||||||
|
|
||||||
written = true;
|
written = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,37 +29,68 @@
|
|||||||
|
|
||||||
"WinLimitAppend"
|
"WinLimitAppend"
|
||||||
{
|
{
|
||||||
"#format" "{1:i},{2:s}"
|
"en" ", or change map after a team wins one round"
|
||||||
"en" ", or change map after a team wins {1} round{2}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
"WinLimit"
|
"WinLimit"
|
||||||
{
|
{
|
||||||
"#format" "{1:i},{2:s}"
|
"en" "Map will change after a team wins one round"
|
||||||
"en" "Map will change after a team wins {1} round{2}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
"MaxRoundsAppend"
|
"MaxRoundsAppend"
|
||||||
{
|
{
|
||||||
"#format" "{1:i},{2:s}"
|
"en" ", or change map after one more round"
|
||||||
"en" ", or change map after {1} round{2}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
"MaxRounds"
|
"MaxRounds"
|
||||||
{
|
{
|
||||||
"#format" "{1:i},{2:s}"
|
"en" "Map will change after one more round"
|
||||||
"en" "Map will change after {1} round{2}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
"FragLimitAppend"
|
"FragLimitAppend"
|
||||||
{
|
{
|
||||||
"#format" "{1:i},{2:s}"
|
"en" ", or change map after player reaches one frag"
|
||||||
"en" ", or change map after player reaches {1} frag{2}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
"FragLimit"
|
"FragLimit"
|
||||||
{
|
{
|
||||||
"#format" "{1:i},{2:s}"
|
"en" "Map will change after a player reaches one frag"
|
||||||
"en" "Map will change after a player reaches {1} frag{2}"
|
}
|
||||||
|
|
||||||
|
"WinLimitAppendPlural"
|
||||||
|
{
|
||||||
|
"#format" "{1:i}"
|
||||||
|
"en" ", or change map after a team wins {1} rounds"
|
||||||
|
}
|
||||||
|
|
||||||
|
"WinLimitPlural"
|
||||||
|
{
|
||||||
|
"#format" "{1:i}"
|
||||||
|
"en" "Map will change after a team wins {1} rounds"
|
||||||
|
}
|
||||||
|
|
||||||
|
"MaxRoundsAppendPlural"
|
||||||
|
{
|
||||||
|
"#format" "{1:i}"
|
||||||
|
"en" ", or change map after {1} more rounds"
|
||||||
|
}
|
||||||
|
|
||||||
|
"MaxRoundsPlural"
|
||||||
|
{
|
||||||
|
"#format" "{1:i}"
|
||||||
|
"en" "Map will change after {1} more rounds"
|
||||||
|
}
|
||||||
|
|
||||||
|
"FragLimitAppendPlural"
|
||||||
|
{
|
||||||
|
"#format" "{1:i}"
|
||||||
|
"en" ", or change map after player reaches {1} frags"
|
||||||
|
}
|
||||||
|
|
||||||
|
"FragLimitPlural"
|
||||||
|
{
|
||||||
|
"#format" "{1:i}"
|
||||||
|
"en" "Map will change after a player reaches {1} frags"
|
||||||
}
|
}
|
||||||
|
|
||||||
"LastRound"
|
"LastRound"
|
||||||
|
Loading…
Reference in New Issue
Block a user