長押しの検知

いや、わかってるんですよ 多分無理だろうなって… 現状右クリック長押しで一秒間に5回判定されることが分かりました これを毎ティックチェックする方法ありますか
10 Replies
わし
わし2y ago
弓とか 弓を引いてるかの判別ってできないんだ
yukkina
yukkina2y ago
ちなみにその1秒間に5回ってのは 単純に長押ししてると1秒間に5回右クリックの処理がされるってだけなんですよね 連打したら回数増えますし、 無理なんじゃないすかね
unnnnnnnnnnn
unnnnnnnnnnn2y ago
ちなみに目的は?
月猫ch
月猫chOP2y ago
銃作ります ちなみに今はどうしようもないのでCSでノーだめの弾を発射酢するだけの張りぼて作って それにskriptで干渉するスタイルです
soramame_256
soramame_2562y ago
右クリック時に時間突っ込んで そっから4tick後に右クリック処理が来たなら長押し 出なければ連打
yukkina
yukkina2y ago
ピッタリ4ticks感覚でサーバー処理されんのかな? まあ検証しながらやな
何か
何か2y ago
何か
何か2y 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経過するまでを連射中ということにしておけば十分です
何か
何か2y ago
これでCSと同じ挙動になります
月猫ch
月猫chOP2y ago
おぉ…ありがとうございます!! それ基盤に色々いじってみますm(* )m
Want results from more Discord servers?
Add your server