Помогите Mycommand - не работает проверка суффикса у игрока

Harakiry

Новичок
Пользователь
Баллы
21
Код:
verify:
  command: /verify
  type: RUN_CONSOLE
  runcmd:
   - $Script$%if%$args1%vault_suffix%=="&c✕"
   - lp user $arg1 meta setsuffix 1 "&a✓"
   - $Script$%else%
   - $text$
   - '$text$ &fИзвините, игрок уже &aверифицирован'
   - $text$
  permission-required: true
  permission-node: mycmd.verify
  error-message: |-
    &7
    &fИспользуйте &a/verify [Ник игрока]
    &7
У меня на сервере есть верификация, она нужна для возможности вставать на хелперку, сделал команду на выдачу галочки (для удобства) но даже если у игрока нету ✓, пишет что игрок верифицирован, то есть не происходит проверка, что делать? (P.S. $arg1 это это игрок которого нужно верифицировать)
 
Код:
verify:
  command: /verify
  type: RUN_CONSOLE
  runcmd:
   - $Script$%if%$args1%vault_suffix%=="&c✕"
   - lp user $arg1 meta setsuffix 1 "&a✓"
   - $Script$%else%
   - $text$
   - '$text$ &fИзвините, игрок уже &aверифицирован'
   - $text$
  permission-required: true
  permission-node: mycmd.verify
  error-message: |-
    &7
    &fИспользуйте &a/verify [Ник игрока]
    &7
У меня на сервере есть верификация, она нужна для возможности вставать на хелперку, сделал команду на выдачу галочки (для удобства) но даже если у игрока нету ✓, пишет что игрок верифицирован, то есть не происходит проверка, что делать? (P.S. $arg1 это это игрок которого нужно верифицировать)
Может не %vault_suffix% а %luckperms_suffix% поставить?
 
может потому что ты сравниваешь ник игрока с суффиксом? Естественно суффикс != ник игрока
предлагаю парсить плейсхолдером суффикс по нику:
Код:
$Script$%if%%parseother_{$args1}_{%vault_suffix%}=="&c✕"
Кстати солидарен с Overwrite, лучше используй плейсхолдеры напрямую от LP.
 
Последнее редактирование:
может потому что ты сравниваешь ник игрока с суффиксом? Естественно суффикс != ник игрока
предлагаю парсить плейсхолдером суффикс по нику:
Код:
$Script$%if%%parseother_$args1_%vault_suffix%=="&c✕"
Кстати солидарен с Overwrite, лучше используй плейсхолдеры напрямую от LP.
У меня проблема с ParseOther, при попытки /papi parse me %parseother_Harakiry_%luckperms_suffix%
Пишет: An internal error occurred while attempting to perform this command
А в команде тупо не идёт проверка из-за того что не работает холдер
 
Код:
[07:20:06 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'papi' in plugin PlaceholderAPI v2.10.10
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[minecraft_server.jar:git-Paper-1618]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:152) ~[minecraft_server.jar:git-Paper-1618]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:685) ~[minecraft_server.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1492) ~[minecraft_server.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1297) ~[minecraft_server.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) ~[minecraft_server.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[minecraft_server.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[minecraft_server.jar:git-Paper-1618]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[minecraft_server.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[minecraft_server.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[minecraft_server.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[minecraft_server.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[minecraft_server.jar:git-Paper-1618]
    at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
    at ParseOtherExpansion.onRequest(ParseOtherExpansion.java:36) ~[?:?]
    at me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:160) ~[?:?]
    at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:70) ~[?:?]
    at me.clip.placeholderapi.commands.impl.local.CommandParse.evaluateParseSingular(CommandParse.java:115) ~[?:?]
    at me.clip.placeholderapi.commands.impl.local.CommandParse.evaluate(CommandParse.java:57) ~[?:?]
    at me.clip.placeholderapi.commands.PlaceholderCommandRouter.onCommand(PlaceholderCommandRouter.java:113) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[minecraft_server.jar:git-Paper-1618]
    ... 15 more
 
Потому что не правильно парсишь плейсхолдер. /papi parse me %parseother_{Harakiry}_{luckperms_suffix}%
Спасибо все работает, но теперь другая проблема у меня есть error-message когда ничего не написано, но если я пишу /verify без ника, мне пишет что игрок верифицирован, как это исправить?
 
Спасибо все работает, но теперь другая проблема у меня есть error-message когда ничего не написано, но если я пишу /verify без ника, мне пишет что игрок верифицирован, как это исправить?
Добавь перед error-message
required_args: 1

И ты в плейсхолдере ParseOther заменил Harakiry на $arg1 ?
 
Назад
Верх Низ