mirror of
https://github.com/ApeMV/AmongUsRevamped.git
synced 2026-10-19 15:51:59 +00:00
v1.9.3
This commit is contained in:
1 parent
9c1d8a2943
commit
95a203b711
12 files changed
+278
-37
No files matched your search
+2
-1
@@ -44,9 +44,10 @@ public partial class Main : BasePlugin
|
||||
|
||||
public static bool HasArgumentException;
|
||||
public static string CredentialsText;
|
||||
public const string ModVersion = "v1.9.2";
|
||||
public const string ModVersion = "v1.9.3";
|
||||
|
||||
public static float GameTimer;
|
||||
public static float AfkTimer;
|
||||
|
||||
public static readonly Dictionary<int, int> SayStartTimes = [];
|
||||
public static readonly Dictionary<int, int> SayDeniedWordTimes = [];
|
||||
|
||||
@@ -206,7 +206,7 @@ public static class BanManager
|
||||
|
||||
public static bool IsStartWord(PlayerControl player, string input)
|
||||
{
|
||||
if (input == "" || !AmongUsClient.Instance.AmHost || Utils.CheckAccessLevel(player.Data.FriendCode) > 0 || !Options.AutoKickStart.GetBool()) return false;
|
||||
if (input == "" || !AmongUsClient.Instance.AmHost || Utils.CheckAccessLevel(player.Data.FriendCode) > 0 || !Options.AutoKickStart.GetBool() || !Utils.IsLobby) return false;
|
||||
|
||||
int clientId = player.Data.ClientId;
|
||||
var startWords = File.ReadAllLines(StartWordsPath).Where(x => !x.StartsWith("#"));
|
||||
|
||||
@@ -56,15 +56,13 @@ namespace AmongUsRevamped
|
||||
Translator.Get("everyone"), Translator.Get("vipAndAbove"), Translator.Get("moderatorAndAbove"), Translator.Get("admin"), Translator.Get("onlyYou")
|
||||
};
|
||||
|
||||
public static readonly string[] crewmateAbilities =
|
||||
public static readonly string[] afkPenalties =
|
||||
{
|
||||
"Mayor", "Workhorse", "Jester", "Tasker", "None"
|
||||
};
|
||||
public static readonly string[] impostorAbilities =
|
||||
{
|
||||
"Tyrant", "Stealer", "Juggernaut", "None"
|
||||
Translator.Get("kick"), Translator.Get("ban"), Translator.Get("notifyMe")
|
||||
};
|
||||
|
||||
|
||||
|
||||
//System
|
||||
public static OptionItem Language;
|
||||
|
||||
@@ -77,6 +75,9 @@ namespace AmongUsRevamped
|
||||
public static OptionItem KickLowLevelPlayer;
|
||||
public static OptionItem DontKickLevelOnes;
|
||||
public static OptionItem TempBanLowLevelPlayer;
|
||||
public static OptionItem EnableKickHighLevelPlayer;
|
||||
public static OptionItem KickHighLevelPlayer;
|
||||
public static OptionItem TempBanHighLevelPlayer;
|
||||
|
||||
public static OptionItem TabGroupKickInvalidFriendCodes;
|
||||
public static OptionItem KickInvalidFriendCodes;
|
||||
@@ -99,6 +100,10 @@ namespace AmongUsRevamped
|
||||
public static OptionItem AutoRejoinLobby;
|
||||
public static OptionItem EnableJoinMessages;
|
||||
public static OptionItem MessagePerPlayerNum;
|
||||
public static OptionItem AutomaticMapPoll;
|
||||
public static OptionItem TimeBeforeMapPoll;
|
||||
public static OptionItem AutomaticAllMapPoll;
|
||||
public static OptionItem TimeBeforeAllMapPoll;
|
||||
|
||||
public static OptionItem TabGroupAutostart;
|
||||
public static OptionItem AutoStartTimer;
|
||||
@@ -107,6 +112,13 @@ namespace AmongUsRevamped
|
||||
public static OptionItem Rehost;
|
||||
public static OptionItem Public;
|
||||
|
||||
public static OptionItem TabGroupAfk;
|
||||
public static OptionItem EnableAfkDetection;
|
||||
public static OptionItem AfkTimer;
|
||||
public static OptionItem AfkPenalty;
|
||||
public static OptionItem OnlyDetectSpawn;
|
||||
|
||||
|
||||
public static OptionItem TabGroupMisc;
|
||||
public static OptionItem MapVoteDuration;
|
||||
public static OptionItem StartCountdown;
|
||||
@@ -324,6 +336,12 @@ namespace AmongUsRevamped
|
||||
.SetParent(EnableKickLowLevelPlayer);
|
||||
DontKickLevelOnes = BooleanOptionItem.Create(60052, Translator.Get("dontKickLevelOnes"), false, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableKickLowLevelPlayer);
|
||||
EnableKickHighLevelPlayer = BooleanOptionItem.Create(60053, Translator.Get("enableKickHighLevelPlayer"), false, TabGroup.ModerationSettings, false);
|
||||
KickHighLevelPlayer = IntegerOptionItem.Create(60054, Translator.Get("kickHighLevelPlayer"), new(100, 5000, 50), 1000, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableKickHighLevelPlayer)
|
||||
.SetValueFormat(OptionFormat.Level);
|
||||
TempBanHighLevelPlayer = BooleanOptionItem.Create(60055, Translator.Get("tempBanLowLevelPlayer"), false, TabGroup.ModerationSettings, false)
|
||||
.SetParent(EnableKickHighLevelPlayer);
|
||||
|
||||
TabGroupKickInvalidFriendCodes = TextOptionItem.Create(60079, Translator.Get("tabGroupKickInvalidFriendCodes"), TabGroup.ModerationSettings)
|
||||
.SetColor(Color.red);
|
||||
@@ -371,6 +389,14 @@ namespace AmongUsRevamped
|
||||
EnableJoinMessages = BooleanOptionItem.Create(60152, Translator.Get("enableJoinMessages"), true, TabGroup.SystemSettings, false);
|
||||
MessagePerPlayerNum = IntegerOptionItem.Create(60153, Translator.Get("messagePerPlayerNum"), new(1, 15, 1), 5, TabGroup.SystemSettings, false)
|
||||
.SetParent(EnableJoinMessages);
|
||||
AutomaticMapPoll = BooleanOptionItem.Create(60154, Translator.Get("automaticMapPoll"), false, TabGroup.SystemSettings, false);
|
||||
TimeBeforeMapPoll = IntegerOptionItem.Create(60155, Translator.Get("timeBeforeMapPoll"), new(10, 300, 5), 10, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetParent(AutomaticMapPoll);
|
||||
AutomaticAllMapPoll = BooleanOptionItem.Create(60156, Translator.Get("automaticAllMapPoll"), false, TabGroup.SystemSettings, false);
|
||||
TimeBeforeAllMapPoll = IntegerOptionItem.Create(60157, Translator.Get("timeBeforeMapPoll"), new(10, 300, 5), 10, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetParent(AutomaticAllMapPoll);
|
||||
|
||||
TabGroupAutostart = TextOptionItem.Create(64425, Translator.Get("tabGroupAutostart"), TabGroup.SystemSettings)
|
||||
.SetColor(Color.yellow);
|
||||
@@ -383,9 +409,19 @@ namespace AmongUsRevamped
|
||||
Public = BooleanOptionItem.Create(64430, Translator.Get("public"), false, TabGroup.SystemSettings, false)
|
||||
.SetParent(Rehost);
|
||||
|
||||
TabGroupAfk = TextOptionItem.Create(60370, Translator.Get("tabGroupAfk"), TabGroup.SystemSettings)
|
||||
.SetColor(Color.yellow);
|
||||
EnableAfkDetection = BooleanOptionItem.Create(60371, Translator.Get("enableAfkDetection"), false, TabGroup.SystemSettings, false);
|
||||
AfkTimer = IntegerOptionItem.Create(60372, Translator.Get("afkTimer"), new(15, 120, 5), 30, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetParent(EnableAfkDetection);
|
||||
AfkPenalty = StringOptionItem.Create(60373, Translator.Get("afkPenalty"), afkPenalties, 0, TabGroup.SystemSettings, false)
|
||||
.SetParent(EnableAfkDetection);
|
||||
OnlyDetectSpawn = BooleanOptionItem.Create(60374, Translator.Get("onlyDetectSpawn"), true, TabGroup.SystemSettings, false)
|
||||
.SetParent(EnableAfkDetection);
|
||||
|
||||
TabGroupMisc = TextOptionItem.Create(60378, Translator.Get("tabGroupMisc"), TabGroup.SystemSettings)
|
||||
.SetColor(Color.yellow);
|
||||
|
||||
MapVoteDuration = IntegerOptionItem.Create(60379, Translator.Get("mapVoteDuration"), new(5, 60, 5), 20, TabGroup.SystemSettings, false)
|
||||
.SetValueFormat(OptionFormat.Seconds)
|
||||
.SetColor(Color.red);
|
||||
|
||||
@@ -9,11 +9,27 @@ namespace AmongUsRevamped;
|
||||
[HarmonyPatch(typeof(InnerNetClient), nameof(InnerNetClient.FixedUpdate))]
|
||||
public static class FixedUpdate
|
||||
{
|
||||
public static readonly Dictionary<string, Vector2> SpawnRange = new()
|
||||
{
|
||||
["Skeld"] = new(-0.8f, 1.2f),
|
||||
["Mira"] = new(-4.4f, 2.4f),
|
||||
["MiraMeeting"] = new(23.9f, 2.6f),
|
||||
["Polus"] = new(16.6f, -1.1f),
|
||||
["PolusMeeting"] = new(19.5f, -16.9f),
|
||||
["AirshipMeeting"] = new(11f, 15.3f),
|
||||
["Fungle"] = new(-9.8f, 1.8f),
|
||||
["FungleMeetings"] = new(-3.1f, -1.3f)
|
||||
};
|
||||
|
||||
public static float Range = 4f;
|
||||
|
||||
public static Dictionary<byte, Vector2> Position = new Dictionary<byte, Vector2>();
|
||||
public static void Postfix()
|
||||
{
|
||||
if (Utils.InGame && !Utils.IsMeeting && !ExileController.Instance)
|
||||
{
|
||||
Main.GameTimer += Time.fixedDeltaTime;
|
||||
Main.AfkTimer += Time.fixedDeltaTime;
|
||||
}
|
||||
|
||||
GameObject n = GameObject.Find("NewRequestInactive");
|
||||
@@ -30,6 +46,77 @@ public static class FixedUpdate
|
||||
|
||||
if (!AmongUsClient.Instance.AmHost) return;
|
||||
DisableDevice.FixedUpdate();
|
||||
|
||||
if (Main.AfkTimer >= Options.AfkTimer.GetInt())
|
||||
{
|
||||
Main.AfkTimer = 0;
|
||||
|
||||
if (!Options.EnableAfkDetection.GetBool()) return;
|
||||
|
||||
foreach (var p in PlayerControl.AllPlayerControls)
|
||||
{
|
||||
if (p.Data == null || p == PlayerControl.LocalPlayer) continue;
|
||||
|
||||
Vector2 newPos = p.GetTruePosition();
|
||||
|
||||
if (Options.OnlyDetectSpawn.GetBool() && !IsSpawn(newPos))
|
||||
{
|
||||
Position[p.PlayerId] = newPos;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Position.TryGetValue(p.PlayerId, out Vector2 oldPos))
|
||||
{
|
||||
if (Vector2.Distance(oldPos, newPos) < 0.05f)
|
||||
{
|
||||
switch (Options.AfkPenalty.GetValue())
|
||||
{
|
||||
case 0:
|
||||
AmongUsClient.Instance.KickPlayer(p.Data.ClientId, false);
|
||||
Logger.Info(Translator.Get("afkKick", p.Data.PlayerName, Options.AfkTimer.GetInt()), "AfkManagement");
|
||||
Logger.SendInGame(Translator.Get("afkKick", p.Data.PlayerName, Options.AfkTimer.GetInt()));
|
||||
break;
|
||||
|
||||
case 1:
|
||||
AmongUsClient.Instance.KickPlayer(p.Data.ClientId, true);
|
||||
Logger.Info(Translator.Get("afkBan", p.Data.PlayerName, Options.AfkTimer.GetInt()), "AfkManagement");
|
||||
Logger.SendInGame(Translator.Get("afkBan", p.Data.PlayerName, Options.AfkTimer.GetInt()));
|
||||
break;
|
||||
|
||||
case 2:
|
||||
Logger.Info(Translator.Get("afkNotify", p.Data.PlayerName, Options.AfkTimer.GetInt()), "AfkManagement");
|
||||
Logger.SendInGame(Translator.Get("afkNotify", p.Data.PlayerName, Options.AfkTimer.GetInt()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Position[p.PlayerId] = p.GetTruePosition();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static bool IsSpawn(Vector2 pos)
|
||||
{
|
||||
switch (Utils.GetActiveMapId())
|
||||
{
|
||||
case 0:
|
||||
return Vector2.Distance(pos, SpawnRange["Skeld"]) <= Range;
|
||||
|
||||
case 1:
|
||||
return Vector2.Distance(pos, SpawnRange["Mira"]) <= Range || Vector2.Distance(pos, SpawnRange["MiraMeeting"]) <= Range;
|
||||
|
||||
case 2:
|
||||
return Vector2.Distance(pos, SpawnRange["Polus"]) <= Range || Vector2.Distance(pos, SpawnRange["PolusMeeting"]) <= Range;
|
||||
|
||||
case 4:
|
||||
return Vector2.Distance(pos, SpawnRange["AirshipMeeting"]) <= Range;
|
||||
|
||||
case 5:
|
||||
return Vector2.Distance(pos, SpawnRange["Fungle"]) <= Range || Vector2.Distance(pos, SpawnRange["FungleMeetings"]) <= Range;
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -204,6 +204,8 @@ public static class Utils
|
||||
HandlingGameEnd = false;
|
||||
OnGameJoinedPatch.AutoStartCheck = false;
|
||||
Main.GameTimer = 0f;
|
||||
Main.AfkTimer = 0f;
|
||||
FixedUpdate.Position.Clear();
|
||||
NormalGameEndChecker.canUpdateWinnerText = true;
|
||||
MurderPlayerPatch.misfireCount.Clear();
|
||||
MurderPlayerPatch.killCount.Clear();
|
||||
|
||||
@@ -46,6 +46,21 @@ internal static class OnGameJoinedPatch
|
||||
}, 5.2f, "AutoSendGameInfo2");
|
||||
}
|
||||
|
||||
if (Options.AutomaticMapPoll.GetBool())
|
||||
{
|
||||
new LateTask(() =>
|
||||
{
|
||||
Utils.MapVote(false, true);
|
||||
}, Options.TimeBeforeMapPoll.GetInt(), "AutoMapPoll");
|
||||
}
|
||||
if (Options.AutomaticAllMapPoll.GetBool())
|
||||
{
|
||||
new LateTask(() =>
|
||||
{
|
||||
Utils.MapVote(true, true);
|
||||
}, Options.TimeBeforeAllMapPoll.GetInt(), "AutoMapPoll");
|
||||
}
|
||||
|
||||
if (Options.Public.GetBool() && DisconnectManager.Rehosting)
|
||||
{
|
||||
AmongUsClient.Instance.ChangeGamePublic(true);
|
||||
@@ -158,7 +173,26 @@ public static class SetLevelPatch
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} (level {level + 1}) was banned for being under level {Options.KickLowLevelPlayer.GetInt()}");
|
||||
}
|
||||
HandledLevelKicks.Add(__instance);
|
||||
}
|
||||
}
|
||||
|
||||
if (AmongUsClient.Instance.AmHost && level > Options.KickHighLevelPlayer.GetInt() - 1 && __instance.Data.ClientId != AmongUsClient.Instance.HostId && Options.EnableKickHighLevelPlayer.GetBool())
|
||||
{
|
||||
if (HandledLevelKicks.Contains(__instance)) return;
|
||||
|
||||
if (!Options.TempBanHighLevelPlayer.GetBool() && Utils.CheckAccessLevel(__instance.Data.FriendCode) < 1)
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(__instance.Data.ClientId, false);
|
||||
Logger.Info($" {__instance.Data.PlayerName} (level {level + 1}) was kicked for being above level {Options.KickHighLevelPlayer.GetInt()}", "KickHighLevelPlayer");
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} (level {level + 1}) was kicked for being above level {Options.KickHighLevelPlayer.GetInt()}");
|
||||
}
|
||||
else if (Utils.CheckAccessLevel(__instance.Data.FriendCode) < 1)
|
||||
{
|
||||
AmongUsClient.Instance.KickPlayer(__instance.Data.ClientId, true);
|
||||
Logger.Info($" {__instance.Data.PlayerName} (level {level + 1}) was banned for being above level {Options.KickHighLevelPlayer.GetInt()} ", "BanHighLevelPlayer");
|
||||
Logger.SendInGame($" {__instance.Data.PlayerName} (level {level + 1}) was banned for being above level {Options.KickHighLevelPlayer.GetInt()}");
|
||||
}
|
||||
HandledLevelKicks.Add(__instance);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,8 +19,8 @@ internal static class AddVotePatch
|
||||
{
|
||||
Logger.Info($" Kicked {target.Data.PlayerName}, {target.Data.FriendCode}", "KickPatch");
|
||||
}
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<img src="https://github.com/astra1dev/AUnlocker/assets/90265231/14226f03-a003-4efc-b27b-6df53fb394d6" width=410 height=240>****
|
||||
|
||||
|
||||
# 🎮 Features (v1.9.2):
|
||||
# 🎮 Features (v1.9.3):
|
||||
|
||||
## <b>♠️ Client Side settings:</b>
|
||||
- Game Master (Spectator)
|
||||
@@ -38,12 +38,12 @@
|
||||
- Toggle Lobby Music
|
||||
- Show/Hide Info When Dead
|
||||
## <b>⚙️ Technical settings:</b>
|
||||
- Kick/Ban players under a certain level
|
||||
- Kick/Ban invalid FriendCodes
|
||||
- Advanced AFK Detection system
|
||||
- Kick/Ban players under/above a certain level
|
||||
- Kick/Ban invalid (Empty) Friendcodes
|
||||
- Kick/Ban players who say "start"
|
||||
- Denyword system
|
||||
- Banlist system
|
||||
- Denyname system
|
||||
- Denyword and Denyname system
|
||||
- Advanced Moderator system
|
||||
- To add Admins, Moderators and VIP's, type the user's Friendcode in the designated files located in AUR-DATA
|
||||
- Enable No Game End
|
||||
@@ -52,6 +52,7 @@
|
||||
- Full Autohost and Rehost support
|
||||
- Automatically rejoin lobby
|
||||
- Automatically send winner info
|
||||
- Automatically Send Map Votes
|
||||
- Enable (configurable) Welcome Messages from Templates.txt
|
||||
## <b>🔧 Gameplay Settings:</b>
|
||||
- Dead impostors can sabotage
|
||||
@@ -76,6 +77,7 @@
|
||||
- Detect Invalid animations
|
||||
- Detect Invalid task completions
|
||||
- Detect immortality cheats
|
||||
- Block attempted votekicks
|
||||
- These are all enabled by default
|
||||
## <b>❓ Other Improvements:</b>
|
||||
- Lanuage support: English, Italian, Japanese, Russian, Simplified Chinese, Spanish
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
"enableKickLowLevelPlayer": "Kick Low Level Players",
|
||||
"kickLowLevelPlayer": "Kick Players Under Level",
|
||||
"tempBanLowLevelPlayer": "Ban Instead Of Kick",
|
||||
"enableKickHighLevelPlayer": "Kick High Level Players",
|
||||
"kickHighLevelPlayer": "Kick Players Above Level",
|
||||
"dontKickLevelOnes": "Don't Kick Lv.1 Players For Glitched Lobbies",
|
||||
"tabGroupKickInvalidFriendCodes": "Invalid Friendcodes",
|
||||
"kickInvalidFriendCodes": "Kick Invalid (Empty) Friendcodes",
|
||||
@@ -315,5 +317,23 @@
|
||||
"seekers": "Seekers: ",
|
||||
"clearedSeekers": "Successfully cleared the manual Seeker list.",
|
||||
|
||||
"rehostSuccess": "Successfully rehosted a lobby"
|
||||
"rehostSuccess": "Successfully rehosted a lobby",
|
||||
|
||||
"kick": "Kick",
|
||||
"ban": "Ban",
|
||||
"notifyMe": "Notify Me",
|
||||
|
||||
"tabGroupAfk": "AFK Detection",
|
||||
"enableAfkDetection": "Enable AFK Detection",
|
||||
"afkTimer": "Detection Threshold",
|
||||
"afkPenalty": "AFK Penalty",
|
||||
"onlyDetectSpawn": "Only Detect Players At Spawn",
|
||||
|
||||
"afkNotify": "{0} has been AFK for {1}s",
|
||||
"afkKick": "{0} has been AFK for {1s}, kicking user",
|
||||
"afkBan": "{0} has been AFK for {1}s, banning user",
|
||||
|
||||
"automaticMapPoll": "Automatic /mapvote After Rejoining",
|
||||
"automaticAllMapPoll": "Automatic /allmapvote After Rejoining",
|
||||
"timeBeforeMapPoll": "Time Before Poll Starts"
|
||||
}
|
||||
@@ -28,7 +28,6 @@
|
||||
"moderatorCanUseCommand": "モデレーターのコマンド使用を許可",
|
||||
"autoKickStart": "「Start/開始」と発言したプレイヤーをキック",
|
||||
"autoKickStartAsBan": "キックの代わりにBAN",
|
||||
"autoKickStartTimes": "キックに必要な催促メッセージ回数",
|
||||
"autoKickStartStrength": "厳格検出モード",
|
||||
"tabGroupAutomation": "自動化",
|
||||
"autoSendGameInfo": "勝者情報を自動送信",
|
||||
@@ -227,10 +226,7 @@
|
||||
"banlistWelcome": "# このファイルにフレンドコードを記述することでプレイヤーをBANリストに追加できます。\n# ゲーム内でBANしたプレイヤーも自動的にここへ追加されます。以下は記述例です。\n\nfriendcode#0000\n",
|
||||
"banwordWelcome": "# このファイルではNGワードを設定できます。リスト内の単語を発言したプレイヤーは自動的にキックされます。\n# 単語ごとに改行して区切ってください。",
|
||||
"bannameWelcome": "# このファイルではNGネームを設定できます。リスト内の名前を使用しているプレイヤーは自動的にキックされます。\n# 名前ごとに改行して区切ってください。",
|
||||
"startWordsWelcome": "# このファイルでは「『Start』と発言したプレイヤーをキック」に使用する判定単語を設定できます。\n# 「厳格検出モード」OFF = 完全一致で判定。「厳格検出モード」ON = 部分一致で判定。\n# ロビー内でのみ検知したい無関係な単語を入れることも可能です。\n\nstart\nbegin\ncommence",
|
||||
|
||||
"noGameEndWarning": "警告: 「ゲーム終了なし」が有効になっています",
|
||||
"gameMasterWarningTwo": "警告: 「ゲームマスター」が有効になっています",
|
||||
|
||||
"tooLongTemplate": "テンプレートが120文字を超えているため、送信するとキックされます。文字数を減らしてください。",
|
||||
|
||||
@@ -268,11 +264,8 @@
|
||||
"lastgameDesc": "前回のゲーム情報を送信します。",
|
||||
"templateDesc": "AUR-DATA/templates.txt から指定のテンプレートを送信します。",
|
||||
"seekerDesc": "かくれんぼでプレイヤーを鬼(Seeker)に指定します。",
|
||||
"seekersDesc": "手動選択された鬼のリストを表示します。",
|
||||
"clearSeekerDesc": "手動選択された鬼のリストをクリアします。",
|
||||
|
||||
"banWordKick": "{0} は DeniedWords.txt に登録されたNGワードを {1} 回送信したためキックされました",
|
||||
"startWordKick": "{0} は StartWords.txt に登録された単語を {1} 回送信したためキックされました",
|
||||
|
||||
"pluginWarning": "<color=red><size=5><b>警告:</color></b></size>\n<size=3><b>複数のプラグイン(Mod)が検出されました。</size></b>\nAmong Us Revamped は他の多くのMODと互換性がありません。\nバグが発生する場合、そのほとんどはMod間の競合によるものです。",
|
||||
|
||||
@@ -289,7 +282,39 @@
|
||||
"moderatorAndAbove": "<color=purple>モデレーター</color> 以上",
|
||||
"admin": "<color=red>管理人</color>",
|
||||
"onlyYou": "あなたのみ",
|
||||
"seekersDesc": "手動で選択されたシーカーをすべて表示します。",
|
||||
"clearSeekerDesc": "手動シーカーリストをクリアします。",
|
||||
"startWordsWelcome": "# このファイルでは、「Start」と発言したプレイヤーをキックする機能で検出する単語を設定できます。\n# 「厳格検出モード」OFF = メッセージが単語と完全に一致する必要があります。\n# 「厳格検出モード」ON = メッセージに単語が含まれているだけで検出されます。\n# ロビー内でのみ検出したい無関係な単語を追加することもできます。\n\nstart\nbegin\ncommence",
|
||||
"gameMasterWarningTwo": "警告:ゲームマスターが有効になっています",
|
||||
"startWordKick": "{0} は StartWords.txt に設定された単語を送信したためキックされました(回数:{1}回)",
|
||||
"seekers": "シーカー:",
|
||||
"clearedSeekers": "手動シーカーリストを正常にクリアしました。",
|
||||
"autoKickStartTimes": "StartWordsを送信した回数でキック",
|
||||
|
||||
|
||||
|
||||
|
||||
"seekers": "鬼(Seeker): ",
|
||||
"clearedSeekers": "手動選択された鬼のリストを正常にクリアしました。"
|
||||
"tabGroupLevelKick": "レベル管理",
|
||||
"enableKickLowLevelPlayer": "低レベルのプレイヤーをキック",
|
||||
"tabGroupKickInvalidFriendCodes": "無効なフレンドコード",
|
||||
"tabGroupAutoKickStart": "StartWords",
|
||||
"tabGroupAutostart": "自動ホスト",
|
||||
"rehost": "切断時にロビーを自動で再作成",
|
||||
"public": "新しいロビーを自動で公開",
|
||||
"mapVoteDuration": "マップ投票時間",
|
||||
"tabGroupDeniedWords": "禁止ワード",
|
||||
"enableDeniedWords": "禁止ワードを送信したプレイヤーをキック",
|
||||
"slashMapAndSeekerCmd": "/seeker と /mapvote を使用できる人",
|
||||
"snsChatInGameExtend": "ゲーム開始後にゲームモード情報を送信",
|
||||
|
||||
"mapVoteDesc": "5つの通常マップで投票を開始します。",
|
||||
"allMapVoteDesc": "Eht Dleks を含む全6マップで投票を開始します。",
|
||||
|
||||
"banWordBan": "{0} は DeniedWords.txt の単語を {1} 回送信したためBANされました",
|
||||
"startWordBan": "{0} は StartWords.txt の単語を {1} 回送信したためBANされました",
|
||||
|
||||
"moderationSettings": "モデレーション設定",
|
||||
"moderationSettingsDesc": "荒らしや迷惑行為を防止するための設定です。",
|
||||
|
||||
"rehostSuccess": "ロビーの再作成に成功しました"
|
||||
}
|
||||
@@ -26,7 +26,6 @@
|
||||
"moderatorCanUseCommand": "Модераторы Могут Использовать Команды",
|
||||
"autoKickStart": "Кикать Игроков Которые Говорят Start",
|
||||
"autoKickStartAsBan": "Банить вместо кика",
|
||||
"autoKickStartTimes": "Start сообщений нужно для кика",
|
||||
"autoKickStartStrength": "Режим строгого обнаружения",
|
||||
"tabGroupAutomation": "Автоматизация",
|
||||
"autoSendGameInfo": "Автоматически отправлять информацию о победителях",
|
||||
@@ -36,7 +35,7 @@
|
||||
"playerAutoStart": "Игроков Нужно Для Авто Старта",
|
||||
"enableJoinMessages": "Включить Сообщение С Приветствиями",
|
||||
"messagePerPlayerNum": "Сообщение Каждые # Заходов",
|
||||
"tabGroupMisc": "Разное",
|
||||
"tabGroupMisc": "Экспериментальное",
|
||||
"startCountdown": "Отсчёт Для Старта По Умолчанию",
|
||||
"colorCommandLevel": "Кто Может использовать Команды Цветов",
|
||||
"allowFortegreen": "Разрешить Фортезелёный Цвет",
|
||||
@@ -297,5 +296,26 @@
|
||||
"startWordKick": "{0} Был кикнут так как они отправили слово которое было в StartWords.txt {1} раз(а)",
|
||||
|
||||
"seekers": "Искателей: ",
|
||||
"clearedSeekers": "Успешно очищен список вручную выбранных искателей."
|
||||
"clearedSeekers": "Успешно очищен список вручную выбранных искателей.",
|
||||
"tabGroupLevelKick": "Уровневая Модерация",
|
||||
"enableKickLowLevelPlayer": "Кикать Игроков С Низким Уровнем",
|
||||
"tabGroupKickInvalidFriendCodes": "Неправильные Коды Друзей",
|
||||
"tabGroupAutoKickStart": "Старт Слова",
|
||||
"autoKickStartTimes": "Отправленных Cтарт сообщений нужно для кика",
|
||||
"tabGroupAutostart": "АвтоХост",
|
||||
"rehost": "Автоматически Пересоздавать Лобби При Вылете",
|
||||
"public": "Автоматически Делать Новое Лобби Публичным",
|
||||
"mapVoteDuration": "Продолжительность Голосования За Карты",
|
||||
"tabGroupDeniedWords": "Запрещенные Слова",
|
||||
"enableDeniedWords": "Кикать Игроков Которые Говорят Запрещенные Слова",
|
||||
"slashMapAndSeekerCmd": "Кто Может Использовать /seeker & /mapvote",
|
||||
"snsChatInGameExtend": "Отправлять информацию о режиме после начала игры",
|
||||
"mapVoteDesc": "Начинает голосование между 5 основными картами.",
|
||||
"allMapVoteDesc": "Начинает голосование между всеми 6 картами, включая Eht Dleks.",
|
||||
"banWordBan": "{0} Были забанены потому что они отправили слово из DeniedWords.txt {1} раз(а)",
|
||||
"startWordBan": "{0} Были забанены потому что они отправили слово из StartWords.txt {1} раз(а)",
|
||||
"moderationSettings": "Настройки Модерации",
|
||||
"moderationSettingsDesc": "Настройки Модерации чтобы бороться с токсичностью и плохим поведением.",
|
||||
"rehostSuccess": "Лобби Было Успешно Пересоздано"
|
||||
|
||||
}
|
||||
@@ -28,7 +28,6 @@
|
||||
"moderatorCanUseCommand": "管理人员可以使用命令",
|
||||
"autoKickStart": "自动踢出发送“Start”的玩家",
|
||||
"autoKickStartAsBan": "改为封禁而非踢出",
|
||||
"autoKickStartTimes": "踢出所需的“Start”消息次数",
|
||||
"autoKickStartStrength": "严格检测模式",
|
||||
"tabGroupAutomation": "自动化",
|
||||
"autoSendGameInfo": "自动发送获胜者信息",
|
||||
@@ -239,7 +238,6 @@
|
||||
"moderatorRemove": "已成功移除 {0} 的管理员 (Moderator) 权限。",
|
||||
"adminRemove": "已成功移除 {0} 的超级管理员 (Admin) 权限。",
|
||||
"permFail": "找不到用户 '{0}'。请检查拼写是否正确?",
|
||||
|
||||
"helpDesc": "显示所有命令及其功能。",
|
||||
"snsDesc": "发送 变形与搜寻 (Shift and Seek) 游戏模式介绍。",
|
||||
"0kcDesc": "发送 0秒击杀冷却 (0 Kill Cooldown) 游戏模式介绍。",
|
||||
@@ -265,15 +263,11 @@
|
||||
"removeAdminDesc": "移除用户的超级管理员 (Admin) 权限。",
|
||||
"lastgameDesc": "发送上一局游戏信息。",
|
||||
"templateDesc": "发送 AUR-DATA/templates.txt 中指定的模板。",
|
||||
|
||||
"banWordKick": "{0} 因发送违禁词被踢出,累计次数:{1} 次",
|
||||
|
||||
"pluginWarning": "<color=red><size=5><b>警告:</color></b></size>\n<size=3><b>检测到您启用了 2 个或更多插件。</size></b>\nAmong Us Revamped 与大多数模组不兼容。\n如果遇到 Bug,极有可能是因为冲突所致。",
|
||||
|
||||
"systemSettings": "系统设置",
|
||||
"gameplaySettings": "游戏设置",
|
||||
"gamemodeSettings": "模式设置",
|
||||
|
||||
"systemSettingsDesc": "用于提升舒适度与测试的画质/系统设置。",
|
||||
"gameplaySettingsDesc": "用于改善游戏内体验的设置。",
|
||||
"gamemodeSettingsDesc": "适用于特定游戏模式的情境设置。",
|
||||
@@ -289,5 +283,25 @@
|
||||
"gameMasterWarningTwo": "警告:游戏主管已启用",
|
||||
"startWordKick": "{0} 因发送 StartWords.txt 中的关键词被踢出,累计次数:{1} 次",
|
||||
"seekers": "搜寻者:",
|
||||
"clearedSeekers": "已成功清除手动搜寻者列表。"
|
||||
"clearedSeekers": "已成功清除手动搜寻者列表。",
|
||||
"autoKickStartTimes": "发送 StartWords 关键词达到此次数时踢出玩家",
|
||||
"tabGroupLevelKick": "等级管理",
|
||||
"enableKickLowLevelPlayer": "启用低等级玩家踢出",
|
||||
"tabGroupKickInvalidFriendCodes": "无效好友代码",
|
||||
"tabGroupAutoKickStart": "StartWords",
|
||||
"tabGroupAutostart": "自动开房",
|
||||
"rehost": "断线后自动重新创建大厅",
|
||||
"public": "自动将新大厅设为公开",
|
||||
"mapVoteDuration": "地图投票持续时间",
|
||||
"tabGroupDeniedWords": "违禁词",
|
||||
"enableDeniedWords": "踢出发送违禁词的玩家",
|
||||
"slashMapAndSeekerCmd": "谁可以使用 /seeker 与 /mapvote",
|
||||
"snsChatInGameExtend": "游戏开始后发送游戏模式介绍",
|
||||
"mapVoteDesc": "发起包含 5 张官方地图的地图投票。",
|
||||
"allMapVoteDesc": "发起包含全部 6 张地图(包括 Eht Dleks)的地图投票。",
|
||||
"banWordBan": "{0} 因发送了 DeniedWords.txt 中的关键词,第 {1} 次违规,已被封禁。",
|
||||
"startWordBan": "{0} 因发送了 StartWords.txt 中的关键词,第 {1} 次违规,已被封禁。",
|
||||
"moderationSettings": "管理设置",
|
||||
"moderationSettingsDesc": "用于防止恶意行为和不当行为的管理设置。",
|
||||
"rehostSuccess": "已成功重新创建大厅。"
|
||||
}
|
||||
Reference in new issue
Block a user