[skript]での移動検知

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

[skript]での移動検知

投稿記事by guest。 » 2017年11月04日(土) 20:46

プレイヤーが後ろへ進んだらジャンプさせるというものを作成しようと思ったのですが
プレイヤーが後ろに進んでいることを検知する方法が分からなかったので質問しました。
分かる方がいらっしゃったらよろしくお願いします。
guest。
ID:1c143138
 

  • (PostNo.309946)

Re: [skript]での移動検知

投稿記事by sympholy » 2017年11月05日(日) 10:52

viewtopic.php?f=5&t=999
こちらを読んで必要な情報を付け足してください

ヒントのみ
プレイヤーが後ろに進むことを検知することはできないため、自分で作る必要があります
移動していることを検知することはできるため、「プレイヤーの向いている方向と逆に移動した」の条件のもとジャンプさせればいいでしょう
アバター
sympholy
ID:c1870419
石掘り
 
記事: 105
登録日時: 2013年10月27日(日) 11:50

  • (PostNo.309962)

Re: [skript]での移動検知

投稿記事by guest。 » 2017年11月05日(日) 13:07

versionは
spigot-1.11.2
skript-2.2-dev31c
です。
他に必要な情報があれば教えてください。
guest。
ID:1c143138
 

  • (PostNo.309970)

Re: [skript]での移動検知

投稿記事by sympholy » 2017年11月05日(日) 14:54

まず、「プレイヤーが後ろに進んでいることを検知するイベント」はありません

その上で、後ろに進んだ時にジャンプ...という処理を行う場合
1 . 移動した時に
2 . 移動先が現在の位置よりも後ろだった場合
3 . ジャンプを行う
と処理を行えばいいと私は思います。(もしも別の考え方をしている場合は教えてください)

この中でわからない部分や、試行錯誤したコードがあれば具体的なアドバイスができると思うのですがどうでしょうか?
アバター
sympholy
ID:c1870419
石掘り
 
記事: 105
登録日時: 2013年10月27日(日) 11:50

  • (PostNo.309980)

Re: [skript]での移動検知

投稿記事by guest。 » 2017年11月05日(日) 16:33

3番は分かるのですが1番と2番が分からず...
1番は on move on だと特定の場所でしか使えないと思ったので...
あとは on any move かと思ったんですがこれはよく使い方を知らなくて...
2番はまったくわかりませんでした。
もうすこしヒントを頂けるとありがたいです。
guest。
ID:1c143138
 

  • (PostNo.309986)

Re: [skript]での移動検知

投稿記事by mcgo » 2017年11月05日(日) 17:11

on move onは特定のブロックを歩いた時にしか発動しません。
on any moveはマウスを動かしただけでも発動するイベントです。
特定のブロックを指定しないのであればeventはon any eventを使うのが良いかと思います。
2番目の『移動先が現在の位置よりも後ろだった場合』というのは向いてる方向を基に座標を使って調べるのが良いかと思います。
例えば、北を向きながら後ろに下がったとき、確かZ座標の値がプラスの方向へ増えるので
この場合移動前のZ座標より移動後のZ座標が大きければ後ろに下がったと判断出来るのではないでしょうか?
サーバー関係の分からないことは英語で検索したら案外出ててくるで!
だってMinecraftって海外生まれやで!
最近はSkriptを使って色々自作してサーバー作ってます。
もしよければSkript作成してもいいゾ(激ムズは拒否するかも・・・)
詳しくはPMで!
【Skript自作コード公開中】
アバター
mcgo
ID:50efa63e
石炭掘り
 
記事: 234
登録日時: 2016年11月04日(金) 00:05

  • (PostNo.309994)

Re: [skript]での移動検知

投稿記事by sympholy » 2017年11月05日(日) 18:42

mcgoさんありがとうございます

その方法で実装することが可能です
方位を取得して、それぞれの後ろに下がった時の座標の変化を見てください
player's horizontal facingでプレイヤーの見ている方角を取得できます

デメリットもありますが、まずはこれで実装してみるのがいいと思います

デメリットについて(補足)
player's horizontal facingで方位を取得できますが、それには東西南北の情報しかないため斜めに移動する場合に誤作動する可能性があります。

解決策として、horizontal direction of the playerで具体的な方位(0.29 meters east and 0.96 meters southなど)
を取得して後ろの方位を計算・・・などをする方法があります。この方法は上で挙げたデメリットを完全に克服できます。
ただし、実際に実装するにはhorizontal direction of the playerを各変数に入れる処理や、座標移動から方位を出す方法など
https://skunity.comを見てskriptを自分自身で組むことができるくらいではないと難しいでしょう
アバター
sympholy
ID:c1870419
石掘り
 
記事: 105
登録日時: 2013年10月27日(日) 11:50

  • (PostNo.310004)

Re: [skript]での移動検知

投稿記事by guest。 » 2017年11月05日(日) 20:46

ありがとうございます。
頑張って書いてみて分からないことがあればまた質問させていただきます。
guest。
ID:1c143138
 

  • (PostNo.310041)

Re: [skript]での移動検知

投稿記事by guest。 » 2017年11月06日(月) 21:02

on any event:
push player upwards at speed 0.3
push player horizontally forwards at speed 0.47

これでいくと

can't understand this event: 'on any event'
と出てきてしまいます。
分かる方がいたらよろしくお願いします。
(個人的にはアドオンかな?と思ったんですけど調べても出てこなくて....)
guest。
ID:1c143138
 

  • (PostNo.310046)

Re: [skript]での移動検知

投稿記事by mcgo » 2017年11月06日(月) 21:58

on any eventは確かWildSkriptというアドオンのイベントです。
サーバー関係の分からないことは英語で検索したら案外出ててくるで!
だってMinecraftって海外生まれやで!
最近はSkriptを使って色々自作してサーバー作ってます。
もしよければSkript作成してもいいゾ(激ムズは拒否するかも・・・)
詳しくはPMで!
【Skript自作コード公開中】
アバター
mcgo
ID:499dd07a
石炭掘り
 
記事: 234
登録日時: 2016年11月04日(金) 00:05

  • (PostNo.310063)

Re: [skript]での移動検知

投稿記事by guest。 » 2017年11月07日(火) 18:52

すみませんWildSkriptが見つかりません..
調べてみると1.8versionまでしか出てこなくて...
どなたか1.9version以上で分かる方いらっしゃいませんか?
guest。
ID:1c143138
 

  • (PostNo.310134)

Re: [skript]での移動検知

投稿記事by Dotoo » 2017年11月09日(木) 19:56

WildSkriptは1.8で更新が止まっています。有志アップデートもあったようですが現在は削除されています。
また未確認ですがここにソースが落ちているのでビルドすれば使えるかもしれません。
いずれにせよ「よくわからない」人が手を出すべきではありません。

guestさんは「プレイヤーが後ろへ進んだらジャンプさせる」事がやりたいと言っていますがSkriptでは相当無理があると思いますし、プラグインを書くにしても後ろに後退した場合というイベントはやはり存在しませんから結局は発想自体に無理があります。
アバター
Dotoo
ID:43e26e35
金掘り
 
記事: 442
登録日時: 2012年11月21日(水) 15:20


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

x