Skript pluginの武器について

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

Skript pluginの武器について

投稿記事by yutahunter » 2017年1月04日(水) 12:06

こんにちは。
skriptプラグインで最近武器の作成を行っているのですが(crackshotが1.10.2で不調の為)
エンダーマンのように飛び道具での攻撃を一切無効にして付近にワープするという武器を作りたいと思っています。(エフェクトも付ける)
そこで最初の書き出しなのですが
On damage と始めるとダメージを受けた時、ダイヤの剣を構えているとワープという風になってしまい。ノーダメージでワープさせることができません。
逆にダイヤ剣を構えているときは飛び道具の攻撃を一切無効にすると、On damageはできないですよね。?
少しskriptで曖昧なところがあるので詳しい方に教えてもらいたいです<(_ _)>
skript初心者です。
鯖主さんとトピックさんに聞きながらやってます('ω')
yutahunter
ID:a8c40334
大工さん
 
記事: 61
登録日時: 2014年7月18日(金) 18:16

  • (PostNo.292290)

Re: Skript pluginの武器について

投稿記事by Dotoo » 2017年1月04日(水) 14:27

skriptプラグインで最近武器の作成を行っているのですが(crackshotが1.10.2で不調の為)

私のサーバーでは普通以上にCrackshotはきちんと動いています。同じく1.10.2のSpigotを使用していますし、クライアントも1.10.2から現行バージョンまで全て動作確認済みです。

On damage と始めるとダメージを受けた時、ダイヤの剣を構えているとワープという風になってしまい。ノーダメージでワープさせることができません。

コード: 全て選択
on damage:
    if player is holding a diamond sword:
        cancel event
        teleport victim to attacker

可能です。
アバター
Dotoo
ID:5a22084e
金掘り
 
記事: 434
登録日時: 2012年11月21日(水) 15:20

  • (PostNo.292452)

Re: Skript pluginの武器について

投稿記事by yutahunter » 2017年1月06日(金) 01:55

>>Dottoさん
コード: 全て選択
on damage:
    if player is holding a diamond sword:
        cancel event
        teleport victim to attacker

返信ありがとうございます。
上記コードで試みましたが不可でした。
(TABキーでスペースを取って書き直し済)
skript初心者です。
鯖主さんとトピックさんに聞きながらやってます('ω')
yutahunter
ID:a8c40334
大工さん
 
記事: 61
登録日時: 2014年7月18日(金) 18:16

  • (PostNo.292453)

Re: Skript pluginの武器について

投稿記事by yutahunter » 2017年1月06日(金) 01:58

恐らくですがOn damageをCancel eventすることは不可な気がします。
別の方法でダメージを受けずにワープする方法というのはありますか?
skript初心者です。
鯖主さんとトピックさんに聞きながらやってます('ω')
yutahunter
ID:a8c40334
大工さん
 
記事: 61
登録日時: 2014年7月18日(金) 18:16

  • (PostNo.292455)

Re: Skript pluginの武器について

投稿記事by Dotoo » 2017年1月06日(金) 02:18

コード: 全て選択
on damage:
    if victim is holding a diamond sword:
        cancel event
        teleport victim to attacker

でした。特にテストもせず書いたのでplayerとattackerを間違えてました。

恐らくですがOn damageをCancel eventすることは不可な気がします。


コード: 全て選択
on damage:
    cancel event
   broadcast "ダメージをキャンセルしました"

このスクリプトでテストすれば判りますが、ダメージをキャンセルする事は可能です。キャンセルできないのはdeathイベントです。
アバター
Dotoo
ID:5a22084e
金掘り
 
記事: 434
登録日時: 2012年11月21日(水) 15:20

  • (PostNo.292468)

Re: Skript pluginの武器について

投稿記事by yutahunter » 2017年1月06日(金) 11:09

>>Dotooさん
おおお、できました!
本当にありがとうございます本当にありがとうございます!
cancel eventはOn damageでも使えるんですね、、(適当なこと言ってすみません;;

それと、もう一つだけ良いでしょうか、
https://www.skunity.com/expressions#Particle
ここを見ながらこれにさらにエンダーマンのような動きをするためにパーティクルをつけ足そうと思ってます。
その場合の書き方も教えてもらえるでしょうか
コード: 全て選択
particle portal:20 at location of victim at 4, 7, 4

これだけだと駄目ですよね、
skript初心者です。
鯖主さんとトピックさんに聞きながらやってます('ω')
yutahunter
ID:a8c40334
大工さん
 
記事: 61
登録日時: 2014年7月18日(金) 18:16

  • (PostNo.292475)

Re: Skript pluginの武器について

投稿記事by Dotoo » 2017年1月06日(金) 12:20

単純にコンソールからバニラのコマンドでパーティクルを湧かせればいいのではないでしょうか。

コード: 全て選択
execute console command "execute %player% ~ ~ ~ /particle endRod ~ ~ ~ 1 3 1 0.01 30"


例えばこんな感じで書けばパーティクルがプレイヤーから湧きますので、上のコードをコピペして好きなパーティクルの種類や量に書き換えればいいだけです。コピペで済んでしまうので丸々上の例文をパクってしまいましょう。

後余談ですが、

ダイヤ剣を構えているときは飛び道具の攻撃を一切無効にすると、On damageはできないですよね。?


とyutahunterさんは仰っていたのでon damageでの例文を出しましたが、矢などをプレイヤーが食らった場合にテレポートにしたいのであればトリガーはon damageではなくon projectile hitの方がいいと思います。もし私が同じようなスクリプトを書くのであれば

コード: 全て選択
on projectile hit:
   
   shooter is not a player
   victim is player
   vicitm is holding a diamond sword
   
   if lore of tool of victim contains "エンダーマンテレポート":
      execute console command "execute %player% ~ ~ ~ /particle endRod ~ ~ ~ 1 3 1 0.01 30"
      teleport victim to shooter


こんな感じで書き始めると思います。
アバター
Dotoo
ID:5a22084e
金掘り
 
記事: 434
登録日時: 2012年11月21日(水) 15:20

  • (PostNo.292560)

Re: Skript pluginの武器について

投稿記事by yutahunter » 2017年1月07日(土) 10:01

>>Dotooさん
できました!
最後まで親切な対応ありがとうございました!
skript初心者です。
鯖主さんとトピックさんに聞きながらやってます('ω')
yutahunter
ID:a8c40334
大工さん
 
記事: 61
登録日時: 2014年7月18日(金) 18:16


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

x