攻撃をチャージしていなかった時のダメージを0にしたい

コード(Skripthubにある例文?みたいなやつ)
on damage:
if attack cooldown of attacker < 1:
set damage to 0
send "Your hit was too weak! wait until your weapon is fully charged next time." to attacker
on damage:
if attack cooldown of attacker < 1:
set damage to 0
send "Your hit was too weak! wait until your weapon is fully charged next time." to attacker
内部エラーが出てattack cooldown of attackerが取得できません PRではattack cooldown of attackerを使うことはできないのでしょうか。
21 Replies
ぐううううう
/viewer
tanoKun
tanoKun2y ago
java.lang.NoSuchMethodError: org.bukkit.entity.HumanEntity.getAttackCooldown() なんでversionあってないみたいですね 鯖のバージョンなんですか?
ぐううううう
1.12.2です skript2.6.3です PlayerRealmsです
tanoKun
tanoKun2y ago
それです原因
yukkina
yukkina2y ago
1.12で2.6やもんなぁ、、
ぐううううう
PRじゃむりですか?
tanoKun
tanoKun2y ago
ba-zyonn sagerebaiinodeha ?
ぐううううう
https://skripthub.net/docs/?id=6650 attack cooldown of attacker がSkript Ver2.6.1からなんですよね。。
Skript Hub - Documentation
Attack Cooldown (Expression) - Skript
Returns the current cooldown for a player's attack. This is used to calculate damage, with 1.0 representing a fully charged attack and 0.0 representing a non-charged attack. NOTE: Currently this can not be set to anything.
tanoKun
tanoKun2y ago
無理っすね 中のコード見てどう動いてるかみましょう HumanEntity.getAttackCooldown() 野中
yukkina
yukkina2y ago
ほかの取得方法ないんかね そもそもアタッククールダウンって 何で管理されてるんや? playerのnbt? だとしたら多分取れるよね
The attackSpeed attribute controls the length of the cooldown time, with the time taken being T = 20 / attackSpeed ticks. The damage multiplier is then 0.2 + ((t + 0.5) / T) ^ 2 * 0.8, restricted to the range 0.2 – 1, where t is the number of ticks since the last attack or item switch. ごり押すなら この式使って 計算するとか
puzzle
puzzle2y ago
skRageにあったりしないかなと探したけどなかった
yukkina
yukkina2y ago
あとは エンパのクールダウンみたいなの実装すれば 見やすさ維持したまま独自クールダウン作れるよね
tanoKun
tanoKun2y ago
packet
yukkina
yukkina2y ago
docsとか見てて思ったのは 残りのクールダウン時間は完全にクライアント側の処理なのかなって んで、攻撃した時にクールダウン何%完了したかってpacketを送信してる spigot mcのフォーラムとか覗いても、サーバー側から確認することはできませんって一蹴されてるのばっかだった
puzzle
puzzle2y ago
エンパクールダウンはskRageにあるよ(詳細はスレチになるので書かないけど) 話がそもそも違うので取り消し線ひいとこ ====================================== パケット覗いてたとき溜まってたときの攻撃はそもそも違うパケット飛んでたし、クリティカルエフェクトも別パケットだったのでクライアント依存っぽいのは知ってる でもnms経由で取得みたいなのどっかで見た気がするのよね(明らかにPRじゃ無理だろうけど)
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
ダメージから何とか出来ないかな
ぐううううう
すみません質問が悪かったです。
最初の目的→skriptで剣を作り、その剣の攻撃力を設定したい
nbtで設定すると殴った時に表記より少しダメージが低くなってしまう
➥on damageの時にdamageを設定することにした。
失敗→しかし、そのままだと連打で殴った時に高ダメージを出し続けることができてしまう
➥attack cooldown of attackerを使ってチャージしてなかった時のダメージを0にしよう
失敗→内部エラーが起こり今そこで困っている
最初の目的→skriptで剣を作り、その剣の攻撃力を設定したい
nbtで設定すると殴った時に表記より少しダメージが低くなってしまう
➥on damageの時にdamageを設定することにした。
失敗→しかし、そのままだと連打で殴った時に高ダメージを出し続けることができてしまう
➥attack cooldown of attackerを使ってチャージしてなかった時のダメージを0にしよう
失敗→内部エラーが起こり今そこで困っている
っていう感じです。素晴らしき質問ができてなくてすみません。
yukkina
yukkina2y ago
独自でcooldown作るのが 一番よさそう()
puzzle
puzzle2y ago
攻撃速度限界まで上げてデフォのチャージアタック表示無効化して エンパのクールダウンエフェクトを武器に適用するとかで妥協しよう skRage入れて
#(エンパ形式の)クールダウンが残ってるか判定
cooldown of %player's tool% of player <= 0

#(エンパ形式の)クールダウンを設定(tick)
set cooldown of %player's tool% of player to 20
#(エンパ形式の)クールダウンが残ってるか判定
cooldown of %player's tool% of player <= 0

#(エンパ形式の)クールダウンを設定(tick)
set cooldown of %player's tool% of player to 20
するだけ 注意事項としてエンパのクールダウンはアイテムIDで決まるのでnbtが異なっても同じ鉄剣なら全部がクールダウン表記されます
ぐううううう
できました!ありがとうございます
Want results from more Discord servers?
Add your server
More Posts
ダメージをプレイヤーとして与えるsteveというプレイヤーの近くのゾンビに steveとしてゾンビにダメージを与える方法ってありますか? https://skripthub.net/docs/?id=1119 これだとattackehologramを自然に移動させたい。連日質問すみません。 HolographicDisplaysAddonで殴った時にダメージがhologramで出てそれが少し上がって消えるっていうSkriptを作っているのですが、 少し上がるときに今個人のSidebarを変更する方法コード ```every 1 second: loop all players: wipe loop-value's sidebar set name of sスニーク速度を変更したいset the player's walk speed でどんな数値に設定してもスニーク時の速度が一定以上早くなりません... スニーク時の速度を上げる方法って何かありません?か?Vixioのコマンドが使えない同じ質問があったのですが、そこにのっていたようにしても解決しなかったので質問します vixioのバージョンは2.0.7-prです。 あとPR環境ですチャージ切りのチャージが溜まっているか確かめる方法チャージ切りのチャージがマックスまで溜まっているか溜まっていないかを検知したいです。 skript ver: 最新 ver: 1.12.2 https://cdn.discordapp.com/aloopから抜け出す方法```vb send "0" loop 10 times: if {_hoge} is not set: set {_hoge} to true exit loop send Worldeditのcylコマンドで作られたようないい感じの円を自分の周辺に設置するスクリプトloop all blocks in radius 5 block of playerを試しましたが、それは自分の周りに円ではなく球がを作りました。 それは私の望む理想の作品の姿とは程遠い。vixioを使ったdiscord commandが反応しない[環境] Minecraft Java ver 1.17.1 Skript ver 2.6.3 Vixio(fork版) 2.0.9-pre6 [内容] SkriptとVixioを使ってdiscordMOBを右クリックした時に、そのMOBの情報をチャットメッセージにして表示するon rightclick on entity: send "%entity%" という内容のコードで一度私はそれを試そうとしましたがそれは失敗に終わりました。