[Skript]チャット時の名前の文字色分けでエラー発生

サーバー運用される方はこちらで情報交換されてはいかがでしょうか?
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.311410)

[Skript]チャット時の名前の文字色分けでエラー発生

投稿記事by kamikaze » 2017年12月15日(金) 20:47

コード: 全て選択
on chat:
   cancel event
   loop all players:
      if player has permission "chat.one":
         broadcast "&f&l[&6&lOwner&f&l] &c%player%&f : %message%"
      else if player has permission "chat.two":
         broadcast "&f&l[&e&lSubOwner&f&l] &c%player%&f : %message%"
      else if player has permission "chat.three":
         broadcast "&f&l[&9&lAdmin&f&l] &c%player%&f : %message%"
      else if player has permission "chat.ff":
         broadcast "&f&l[&3&lTester&f&l] &c%player%&f : %message%"
      else if player has permission "chat.su":
         broadcast "&f&l[&d&lSuperParson&f&l]&b%player%&f : %message%"
      else:
         broadcast "&f&l[&a&lplayer&f&l] &b%player%&f : %message%"

このようなスクリプトを作ったのですがうまく機能しません。
(3つメッセージがでてしまう)
コード: 全て選択
groups:
  default:
    options:
      default: true
    permissions:
    - -bukkit.command.plugins
    - -bukkit.command.help
    - -bukkit.command.kill
    - modifyworld.*
    - CustomEnderChest.level.0
    - CustomEnderChest.level.1
    - CustomEnderChest.level.2
    - CustomEnderChest.level.3
    - CustomEnderChest.level.5
    - gatyapon.play
    - myitems.use.heel
    - myitems.use.hametu
  Owner:
    options:
      default: false
    permissions:
    - '*'
    - OpenInv.openinv
  SubOwner
    options:
      default: false
    permissions:
    - '*'
    - OpenInv.openinv
  Admin:
    options:
      default: false
    permissons:
    - -bukkit.command.op.take
    - -bukkit.command.op.give
    - -bukkit.command.reload
    - -bukkit.command.stop
    - OpenInv.openinv
    - modifyworld.*
  Moderator:
    options:
      default: false
    permissions:
    - -bukkit.command.reload
    - -bukkit.command.op.take
    - -bukkit.command.op.give
    - -bukkit.command.reload
    - -bukkit.command.stop
    - OpenInv.openinv
    - modifyworld.*
  SuperParson:
    option:
      default: false
    permisstion:
    - -bukkit.command.plugins
    - -bukkit.command.help
    - -bukkit.command.kill
    - modifyworld.*
    - CustomEnderChest.level.0
    - CustomEnderChest.level.1
    - CustomEnderChest.level.2
    - CustomEnderChest.level.3
    - CustomEnderChest.level.5
    - gatyapon.play
    - myitems.use.heel
    - myitems.use.hametu

また、このようなパーミッションです(グループ分けは個人なので省略)
このパーミッションでできると思ったのですがPexがエラーを出し、機能すらしません。

Minecraft1.10.2です。ちなみに前に質問した時の原因だったSkriptのバージョンは最新です。
また、Spigotで鯖を立てています。
解決できますか?情報提供お願いします...。
サーバー運営してるぜ!
画像

運営募集中!
なりたい人はPM送ってね!
kamikaze
ID:8f498b4f
大工さん
 
記事: 61
登録日時: 2015年10月18日(日) 17:34
お住まい: ブラックシティ

  • (PostNo.311412)

Re: [Skript]チャット時の名前の文字色分けでエラー発生

投稿記事by sympholy » 2017年12月15日(金) 21:08

このスクリプトを動かす時に,サーバーには3人ログインしていませんでしたか?

このskriptでは,チャットをした際に全てのプレイヤーに対してbroadcastをかけているため,

Aがチャットをした時に
A,B,Cがそれぞれbroadcastで全プレイヤーに対してメッセージを送る.結果として3つのメッセージが出るといった感じになっています.

broadcast "内容" を message "内容" to loop-playerにする
もしくは,loop all players を無くす
と解決できます
ほぼskriptでサーバーを作っています
現在は開発中です
画像
アバター
sympholy
ID:7cb44b13
石掘り
 
記事: 122
登録日時: 2013年10月27日(日) 11:50

  • (PostNo.311445)

Re: [Skript]チャット時の名前の文字色分けでエラー発生

投稿記事by kamikaze » 2017年12月16日(土) 15:04

ありがとうございます。
やってみますね。
サーバー運営してるぜ!
画像

