Commit 104e04f7 authored by AnimeGitB's avatar AnimeGitB Committed by Luke H-W
Browse files

Change commands to use new usage message method.

parent 2cfbe781
......@@ -71,7 +71,7 @@ public final class SetStatsCommand implements CommandHandler {
statStr = args.get(0).toLowerCase();
valueStr = args.get(1);
} else {
CommandHandler.sendTranslatedMessage(sender, "commands.setStats.usage");
sendUsageMessage(sender);
return;
}
......@@ -105,7 +105,7 @@ public final class SetStatsCommand implements CommandHandler {
CommandHandler.sendTranslatedMessage(sender, "commands.generic.set_for_to", stat.name, uidStr, valueStr);
}
} else {
CommandHandler.sendTranslatedMessage(sender, "commands.setStats.usage");
sendUsageMessage(sender);
}
return;
}
......
......@@ -60,7 +60,7 @@ public final class SpawnCommand implements CommandHandler {
}
break;
default:
CommandHandler.sendMessage(sender, translate(sender, "commands.spawn.usage"));
sendUsageMessage(sender);
return;
}
......
......@@ -49,9 +49,7 @@ public final class TalentCommand implements CommandHandler {
@Override
public void execute(Player sender, Player targetPlayer, List<String> args) {
if (args.size() < 1){
CommandHandler.sendMessage(sender, translate(sender, "commands.talent.usage_1"));
CommandHandler.sendMessage(sender, translate(sender, "commands.talent.usage_2"));
CommandHandler.sendMessage(sender, translate(sender, "commands.talent.usage_3"));
sendUsageMessage(sender);
return;
}
......@@ -60,15 +58,13 @@ public final class TalentCommand implements CommandHandler {
String cmdSwitch = args.get(0);
switch (cmdSwitch) {
default -> {
CommandHandler.sendMessage(sender, translate(sender, "commands.talent.usage_1"));
CommandHandler.sendMessage(sender, translate(sender, "commands.talent.usage_2"));
CommandHandler.sendMessage(sender, translate(sender, "commands.talent.usage_3"));
sendUsageMessage(sender);
return;
}
case "set" -> {
if (args.size() < 3) {
CommandHandler.sendMessage(sender, translate(sender, "commands.talent.usage_1"));
CommandHandler.sendMessage(sender, translate(sender, "commands.talent.usage_3"));
sendUsageMessage(sender);
sendUsageMessage(sender);
return;
}
try {
......@@ -82,7 +78,7 @@ public final class TalentCommand implements CommandHandler {
}
case "n", "e", "q" -> {
if (args.size() < 2) {
CommandHandler.sendMessage(sender, translate(sender, "commands.talent.usage_2"));
sendUsageMessage(sender);
return;
}
AvatarSkillDepotData SkillDepot = avatar.getData().getSkillDepot();
......
......@@ -12,8 +12,6 @@ import static emu.grasscutter.config.Configuration.*;
import java.util.ArrayList;
import java.util.HashSet;
import static emu.grasscutter.Configuration.*;
@Command(
label = "team",
usage = {"add <avatarId,...>", "(remove|set) [index|first|last|index-index,...]"},
......@@ -25,7 +23,7 @@ public final class TeamCommand implements CommandHandler {
@Override
public void execute(Player sender, Player targetPlayer, List<String> args) {
if (args.isEmpty()) {
CommandHandler.sendTranslatedMessage(sender, "commands.team.usage");
sendUsageMessage(sender);
return;
}
......@@ -44,7 +42,7 @@ public final class TeamCommand implements CommandHandler {
default:
CommandHandler.sendTranslatedMessage(sender, "commands.team.invalid_usage");
CommandHandler.sendTranslatedMessage(sender, "commands.team.usage");
sendUsageMessage(sender);
return;
}
......@@ -55,7 +53,7 @@ public final class TeamCommand implements CommandHandler {
private boolean addCommand(Player sender, Player targetPlayer, List<String> args) {
if (args.size() < 2) {
CommandHandler.sendTranslatedMessage(sender, "commands.team.invalid_usage");
CommandHandler.sendTranslatedMessage(sender, "commands.team.add_usage");
sendUsageMessage(sender);
return false;
}
......@@ -80,7 +78,8 @@ public final class TeamCommand implements CommandHandler {
for (var avatarId: avatarIds) {
int id = Integer.parseInt(avatarId);
var success = addAvatar(sender, targetPlayer, id, index);
if (!addAvatar(sender, targetPlayer, id, index))
CommandHandler.sendTranslatedMessage(sender, "commands.team.failed_to_add_avatar", avatarId);
if (index > 0) ++index;
}
return true;
......@@ -89,7 +88,7 @@ public final class TeamCommand implements CommandHandler {
private boolean removeCommand(Player sender, Player targetPlayer, List<String> args) {
if (args.size() < 2) {
CommandHandler.sendTranslatedMessage(sender, "commands.team.invalid_usage");
CommandHandler.sendTranslatedMessage(sender, "commands.team.remove_usage");
sendUsageMessage(sender);
return false;
}
......@@ -137,7 +136,7 @@ public final class TeamCommand implements CommandHandler {
private boolean setCommand(Player sender, Player targetPlayer, List<String> args) {
if (args.size() < 3) {
CommandHandler.sendTranslatedMessage(sender, "commands.team.invalid_usage");
CommandHandler.sendTranslatedMessage(sender, "commands.team.set_usage");
sendUsageMessage(sender);
return false;
}
......
......@@ -48,7 +48,7 @@ public final class TeleportCommand implements CommandHandler {
}
break;
default:
CommandHandler.sendMessage(sender, translate(sender, "commands.teleport.usage"));
sendUsageMessage(sender);
return;
}
......
......@@ -30,7 +30,7 @@ public final class WeatherCommand implements CommandHandler {
weatherId = Integer.parseInt(arg);
} catch (NumberFormatException ignored) {
CommandHandler.sendTranslatedMessage(sender, "commands.generic.invalid.id");
CommandHandler.sendTranslatedMessage(sender, "commands.weather.usage");
sendUsageMessage(sender);
return;
}
}
......
......@@ -115,7 +115,6 @@
"success": "Success"
},
"account": {
"command_usage": "Usage: account <create|delete> <username> [UID]",
"invalid": "Invalid UID.",
"exists": "An account with this username and/or UID already exists.",
"create": "Account created with UID %s.",
......@@ -124,7 +123,6 @@
"description": "Modify user accounts"
},
"announce": {
"command_usage": "Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>",
"send_success": "Send an announcement successfully, you can revoke it by /a revoke %s.",
"refresh_success": "Refresh announcement config file successfully. [Total %s]",
"revoke_done": "Try to revoke announcement %s.",
......@@ -132,7 +130,6 @@
"description": "Send announcement to all online players, or manage server's announcement"
},
"clear": {
"command_usage": "Usage: clear <all|wp|art|mat> [lv<max level>] [r<max refinement>] [<max rarity>*]",
"weapons": "Cleared weapons for %s.",
"artifacts": "Cleared artifacts for %s.",
"materials": "Cleared materials for %s.",
......@@ -143,19 +140,16 @@
"description": "Deletes unequipped unlocked items from your inventory. Defaults to 4* level 1 refinement 1 or lower, but can be set higher."
},
"coop": {
"usage": "Usage: coop [host UID]",
"success": "Summoned %s to %s's world.",
"description": "Forces someone to join the world of others. If no one is targeted, it sends you into co-op mode anyway."
},
"enter_dungeon": {
"usage": "Usage: enterdungeon <dungeonID>",
"changed": "Changed to dungeon %s.",
"not_found_error": "Dungeon does not exist.",
"in_dungeon_error": "You are already in that dungeon.",
"description": "Enter a dungeon"
},
"give": {
"usage": "Usage: give <itemID|avatarID|\"all\"|\"weapons\"|\"mats\"|\"avatars\"> [x<amount>] [lv<level>] [r<refinement>]",
"usage_relic": "Usage: give <artifactID> [mainPropID] [<appendPropID>[,<times>]]... [lv<level 0-20>]",
"illegal_relic": "This artifactID belongs to a blacklisted range, it may not be the one you wanted.",
"given": "Given %s of %s to %s.",
......@@ -170,7 +164,6 @@
"description": "Heal all characters in your current team."
},
"help": {
"usage": "Usage: ",
"aliases": "Aliases: ",
"available_commands": "Available commands: ",
"tip_need_permission": "Permission: ",
......@@ -185,13 +178,11 @@
"description": "Kicks the specified player from the server (WIP)"
},
"killall": {
"usage": "Usage: killall [playerUID] [sceneID]",
"scene_not_found_in_player_world": "Scene not found in player world.",
"kill_monsters_in_scene": "Killing %s monsters in scene %s.",
"description": "Kill all entities"
},
"killCharacter": {
"usage": "Usage: killcharacter [playerID]",
"success": "Killed %s's current character.",
"description": "Kills the players current character"
},
......@@ -206,7 +197,6 @@
"description": "List online players"
},
"permission": {
"usage": "Usage: permission <add|remove> <username> <permission>",
"add": "Permission added.",
"has_error": "They already have this permission!",
"remove": "Permission removed.",
......@@ -219,7 +209,6 @@
"description": "Get coordinates"
},
"quest": {
"usage": "quest <add|finish> [questID]",
"added": "Quest %s added.",
"finished": "Finished quest %s.",
"not_found": "Quest not found.",
......@@ -237,12 +226,11 @@
"description": "Resets the constellation level on your current active character, you will need to relog after using the command to see any changes"
},
"resetShopLimit": {
"usage": "Usage: resetshop <playerID>",
"success": "Reset complete.",
"description": "Reset target player's shop refresh time"
},
"sendMail": {
"usage": "Usage: sendmail <userID|all|help> [templateID]",
"give_usage": "Usage: give <player> <itemID|itemName> [amount] [level] [refinement]",
"user_not_exist": "The user with an ID of '%s' does not exist.",
"start_composition": "Starting composition of message.\nPlease use '/sendmail <title>' to continue.\nYou can use '/sendmail stop' at any time.",
"templates": "Mail templates coming soon implemented...",
......@@ -265,27 +253,22 @@
"description": "Sends mail to the specified user. The usage of this command changes based on its composition state"
},
"sendMessage": {
"usage": "Usage: sendmessage <message>",
"success": "Message sent.",
"description": "Sends a message to a player as the server. If used with no target, sends to all players on the server."
},
"setFetterLevel": {
"usage": "Usage: setfetterlevel <level>",
"range_error": "Fetter level must be between 0 and 10.",
"success": "Fetter level set to %s.",
"level_error": "Invalid fetter level.",
"description": "Sets your fetter level for your current active character"
},
"setProp": {
"usage": "Usage: setprop|prop <prop> <value>\n\tValues for <prop>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume",
"description": "Sets accountwide properties. Things like godmode can be enabled this way, as well as changing things like unlocked abyss floor and battle pass progress."
"description": "Sets accountwide properties. Things like godmode can be enabled this way, as well as changing things like unlocked abyss floor and battle pass progress.\n\tValues for <prop>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume"
},
"setStats": {
"usage": "Usage: setstats|stats <stat> <value>\n\tValues for <stat>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(cont.) Elemental DMG Bonus: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Elemental RES: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys\n",
"description": "Sets fight property for your current active character"
"description": "Sets fight property for your current active character\n\tValues for <stat>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(cont.) Elemental DMG Bonus: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Elemental RES: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys"
},
"spawn": {
"usage": "Usage: spawn <entityID> [amount] [level(monster only)] [<x> <y> <z>(monster only, optional)]",
"success": "Spawned %s of %s.",
"limit_reached": "Scene spawn limit reached. Spawning %s entities instead.",
"description": "Spawns an entity near you"
......@@ -295,16 +278,12 @@
"description": "Stops the server"
},
"talent": {
"usage_1": "To set talent level: /talent set <talentID> <value>",
"usage_2": "Another way to set talent level: /talent <n or e or q> <value>",
"usage_3": "To get talent ID: /talent getid",
"lower_16": "Invalid talent level. Level should be lower than 16.",
"set_id": "Set talent to %s.",
"set_atk": "Set talent Normal ATK to %s.",
"set_e": "Set talent E to %s.",
"set_q": "Set talent Q to %s.",
"invalid_skill_id": "Invalid skill ID.",
"set_this": "Set this talent to %s.",
"invalid_level": "Invalid talent level.",
"normal_attack_id": "Normal Attack ID %s.",
"e_skill_id": "E skill ID %s.",
......@@ -312,17 +291,13 @@
"description": "Set talent level for your current active character"
},
"team": {
"usage": "Usage: team <add|remove|set> [avatarID,...] [index|first|last|index-index,...]",
"invalid_usage": "Invalid usage.",
"add_usage": "Usage (add): team add <avatarID,...> [index]",
"invalid_index": "Index is invalid.",
"add_too_much": "The server only allows you to have at most %d avatar(s) in your team.",
"failed_to_add_avatar": "Failed to add avatar ID %s.",
"remove_usage": "Usage (remove): team remove <index|first|last|index-index,...>",
"failed_to_parse_index": "Failed to parse index: %s",
"remove_too_much": "You can't remove all your avatars.",
"ignore_index": "Ignored index(es): %s",
"set_usage": "Usage (set): team set <index> <avatarID>",
"index_out_of_range": "The index you specified is out of range.",
"failed_parse_avatar_id": "Failed to parse avatar ID: %s",
"avatar_already_in_team": "Avatar is already in team.",
......@@ -335,29 +310,23 @@
"description": "Teleports all players in your world to your position"
},
"teleport": {
"usage_server": "Usage: tp @<playerID> <x> <y> <z> [sceneID]",
"usage": "Usage: tp [@<playerID>] <x> <y> <z> [sceneID]",
"specify_player_id": "You must specify a player ID.",
"invalid_position": "Invalid position.",
"exists_error": "The specified scene does not exist.",
"success": "Teleported %s to %s, %s, %s in scene %s.",
"description": "Change the player's position"
},
"weather": {
"usage": "Usage: weather [weatherId] [climateType]\nWeather IDs can be found in WeatherExcelConfigData.json.\nClimate types: sunny, cloudy, rain, thunderstorm, snow, mist",
"success": "Set weather ID to %s with climate type %s.",
"status": "Current weather ID is %s with climate type %s.",
"description": "Changes weather ID and climate type. Weather IDs can be found in WeatherExcelConfigData.json.\nClimate types: sunny, cloudy, rain, thunderstorm, snow, mist"
},
"ban": {
"command_usage": "Usage: ban <@playerId> [timestamp] [reason]",
"success": "Successful.",
"failure": "Failed, player not found.",
"invalid_time": "Unable to parse timestamp.",
"description": "Ban a player"
},
"unban": {
"command_usage": "Usage: unban <@playerId>",
"success": "Successful.",
"failure": "Failed, player not found.",
"description": "Unban a player"
......
......@@ -94,6 +94,7 @@
}
},
"execution": {
"usage_prefix": "Uso: ",
"player_exist_error": "Jugador no encontrado.",
"player_offline_error": "El jugador no está activo.",
"item_player_exist_error": "Objeto o UID inválido.",
......@@ -114,7 +115,6 @@
"success": "Exitoso"
},
"account": {
"command_usage": "Uso: account <create|delete> <nombre de usuario> [UID]",
"invalid": "UID inválido.",
"exists": "Una cuenta con este nombre de usuario y/o UID ya existe.",
"create": "Cuenta creada con UID %s.",
......@@ -123,7 +123,6 @@
"description": "Modifica las cuentas de usuario"
},
"announce": {
"command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>",
"send_success": "🇺🇸Send an announcement successfully, you can revoke it by /a revoke %s.",
"refresh_success": "🇺🇸Refresh announcement config file successfully. [Total %s]",
"revoke_done": "🇺🇸Try to revoke announcement %s.",
......@@ -131,7 +130,6 @@
"description": "🇺🇸Send announcement to all online players, or manage server's announcement"
},
"clear": {
"command_usage": "Uso: clear <all|wp|art|mat> [lv<max level>] [r<max refinement>] [<max rarity>*]",
"weapons": "Eliminadas las armas para %s.",
"artifacts": "Eliminados los artefactos para %s.",
"materials": "Eliminados los materiales para %s.",
......@@ -142,19 +140,16 @@
"description": "Elimina objetos desbloqueados no equipados, incluyendo objetos de rareza dorada, de tu inventario"
},
"coop": {
"usage": "Uso: coop [UID del host]",
"success": "Invocado %s al mundo de %s.",
"description": "Fuerza a alguien a ser invocado al mundo de otro. Si no se establece un objetivo, te envía a ti al modo cooperativo."
},
"enter_dungeon": {
"usage": "Uso: enterdungeon <dungeonID>",
"changed": "Cambiado a la mazmorra %s.",
"not_found_error": "La mazmorra no existe.",
"in_dungeon_error": "Ya estás en esa mazmorra.",
"description": "Te introduce en una mazmorra"
},
"give": {
"usage": "Uso: give <itemID|avatarID|\"all\"|\"weapons\"|\"mats\"|\"avatars\"> [x<cantidad>] [lv<nivel>] [r<refinamiento>]",
"usage_relic": "Uso: give <artifactID> [mainPropID] [<appendPropID>[,<veces>]]... [lv<nivel 0-20>]",
"illegal_relic": "Este artifactID pertenece a un rango de la lista negra, puede que no sea el que buscas.",
"given": "Dado %s de %s a %s.",
......@@ -169,7 +164,6 @@
"description": "Cura a todos los personajes en tu equipo actual."
},
"help": {
"usage": "Uso: ",
"aliases": "🇺🇸Aliases: ",
"available_commands": "Comandos disponibles: ",
"tip_need_permission": "🇺🇸Permission: ",
......@@ -184,13 +178,11 @@
"description": "Echa al jugador específico del servidor (WIP)"
},
"killall": {
"usage": "Uso: killall [playerUID] [sceneID]",
"scene_not_found_in_player_world": "Escenario no encontrado en el mundo del jugador.",
"kill_monsters_in_scene": "Matando %s monstruos en el escenario %s.",
"description": "Mata todas las entidades"
},
"killCharacter": {
"usage": "Uso: killcharacter [playerID]",
"success": "Se ha matado al personaje actual de %s.",
"description": "Mata al personaje actual del jugador"
},
......@@ -205,7 +197,6 @@
"description": "Lista los jugadores activos"
},
"permission": {
"usage": "Uso: permission <add|remove> <nombre de usuario> <permiso>",
"add": "Permiso añadido.",
"has_error": "¡Ya tiene este permiso!",
"remove": "Permiso eliminado.",
......@@ -218,7 +209,6 @@
"description": "Da las coordenadas en el escenario actual"
},
"quest": {
"usage": "🇺🇸quest <add|finish> [questID]",
"added": "Misión %s añadida.",
"finished": "Misión %s finalizada.",
"not_found": "Misión no encontrada.",
......@@ -236,12 +226,11 @@
"description": "Reinicia el nivel de constelación en tu personaje actual, necesitarás iniciar sesión de nuevo para ver los cambios"
},
"resetShopLimit": {
"usage": "Uso: resetshop <playerID>",
"success": "Reinicio completado.",
"description": "Reinicia el tiempo de refrescado de la tienda del jugador objetivo"
},
"sendMail": {
"usage": "Uso: sendmail <userID|all|help> [templateID]",
"give_usage": "🇺🇸Usage: give <player> <itemID|itemName> [amount] [level] [refinement]",
"user_not_exist": "El usuario con ID '%s' No existe.",
"start_composition": "Empezando la construcción del correo.\nPor favor usa '/sendmail <título>' para continuar.\nPuedes usar '/sendmail stop' en cualquier momento.",
"templates": "Las plantillas de correos se implementarán pronto...",
......@@ -264,27 +253,22 @@
"description": "Envía un mensaje al usuario especificado. El uso de este comando cambia con el estado de la construcción del mensaje"
},
"sendMessage": {
"usage": "Uso: sendmessage <mensaje>",
"success": "Mensaje enviado.",
"description": "Envía un mensaje a un jugador como servidor. Si se usa sin un objetivo fijado, lo envía a todos los jugadores del servidor."
},
"setFetterLevel": {
"usage": "Uso: setfetterlevel <nivel>",
"range_error": "El nivel de amistad debe estar entre 0 y 10.",
"success": "Nivel de amistad establecido a %s.",
"level_error": "Nivel de amistad inválido.",
"description": "Establece tu nivel de amistad para tu personaje actual"
},
"setProp": {
"usage": "Uso: setprop|prop <prop> <valor>\n\tValores para <prop>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) Observa PlayerProperty enum para ver otros posibles valores, de la forma PROP_MAX_SPRING_VOLUME -> max_spring_volume",
"description": "Establece propiedades de la cuenta. Cosas como el modo Dios pueden ser establecidos con este comando, además de cambiar cosas como desbloquear pisos del abusmo o progreso del pase de batalla."
"description": "Establece propiedades de la cuenta. Cosas como el modo Dios pueden ser establecidos con este comando, además de cambiar cosas como desbloquear pisos del abusmo o progreso del pase de batalla.\n\tValores para <prop>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) Observa PlayerProperty enum para ver otros posibles valores, de la forma PROP_MAX_SPRING_VOLUME -> max_spring_volume"
},
"setStats": {
"usage": "Uso: setstats|stats <estado> <valor>\n\tValores para <estado>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(cont.) Bonus de daño elemental: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Resistencia elemental: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys\n",
"description": "Establece propiedades de combate para tu personaje actual"
"description": "Establece propiedades de combate para tu personaje actual\n\tValores para <estado>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(cont.) Bonus de daño elemental: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Resistencia elemental: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys"
},
"spawn": {
"usage": "Uso: spawn <entityID> [cantidad] [nivel(solo monstruos)] [<x> <y> <z>(solo monstruos, opcional)]",
"success": "Generados %s de %s.",
"limit_reached": "Se ha alcanzado el límite de generaciones en el escenario. Generando %s entidades en su lugar.",
"description": "Genera una entidad cerca de tí"
......@@ -294,16 +278,12 @@
"description": "Detiene el servidor"
},
"talent": {
"usage_1": "Para establecer el nivel de un talento: /talent set <talentID> <valor>",
"usage_2": "Otra forma de establecer el nuvel de un talento: /talent <n o e o q> <valor>",
"usage_3": "Para obtener el ID de un talento: /talent getid",
"lower_16": "Nivel de talento inválido. El nivel debe ser menor que 16.",
"set_id": "Establecido el talento a %s.",
"set_atk": "Establecido el talento del ataque normal a %s.",
"set_e": "Establecido el talento E a %s.",
"set_q": "Establecido el talento Q a %s.",
"invalid_skill_id": "ID de habilidad inválido.",
"set_this": "Establece este talento a %s.",
"invalid_level": "Nivel de talento inválido.",
"normal_attack_id": "ID del ataque normal %s.",
"e_skill_id": "ID de la habilidad E %s.",
......@@ -311,17 +291,13 @@
"description": "Establece el nivel de un talento para tu personaje actual"
},
"team": {
"usage": "Uso: team <add|remove|set> [avatarID,...] [index|first|last|index-index,...]",
"invalid_usage": "Uso inválido.",
"add_usage": "Uso (añadir): team add <avatarID,...> [index]",
"invalid_index": "Index inválido.",
"add_too_much": "El servidor solo permite tener como máximo %d avatar(es) en tu equipo.",
"failed_to_add_avatar": "Error al añadir el avatar con ID %s.",
"remove_usage": "Uso (quitar): team remove <index|first|last|index-index,...>",
"failed_to_parse_index": "Error al usar el index: %s",
"remove_too_much": "No puedes quitar todos tus avatares.",
"ignore_index": "index(es) ignorados: %s",
"set_usage": "Uso (estableces): team set <index> <avatarID>",
"index_out_of_range": "El index especificado está fuera de rango.",
"failed_parse_avatar_id": "Error al usar el ID del avatar: %s",
"avatar_already_in_team": "El avatar ya está en el equipo.",
......@@ -334,29 +310,23 @@
"description": "Teletransporta a todos los jugadores en tu mundo a tu localización"
},
"teleport": {
"usage_server": "Uso: tp @<playerID> <x> <y> <z> [sceneID]",
"usage": "Uso: tp [@<playerID>] <x> <y> <z> [sceneID]",
"specify_player_id": "Debes especificar un ID de jugador.",
"invalid_position": "Posición inválida.",
"exists_error": "El escenario especificado no existe.",
"success": "Teletransportado %s a %s, %s, %s en el escenario %s.",
"description": "Cambia la posición del jugador"
},
"weather": {
"usage": "Uso: weather [weatherId] [tipo de clima]\nLos IDs de climas pueden ser encontrados en WeatherExcelConfigData.json.\nTipos de clima: sunny, cloudy, rain, thunderstorm, snow, mist",
"success": "Establece el ID del clima %s con el tipo de clima %s.",
"status": "El ID del clima actual es %s con tipo de clima %s.",
"description": "Cambia el ID del clima y el tipo de clima. Los IDs de climas pueden ser encontrados en WeatherExcelConfigData.json.\nTipos de clima: sunny, cloudy, rain, thunderstorm, snow, mist"
},
"ban": {
"command_usage": "Uso: ban <@playerId> [marca de tiempo] [razón]",
"success": "Exitoso.",
"failure": "Error, jugador no encontrado.",
"invalid_time": "No se puede establecer la marca de tiempo.",
"description": "Beta a un jugador"
},
"unban": {
"command_usage": "Uso: unban <@playerId>",
"success": "Exitoso.",
"failure": "Error, jugador no encontrado.",
"description": "Elimina el veto a un jugador"
......
......@@ -94,6 +94,7 @@
}
},
"execution": {
"usage_prefix": "🇺🇸Usage: ",
"player_exist_error": "Joueur introuvable.",
"player_offline_error": "Le joueur n'est pas connecté.",
"item_player_exist_error": "UID ou objet invalide.",
......@@ -114,7 +115,6 @@
"success": "Succès"
},
"account": {
"command_usage": "Utilisation: account <create|delete> <nom_d'utilisateur> [UID]",
"invalid": "UID invalide.",
"exists": "Un compte avec ce nom d'utilisateur et/ou UID existe déjà.",
"create": "Compte créé avec l'UID %s.",
......@@ -123,7 +123,6 @@
"description": "Modifie les comptes utilisateurs"
},
"announce": {
"command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>",
"send_success": "🇺🇸Send an announcement successfully, you can revoke it by /a revoke %s.",
"refresh_success": "🇺🇸Refresh announcement config file successfully. [Total %s]",
"revoke_done": "🇺🇸Try to revoke announcement %s.",
......@@ -131,7 +130,6 @@
"description": "🇺🇸Send announcement to all online players, or manage server's announcement"
},
"clear": {
"command_usage": "🇺🇸Usage: clear <all|wp|art|mat> [lv<max level>] [r<max refinement>] [<max rarity>*]",
"weapons": "Les armes de %s ont été supprimés.",
"artifacts": "Les artéfacts de %s ont été supprimés.",
"materials": "Les matériaux de %s ont été supprimés.",
......@@ -142,19 +140,16 @@
"description": "Supprime les objets débloqués et non équipés, y compris ceux de rareté 5* de votre inventaire"
},
"coop": {
"usage": "Usage: coop [UID de l'hôte]",
"success": "%s est apparu dans de monde de %s.",
"description": "Force quelqu'un a rejoindre le monde d'un autre. Si personne n'est ciblé, vous envoie quand même en mode multijoueur."
},
"enter_dungeon": {
"usage": "🇺🇸Usage: enterdungeon <dungeonID>",
"changed": "Entré dans le donjon %s.",
"not_found_error": "Le donjon n'existe pas.",
"in_dungeon_error": "Vous êtes déjà dans ce donjon.",
"description": "Entrer dans un donjon"
},
"give": {
"usage": "Usage: give <joueur> <itemID|avatarID> [quantité] [niveau] [raffinement]",
"usage_relic": "🇺🇸Usage: give <artifactID> [mainPropID] [<appendPropID>[,<times>]]... [lv<level 0-20>]",
"illegal_relic": "🇺🇸This artifactID belongs to a blacklisted range, it may not be the one you wanted.",
"given": "🇺🇸Given %s of %s to %s.",
......@@ -169,7 +164,6 @@
"description": "Soigne tous les personnages de votre équipe"
},
"help": {
"usage": "Utilisation: ",
"aliases": "Alias: ",
"available_commands": "Commandes disponibles: ",
"tip_need_permission": "🇺🇸Permission: ",
......@@ -184,13 +178,11 @@
"description": "Ejecte le joueur spécifié du serveur (WIP)"
},
"killall": {
"usage": "🇺🇸Usage: killall [playerUID] [sceneID]",
"scene_not_found_in_player_world": "Scène introuvable dans le monde du joueur.",
"kill_monsters_in_scene": "Exécution de %s monstres dans la scène %s...",
"description": "Tue toutes les entités"
},
"killCharacter": {
"usage": "🇺🇸Usage: killcharacter [playerID]",
"success": " Le personnage actuel de %s a été tué.",
"description": "Tue le personnage actuel du joueur spécifié"
},
......@@ -205,7 +197,6 @@
"description": "Liste tous les joueurs connectés"
},
"permission": {
"usage": "🇺🇸Usage: permission <add|remove> <username> <permission>",
"add": "Permission ajoutée.",
"has_error": "Cet utilisateur possède déjà cette permission!",
"remove": "Permission retirée.",
......@@ -218,7 +209,6 @@
"description": "Obtenir vos coordonnées"
},
"quest": {
"usage": "🇺🇸quest <add|finish> [questID]",
"added": "Quête %s ajoutée.",
"finished": "Quête terminée : %s.",
"not_found": "Quête introuvable.",
......@@ -236,12 +226,11 @@
"description": "Réinitialise les constellations d'un avatar. Vous devez vous reconnecter pour voir les modifications."
},
"resetShopLimit": {
"usage": "🇺🇸Usage: resetshop <playerID>",
"success": "Réinitialisation terminée.",
"description": "Réinitialise le temps d'actualisation de la boutique du joueur spécifié"
},
"sendMail": {
"usage": "🇺🇸Usage: sendmail <userID|all|help> [templateID]",
"give_usage": "Usage: give <joueur> <itemID|avatarID> [quantité] [niveau] [raffinement]",
"user_not_exist": "L'utilisateur avec l'identifiant '%s' n'existe pas.",
"start_composition": "Démarrage de la composition du message.\nVeuillez utiliser'/sendmail <titre>' pour continuer.\nVous pouvez utiliser '/sendmail stop' à tout moment.",
"templates": "Les modèles de lettres ne sont pas encore disponibles.",
......@@ -264,27 +253,22 @@
"description": "Envoie un courrier à l'utilisateur spécifié. L'utilisation de la commande change en fonction du stade de la composition du message."
},
"sendMessage": {
"usage": "Usage: sendmessage <joueur> <message>",
"success": "Message envoyé.",
"description": "Envoie un message au joueur spécifié en tant que Serveur"
},
"setFetterLevel": {
"usage": "🇺🇸Usage: setfetterlevel <level>",
"range_error": "Le niveau d'affinité doit être compris entre 0 et 10.",
"success": "Niveau d'affinité défini à %s.",
"level_error": "Niveau d'affinité invalide.",
"description": "Défini le niveau d'affinité de votre personnage actif"
},
"setProp": {
"usage": "🇺🇸Usage: setprop|prop <prop> <value>\n\tValues for <prop>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume",
"description": "Définit des propriétes pour votre compte. Des choses comme le godemode peuvent être activés avec cette commande, et le déblocage de l'abysse ainsi que l'avancement du PB."
"description": "Définit des propriétes pour votre compte. Des choses comme le godemode peuvent être activés avec cette commande, et le déblocage de l'abysse ainsi que l'avancement du PB.\n\tValues for <prop>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume"
},
"setStats": {
"usage": "Usage: setstats|stats <stat> <valeur>\n\tValeurs pour <stat>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(cont.) Bonus de dégât élémentaire: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Résistance élémentaire: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys\n",
"description": "Définit les propriétés de combat de votre personnage actif"
"description": "Définit les propriétés de combat de votre personnage actif\n\tValeurs pour <stat>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(cont.) Bonus de dégât élémentaire: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Résistance élémentaire: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys"
},
"spawn": {
"usage": "Usage: spawn <entityID> [quantité] [niveau(monstre uniquement)] [<x> <y> <z>(monstre uniquement, optionnel)]",
"success": " %s %s sont apparu.",
"limit_reached": "La limite d'apparition de la scène est atteinte. Apparition de %s entités à la place.",
"description": "Fait apparaitre une entité à proximité"
......@@ -294,16 +278,12 @@
"description": "Arrête le serveur"
},
"talent": {
"usage_1": "Pour définir le niveau du talent: /talent set <talentID> <value>",
"usage_2": "Une autre façon de définir le niveau d'un talent: /talent <n or e or q> <value>",
"usage_3": "Pour obtenir l'ID d'un talent: /talent getid",
"lower_16": "Niveau de talent invalide. Le niveau doit être inférieur a 16.",
"set_id": "Talent défini à %s.",
"set_atk": "Le talent ATK normale a été défini à %s.",
"set_e": "Le talent E a été défini a %s.",
"set_q": "Le talent A/Q a été défini à %s.",
"invalid_skill_id": "ID de talent invalide.",
"set_this": "Ce talent a été défini a %s.",
"invalid_level": "Niveau de talent invalide.",
"normal_attack_id": "ID de l'attaque normale ID %s.",
"e_skill_id": "ID du E %s.",
......@@ -311,17 +291,13 @@
"description": "Définit le niveau du talent du personnage actif"
},
"team": {
"usage": "🇺🇸Usage: team <add|remove|set> [avatarID,...] [index|first|last|index-index,...]",
"invalid_usage": "Utilisation invalide.",
"add_usage": "Utilisation (add): team add <avatarID,...> [index]",
"invalid_index": "Index invalide.",
"add_too_much": "Ce serveur autorise à avoir au maximum %d avatar(s) dans votre équipe.",
"failed_to_add_avatar": "Echec de l'ajout de l'avatar a l'ID %s dans votre équipe.",
"remove_usage": "Utilisation (remove): team remove <index|first|last|index-index,...>",
"failed_to_parse_index": "Echec de l'analyse de l'index index: %s",
"remove_too_much": "Vous ne pouvez pas retirer tous les avatars.",
"ignore_index": "Index(s) ignorés : %s",
"set_usage": "Utilisation : (set): team set <index> <avatarID>",
"index_out_of_range": "L'index spécifié est en dehors du champ.",
"failed_parse_avatar_id": "Echec de l'analyse de l'ID de l'avatar: %s",
"avatar_already_in_team": "L'avatar est déjà dans votre équipe.",
......@@ -334,29 +310,23 @@
"description": "Téléporte tous les joueurs de votre monde sur votre position"
},
"teleport": {
"usage_server": "Utilisation: tp @<playerID> <x> <y> <z> [sceneID]",
"usage": "Utilisation: tp [@<playerID>] <x> <y> <z> [sceneID]",
"specify_player_id": "Vous devez spécifier un ID d'utilisateur.",
"invalid_position": "Position invalide.",
"exists_error": "La scène spécifié n'existe pas.",
"success": "%s a été téléporté à %s, %s, %s dans la scène %s.",
"description": "Change la position du joueur"
},
"weather": {
"usage": "Utilisation: weather [weatherId] [climateType]\nLes ID de la météo peuvent être trouvés dans WeatherExcelConfigData.json.\nClimate types: sunny, cloudy, rain, thunderstorm, snow, mist.",
"success": "L'ID de la météo à été défini a %s avec le type de climat %s.",
"status": "L'ID de la météo accutel est %s avec le type de climat %s.",
"description": "Change la météo. Les ID de la météo peuvent être trouvés dans WeatherExcelConfigData.json.\nTypes de climatss: sunny, cloudy, rain, thunderstorm, snow, mist."
},
"ban": {
"command_usage": "Usage: ban <@playerId> [timestamp] [raison]",
"success": "Succès.",
"failure": "Échec, joueur introuvable.",
"invalid_time": "Impossible d'analyser le timestamp.",
"description": "Bannis un joueur"
},
"unban": {
"command_usage": "🇺🇸Usage: unban <@playerId>",
"success": "Succès.",
"failure": "Échec, joueur introuvable.",
"description": "Retire le bannissement d'un joueur"
......
......@@ -94,6 +94,7 @@
}
},
"execution": {
"usage_prefix": "Użycie: ",
"player_exist_error": "Gracz nie istnieje.",
"player_offline_error": "Gracz nie jest online.",
"item_player_exist_error": "Błędny przedmiot lub ID.",
......@@ -114,7 +115,6 @@
"success": "Sukces"
},
"account": {
"command_usage": "🇺🇸Usage: account <create|delete> <username> [UID]",
"invalid": "Błędne UID gracza.",
"exists": "Konto o tej nazwie użytkownika i/lub UID już istnieje.",
"create": "Stworzono konto z UID %s.",
......@@ -123,7 +123,6 @@
"description": "Twórz lub usuń konta."
},
"announce": {
"command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>",
"send_success": "Ogłoszenie zostało pomyślnie wysłane. Możesz je odwołać używając \"announce revoke %s\".",
"refresh_success": "Odświeżono konfigurację ogłoszeń (w sumie jest ich %s).",
"revoke_done": "Pomyślnie odwołano ogłoszenie %s.",
......@@ -131,7 +130,6 @@
"description": "Wysyłaj i zarządzaj ogłoszeniami."
},
"clear": {
"command_usage": "🇺🇸Usage: clear <all|wp|art|mat> [lv<max level>] [r<max refinement>] [<max rarity>*]",
"weapons": "Usunięto bronie gracza %s.",
"artifacts": "Usunięto artefakty gracza %s.",
"materials": "Usunięto materiały gracza %s.",
......@@ -142,19 +140,16 @@
"description": "Usuń niewyposażone przedmioty wskazanego gracza."
},
"coop": {
"usage": "coop @[ID gracza]",
"success": "Pomyślnie dodano gracza %s do świata gracza %s.",
"description": "Dodaj wskazanego gracza do swojego świata."
},
"enter_dungeon": {
"usage": "enterdungeon <ID lochu>",
"changed": "Pomyślnie zmieniono loch na %s.",
"not_found_error": "Podane ID lochu jest nieprawidłowe.",
"in_dungeon_error": "Wskazany gracz już jest w tym lochu.",
"description": "Zmień loch, w którym ma się znajdować wskazany gracz."
},
"give": {
"usage": "give <ID przedmiotu|ID awataru|all|weapons|mats|avatars> [x<ilość>] [lv<poziom>] [r<poziom ulepszenia>]",
"usage_relic": "give <ID reliktu> [ID pierwszego przedmiotu] [<ID drugiego przedmiotu>[, <ile razy je połączyć>]]... [lv<poziom od 0 do 20>]",
"illegal_relic": "Ten ID reliktu znajduje się na czarnej liście i może być nie tym, czego szukasz.",
"given": "Dodano %s przedmiotów o ID %s graczowi o ID %s.",
......@@ -169,7 +164,6 @@
"description": "Ulecz wszystkie postacie w swoim zespole."
},
"help": {
"usage": "help [nazwa komendy]",
"aliases": "Aliasy: ",
"available_commands": "Dostępne komendy: ",
"tip_need_permission": "Wymagane uprawnienie: ",
......@@ -184,13 +178,11 @@
"description": "Wyrzuć wskazanego gracza z gry."
},
"killall": {
"usage": "killall @[ID gracza] [ID sceny]",
"scene_not_found_in_player_world": "Błędny ID sceny.",
"kill_monsters_in_scene": "Zabito %s potworów w scenie %s.",
"description": "Zabij wszystkie potwory we wskazanej scenie."
},
"killCharacter": {
"usage": "killcharacter @[ID gracza]",
"success": "Pomyślnie zabito postać gracza %s.",
"description": "Zabij postać wskazanego gracza."
},
......@@ -205,7 +197,6 @@
"description": "Pokaż ile jest graczy na serwerze."
},
"permission": {
"usage": "permission <add|remove> <nazwa gracza> <uprawnienie>",
"add": "Pomyślnie dodano uprawnienie.",
"has_error": "Ten gracz już ma to uprawnienie.",
"remove": "Pomyślnie usunięto uprawnienie.",
......@@ -218,7 +209,6 @@
"description": "Pokaż gdzie znajduje się dany gracz."
},
"quest": {
"usage": "quest <add|finish> [ID zadania]",
"added": "Zadanie %s zostało dodane.",
"finished": "Zadanie %s zostało zakończone.",
"not_found": "Nie ma zadania o podanym ID.",
......@@ -236,12 +226,11 @@
"description": "Resetuj konstelacje wszystkich lub wybranej postaci."
},
"resetShopLimit": {
"usage": "resetshop @<ID gracza>",
"success": "Zresetowano czas odświeżania sklepu podanego gracza.",
"description": "Resetuj czas odświeżania sklepu podanego gracza."
},
"sendMail": {
"usage": "sendmail <@<ID gracza>|all|help> [ID szablonu]",
"give_usage": "Użycie: give <gracz> <id przedmiotu | avatarID> [ilość] [poziom] [refinement]",
"user_not_exist": "Gracz o podanym ID %s nie istnieje.",
"start_composition": "Tworzenie wiadomości.\nUżyj \"sendmail <tytuł>\", aby kontynuować.\nMożesz użyć \"sendmail stop\" w dowolnym momencie, aby przestać.",
"templates": "Szablony nie są jeszcze gotowe do użycia.",
......@@ -264,27 +253,22 @@
"description": "Wyślij wiadomość wraz z przedmiotami do wybranego lub wszystkich graczy."
},
"sendMessage": {
"usage": "sendmessage @<ID gracza> <wiadomość>",
"success": "Wiadomość wysłana.",
"description": "Wyślij wiadomość do gracza jako serwer. Jeśli nie określono celu, wysyła do wszystkich graczy na serwerze."
},
"setFetterLevel": {
"usage": "setfetterlevel <poziom przyjaźni>",
"range_error": "Poziom przyjaźni musi być pomiędzy 0 a 10.",
"success": "Poziom przyjaźni został pomyślnie ustawiony na %s.",
"level_error": "Błędny poziom przyjaźni.",
"description": "Ustaw poziom przyjaźni obecnej postaci."
},
"setProp": {
"usage": "setprop <nazwa własności> <wartość>\n\tMożliwe nazwy własności: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel | ...\n\tTa komenda ma więcej nazw własności, które może otrzymać. Możesz je wszystkie zobaczyć w pliku \"game/props/PlayerProperty.java\".\n\tW tym pliku, przyjmują one formę \"PROP_XXX_YYY_ZZZ\", ale powinieneś je zapisywać jako \"xxx_yyy_zzz\" jeśli chcesz je użyć w tej komendzie.",
"description": "Ustaw pewne własności konta, takie jak tryb nieśmiertelności (godmode) czy też zmiana postępu Battle Pass."
"description": "Ustaw pewne własności konta, takie jak tryb nieśmiertelności (godmode) czy też zmiana postępu Battle Pass.\n\tMożliwe nazwy własności: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel | ...\n\tTa komenda ma więcej nazw własności, które może otrzymać. Możesz je wszystkie zobaczyć w pliku \"game/props/PlayerProperty.java\".\n\tW tym pliku, przyjmują one formę \"PROP_XXX_YYY_ZZZ\", ale powinieneś je zapisywać jako \"xxx_yyy_zzz\" jeśli chcesz je użyć w tej komendzie."
},
"setStats": {
"usage": "setstats <nazwa statystyki> <wartość>\n\tMożliwe nazwy statystyki: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\tDodatkowe obrażenia od żywiołu: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\tOdporność na żywioł: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys",
"description": "Ustaw statystykę walki dla obecnie wybranej postaci wybranego gracza."
"description": "Ustaw statystykę walki dla obecnie wybranej postaci wybranego gracza.\n\tMożliwe nazwy statystyki: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\tDodatkowe obrażenia od żywiołu: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\tOdporność na żywioł: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys"
},
"spawn": {
"usage": "spawn <ID obiektu> [ilość] [poziom (tylko potwory)] [<x> <y> <z> (tylko potwory)]",
"success": "Stworzono %s obiektów o ID %s.",
"limit_reached": "Osiągnięto maksymalną ilość obiektów w scenie. Dodane zostaną tylko %s.",
"description": "Dodaj wskazane obiekty do sceny wybranego gracza."
......@@ -294,16 +278,12 @@
"description": "Zatrzymaj serwer."
},
"talent": {
"usage_1": "Aby ustawić poziom talentu, użyj: \"talent set <ID talentu> <wartość>\".",
"usage_2": "Możesz też użyć: \"talent <n lub e lub q> <wartość>\"",
"usage_3": "Aby uzyskać ID talentu, użyj: \"talent getid\"",
"lower_16": "Błędny poziom talentu. Poziom ten powinien być mniejszy niż 16.",
"set_id": "Ustawiono poziom talentu na %s.",
"set_atk": "Ustawiono poziom talentu Atak Podstawowy na %s.",
"set_e": "Ustawiono poziom talentu E na %s.",
"set_q": "Ustawiono poziom talentu Q na %s.",
"invalid_skill_id": "Błędne ID umiejętności.",
"set_this": "Ustawiono obecny talent na poziom %s.",
"invalid_level": "Błędny poziom talentu.",
"normal_attack_id": "ID podstawowego ataku: %s.",
"e_skill_id": "ID umiejętności E: %s.",
......@@ -311,17 +291,13 @@
"description": "Ustaw poziomu talentu obecnie wybranej postaci wybranego gracza."
},
"team": {
"usage": "team <add|remove|set> [ID awatara, ...] [indeks|pierwszy|ostatni|pierwszy_indeks-ostatni_indeks, ...]",
"invalid_usage": "Nieprawidłowe użycie komendy.",
"add_usage": "team add <ID awatara, ...> [indeks]",
"invalid_index": "Błędny indeks.",
"add_too_much": "Można mieć maksymalnie %d postaci w zespole.",
"failed_to_add_avatar": "Błąd podczas dodawania awatara o ID \"%s\".",
"remove_usage": "team remove <indeks|pierwszy|ostatni|pierwszy_indeks-ostatni_indeks, ...>",
"failed_to_parse_index": "Błąd podczas przetwarzania indeksu \"%s\".",
"remove_too_much": "Nie możesz usunąć wszystkich awatarów w zespole.",
"ignore_index": "Ignorowanie indeksu/ów %s.",
"set_usage": "team set <indeks> <ID awatara>",
"index_out_of_range": "Podany indeks nie mieści się w swoim zakresie.",
"failed_parse_avatar_id": "Błędny ID awatara \"%s\".",
"avatar_already_in_team": "Podany awatar jest już w zespole wybranego gracza.",
......@@ -334,29 +310,23 @@
"description": "Przyzwij wszystkich graczy do wybranego gracza."
},
"teleport": {
"usage_server": "tp @<ID gracza> <x> <y> <z> [ID sceny]",
"usage": "tp [@<ID gracza>] <x> <y> <z> [ID sceny]",
"specify_player_id": "Musisz podać ID gracza.",
"invalid_position": "Błędna pozycja xyz.",
"exists_error": "Ta scena nie istenieje.",
"success": "Gracz %s został przeniesiony do pozycji (%s, %s, %s) w scenie o ID %s.",
"description": "Przemieść wybranego gracza do podanej pozycji w podanej scenie."
},
"weather": {
"usage": "weather [ID pogody] [typ klimatu]\n\tID pogody można znaleźć w pliku \"WeatherExcelConfigData.json\".\n\tMożliwe typy klimatu: sunny (słoneczny), cloudy (pochmurny), rain (deszcz), thunderstorm (burza), snow (śnieg), mist (mgła)",
"success": "ID pogody został ustawiony na %s, a typ klimatu na %s.",
"status": "Bieżące ID pogody to %s, a typ klimatu to %s.",
"description": "Zmień ID pogody i typ klimatu."
},
"ban": {
"command_usage": "🇺🇸Usage: ban <@playerId> [timestamp] [reason]",
"success": "Pomyślnie zbanowano podanego gracza.",
"failure": "Gracz o podanym ID nie istnieje.",
"invalid_time": "Nieprawidłowy czas bana.",
"description": "Zbanuj podanego gracza."
},
"unban": {
"command_usage": "🇺🇸Usage: unban <@playerId>",
"success": "Pomyślnie odbanowano podanego gracza.",
"failure": "Gracz o podanym ID nie istnieje.",
"description": "Odbanuj podanego gracza."
......
......@@ -94,6 +94,7 @@
}
},
"execution": {
"usage_prefix": "Utilizare: ",
"player_exist_error": "Jucătorul nu a fost găsit.",
"player_offline_error": "Jucătorul nu este online.",
"item_player_exist_error": "Articol sau UID nevalabil.",
......@@ -114,7 +115,6 @@
"success": "Succes"
},
"account": {
"command_usage": "Utilizare: account <create|delete> <nume de utilizator> [UID]",
"invalid": "UID invalid.",
"exists": "Un cont cu acest nume de utilizator și/sau UID există deja.",
"create": "Cont creat cu UID %s.",
......@@ -123,7 +123,6 @@
"description": "Modificați conturile de utilizator"
},
"announce": {
"command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>",
"send_success": "🇺🇸Send an announcement successfully, you can revoke it by /a revoke %s.",
"refresh_success": "🇺🇸Refresh announcement config file successfully. [Total %s]",
"revoke_done": "🇺🇸Try to revoke announcement %s.",
......@@ -131,7 +130,6 @@
"description": "🇺🇸Send announcement to all online players, or manage server's announcement"
},
"clear": {
"command_usage": "Utilizare: clear <all|wp|art|mat> [lv<max level>] [r<max refinement>] [<max rarity>*]",
"weapons": "Arme șterse pentru %s.",
"artifacts": "Artefacte șterse pentru %s.",
"materials": "Materiale șterse pentru %s.",
......@@ -142,19 +140,16 @@
"description": "Șterge obiectele deblocate neechipate, inlusiv cele cu raritate galbenă din inventarul tău."
},
"coop": {
"usage": "Utilizare: coop [host UID]",
"success": "Invocat %s în lumea lui %s.",
"description": "Forțează pe cineva să se alăture lumii celorlalți. Dacă nu este nimeni vizat, te trimite oricum în modul cooperativ."
},
"enter_dungeon": {
"usage": "Utilizare: enterdungeon <dungeonID>",
"changed": "Schimbat în temnița %s.",
"not_found_error": "Temnița nu există.",
"in_dungeon_error": "Ești deja în acea temniță.",
"description": "Intră într-o temniță."
},
"give": {
"usage": "Utilizare: give <itemID|avatarID|\"all\"|\"weapons\"|\"mats\"|\"avatars\"> [x<sumă>] [lv<nivel>] [r<rafinament>]",
"usage_relic": "Utilizare: give <artifactID> [mainPropID] [<appendPropID>[,<t>]]... [lv<nivel 0-20>]",
"illegal_relic": "Acest ID de artefact aparține unui interval de pe lista neagră, este posibil să nu fie cel pe care l-ați dorit.",
"given": "Am dat %s din %s lui %s.",
......@@ -169,7 +164,6 @@
"description": "Vindecă toate personajele din echipa ta."
},
"help": {
"usage": "Utilizare: ",
"aliases": "Aliasuri: ",
"available_commands": "Comenzi disponibile: ",
"tip_need_permission": "Permisiune: ",
......@@ -184,13 +178,11 @@
"description": "Elimină jucătorul specificat de pe server (WIP)"
},
"killall": {
"usage": "Utilizare: killall [playerUID] [sceneID]",
"scene_not_found_in_player_world": "Scena nu a fost găsită în lumea jucătorului.",
"kill_monsters_in_scene": "Se omoară %s monștri în scena %s.",
"description": "Se omoară toate entitățile."
},
"killCharacter": {
"usage": "Utilizare: killcharacter [playerID]",
"success": "Personajul curent al lui %s a fost omorât.",
"description": "Omoară personajul curent al jucătorului."
},
......@@ -205,7 +197,6 @@
"description": "Enumeră jucătorii online."
},
"permission": {
"usage": "Utilizare: permission <add|remove> <username> <permission>",
"add": "Permisiune adăugată.",
"has_error": "Ei au deja această permisiune!",
"remove": "Permisiune revocată.",
......@@ -218,7 +209,6 @@
"description": "Obțineți coordonatele"
},
"quest": {
"usage": "🇺🇸quest <add|finish> [questID]",
"added": "Misiunea %s adăugată.",
"finished": "Ați terminat misiunea %s.",
"not_found": "Misiunea nu a fost găsită.",
......@@ -236,12 +226,11 @@
"description": "Resetează nivelul de constelație al personajului tău activ curent; va trebui să te reconectezi după ce ai folosit comanda pentru a vedea orice schimbare."
},
"resetShopLimit": {
"usage": "Utilizare: resetshop <playerID>",
"success": "Reset complet.",
"description": "Resetează timpul de reîmprospătare a magazinului jucătorului țintă."
},
"sendMail": {
"usage": "Utilizare: sendmail <userID|all|help> [templateID]",
"give_usage": "🇺🇸Usage: give <player> <itemID|itemName> [amount] [level] [refinement]",
"user_not_exist": "Utilizatorul cu id-ul '%s' nu există.",
"start_composition": "Alcătuirea inițială a mesajului.\nFolosește '/sendmail <title>' ca să continui.\nPoți folosi '/sendmail stop' oricând vrei.",
"templates": "Șabloanele de e-mail vor fi implementate în curând...",
......@@ -264,27 +253,22 @@
"description": "Trimite corespondența către utilizatorul specificat. Utilizarea acestei comenzi se modifică în funcție de starea de compunere a acesteia."
},
"sendMessage": {
"usage": "Utilizare: sendmessage <mesaj>",
"success": "Mesaj trimis.",
"description": "Trimite un mesaj unui jucător în calitate de server. Dacă este utilizat fără țintă, trimite mesajul către toți jucătorii de pe server."
},
"setFetterLevel": {
"usage": "Utilizare: setfetterlevel <nivel>",
"range_error": "Nivelul Fetter trebuie să fie între 0 și 10.",
"success": "Nivelul Fetter setat ca %s.",
"level_error": "Nivel Fetter nevalabil.",
"description": "Stabilește nivelul Fetter pentru personajul tău activ curent."
},
"setProp": {
"usage": "Utilizare: setprop|prop <prop> <value>\n\tValori pentru <prop>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume",
"description": "Stabilește proprietățile la nivel de cont. Lucruri precum godmode pot fi activate în acest fel, precum și schimbarea unor lucuri precum etajul abisului deblocat și progresul battle pass."
"description": "Stabilește proprietățile la nivel de cont. Lucruri precum godmode pot fi activate în acest fel, precum și schimbarea unor lucuri precum etajul abisului deblocat și progresul battle pass.\n\tValori pentru <prop>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume"
},
"setStats": {
"usage": "Utilizare: setstats|stats <stat> <value>\n\tValori pentru <stat>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(cont.) Elemental DMG Bonus: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Elemental RES: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys\n",
"description": "Stabilește proprietatea de luptă pentru caracterul activ curent."
"description": "Stabilește proprietatea de luptă pentru caracterul activ curent.\n\tValori pentru <stat>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(cont.) Elemental DMG Bonus: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Elemental RES: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys"
},
"spawn": {
"usage": "Utilizare: spawn <entityID> [sumă] [nivel(doar monstrul)] [<x> <y> <z>(doar monstrul, opțional)]",
"success": "A generat %s de %s.",
"limit_reached": "Limita de reproducere a scenei a fost atinsă. În schimb, se generează %s de entități.",
"description": "Generează o entitate lângă tine"
......@@ -294,16 +278,12 @@
"description": "Oprește serverul"
},
"talent": {
"usage_1": "Pentru a seta nivelul de talent: /talent set <talentID> <sumă>",
"usage_2": "O altă modalitate de a stabili nivelul de talent: /talent <n or e or q> <valoare>",
"usage_3": "Pentru a lua ID-ul talentului: /talent getid",
"lower_16": "Nivel de talent nevalabil. Nivelul trebuie să fie mai mic ca 16.",
"set_id": "Setat nivelul ca %s.",
"set_atk": "Setat talentul Normal Attack ca %s.",
"set_e": "Setat talentul E ca %s.",
"set_q": "Setat talentul Q ca %s.",
"invalid_skill_id": "Skill ID nevalabil.",
"set_this": "Setat acest talent ca %s.",
"invalid_level": "Nivel de talent nevalabil.",
"normal_attack_id": "🇺🇸Normal Attack ID %s.",
"e_skill_id": "🇺🇸E skill ID %s.",
......@@ -311,17 +291,13 @@
"description": "Stabilește nivelul de talent pentru personajul tău activ actual"
},
"team": {
"usage": "Utilizare: team <add|remove|set> [avatarID,...] [index|first|last|index-index,...]",
"invalid_usage": "Utilizare invalidă.",
"add_usage": "Utilizare (adaugă): team add <avatarID,...> [index]",
"invalid_index": "Indexul nu e valabil.",
"add_too_much": "Serverul vă permite doar să aveți cel mult %s avatar(e) în echipa dvs.",
"failed_to_add_avatar": "Nu s-a reușit adăugarea ID-ului avatarului %s.",
"remove_usage": "Utilizare (eliminare): team remove <index|first|last|index-index,...>",
"failed_to_parse_index": "Nu a reușit să analizeze indexul: %s",
"remove_too_much": "Nu poți elimina toate avatarele tale.",
"ignore_index": "Index(e) ignorat(e): %s",
"set_usage": "Utilizare (stabilire): team set <index> <avatarID>",
"index_out_of_range": "Indexul specificat este în afara intervalului.",
"failed_parse_avatar_id": "Nu a reușit să analizeze id-ul avatarului: %s",
"avatar_already_in_team": "Avatarul este deja în echipă.",
......@@ -334,29 +310,23 @@
"description": "Teleportează toți jucătorii din lume în locația ta."
},
"teleport": {
"usage_server": "Utilizare: tp @<playerID> <x> <y> <z> [sceneID]",
"usage": "Utilizare: tp [@<playerID>] <x> <y> <z> [sceneID]",
"specify_player_id": "Trebuie să specificați un ID de jucător.",
"invalid_position": "Locație invalidă.",
"exists_error": "Scena specificată nu există.",
"success": "Teleportat %s la %s, %s, %s în scena %s.",
"description": "Schimbă poziția jucătorului."
},
"weather": {
"usage": "Utilizare: weather [weatherId] [climateType]\nID-urile meteorologice pot fi găsite în WeatherExcelConfigData.json.\nTipuri de climă: sunny, cloudy, rain, thunderstorm, snow, mist",
"success": "A setat ID-ul meteo la %s cu tipul de climă %s",
"status": "ID-ul actual al vremii este %s cu tipul de climă %s",
"description": "Schimbă ID-ul vremii și tipul de climă. ID-urile de vreme pot fi găsite în WeatherExcelConfigData.json.\nTipuri de climă: sunny, cloudy, rain, thunderstorm, snow, mist"
},
"ban": {
"command_usage": "Utilizare: ban <@playerId> [durată] [motiv]",
"success": "Succes.",
"failure": "Eșec. Jucătorul nu a fost găsit.",
"invalid_time": "Imposibil de analizat durata.",
"description": "Interziceți un jucător"
},
"unban": {
"command_usage": "Utilizare: unban <@playerId>",
"success": "Succes.",
"failure": "Eșec, jucătorul nu a fost găsit.",
"description": "Dezbancarea unui jucător"
......
......@@ -94,6 +94,7 @@
}
},
"execution": {
"usage_prefix": "Применение: ",
"player_exist_error": "Игрок не найден.",
"player_offline_error": "Игрок не в сети.",
"item_player_exist_error": "Некорректный предмет или UID.",
......@@ -114,7 +115,6 @@
"success": "Успех"
},
"account": {
"command_usage": "Применение: account <create|delete> <имя_пользователя> [UID]",
"invalid": "Некорректный UID.",
"exists": "Аккаунт с таким именем пользователя и/или UID уже существует.",
"create": "Аккаунт с UID %s был создан.",
......@@ -123,7 +123,6 @@
"description": "Вносит изменения в аккаунты пользователей"
},
"announce": {
"command_usage": "Применение: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>",
"send_success": "Объявление было отправлено успешно, вы можете отзвать его с помощью команды /a revoke %s.",
"refresh_success": "Конфигурационный файл объявления был успешно обновлён. [Всего %s]",
"revoke_done": "Пытаемся отозвать объявление %s.",
......@@ -131,7 +130,6 @@
"description": "Показывает объявление всем игрокам в сети и позволяет управлять серверными объявлениями"
},
"clear": {
"command_usage": "Применение: clear <all|wp|art|mat> [lv<макс_уровень>] [r<макс_пробуждение>] [<макс_редкость>*]",
"weapons": "Удалены оружия у %s.",
"artifacts": "Удалены артефакты у %s.",
"materials": "Удалены материалы у %s.",
......@@ -142,19 +140,16 @@
"description": "Удаляет все доступные неэкипированные предметы из вашего инвентаря. По умолчанию удаляет 4* предметы 1-го уровня предмета 1-го ранга пробуждения и ниже, однако, возможно задать более высокие параметры."
},
"coop": {
"usage": "Применение: coop [UID_хоста]",
"success": "Игрок %s был призван в мир %s.",
"description": "Принудительно присоединяет к мирам других людей. Если цель не была выбрана, то отправляет в совместный режим."
},
"enter_dungeon": {
"usage": "Применение: enterdungeon <ID_подземелья>",
"changed": "Произошёл переход в подземелье %s.",
"not_found_error": "Подземелье не существует.",
"in_dungeon_error": "Вы уже в этом подземелье.",
"description": "Позволяет войти в подземелье"
},
"give": {
"usage": "Применение: give <ID_предмета|ID_персонажа|\"all\"|\"weapons\"|\"mats\"|\"avatars\"> [x<кол-во>] [lv<уровень>] [r<пробуждение>]",
"usage_relic": "Применение: give <ID_артефакта> [ID_глав_хар-ки] [<ID доп_хар-ки>[,<раз>]]... [lv<уровень 0-20>]",
"illegal_relic": "Данный ID_артефакта находится в черном списке. Возможно, это не то, что вы хотите получить.",
"given": "Выдано %s %s игроку %s.",
......@@ -169,7 +164,6 @@
"description": "Лечит всех персонажей в вашей команде."
},
"help": {
"usage": "Применение: ",
"aliases": "Альтернативные названия: ",
"available_commands": "Доступные команды: ",
"tip_need_permission": "Разрешения: ",
......@@ -184,13 +178,11 @@
"description": "Выгоняет (\"кикает\") указанного игрока с сервера (WIP)"
},
"killall": {
"usage": "Применение: killall [UID_игрока] [ID_сцены]",
"scene_not_found_in_player_world": "В мире игрока не была обнаружена эта сцена.",
"kill_monsters_in_scene": "Убиваем %s монстров в сцене %s.",
"description": "Убивает всех существ в сцене"
},
"killCharacter": {
"usage": "Применение: killcharacter [ID_игрока]",
"success": "Текущий персонаж игрока %s был убит.",
"description": "Убивает текущего персонажа игрока"
},
......@@ -205,7 +197,6 @@
"description": "Отображает всех игроков, находящихся в сети"
},
"permission": {
"usage": "Применение: permission <add|remove> <имя_пользователя> <разрешение>",
"add": "Разрешение было добавлено.",
"has_error": "У данного пользователя уже имеется это разрешение!",
"remove": "Разрешение удалено.",
......@@ -218,7 +209,6 @@
"description": "Позволяет получить координаты"
},
"quest": {
"usage": "Применение: quest <add|finish> [ID_квеста]",
"added": "Квест %s был добавлен.",
"finished": "Квест %s был завершен.",
"not_found": "Квест не найден.",
......@@ -236,12 +226,11 @@
"description": "Сбрасывает уровень созвездия у активного персонажа. Для вступления изменений в силу, после ввода команды необходимо перезайти в игру"
},
"resetShopLimit": {
"usage": "Применение: resetshop <ID_игрока>",
"success": "Сброс был выполнен успешно.",
"description": "Сбрасывает таймер обновления магазина у выбранного игрока"
},
"sendMail": {
"usage": "Применение: sendmail <ID_пользователя|all|help> [ID_шаблона]",
"give_usage": "🇺🇸Usage: give <player> <itemID|itemName> [amount] [level] [refinement]",
"user_not_exist": "Пользователь с ID '%s' не найден.",
"start_composition": "Начинаем создание письма.\nВведите '/sendmail <заголовок>' для того, чтобы продолжить.\nВ любой момент времени вы можете прекратить писать это письмо путём ввода '/sendmail stop'.",
"templates": "Шаблоны писем будут реализованы в будущем...",
......@@ -264,27 +253,22 @@
"description": "Отправляет сообщение по почте указанному пользователю. Применение данной команды изменяется в зависимости от стадии написания письма"
},
"sendMessage": {
"usage": "Применение: sendmessage <сообщение>",
"success": "Сообщение было отправлено.",
"description": "Отправляет сообщение выбранному игроку от имени сервера. При отсутствии конкретной цели, отправляет сообщение всем игрокам на сервере."
},
"setFetterLevel": {
"usage": "Применение: setfetterlevel <уровень>",
"range_error": "Значение уровня дружбы должно быть между 0 и 10.",
"success": "Уровень дружбы стал равен %s.",
"level_error": "Некорректный уровень дружбы.",
"description": "Задаёт уровень дружбы для активного персонажа"
},
"setProp": {
"usage": "Применение: setprop|prop <св-во> <значение>\n\tВозможные значения <св-во>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(прод.) см. перечисление (enum) PlayerProperty для остальных возможных значений, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume",
"description": "Задаёт свойства аккаунта. С помощью данной команды может быть включен godmode, а также разблокированы этажи Коридора Бездны и изменён прогресс боевого пропуска."
"description": "Задаёт свойства аккаунта. С помощью данной команды может быть включен godmode, а также разблокированы этажи Коридора Бездны и изменён прогресс боевого пропуска.\n\tВозможные значения <св-во>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(прод.) см. перечисление (enum) PlayerProperty для остальных возможных значений, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume"
},
"setStats": {
"usage": "Применение: setstats|stats <хар-ка> <значение>\n\tВозможные значения <хар-ка>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(прод.) Бонус элементального урона: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(прод.) Элементальное сопротивление: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys\n",
"description": "Задаёт боевые характеристики для активного персонажа"
"description": "Задаёт боевые характеристики для активного персонажа\n\tВозможные значения <хар-ка>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(прод.) Бонус элементального урона: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(прод.) Элементальное сопротивление: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys"
},
"spawn": {
"usage": "Применение: spawn <ID_существа> [кол-во] [уровень(только для монстров)] [<x> <y> <z>(только для монстров, опционально)]",
"success": "Заспавнено %s %s.",
"limit_reached": "Лимит существ в сцене был достигнут. Спавним %s существ вместо этого.",
"description": "Спавнит существо неподалеку от вас"
......@@ -294,16 +278,12 @@
"description": "Останавливает работу сервера"
},
"talent": {
"usage_1": "Для того, чтобы задать уровень таланта: /talent set <ID_таланта> <значение>",
"usage_2": "Альтернативный способ задать уровень таланта: /talent <n/e/q для стандартной атаки/способности на E/Q> <значение>",
"usage_3": "Для того, чтобы получить ID таланта: /talent getid",
"lower_16": "Некорректный уровень таланта. Уровень должен быть ниже 16.",
"set_id": "Уровень таланта стал равен %s.",
"set_atk": "Уровень таланта стандартной атаки стал равен %s.",
"set_e": "Уровень таланта способности на E стал равен %s.",
"set_q": "Уровень таланта способности на Q стал равен %s.",
"invalid_skill_id": "Некорректный ID способности.",
"set_this": "Этот уровень таланта стал равен %s.",
"invalid_level": "Некорректный уровень таланта.",
"normal_attack_id": "ID стандартной атаки: %s.",
"e_skill_id": "ID способности на E: %s.",
......@@ -311,17 +291,13 @@
"description": "Устанавливает уровень таланта для вашего активного персонажа"
},
"team": {
"usage": "Применение: team <add|remove|set> [ID_персонажа,...] [индекс|first|last|индекс-индекс,...]",
"invalid_usage": "Некорректное применение.",
"add_usage": "Применение (для добавления): team add <ID_персонажа,...> [индекс]",
"invalid_index": "Некорректный индекс.",
"add_too_much": "Сервер позволяет вам иметь максимум %d персонаж(а) в команде.",
"failed_to_add_avatar": "Не удалось добавить персонажа с ID %s.",
"remove_usage": "Применение (для удаления): team remove <индекс|first|last|индекс-индекс,...>",
"failed_to_parse_index": "Не удалось обработать индекс: %s",
"remove_too_much": "Вы не можете удалить всех своих персонажей.",
"ignore_index": "Были проигнорированы индекс(ы): %s",
"set_usage": "Применение (для задания): team set <индекс> <ID_персонажа>",
"index_out_of_range": "Указанный индекс находится вне границ.",
"failed_parse_avatar_id": "Не удалось распознать ID персонажа: %s",
"avatar_already_in_team": "Персонаж уже находится в команде.",
......@@ -334,29 +310,23 @@
"description": "Телепортирует всех игроков в вашем мире к вам"
},
"teleport": {
"usage_server": "Применение: tp @<ID_игрока> <x> <y> <z> [ID_сцены]",
"usage": "Применение: tp [@<ID_игрока>] <x> <y> <z> [ID_сцены]",
"specify_player_id": "Нужно указать ID игрока.",
"invalid_position": "Некорректная позиция.",
"exists_error": "Указанная сцена не существует.",
"success": "Игрок %s был телепортирован по координатам %s, %s, %s в сцене %s.",
"description": "Изменяет местоположение игрока"
},
"weather": {
"usage": "Применение: weather [ID_погоды] [тип_климата]\nДоступные ID погоды можно найти в WeatherExcelConfigData.json.\nТипы климата: sunny (солнечно), cloudy (облачно), rain (дождь), thunderstorm (гроза), snow (снег), mist (туман)",
"success": "Установлен ID погоды %s, тип климата: %s.",
"status": "Текущий ID погоды: %s, тип климата: %s.",
"description": "Изменяет ID погоды и тип климата. ID погоды можно найти в WeatherExcelConfigData.json.\nТипы климата: sunny (солнечно), cloudy (облачно), rain (дождь), thunderstorm (гроза), snow (снег), mist (туман)"
},
"ban": {
"command_usage": "Применение: ban <@ID_игрока> [промежуток_времени] [причина]",
"success": "Успех.",
"failure": "Неудача, игрок не найден.",
"invalid_time": "Не удалось определить промежуток времени.",
"description": "Запрещает игроку присоединяться к серверу (\"банит\")"
},
"unban": {
"command_usage": "Применение: unban <@ID_игрока>",
"success": "Успех.",
"failure": "Неудача, игрок не найден.",
"description": "Разблокировывает доступ к серверу (\"разбанивает\")"
......
......@@ -94,6 +94,7 @@
}
},
"execution": {
"usage_prefix": "用法:",
"player_exist_error": "玩家不存在。",
"player_offline_error": "玩家已离线。",
"item_player_exist_error": "无效的物品/玩家UID。",
......@@ -114,7 +115,6 @@
"success": "成功"
},
"account": {
"command_usage": "用法:account <create|delete> <用户名> [UID]",
"invalid": "无效的UID。",
"exists": "具有此用户名和/或 UID 的账号已存在。",
"create": "已创建 UID 为 %s 的账号。",
......@@ -123,7 +123,6 @@
"description": "创建或删除账号"
},
"announce": {
"command_usage": "用法:announce|a <\"tpl\"(发送) 模板ID|\"refresh\"(刷新)|\"revoke\"(撤销) 模板ID|内容>",
"send_success": "成功发送了一则公告,你可以通过 /a revoke %s 撤销。",
"refresh_success": "成功刷新了公告配置。[共 %s 个]",
"revoke_done": "尝试撤回公告 %s。",
......@@ -131,7 +130,6 @@
"description": "向所有在线玩家发送公告,或者管理服务器的公告"
},
"clear": {
"command_usage": "用法:clear <all|wp|art|mat> [lv<max level>] [r<max refinement>] [<max rarity>*]\nall: 所有, wp: 武器, art: 圣遗物, mat: 材料",
"weapons": "已清除 %s 的武器。",
"artifacts": "已清除 %s 的圣遗物。",
"materials": "已清除 %s 的材料。",
......@@ -142,19 +140,16 @@
"description": "从你的背包中删除所有未装备且已解锁的物品,包括稀有物品"
},
"coop": {
"usage": "用法:coop [指定玩家UID]",
"success": "已强制传送 %s 到 %s 的世界。",
"description": "强制传送指定玩家到他人的世界。如果没有指定玩家,则会使你进入多人游戏状态"
},
"enter_dungeon": {
"usage": "用法:enterdungeon <秘境ID>",
"changed": "已进入秘境 %s。",
"not_found_error": "秘境不存在。",
"in_dungeon_error": "你已经在这个秘境中了。",
"description": "进入指定秘境"
},
"give": {
"usage": "用法:give <物品ID|角色ID|\"all\"(全部)|\"weapons\"(武器)|\"mats\"(材料)|\"avatars\"(角色)> [x<数量>] [lv<等级>] [r<精炼>]",
"usage_relic": "用法:give <圣遗物ID> [主词条ID] [<副词条ID>[,<强化次数>]]... [lv<等级 0-20>]",
"illegal_relic": "此圣遗物ID属于黑名单范围,也许不是你想要的。",
"given": "已将 %s 个 %s 给予 %s。",
......@@ -169,7 +164,6 @@
"description": "治疗当前队伍的角色"
},
"help": {
"usage": "用法:",
"aliases": "别名:",
"available_commands": "可用命令:",
"tip_need_permission": "所需权限:",
......@@ -184,13 +178,11 @@
"description": "从服务器内踢出指定玩家"
},
"killall": {
"usage": "用法:killall [玩家UID] [场景ID]",
"scene_not_found_in_player_world": "未在玩家世界中找到此场景。",
"kill_monsters_in_scene": "已杀死场景 %s 中的 %s 个怪物。",
"description": "杀死所有怪物"
},
"killCharacter": {
"usage": "用法:killcharacter [玩家ID]",
"success": "已杀死 %s 当前角色。",
"description": "杀死玩家当前角色"
},
......@@ -205,7 +197,6 @@
"description": "查看所有玩家"
},
"permission": {
"usage": "用法:permission <add|remove> <用户名> <权限>",
"add": "权限已添加。",
"has_error": "此玩家已拥有此权限!",
"remove": "权限已移除。",
......@@ -218,7 +209,6 @@
"description": "获取所在位置"
},
"quest": {
"usage": "quest <add|finish> [任务ID]",
"added": "已添加任务 %s。",
"finished": "已完成任务 %s。",
"not_found": "任务不存在。",
......@@ -236,12 +226,11 @@
"description": "重置当前角色的命之座,执行命令后需重新登录以生效"
},
"resetShopLimit": {
"usage": "用法:resetshop <玩家ID>",
"success": "重置完成。",
"description": "重置指定玩家的商店刷新时间"
},
"sendMail": {
"usage": "用法:sendmail <用户ID|all|help> [模板ID]",
"give_usage": "🇺🇸Usage: give <player> <itemID|itemName> [amount] [level] [refinement]",
"user_not_exist": "用户 '%s' 不存在。",
"start_composition": "开始撰写邮件。\n请使用 '/sendmail <标题>' 继续。\n你可以随时使用 '/sendmail stop' 停止。",
"templates": "邮件模板尚未实装...",
......@@ -264,27 +253,22 @@
"description": "向指定用户发送邮件。此命令的用法会根据撰写阶段而改变"
},
"sendMessage": {
"usage": "用法:sendmessage <消息>",
"success": "消息已发送。",
"description": "向玩家以服务器的身份发送消息。如果没有指定目标,则向服务器的全部玩家发送"
},
"setFetterLevel": {
"usage": "用法:setfetterlevel <好感度等级>",
"range_error": "好感度等级必须在 0-10 之间。",
"success": "好感度已设为 %s 级。",
"level_error": "无效的好感度等级。",
"description": "设置当前角色的好感度等级"
},
"setProp": {
"usage": "用法:setprop|prop <状态> <数值>\n可更改的状态列表:godmode(上帝模式)|nostamina(无限体力)|unlimitedenergy(无限能量)|abyss(深渊)|worldlevel(世界等级)|bplevel(纪行等级)\n查看 PlayerProperty enum 以获得其他数值,格式为 PROP_MAX_SPRING_VOLUME -> max_spring_volume",
"description": "设置账号的状态。比如可以通过此命令启用 godmode,也可以解锁深渊或更改纪行等级"
"description": "设置账号的状态。比如可以通过此命令启用 godmode,也可以解锁深渊或更改纪行等级\n\t可更改的状态列表:godmode(上帝模式)|nostamina(无限体力)|unlimitedenergy(无限能量)|abyss(深渊)|worldlevel(世界等级)|bplevel(纪行等级)\n查看 PlayerProperty enum 以获得其他数值,格式为 PROP_MAX_SPRING_VOLUME -> max_spring_volume"
},
"setStats": {
"usage": "用法:setstats|stats <属性> <数值>\n可更改的属性列表:hp(生命值)|maxhp(最大生命值)|def(防御力)|atk(攻击力)|em(元素精通)|er(元素充能效率)|crate(暴击率)|cdmg(暴击伤害)|cdr(冷却缩减)|heal(治疗加成)|heali(受治疗加成)|shield(护盾强效)|defi(无视防御)\n元素增伤:epyro(火)|ecryo(冰)|ehydro(水)|egeo(岩)|edendro(草)|eelectro(雷)|ephys(物理)\n元素抗性:respyro(火)|rescryo(冰)|reshydro(水)|resgeo(岩)|resdendro(草)|reselectro(雷)|resphys(物理)\n",
"description": "设置当前角色的属性"
"description": "设置当前角色的属性\n\t可更改的属性列表:hp(生命值)|maxhp(最大生命值)|def(防御力)|atk(攻击力)|em(元素精通)|er(元素充能效率)|crate(暴击率)|cdmg(暴击伤害)|cdr(冷却缩减)|heal(治疗加成)|heali(受治疗加成)|shield(护盾强效)|defi(无视防御)\n元素增伤:epyro(火)|ecryo(冰)|ehydro(水)|egeo(岩)|edendro(草)|eelectro(雷)|ephys(物理)\n元素抗性:respyro(火)|rescryo(冰)|reshydro(水)|resgeo(岩)|resdendro(草)|reselectro(雷)|resphys(物理)"
},
"spawn": {
"usage": "用法:spawn <实体ID> [数量] [等级(仅怪物)] [<x> <y> <z>(仅怪物, 可选)]",
"success": "已生成 %s 个 %s。",
"limit_reached": "场景中的生成数量已达上限。已替代为生成 %s 个实体。",
"description": "在你附近生成实体"
......@@ -294,16 +278,12 @@
"description": "停止服务器"
},
"talent": {
"usage_1": "设置天赋等级:/talent set <天赋ID> <数值>",
"usage_2": "另一种设置天赋等级的方法:/talent <n|e|q> <数值>\nn: 普通攻击, e: 元素战技, q: 元素爆发",
"usage_3": "获取天赋ID:/talent getid",
"lower_16": "无效的天赋等级,天赋等级应小于等于15。",
"set_id": "将天赋等级设为 %s。",
"set_atk": "将普通攻击等级设为 %s。",
"set_e": "将元素战技等级设为 %s。",
"set_q": "将元素爆发等级设为 %s。",
"invalid_skill_id": "无效的技能ID。",
"set_this": "将天赋等级设为 %s。",
"invalid_level": "无效的天赋等级。",
"normal_attack_id": "普通攻击的 ID 为 %s。",
"e_skill_id": "元素战技ID %s。",
......@@ -311,17 +291,13 @@
"description": "设置当前角色的天赋等级"
},
"team": {
"usage": "用法:team <add|remove|set> [角色ID,...] [索引|first|last|索引-索引,...]",
"invalid_usage": "无效的用法。",
"add_usage": "用法(add):team add <角色ID,...> [索引]",
"invalid_index": "无效的索引。",
"add_too_much": "服务端仅允许你队伍里至多有 %d 名角色。",
"failed_to_add_avatar": "无法根据ID %s 添加角色。",
"remove_usage": "用法(remove):team remove <索引|first|last|索引-索引,...>",
"failed_to_parse_index": "无法解析索引:%s",
"remove_too_much": "你不能删除那么多角色,你的队伍列表将会变空。",
"ignore_index": "忽略的索引列表:%s",
"set_usage": "用法(set):team set <索引> <角色ID>",
"index_out_of_range": "你指定的索引超出了范围。",
"failed_parse_avatar_id": "无法解析的角色ID:%s",
"avatar_already_in_team": "角色已经在你的队伍中了。",
......@@ -334,29 +310,23 @@
"description": "将你世界中的所有玩家传送到你所在的位置"
},
"teleport": {
"usage_server": "用法:tp @<玩家ID> <x> <y> <z> [场景ID]",
"usage": "用法:tp [@<玩家ID>] <x> <y> <z> [场景ID]",
"specify_player_id": "你必须指定一个玩家ID。",
"invalid_position": "无效的位置。",
"exists_error": "此场景不存在。",
"success": "传送 %s 到坐标 %s, %s, %s,场景为 %s。",
"description": "改变指定玩家的位置"
},
"weather": {
"usage": "用法:weather [天气ID] [气候类型]\n天气ID可以在 WeatherExcelConfigData.json 中找到。\n气候类型:sunny(晴天), cloudy(多云), rain(雨), thunderstorm(雷雨), snow(雪), mist(雾)",
"success": "已设置天气ID 为 %s,气候类型为 %s。",
"status": "当前天气ID 为 %s,气候类型为 %s。",
"description": "更改天气ID和气候类型。天气ID可以在 WeatherExcelConfigData.json 中找到。\n气候类型:sunny(晴天), cloudy(多云), rain(雨), thunderstorm(雷雨), snow(雪), mist(雾)"
},
"ban": {
"command_usage": "用法:ban <@玩家ID> [时间] [原因]",
"success": "成功封禁玩家。",
"failure": "封禁玩家失败,因为玩家不存在。",
"invalid_time": "无法解析时间戳。",
"description": "封禁玩家"
},
"unban": {
"command_usage": "用法:unban <@玩家ID>",
"success": "成功取消玩家的封禁。",
"failure": "取消玩家的封禁失败,因为玩家不存在。",
"description": "取消玩家的封禁"
......
......@@ -94,6 +94,7 @@
}
},
"execution": {
"usage_prefix": "用法:",
"player_exist_error": "用戶不存在。",
"player_offline_error": "玩家已離線。",
"item_player_exist_error": "無效的物品/玩家UID。",
......@@ -114,7 +115,6 @@
"success": "成功"
},
"account": {
"command_usage": "用法:account <create|delete> <username> [uid]",
"invalid": "無效的UID。",
"exists": "帳號已存在。",
"create": "已建立帳號,UID 為 %s 。",
......@@ -123,7 +123,6 @@
"description": "建立或刪除帳號。"
},
"announce": {
"command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>",
"send_success": "🇺🇸Send an announcement successfully, you can revoke it by /a revoke %s.",
"refresh_success": "🇺🇸Refresh announcement config file successfully. [Total %s]",
"revoke_done": "🇺🇸Try to revoke announcement %s.",
......@@ -131,7 +130,6 @@
"description": "🇺🇸Send announcement to all online players, or manage server's announcement"
},
"clear": {
"command_usage": "用法: clear <all|wp|art|mat> [lv<max level>] [r<max refinement>] [<max rarity>*]",
"weapons": "已將 %s 的武器清空。",
"artifacts": "已將 %s 的聖遺物清空。",
"materials": "已將 %s 的材料清空。",
......@@ -142,19 +140,16 @@
"description": "從你的背包中刪除所有未裝備且未上鎖的物品,包括稀有物品。"
},
"coop": {
"usage": "用法:coop <playerId> <target playerId>",
"success": "召喚了 %s 到 %s 的世界。",
"description": "強制傳送指定用戶到他人的世界。如果未指定玩家,則會將你設為多人遊戲狀態。"
},
"enter_dungeon": {
"usage": "用法:enterdungeon <dungeon id>",
"changed": "已進入祕境 %s",
"not_found_error": "此祕境不存在。",
"in_dungeon_error": "你已經在祕境中了。",
"description": "進入指定祕境。"
},
"give": {
"usage": "用法:give <player> <itemId|avatarId> [amount] [level] [refinement]",
"usage_relic": "🇺🇸Usage: give <artifactID> [mainPropID] [<appendPropID>[,<times>]]... [lv<level 0-20>]",
"illegal_relic": "🇺🇸This artifactID belongs to a blacklisted range, it may not be the one you wanted.",
"given": "已經將 %s 個 %s 給予 %s。",
......@@ -169,7 +164,6 @@
"description": "治療當前隊伍的角色。"
},
"help": {
"usage": "用法:",
"aliases": "別名:",
"available_commands": "可用指令:",
"tip_need_permission": "需要的權限: ",
......@@ -184,13 +178,11 @@
"description": "從伺服器內踢出指定玩家。"
},
"killall": {
"usage": "用法:killall [playerUid] [sceneId]",
"scene_not_found_in_player_world": "未在玩家世界中找到此場景",
"kill_monsters_in_scene": "已殺死 %s 個怪物。 [場景ID: %s]",
"description": "殺死所有怪物。"
},
"killCharacter": {
"usage": "用法:killcharacter [playerId]",
"success": "已殺死 %s 目前的場上角色。",
"description": "殺死玩家目前使用的場上角色。"
},
......@@ -205,7 +197,6 @@
"description": "查看所有在線玩家"
},
"permission": {
"usage": "用法:permission <add|remove> <username> <permission>",
"add": "已指派權限。",
"has_error": "此玩家已擁有權限!",
"remove": "權限已移除。",
......@@ -218,7 +209,6 @@
"description": "獲取目前所在位置的座標。"
},
"quest": {
"usage": "quest <add|finish> [任務ID]",
"added": "已添加任務 %s",
"finished": "已完成任務 %s",
"not_found": "未找到任務",
......@@ -236,12 +226,11 @@
"description": "重置當前角色的命之座,重新登入後將會生效。"
},
"resetShopLimit": {
"usage": "用法:resetshop <playerId>",
"success": "重置完成。",
"description": "重置所選玩家的商店刷新時間。"
},
"sendMail": {
"usage": "用法:sendmail <userId|all|help> [templateId]",
"give_usage": "🇺🇸Usage: give <player> <itemID|itemName> [amount] [level] [refinement]",
"user_not_exist": "ID '%s' 的使用者不存在。",
"start_composition": "發送郵件流程。\n請使用`/send <郵件標題>`來進到下一步。\n你可以在任何時間使用`/sendmail stop`來停止發送。",
"templates": "郵件模板尚未實裝...",
......@@ -264,27 +253,22 @@
"description": "向指定用戶發送郵件。此指令的用法可根據附加的參數而改變。"
},
"sendMessage": {
"usage": "用法:sendmessage <player> <message>",
"success": "訊息已發送。",
"description": "向指定玩家發送訊息。"
},
"setFetterLevel": {
"usage": "用法:setfetterlevel <level>",
"range_error": "好感度必須在 0 到 10 之間。",
"success": "好感等級已設定為 %s",
"level_error": "無效的好感度。",
"description": "設定當前角色的好感度等級。"
},
"setProp": {
"usage": "🇺🇸Usage: setprop|prop <prop> <value>\n\tValues for <prop>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume",
"description": "🇺🇸Sets accountwide properties. Things like godmode can be enabled this way, as well as changing things like unlocked abyss floor and battle pass progress."
"description": "🇺🇸Sets accountwide properties. Things like godmode can be enabled this way, as well as changing things like unlocked abyss floor and battle pass progress.\n\tValues for <prop>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume"
},
"setStats": {
"usage": "用法:setstats|stats <stat> <value>\n\t可使用的數據類型:hp (生命值)| maxhp (最大生命值) | def(防禦力) | atk (攻擊力)| em (元素精通) | er (元素充能效率) | crate(暴擊率) | cdmg (暴擊傷害)| cdr (冷卻縮減) | heal(治療加成)| heali (受治療加成)| shield (護盾強效)| defi (無視防禦)\n\t(cont.) 元素增傷類:epyro (火傷) | ecryo (冰傷) | ehydro (水傷) | egeo (岩傷) | edendro (草傷) | eelectro (雷傷) | ephys (物傷)(cont.) 元素減傷類:respyro (火抗) | rescryo (冰抗) | reshydro (水抗) | resgeo (岩抗) | resdendro (草抗) | reselectro (雷抗) | resphys (物抗)\n",
"description": "設定當前角色的數據類型。"
"description": "設定當前角色的數據類型。\n\t可使用的數據類型:hp (生命值)| maxhp (最大生命值) | def(防禦力) | atk (攻擊力)| em (元素精通) | er (元素充能效率) | crate(暴擊率) | cdmg (暴擊傷害)| cdr (冷卻縮減) | heal(治療加成)| heali (受治療加成)| shield (護盾強效)| defi (無視防禦)\n\t(cont.) 元素增傷類:epyro (火傷) | ecryo (冰傷) | ehydro (水傷) | egeo (岩傷) | edendro (草傷) | eelectro (雷傷) | ephys (物傷)(cont.) 元素減傷類:respyro (火抗) | rescryo (冰抗) | reshydro (水抗) | resgeo (岩抗) | resdendro (草抗) | reselectro (雷抗) | resphys (物抗)"
},
"spawn": {
"usage": "用法:spawn <entityId> [amount] [level(僅限怪物)]",
"success": "已生成 %s 個 %s。",
"limit_reached": "🇺🇸Scene spawn limit reached. Spawning %s entities instead.",
"description": "在你附近生成一個實體動物。"
......@@ -294,16 +278,12 @@
"description": "以正常的方式關閉伺服器。"
},
"talent": {
"usage_1": "設定天賦等級:talent set <talentID> <value>",
"usage_2": "另一種設定天賦等級的指令使用方法:talent <n or e or q> <value>",
"usage_3": "獲取天賦ID指令用法:talent getid",
"lower_16": "無效的天賦等級,技能等級應低於 16。",
"set_id": "將天賦等級設為%s。",
"set_atk": "將普通攻擊等級設為 %s。",
"set_e": "設定元素戰技的天賦等級至 %s。",
"set_q": "設定元素爆發的天賦等級至 %s。",
"invalid_skill_id": "無效的技能ID。",
"set_this": "將天賦等級設為 %s。",
"invalid_level": "無效的天賦等級。",
"normal_attack_id": "普通攻擊的 ID 為 %s。",
"e_skill_id": "元素戰技技能ID %s。",
......@@ -311,17 +291,13 @@
"description": "設定當前角色的天賦等級"
},
"team": {
"usage": "用法:team <add|remove|set> [角色ID,...] [索引|first|last|索引-索引,...]",
"invalid_usage": "無效的用法。",
"add_usage": "新增的用法:team add <角色ID,...> [索引]",
"invalid_index": "無效索引。",
"add_too_much": "服務端只允許您的隊伍裡最多 %d 名角色。",
"failed_to_add_avatar": "無法根據ID %s 添加角色。",
"remove_usage": "移除的用法:team remove <索引|first|last|索引-索引,...>",
"failed_to_parse_index": "無法解析的索引:%s",
"remove_too_much": "您不能删除那麼多的角色,因為您的隊伍列表角色會全部被刪除。",
"ignore_index": "無視的索引列表:%s",
"set_usage": "設定的用法:team set <索引> <角色ID>",
"index_out_of_range": "您指定的索引超出了範圍。",
"failed_parse_avatar_id": "無法解析的角色ID:%s",
"avatar_already_in_team": "該角色已經在您的隊伍當中了。",
......@@ -334,29 +310,23 @@
"description": "將你世界裡的所有玩家傳送到你目前的所在位置。"
},
"teleport": {
"usage_server": "用法:tp @<playerId> <x> <y> <z> [sceneId]",
"usage": "用法:tp [@<playerId>] <x> <y> <z> [sceneId]",
"specify_player_id": "你必須指定一個玩家ID。",
"invalid_position": "無效的座標。",
"exists_error": "此場景不存在。",
"success": "傳送 %s 到座標 %s,%s,%s ,場景為 %s 。",
"description": "將玩家的位置傳送到你所指定的座標。"
},
"weather": {
"usage": "用法:weather [weatherId] [climateType]\n天氣ID可以在 WeatherExcelConfigData.json 中找到。\n氣候型別:sunny(晴天), cloudy(多雲), rain(雨), thunderstorm(雷雨), snow(雪), mist(霧)",
"success": "已設定天氣ID 為 %s,氣候型別為 %s。",
"status": "當前天氣ID 為 %s,氣候型別為 %s。",
"description": "更改天氣ID和氣候型別。天氣ID可以在 WeatherExcelConfigData.json 中找到。\n氣候型別:sunny(晴天), cloudy(多雲), rain(雨), thunderstorm(雷雨), snow(雪), mist(霧)"
},
"ban": {
"command_usage": "用法:ban <@playerId> [timestamp] [reason]",
"success": "停權成功。",
"failure": "停權失敗,玩家帳號不存在。",
"invalid_time": "無效的時間戳。",
"description": "停權指定玩家。"
},
"unban": {
"command_usage": "用法:unban <@playerId>",
"success": "撤銷停權成功。",
"failure": "撤銷停權失敗,玩家帳號不存在。",
"description": "撤銷停權指定玩家。"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment