nbt付きの矢のダメージ無効化
実行時てみても普通にダメージを受けます。なぜでしょうか。
skript/addon最新バージョン
server: 1.17.1
45 Replies
こっち使ってみてください
https://skripthub.net/docs/?id=1057
Skript Hub - Documentation
On Projectile Hit (Event) - Skript
Called when a projectile hits an entity or a block.
Use the damage event with a check for a projectile to be able to use the entity that got hit in the case when the projectile hit a living entity.
A damage event will even be fired if the damage is 0, e.g. when throwing snowballs at non-nether mobs.
attackerをprojectileに
了解です
このコードで試してみたのですが、ダメージを当たり前かのように受けてしまいました。cancel eventでも一緒でした
cancel the eventでhitをなかったことにしてみては?
試してみます
cancel eventと同じで喰らいました...
えー…
on damageのほうで制御するのが速そう
on damageでどうやってarrowをentityとして取得するよ
普通に上のコードは条件通ってないんじゃないのか
event-projectileあるくね
これだめなん?
え
え
ダメ喰らいますね...
でどうでしょう
喰らいました...
もしかして打ち出してる矢に問題があるんでしょうか?
これ確認されました?
まずNBTの設定をどこでやってるかが問題な希ガス
それこそNBTが正常についてないせいでMirage氏の言う通り条件分岐動いてないんじゃないかね
BroadcastでもSendでもいいからはさんで見てほしい
if nbt compound of event-projectile has tag "Nodamage:test":
ここで通ってないみたいですね
うーん
それどうやってNBTつけてます?
spawn an arrow at player's head with nbt from "{life:1170,pickup:0d,damage:0.1d,PierceLevel:2d,Nodamage:test}"
正味もうちょっと制御しやすいNBT的なのあるんですけど
そっちでどうですか
ちょっと構文持ってきます
metadata value "NAME" of entity
ですねありがとうございます。試してみます
色々試したのですがon shoot ifのところで何を書けば特定の矢のダメージだけを無効化出来るのかわからなくて止まってます。何かありますか...?
その「特定」を書くんですよ
例えばop持ちが発射した矢のダメージを消したいなら
どういう矢のダメージを無効化したいのかが質問から読み取れなかったため、上のような曖昧な表現にしてあるんです
この質問ではnbtが矢に付いていますが、元々どういった矢にnbtを付けていたかをそのまま書くだけでいいです
ここで書いたように、プレイヤーがショットしてるわけじゃなく、矢をスポーンさせて、その矢をpushしてます。
なのでif shooter is opと書いても実行されません。shooterでもなんでもないので...。
なぜこのような動作をしているかというと矢のダメージを設定するためです。
これ使って
みたいなのになる...はず
喰らいましたね...
on shootイベント内でmetadataをsetしましょう
まずmetadetaセットする部分が
set metadata value "nodamage" of projectile to 1じゃなくて
set metadata value "nodamage" of last spawn arrow to trueとかだと思う あと俺が出した構文使えば
with nbt from "{life:1170,pickup:0d,damage:0.1d,PierceLevel:2d}"
も全部不要になるはずなんすけど…
うーんこれ俺が全部書いちゃったら勉強にならない?last spawned arrowにしたと思ってたらしてなかったわ😭
書いてくれたのを参考に勉強するので勉強にならないわけでは...(めっちゃ書いてほしい)
あるある
うち1.12.2で
一応多少確認しながら書くけどわんちゃんverで死ぬ
それで良い?
大丈夫です。本当にありがとうございます
貫通したほうがいい?
それともヒットしたら矢は消滅?
何に使うかで俺も書き方合わせるよ
貫通するかしないかも設定できるんですね。なら貫通するほか#付き、貫通しないのは#なしで書けますか...?
両方書けばokってこと?
ええで
ちょい待ち、ちゃんと動くかやってから出すわ
@dera2000
ごめん忘れてた
鯖paper?
paperじゃなかったら貫通厳しい💦
一応貫通なし
paperです!
本当にありがとうございます。
試してみます
あ、paperま?
なら貫通できるかも
Skript Hub - Documentation
On Projectile Collide (Event) - Skript-Paper
Called when an projectile collides with an entity (This event is called before entity damage event, and cancelling it will allow the projectile to continue flying)
snaipっていう名前のついた武器で撃った矢のみダメージを無効化するってのは厳しいんですかね?
このskriptで試してみたのですが、スケルトンとかのモブが撃った矢もダメージ無効化されちゃってるので...
そっすね、これ基盤だけなんで
そこから、条件分岐で適応したい矢を選んでいくわけです
それでここに戻ります
今回はどういう運用を想定してるんですか?
ezですよ
例えば、矢の射出もskで行きたい感じですか?
PvPをオフにしてても下のskriptで作られてる武器だとプレイヤーにダメージが通ってしまうのでそれをなんとかしたい感じです
こうかな
ごめん今ちょっと書き換えた
あ、エラー出ちゃいました
ごめん誤字www
スペースあいてなかったwww
あ、ホントだw
出来ました!!本当にありがとうございます!
本当に感謝です...!
0w0)b