[skript] onclickのバグ?

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

[skript] onclickのバグ?

投稿記事by ぎゃぁてぃ » 2018年7月14日(土) 02:32

お世話になっております、ぎゃぁてぃと申します。

以下のskriptは、「ある条件を満たした看板(1~3行目)をブレイズロッドで右クリックすると、自分の位置情報(=location of player)がセーブポイントとして変数{SP.%world%UUID of player%}に保存される」といったものです

コード: 全て選択
on rightclick:

   clicked block is sign
   line 1 of clicked block is "&7╣&b⬦&9≪&1╠ SavePoint ╣&9≫&b⬦&7╠"
   if line 4 of clicked block is "&7╣&2≪&a╠ on ground ╣&2≫&7╠":

      if player is on ground:

         delete {SP.%world%.%UUID of player%}

         set {SP.%world%.%UUID of player%} to location of player

         message "&l<&e&l<&6&l SP &e&l>&f&l> &rセーブポイントを設定しました &7(%line 3 of clicked block%)"
         command "/execute %player% ~ ~ ~ playsound minecraft:entity.player.levelup master %player%"

         stop
            
      
      else:

         message "&l<&c&l<&4&l SP &c&l>&f&l> &r空中では更新できません"

         stop

   else:
      stop


これにより、variables.csvには、
コード: 全て選択
lastsp.ideas.51ba0273-d474-4dc2-8ad3-43654215a5ec, location, 8605776F726C6480FF0000000181046E616D652080056964656173017809406CEEBD73AA26C60179094050000000000000017A094054370601E516CC0570697463680841AE9173037961770841A59BC0
lastsp.ideas.67eaf96e-4a07-40d2-af93-cdcf270568a2, location, 8605776F726C6480FF0000000181046E616D652080056964656173017809406CFE00AFE734F10179094050000000000000017A094054C4E7CEDFE7320570697463680841F3A8400379617708428C19C0


と、正常な値が入力されています。


ところが、この値を使ったskriptがエラー続きで....

以下は、「プリズマリン(prismarine shard)を持って左クリックすると、さっきの位置に戻れるよ」といったものなのですが、

コード: 全て選択
on leftclick with prismarine shard:
   cancel event
   if {lastSP.%world%.%UUID of player%} is set:
      teleport player to {lastSP.%world%.%UUID of player%}

   else:
      message "A"

(message "A"というのは仮です。)

この場合、地面に視点を向けたまま(手が届く距離まで)プリズマリンを持って左クリックすると確かに元の位置に戻れるのですが、
”上を向きながら(手が届かない範囲)左クリックすると、{lastSP.%world%.%UUID of player%} は確かに設定されているはずなのに、falseを返され、message Aが実行されてしまいます......

手が届かない距離だとそもそも発動しないことがあるなど、少々不安定感があるのは重々承知しており、
skript onclick doesn't work や skript click bugなど、外国のサイトを回ってみましたが、このような真逆の例はどこにも載っていませんでした...

最後に一通りのバージョンを挙げておきます
・spigot 1.12
・skript 2.2-dev36

何か不備があればすぐに訂正・追記させていただきます。
拙い文面ですが、宜しくお願い致します。
Ibis athletic serverの鯖主です。アスレチック大好きです。
skript勉強中です。普通のpl製作にも手を出しかけてます。
ぎゃぁてぃ
ID:5ebd7e88
水から上がったとこ
 
記事: 3
登録日時: 2018年6月17日(日) 02:48

  • (PostNo.318045)

Re: [skript] onclickのバグ?

投稿記事by sympholy » 2018年7月14日(土) 20:06

プリズマリンのカケラを持ち、空をクリックした時にうまく動作ができない問題ですが、
こちらを
コード: 全て選択
{lastSP.%world%.%UUID of player%}

以下のように変更してください。
コード: 全て選択
{lastSP.%player's world%.%UUID of player%}


空を見てクリックした時に、%world%にnoneが入っていることが、この不具合の原因です。

これより先は推測ですが、%world%にはプレイヤーの見ているブロックの存在するworldが代入されているように感じます。
そのため、ブロックの存在しない空を見た時に、noneが代入されたのでしょう。

%player's world%と書くことで、プレイヤーのいるworldを代入しています
skript関係のトピックで主に回答
skriptの作成依頼等のお仕事相談はPMまで
アバター
sympholy
ID:5ec3f9c7
石掘り
 
記事: 122
登録日時: 2013年10月27日(日) 11:50


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

cron

x