From 0db2be07003ce05c3af21b8e57e1764cbd8e7158 Mon Sep 17 00:00:00 2001 From: Altair Sossai Date: Tue, 18 Jun 2024 07:35:11 -0300 Subject: [PATCH] Merge fix --- addons/sourcemod/plugins/fixes/bequiet.smx | Bin 5361 -> 7905 bytes .../sourcemod/plugins/optional/autopause.smx | Bin 11998 -> 11822 bytes .../plugins/optional/caster_assister.smx | Bin 5647 -> 5667 bytes addons/sourcemod/scripting/autopause.sp | 12 +- addons/sourcemod/scripting/bequiet.sp | 244 +++++++----------- addons/sourcemod/scripting/caster_assister.sp | 51 ++-- .../translations/autopause.phrases.txt | 29 +++ .../translations/bequiet.phrases.txt | 14 + .../translations/chi/autopause.phrases.txt | 29 +++ .../translations/chi/bequiet.phrases.txt | 14 + 10 files changed, 217 insertions(+), 176 deletions(-) create mode 100644 addons/sourcemod/translations/autopause.phrases.txt create mode 100644 addons/sourcemod/translations/bequiet.phrases.txt create mode 100644 addons/sourcemod/translations/chi/autopause.phrases.txt create mode 100644 addons/sourcemod/translations/chi/bequiet.phrases.txt diff --git a/addons/sourcemod/plugins/fixes/bequiet.smx b/addons/sourcemod/plugins/fixes/bequiet.smx index 109b7291d7d9d57fdc28c2e3a735720325751071..984fea76ee51956faf842c38348d8f1934ed46f0 100644 GIT binary patch delta 7752 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 UEUFoG%hyqByuD$xx*eYUf8H=k`Tzg` delta 5188 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 diff --git a/addons/sourcemod/plugins/optional/autopause.smx b/addons/sourcemod/plugins/optional/autopause.smx index b87c755d82e40992ff591d463eceee57afc6c188..e8247951fa790c5d88e235cf0690c388e699d2ac 100644 GIT binary patch literal 11822 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 Do=!O# literal 11998 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 HA3pm(em-XT diff --git a/addons/sourcemod/plugins/optional/caster_assister.smx b/addons/sourcemod/plugins/optional/caster_assister.smx index 048521c50e9fcb0c03005f282705032e85695d6c..168733a78cbff0234e13e2e3ff2835c5f11f394b 100644 GIT binary patch delta 5492 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 diff --git a/addons/sourcemod/scripting/autopause.sp b/addons/sourcemod/scripting/autopause.sp index 27c8bcff1..4fff5cd21 100644 --- a/addons/sourcemod/scripting/autopause.sp +++ b/addons/sourcemod/scripting/autopause.sp @@ -76,6 +76,8 @@ public void OnPluginStart() HookEvent("round_end", Event_RoundEnd); HookEvent("player_team", Event_PlayerTeam); HookEvent("player_disconnect", Event_PlayerDisconnect, EventHookMode_Pre); + + LoadTranslations("autopause.phrases"); } public void OnAllPluginsLoaded() @@ -128,7 +130,7 @@ public void OnClientPutInServer(int client) { if (!remainingCrashers) { - CPrintToChatAll("{blue}[{default}AutoPause{blue}] {default}All {green}crashed {default}players have reconnected.. {blue}Unpausing{default}!"); + CPrintToChatAll("%t", "Unpausing"); ServerCommand("sm_forceunpause"); if (convarDebug.BoolValue) @@ -138,7 +140,11 @@ public void OnClientPutInServer(int client) } } else - CPrintToChatAll("{blue}[{default}AutoPause{blue}] {default}Waiting for {olive}%i {default}more {green}crashed {default}player%s {default}before automatic {blue}Unpause{default}!", remainingCrashers, remainingCrashers > 1 ? "s" : ""); + { + CPrintToChatAll("%t", "Waiting", remainingCrashers, remainingCrashers > 1 ? "players" : "player"); + // https://github.com/Target5150/MoYu_Server_Stupid_Plugins/blob/78a5204e757e8a45309872ab2705c509500a9f6e/The%20Last%20Stand/readyup/readyup/panel.inc#L387 + // to solve plural problem in languages + } } } @@ -283,7 +289,7 @@ public void Event_PlayerDisconnect(Event hEvent, char[] sEventName, bool dontBro if (FindStringInArray(generalCrashers, sAuthId) == -1) PushArrayString(generalCrashers, sAuthId); - CPrintToChatAll("{blue}[{default}AutoPause{blue}] {olive}%N {default}crashed.", client); + CPrintToChatAll("%t", "Crashed", client); } } diff --git a/addons/sourcemod/scripting/bequiet.sp b/addons/sourcemod/scripting/bequiet.sp index e8dc9d4bb..2e7047af1 100644 --- a/addons/sourcemod/scripting/bequiet.sp +++ b/addons/sourcemod/scripting/bequiet.sp @@ -1,176 +1,124 @@ #pragma semicolon 1 -#pragma newdecls required +#include +#pragma newdecls required #include -#define PLUGIN_VERSION "2.0.2" + +ConVar hCvarCvarChange, hCvarNameChange, hCvarSpecNameChange, hCvarSpecSeeChat; +bool bCvarChange, bNameChange, bSpecNameChange, bSpecSeeChat; public Plugin myinfo = { - name = "[L4D & 2] BeQuiet", - author = "Sir, Forgetest", - description = "Please be Quiet! (Spec hearing chat, name/cvar change supress)", - version = PLUGIN_VERSION, - url = "https://github.com/Target5150/MoYu_Server_Stupid_Plugins" + name = "BeQuiet", + author = "Sir", + description = "Please be Quiet!", + version = "1.33.7", + url = "https://github.com/SirPlease/SirCoding" } -ConVar hCvarCvarChange, hCvarNameChange, hCvarSpecNameChange, hCvarSpecSeeChat; - public void OnPluginStart() { - //Player name change - HookUserMessage(GetUserMessageId("SayText2"), UserMsg_OnSayText2, true); - - //Server CVar - HookEvent("server_cvar", Event_ServerConVar, EventHookMode_Pre); - - //Cvars - hCvarCvarChange = CreateConVar("bq_cvar_change_suppress", "1", "Silence Server Cvars being changed, this makes for a clean chat with no disturbances.", FCVAR_SPONLY, true, 0.0, true, 1.0); - hCvarNameChange = CreateConVar("bq_name_change_suppress", "0", "Silence Player name Changes.", FCVAR_SPONLY, true, 0.0, true, 1.0); - hCvarSpecNameChange = CreateConVar("bq_name_change_spec_suppress", "0", "Silence Spectating Player name Changes.", FCVAR_SPONLY, true, 0.0, true, 1.0); - hCvarSpecSeeChat = CreateConVar("bq_show_player_team_chat_spec", "1", "Show Spectators Survivors and Infected Team chat?", FCVAR_SPONLY, true, 0.0, true, 1.0); - - AutoExecConfig(true); + AddCommandListener(Say_Callback, "say"); + AddCommandListener(TeamSay_Callback, "say_team"); + + //Server CVar + HookEvent("server_cvar", Event_ServerConVar, EventHookMode_Pre); + HookEvent("player_changename", Event_NameChange, EventHookMode_Pre); + + //Cvars + hCvarCvarChange = CreateConVar("bq_cvar_change_suppress", "1", "Silence Server Cvars being changed, this makes for a clean chat with no disturbances."); + hCvarNameChange = CreateConVar("bq_name_change_suppress", "1", "Silence Player name Changes."); + hCvarSpecNameChange = CreateConVar("bq_name_change_spec_suppress", "1", "Silence Spectating Player name Changes."); + hCvarSpecSeeChat = CreateConVar("bq_show_player_team_chat_spec", "1", "Show Spectators Survivors and Infected Team chat?"); + + bCvarChange = GetConVarBool(hCvarCvarChange); + bNameChange = GetConVarBool(hCvarNameChange); + bSpecNameChange = GetConVarBool(hCvarSpecNameChange); + bSpecSeeChat = GetConVarBool(hCvarSpecSeeChat); + + hCvarCvarChange.AddChangeHook(cvarChanged); + hCvarNameChange.AddChangeHook(cvarChanged); + hCvarSpecNameChange.AddChangeHook(cvarChanged); + hCvarSpecSeeChat.AddChangeHook(cvarChanged); + + AutoExecConfig(true); + LoadTranslations("bequiet.phrases"); +} + +public Action Say_Callback(int client, char[] command, int args) +{ + char sayWord[MAX_NAME_LENGTH]; + GetCmdArg(1, sayWord, sizeof(sayWord)); + + if(sayWord[0] == '!' || sayWord[0] == '/') + { + return Plugin_Handled; + } + return Plugin_Continue; } -public Action OnClientSayCommand(int client, const char[] command, const char[] sArgs) +public Action TeamSay_Callback(int client, char[] command, int args) { - static char s_sPubChatTrigger[8] = "!", s_sPrivChatTrigger[8] = "/"; - static int s_iPubTriggerLen = 1, s_iPrivTriggerLen = 1; - -// 1.12.0.6944 -// https://github.com/alliedmodders/sourcemod/commit/3b4a343274286b31a9b3cf33c64f7ef -#if SOURCEMOD_V_MAJOR > 1 - || (SOURCEMOD_V_MAJOR == 1 && SOURCEMOD_V_MINOR >= 12 && SOURCEMOD_V_REV >= 6944) - static bool bInit = false; - if (!bInit) - { - s_iPubTriggerLen = GetPublicChatTriggers(s_sPubChatTrigger, sizeof(s_sPubChatTrigger)); - s_iPrivTriggerLen = GetSilentChatTriggers(s_sPrivChatTrigger, sizeof(s_sPrivChatTrigger)); - - if (!s_iPubTriggerLen) - s_iPubTriggerLen = strcopy(s_sPubChatTrigger, sizeof(s_sPubChatTrigger), "!"); - if (!s_iPrivTriggerLen) - s_iPrivTriggerLen = strcopy(s_sPrivChatTrigger, sizeof(s_sPrivChatTrigger), "/"); - - bInit = true; - } -#endif - - if (strncmp(sArgs, s_sPubChatTrigger, s_iPubTriggerLen) == 0 - || strncmp(sArgs, s_sPrivChatTrigger, s_iPrivTriggerLen) == 0) - return Plugin_Handled; - - return Plugin_Continue; + char sayWord[MAX_NAME_LENGTH]; + GetCmdArg(1, sayWord, sizeof(sayWord)); + + if(sayWord[0] == '!' || sayWord[0] == '/') + { + return Plugin_Handled; + } + + if (bSpecSeeChat && GetClientTeam(client) != 1) + { + char sChat[256]; + GetCmdArgString(sChat, 256); + StripQuotes(sChat); + int i = 1; + while (i <= 65) + { + if (IsValidClient(i) && GetClientTeam(i) == 1) + { + if (GetClientTeam(client) == 2) + { + CPrintToChat(i, "%t", "SurvivorSay", client, sChat); + } + else CPrintToChat(i, "%t", "InfectedSay", client, sChat); + } + i++; + } + } + return Plugin_Continue; } -public void OnClientSayCommand_Post(int client, const char[] command, const char[] sArgs) +public Action Event_ServerConVar(Event event, const char[] name, bool dontBroadcast) { - if (!IsValidClient(client)) - return; - - if (!hCvarSpecSeeChat.BoolValue || strcmp(command, "say_team") != 0) - return; - - // TODO: Formats for dead players? Not really seen much. - static const char s_ChatFormats[][] = { - "L4D_Chat_Survivor", - "L4D_Chat_Infected", - /* "L4D_Chat_Survivor_Dead", - "L4D_Chat_Infected_Dead",*/ - }; - - int idxTeam = GetClientTeam(client) - 2; - if (idxTeam != 0 && idxTeam != 1) - return; - - /*if (!IsPlayerAlive(client)) - idxTeam += 2;*/ - - // collect all spectators + SourceTV - int[] clients = new int[MaxClients]; - int numClients = 0; - for (int i = 1; i <= MaxClients; ++i) - { - if (IsClientInGame(i) && GetClientTeam(i) == 1 && (!IsFakeClient(i) || IsClientSourceTV(i))) - clients[numClients++] = i; - } - - if (numClients <= 0) - return; - - char name[MAX_NAME_LENGTH]; - GetClientName(client, name, sizeof(name)); - UTIL_SayText2Filter(client, clients, numClients, true, s_ChatFormats[idxTeam], name, sArgs); + if (bCvarChange) return Plugin_Handled; + return Plugin_Continue; } -Action Event_ServerConVar(Event event, const char[] name, bool dontBroadcast) +public Action Event_NameChange(Event event, const char[] name, bool dontBroadcast) { - return hCvarCvarChange.BoolValue ? Plugin_Handled : Plugin_Continue; + int clientid = event.GetInt("userid"); + int client = GetClientOfUserId(clientid); + + if (IsValidClient(client)) + { + if (GetClientTeam(client) == 1 && bSpecNameChange) return Plugin_Handled; + else if (bNameChange) return Plugin_Handled; + } + return Plugin_Continue; } -// Thanks for help from HarryPotter (@fbef0102) IIRC -Action UserMsg_OnSayText2(UserMsg msg_id, BfRead msg, const int[] players, int playersNum, bool reliable, bool init) +public void cvarChanged(Handle convar, const char[] oldValue, const char[] newValue) { - int client = msg.ReadByte(); - if (!IsValidClient(client)) - return Plugin_Continue; - - msg.ReadByte(); // Skip the second byte - - // Read the message - static char sMessage[128]; - msg.ReadString(sMessage, sizeof(sMessage), true); - - if (GetClientTeam(client) == 1) - { - if (!hCvarSpecNameChange.BoolValue) - return Plugin_Continue; - } - else if (!hCvarNameChange.BoolValue) - return Plugin_Continue; - - if (strcmp(sMessage, "#Cstrike_Name_Change") != 0) - return Plugin_Continue; - - return Plugin_Handled; + bCvarChange = hCvarCvarChange.BoolValue; + bNameChange = hCvarNameChange.BoolValue; + bSpecNameChange = hCvarSpecNameChange.BoolValue; + bSpecSeeChat = hCvarSpecSeeChat.BoolValue; } stock bool IsValidClient(int client) { - return client > 0 && client <= MaxClients && IsClientInGame(client); + if (client <= 0 || client > MaxClients || !IsClientConnected(client) || !IsClientInGame(client)) return false; + return true; } - -stock void UTIL_SayText2Filter( int entity, const int[] recipients, int numRecipient, bool bChat, const char[] msg_name, const char[] param1 = NULL_STRING, const char[] param2 = NULL_STRING, const char[] param3 = NULL_STRING, const char[] param4 = NULL_STRING ) -{ - BfWrite bf = UserMessageToBfWrite(StartMessage( "SayText2", recipients, numRecipient, USERMSG_RELIABLE )); - - if ( entity < 0 ) - entity = 0; // world, dedicated server says - - bf.WriteByte( entity ); - bf.WriteByte( bChat ); - bf.WriteString( msg_name ); - - if ( !IsNullString(param1) ) - bf.WriteString( param1 ); - else - bf.WriteString( "" ); - - if ( !IsNullString(param2) ) - bf.WriteString( param2 ); - else - bf.WriteString( "" ); - - if ( !IsNullString(param3) ) - bf.WriteString( param3 ); - else - bf.WriteString( "" ); - - if ( !IsNullString(param4) ) - bf.WriteString( param4 ); - else - bf.WriteString( "" ); - - EndMessage(); -} \ No newline at end of file diff --git a/addons/sourcemod/scripting/caster_assister.sp b/addons/sourcemod/scripting/caster_assister.sp index 91637c03f..a33cf68fe 100644 --- a/addons/sourcemod/scripting/caster_assister.sp +++ b/addons/sourcemod/scripting/caster_assister.sp @@ -1,4 +1,5 @@ #pragma semicolon 1 +#pragma newdecls required #include #include @@ -6,9 +7,9 @@ #include #define MAX_SPEED 2 -new bool:readyUpIsAvailable; +bool readyUpIsAvailable; -public Plugin:myinfo = +public Plugin myinfo = { name = "Caster Assister", author = "CanadaRox, Sir", @@ -17,11 +18,11 @@ public Plugin:myinfo = url = "" }; -new Float:currentMulti[MAXPLAYERS+1] = { 1.0, ... }; -new Float:currentIncrement[MAXPLAYERS+1] = { 0.1, ... }; -new Float:verticalIncrement[MAXPLAYERS+1] = { 10.0, ... }; +float currentMulti[MAXPLAYERS+1] = { 1.0, ... }; +float currentIncrement[MAXPLAYERS+1] = { 0.1, ... }; +float verticalIncrement[MAXPLAYERS+1] = { 10.0, ... }; -public OnPluginStart() +public void OnPluginStart() { RegConsoleCmd("sm_set_specspeed_multi", SetSpecspeed_Cmd); RegConsoleCmd("sm_set_specspeed_increment", SetSpecspeedIncrement_Cmd); @@ -32,12 +33,12 @@ public OnPluginStart() HookEvent("player_team", PlayerTeam_Event); } -public OnAllPluginsLoaded() +public void OnAllPluginsLoaded() { readyUpIsAvailable = LibraryExists("caster_system"); } -public OnLibraryRemoved(const String:name[]) +public void OnLibraryRemoved(const char[] name) { if (StrEqual(name, "caster_system")) { @@ -45,7 +46,7 @@ public OnLibraryRemoved(const String:name[]) } } -public OnLibraryAdded(const String:name[]) +public void OnLibraryAdded(const char[] name) { if (StrEqual(name, "caster_system")) { @@ -53,7 +54,7 @@ public OnLibraryAdded(const String:name[]) } } -public OnClientPutInServer(client) +public void OnClientPutInServer(int client) { if (readyUpIsAvailable && IsClientCaster(client)) { @@ -61,17 +62,17 @@ public OnClientPutInServer(client) } } -public PlayerTeam_Event(Handle:event, const String:name[], bool:dontBroadcast) +public void PlayerTeam_Event(Event event, const char[] name, bool dontBroadcast) { - new team = GetEventInt(event, "team"); + int team = event.GetInt("team"); if (team == 1) { - new client = GetClientOfUserId(GetEventInt(event, "userid")); + int client = GetClientOfUserId(event.GetInt("userid")); SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", currentMulti[client]); } } -public Action:SetSpecspeed_Cmd(client, args) +public Action SetSpecspeed_Cmd(int client, int args) { if (GetClientTeam(client) != 1) { @@ -83,9 +84,9 @@ public Action:SetSpecspeed_Cmd(client, args) ReplyToCommand(client, "Usage: sm_set_specspeed_multi # (default: 1.0)"); return Plugin_Handled; } - decl String:buffer[10]; + char buffer[10]; GetCmdArg(1, buffer, sizeof(buffer)); - new Float:newVal = StringToFloat(buffer); + float newVal = StringToFloat(buffer); if (IsSpeedValid(newVal)) { SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", newVal); currentMulti[client] = newVal; @@ -93,7 +94,7 @@ public Action:SetSpecspeed_Cmd(client, args) return Plugin_Handled; } -public Action:SetSpecspeedIncrement_Cmd(client, args) +public Action SetSpecspeedIncrement_Cmd(int client, int args) { if (GetClientTeam(client) != 1) { @@ -105,13 +106,13 @@ public Action:SetSpecspeedIncrement_Cmd(client, args) ReplyToCommand(client, "Usage: sm_set_specspeed_increment # (default: 0.1)"); return Plugin_Handled; } - decl String:buffer[10]; + char buffer[10]; GetCmdArg(1, buffer, sizeof(buffer)); currentIncrement[client] = StringToFloat(buffer); return Plugin_Handled; } -public Action:IncreaseSpecspeed_Cmd(client, args) +public Action IncreaseSpecspeed_Cmd(int client, int args) { if (GetClientTeam(client) != 1) { @@ -122,7 +123,7 @@ public Action:IncreaseSpecspeed_Cmd(client, args) return Plugin_Handled; } -public Action:DecreaseSpecspeed_Cmd(client, args) +public Action DecreaseSpecspeed_Cmd(int client, int args) { if (GetClientTeam(client) != 1) { @@ -133,16 +134,16 @@ public Action:DecreaseSpecspeed_Cmd(client, args) return Plugin_Handled; } -stock IncreaseSpecspeed(client, Float:difference) +stock void IncreaseSpecspeed(int client, float difference) { - new Float:curVal = GetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue"); + float curVal = GetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue"); if (IsSpeedValid(curVal + difference)) { SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", curVal + difference); currentMulti[client] = curVal + difference; } } -public Action:SetVerticalIncrement_Cmd(client, args) +public Action SetVerticalIncrement_Cmd(int client, int args) { if (GetClientTeam(client) != 1) { @@ -154,13 +155,13 @@ public Action:SetVerticalIncrement_Cmd(client, args) ReplyToCommand(client, "Usage: sm_set_vertical_increment # (default: 10.0)"); return Plugin_Handled; } - decl String:buffer[10]; + char buffer[10]; GetCmdArg(1, buffer, sizeof(buffer)); verticalIncrement[client] = StringToFloat(buffer); return Plugin_Handled; } -public Action:OnPlayerRunCmd(client, &buttons) +public Action OnPlayerRunCmd(int client, int &buttons) { if (IsValidClient(client) && GetClientTeam(client) == 1) { diff --git a/addons/sourcemod/translations/autopause.phrases.txt b/addons/sourcemod/translations/autopause.phrases.txt new file mode 100644 index 000000000..08b59b3dd --- /dev/null +++ b/addons/sourcemod/translations/autopause.phrases.txt @@ -0,0 +1,29 @@ +"Phrases" +{ + "Unpausing" + { + "en" "{blue}[{default}AutoPause{blue}] {default}All {green}crashed {default}players have reconnected.. {blue}Unpausing{default}!" + } + + "Waiting" + { + "#format" "{1:i},{2:t}" // 1: remainingCrashers 2: remainingCrashers > 1 ? "players" : "player" + "en" "{blue}[{default}AutoPause{blue}] {default}Waiting for {olive}{1} {default}more {green}crashed {default}{2} before automatic {blue}Unpause{default}!" + } + + "Crashed" + { + "#format" "{1:N}" // 1: client + "en" "{blue}[{default}AutoPause{blue}] {olive}{1} {default}crashed." + } + + "players" + { + "en" "players" + } + + "player" + { + "en" "player" + } +} \ No newline at end of file diff --git a/addons/sourcemod/translations/bequiet.phrases.txt b/addons/sourcemod/translations/bequiet.phrases.txt new file mode 100644 index 000000000..e1f6c3b5f --- /dev/null +++ b/addons/sourcemod/translations/bequiet.phrases.txt @@ -0,0 +1,14 @@ +"Phrases" +{ + "SurvivorSay" + { + "#format" "{1:N},{2:s}" // 1:client, 2:sChat(the content the client said) + "en" "{default}(Survivor) {blue}{1} {default}: {2}" + } + + "InfectedSay" + { + "#format" "{1:N},{2:s}" + "en" "{default}(Infected) {red}{1} {default}: {2}" + } +} \ No newline at end of file diff --git a/addons/sourcemod/translations/chi/autopause.phrases.txt b/addons/sourcemod/translations/chi/autopause.phrases.txt new file mode 100644 index 000000000..0ea18a1c3 --- /dev/null +++ b/addons/sourcemod/translations/chi/autopause.phrases.txt @@ -0,0 +1,29 @@ +"Phrases" +{ + "Unpausing" + { + "chi" "{blue}[{default}自动暂停{blue}] {default}所有{green}崩溃的{default}玩家已重连.. {blue}解除暂停{default}!" + } + + "Waiting" + { + "#format" "{1:i},{2:t}" // 1: remainingCrashers 2: remainingCrashers > 1 ? "players" : "player" + "chi" "{blue}[{default}自动暂停{blue}] {default}正在等待 {olive}{1} {default}名{green}崩溃的{default}{2}以启动{blue}暂停解除{default}!" + } + + "Crashed" + { + "#format" "{1:N}" // 1: client + "chi" "{blue}[{default}自动暂停{blue}] {olive}{1} {default}游戏崩溃了." + } + + "players" //此种语境下不需要加 '们' + { + "chi" "玩家" + } + + "player" + { + "chi" "玩家" + } +} \ No newline at end of file diff --git a/addons/sourcemod/translations/chi/bequiet.phrases.txt b/addons/sourcemod/translations/chi/bequiet.phrases.txt new file mode 100644 index 000000000..ab99f4820 --- /dev/null +++ b/addons/sourcemod/translations/chi/bequiet.phrases.txt @@ -0,0 +1,14 @@ +"Phrases" +{ + "SurvivorSay" + { + "#format" "{1:N},{2:s}" // 1:client, 2:sChat(the content the client said) + "chi" "{default}(生还者) {blue}{1} {default}: {2}" + } + + "InfectedSay" + { + "#format" "{1:N},{2:s}" + "chi" "{default}(感染者) {red}{1} {default}: {2}" + } +} \ No newline at end of file