運営募集中!
なりたい人はPM送ってね!
kamikaze
ID:8f498b4f
大工さん
 
記事: 61
登録日時: 2015年10月18日(日) 17:34
お住まい: ブラックシティ

  • (PostNo.311447)

Re: [Skript]チャット時の名前の文字色分けでエラー発生

投稿記事by kamikaze » 2017年12月16日(土) 15:27

やはり原因はパーミッションの方だったらしいです。
コード: 全て選択
groups:
  default:
    options:
      default: true
    permissions:
    - -bukkit.command.plugins
    - -bukkit.command.help
    - -bukkit.command.kill
    - modifyworld.*
    - CustomEnderChest.level.0
    - CustomEnderChest.level.1
    - CustomEnderChest.level.2
    - CustomEnderChest.level.3
    - CustomEnderChest.level.5
    - gatyapon.play
    - myitems.use.heel
    - myitems.use.hametu
  Owner:
    options:
      default: false
    permissions:
    - '*'
    - OpenInv.openinv
    - -chat.three
    - -chat.two
    - -chat.ff
    - -chat.su
  SubOwner
    options:
      default: false
    permissions:
    - '*'
    - OpenInv.openinv
    - -chat.three
    - -chat.one
    - -chat.ff
    - -chat.su
  Admin:
    options:
      default: false
    permissons:
    - '*'
    - OpenInv.openinv
    - -chat.one
    - -chat.two
    - -chat.ff
    - -chat.su
  Moderator:
    options:
      default: false
    permissions:
    - '*'
    - OpenInv.openinv
    - -chat.three
    - -chat.two
    - -chat.one
    - -chat.su
  SuperParson:
    option:
      default: false
    permisstions:
    - -bukkit.command.plugins
    - -bukkit.command.help
    - -bukkit.command.kill
    - modifyworld.*
    - CustomEnderChest.level.0
    - CustomEnderChest.level.1
    - CustomEnderChest.level.2
    - CustomEnderChest.level.3
    - CustomEnderChest.level.5
    - gatyapon.play
    - myitems.use.heel
    - myitems.use.hametu
    - -chat.three
    - -chat.two
    - -chat.ff
    - -chat.one
    - chat.su

こんな感じに変えてみましたが、うまくいきませんでした。
ちなみにエラーメッセージはこちらです。
コード: 全て選択
[15:21:08] [Server thread/ERROR]: [PermissionsEx]
========== UNABLE TO LOAD PERMISSIONS BACKEND =========
Your configuration must be fixed before PEX will enable
Details: Error loading permissions file!
=======================================================
ru.tehkode.permissions.exceptions.PermissionBackendException: Error loading permissions file!
   at ru.tehkode.permissions.backends.file.FileBackend.reload(FileBackend.java:321) ~[PermissionsEx-1.23.4.jar:?]
   at ru.tehkode.permissions.backends.file.FileBackend.<init>(FileBackend.java:120) ~[PermissionsEx-1.23.4.jar:?]
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_111]
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_111]
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_111]
   at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_111]
   at ru.tehkode.permissions.backends.PermissionBackend.getBackend(PermissionBackend.java:392) ~[PermissionsEx-1.23.4.jar:?]
   at ru.tehkode.permissions.backends.PermissionBackend.getBackend(PermissionBackend.java:367) ~[PermissionsEx-1.23.4.jar:?]
   at ru.tehkode.permissions.PermissionManager.createBackend(PermissionManager.java:624) ~[PermissionsEx-1.23.4.jar:?]
   at ru.tehkode.permissions.PermissionManager.setBackend(PermissionManager.java:606) ~[PermissionsEx-1.23.4.jar:?]
   at ru.tehkode.permissions.PermissionManager.initBackend(PermissionManager.java:693) ~[PermissionsEx-1.23.4.jar:?]
   at ru.tehkode.permissions.PermissionManager.<init>(PermissionManager.java:67) ~[PermissionsEx-1.23.4.jar:?]
   at ru.tehkode.permissions.bukkit.PermissionsEx.onEnable(PermissionsEx.java:175) [PermissionsEx-1.23.4.jar:?]
   at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:292) [spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.bukkit.craftbukkit.v1_10_R1.CraftServer.loadPlugin(CraftServer.java:362) [spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.bukkit.craftbukkit.v1_10_R1.CraftServer.enablePlugins(CraftServer.java:322) [spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at net.minecraft.server.v1_10_R1.MinecraftServer.t(MinecraftServer.java:412) [spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at net.minecraft.server.v1_10_R1.MinecraftServer.l(MinecraftServer.java:377) [spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at net.minecraft.server.v1_10_R1.MinecraftServer.a(MinecraftServer.java:332) [spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at net.minecraft.server.v1_10_R1.DedicatedServer.init(DedicatedServer.java:271) [spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:535) [spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at java.lang.Thread.run(Unknown Source) [?:1.8.0_111]
Caused by: org.bukkit.configuration.InvalidConfigurationException: while scanning a simple key
 in 'string', line 28, column 3:
      SubOwner
      ^
could not find expected ':'
 in 'string', line 29, column 12:
        options:
               ^

   at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:56) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at ru.tehkode.permissions.backends.file.FileConfig.loadFromString(FileConfig.java:68) ~[PermissionsEx-1.23.4.jar:?]
   at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:184) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:130) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at ru.tehkode.permissions.backends.file.FileConfig.load(FileConfig.java:38) ~[PermissionsEx-1.23.4.jar:?]
   at ru.tehkode.permissions.backends.file.FileBackend.reload(FileBackend.java:309) ~[PermissionsEx-1.23.4.jar:?]
   ... 23 more
Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning a simple key
 in 'string', line 28, column 3:
      SubOwner
      ^
could not find expected ':'
 in 'string', line 29, column 12:
        options:
               ^

   at org.yaml.snakeyaml.scanner.ScannerImpl.stalePossibleSimpleKeys(ScannerImpl.java:465) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.scanner.ScannerImpl.needMoreTokens(ScannerImpl.java:280) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:225) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.parser.ParserImpl$ParseIndentlessSequenceEntry.produce(ParserImpl.java:530) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:143) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.composer.Composer.composeSequenceNode(Composer.java:198) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:153) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:229) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:155) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:229) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:155) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:229) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:155) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:120) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.yaml.snakeyaml.Yaml.load(Yaml.java:369) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:54) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at ru.tehkode.permissions.backends.file.FileConfig.loadFromString(FileConfig.java:68) ~[PermissionsEx-1.23.4.jar:?]
   at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:184) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:130) ~[spigot-1.10.2.jar:git-Spigot-90f61bc-5e5cf84]
   at ru.tehkode.permissions.backends.file.FileConfig.load(FileConfig.java:38) ~[PermissionsEx-1.23.4.jar:?]
   at ru.tehkode.permissions.backends.file.FileBackend.reload(FileBackend.java:309) ~[PermissionsEx-1.23.4.jar:?]
   ... 23 more
