長押しの検知

いや、わかってるんですよ 多分無理だろうなって… 現状右クリック長押しで一秒間に5回判定されることが分かりました これを毎ティックチェックする方法ありますか
10 Replies
わし
わし14mo ago
弓とか 弓を引いてるかの判別ってできないんだ
yukkina
yukkina14mo ago
ちなみにその1秒間に5回ってのは 単純に長押ししてると1秒間に5回右クリックの処理がされるってだけなんですよね 連打したら回数増えますし、 無理なんじゃないすかね
unnnnnnnnnnn
unnnnnnnnnnn14mo ago
ちなみに目的は?
Tsukineko(月雲)
銃作ります ちなみに今はどうしようもないのでCSでノーだめの弾を発射酢するだけの張りぼて作って それにskriptで干渉するスタイルです
soramame_256
soramame_25614mo ago
右クリック時に時間突っ込んで そっから4tick後に右クリック処理が来たなら長押し 出なければ連打
yukkina
yukkina14mo ago
ピッタリ4ticks感覚でサーバー処理されんのかな? まあ検証しながらやな
何か
何か14mo ago
何か
何か14mo ago
右クリックの遅延は4 tickとされてるので
on right click:
set {gun::%player%::shooting} to true
set {gun::%player%::time} to now

every 1 tick:
loop all players:
if {gun::%loop-player%::shooting}:
shoot(loop-player)

set {_d} to difference between now and {gun::%loop-player%::time}
if {_d} > 4 ticks:
set {gun::%loop-player%::shooting} to false

function shoot(p: player):
set {_look} to vector from yaw yaw of {_p} and pitch pitch of {_p}

spawn snowball at eye of {_p} ~ {_look}
set {_e} to last spawned entity
set velocity of {_e} to {_look}
on right click:
set {gun::%player%::shooting} to true
set {gun::%player%::time} to now

every 1 tick:
loop all players:
if {gun::%loop-player%::shooting}:
shoot(loop-player)

set {_d} to difference between now and {gun::%loop-player%::time}
if {_d} > 4 ticks:
set {gun::%loop-player%::shooting} to false

function shoot(p: player):
set {_look} to vector from yaw yaw of {_p} and pitch pitch of {_p}

spawn snowball at eye of {_p} ~ {_look}
set {_e} to last spawned entity
set velocity of {_e} to {_look}
右クリックをするたびにタイマーを更新してeveryで4tick経過するまでを連射中ということにしておけば十分です
何か
何か14mo ago
これでCSと同じ挙動になります
Tsukineko(月雲)
おぉ…ありがとうございます!! それ基盤に色々いじってみますm(* )m
Want results from more Discord servers?
Add your server
More Posts
HUDを追加する画面右下に文字を表示させるとかできる…?CSの実装についてCrackShot君は同じ銃でも、アイテムごとに銃の性能(残弾数)が違ったり 地面にポイして拾ってもデータが保存されていますが あれはどうやってデータ保存してるんですかね アイテムに固有IDでもあるんカスタムguiを開きながらインベントリのアイテムクリックを検知するこういうものを書いてみたのですが、インベントリ内の種をクリックしたときもaと言ってくれません... ``` on inventory click: if name of clicked invenchatのリンククリックについて```on chat: cancel event send "%message%" to player``` このコードで送られるメッセージにリンクがあった場合そのリンクを開くことがで使ってるskriptのバージョンいくつですか?気になったので質問しました あと、2.6.3だとうまく動かない?みたいなときもあってプレイヤーの視線の先の座標を入手したいminecraft 1.17.1 skript 2.6.4 skquery 4.1.9 skbee 2.8.2 PRじゃないですアーマースタンドのクリック判定が多重するアーマースタンドをクリックしたときに名前が”テスト”だったらメッセージを送るというSkriptなのですが ```on rightclick on armor stand: if name ofSkript初心者です/menuでGUIが開けるコードを書いたのですがうまくいかず...助けてほしいです!三秒間攻撃がなかったらsend "OK"環境はPRの1.12.2サーバーです。 ”テストゾンビ”という名前のやつを攻撃して、3秒間攻撃がなかったらOKとアタッカーにsendで送りたいです。 その3秒間の間に攻撃があったらそこからまた3秒間攻プレイヤーヘッドを設置できない```command /aa: trigger: set block at location of player to player's head```というコードを実行したところ、エラー