[15:21:08] [Server thread/INFO]: [PermissionsEx] Disabling PermissionsEx v1.23.4
サーバー運営してるぜ!
画像

運営募集中!
なりたい人はPM送ってね!
kamikaze
ID:8f498b4f
大工さん
 
記事: 61
登録日時: 2015年10月18日(日) 17:34
お住まい: ブラックシティ

  • (PostNo.311457)

Re: [Skript]チャット時の名前の文字色分けでエラー発生

投稿記事by mcgo » 2017年12月16日(土) 17:59

kamikazeさんこんにちは。
確かにコンソールのエラーはPermissionsEXのエラーです。
SubOwnerという文字列にコロンが付いてないのが原因でしょう。

Skriptに関してsympholyさんのおっしゃっていることは理解したのでしょうか?
理解しているのであれば、以下の説明は無視して構いません。
コード: 全て選択
on chat:
   cancel event
   loop all players:
      broadcast "%loop-player% : %message%"

kamikazeさんのSkriptを省略したものです。
まず、loop all playersというのはログインしている全てのプレイヤーがその下に書かれた処理を実行するということです。
broadcastというのは放送という意味がある通り、マイクラで全てのプレイヤーにチャットを流すというものです。
要するに、全てのプレイヤーが全てのプレイヤーにチャットするというコードになっているため思っているのと違う動作をするのです。
今回の場合ですとメッセージが3つ表示されているので、3人のプレイヤーが1人ずつ全てのプレイヤーにチャットしたので3つメッセージが出たのです。
なので、sympholyさんの言っていた通りbroadcastではなくmessage "%message%" to loop-playerにするかloop all playersを消すのが正解です。
最近はだいぶマイクラから離れつつあるこの頃...
主にSkriptトピックに出現して助言してましゅ。
人並み程度のプラグイン制作知識はもってりゅ。
開発依頼とかあればまあPMで気軽に(^o^)
【Skript自作コード公開中】
アバター
mcgo
ID:41fdeb47
鉄鉱掘り
 
記事: 280
登録日時: 2016年11月04日(金) 00:05
お住まい: Minecraft


Return to 質問:マルチサーバー運用

x