プレイヤーを斜め後ろにジャンプさせる方法

壁ジャンを作ろうと思っているのですがプレイヤーをジャンプさせる方法がわからなく、教えていただけると幸いです
28 Replies
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
この構文を使います Directionを使用して前後左右及び上下への単純な移動が実現できる他、ベクトルを使用して精密に移動させることもできます。 https://skripthub.net/docs/?id=1135
Skript Hub - Documentation
Push (Effect) - Skript
Push entities around.
unnnnnnnnnnn
unnnnnnnnnnn7mo ago
set velocity to ~も pushの制御は結構難しい
るび
るび7mo ago
斜め後ろってプレイヤーの向いてる方向の真後ろに飛ばすってことですか?
yukkina
yukkina7mo ago
pushというかvectorムズいよなぁ
Tsukineko(月雲)
vectorとかいう くそ便利だけど中坊skripterをふるいにかけてくる悲しき概念
yukkina
yukkina7mo ago
wwww
Shake
Shake7mo ago
そうですね。。。 後ろに飛ばしたい感じです ジャンプ以前に壁を検知することができない…
わし
わし7mo ago
if block at location 1 meter forward player is not air or water or lava: とかでいいと思いまふ
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
壁を検知できたとして 落下中のプレイヤーの何をトリガーにジャンプしたと判定させるかも問題 当然空中だからon jumpが使えないわけで 一瞬flightさせた上でその間の移動を検知するとかになるとは思う
unnnnnnnnnnn
unnnnnnnnnnn7mo ago
よくあるのはスニークで壁につかまってスニーク離したときに目線の方向にジャンプ 俺はFキーで壁方向velocityを反転させる方法でやったけど、壁にあたったら壁方向のvelocityが0になっちゃうからvelocityに依存しないほうがいいかも ジャンプしたあとにon flight toggleでやる方法は2回押さなきゃいけないからちょっと大変
Tsukineko(月雲)
ふつうにPL使った方が早いと思う
unnnnnnnnnnn
unnnnnnnnnnn7mo ago
PLはスニークのやつしか知らないな
何か
何か7mo ago
前方に一ミリくらいのレイトレースで壁検知して密着したらフライト状態にする Y座標が一ミリでも増えたら反対方向に飛ばす
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
浮いてるからスペースキー一瞬押しただけで判定できるで
unnnnnnnnnnn
unnnnnnnnnnn7mo ago
なるほど壁検知してflightにしたときスペース押してたらy座標増えるからそれを使うのか 完全にman10のダブルジャンプのイメージだった 常にflyableにしてon flight toggleで検知するやつ
Shake
Shake7mo ago
難しすぎてよくわからない。。。 誰か例のコードを書いていただけると嬉しいです…!
unnnnnnnnnnn
unnnnnnnnnnn7mo ago
every 1 tick:
壁を検知
flight toggle
wait for 1 tick
y座標が増えた
(set velocity/push)
every 1 tick:
壁を検知
flight toggle
wait for 1 tick
y座標が増えた
(set velocity/push)
どこがわからない? Fキーだったらこんな感じ
on swap hand items:
壁を検知
(set velocity/push)
on swap hand items:
壁を検知
(set velocity/push)
flight toglleだったらこう
every 10 seconds:
飛行可能にする

on flight toggle:
歩行状態からフライト状態へのtoggle
cancel event
壁を検知
(set velocity/push)
every 10 seconds:
飛行可能にする

on flight toggle:
歩行状態からフライト状態へのtoggle
cancel event
壁を検知
(set velocity/push)
Shake
Shake7mo ago
ありがとうございます!! ちょっと頑張ってみます!
るび
るび7mo ago
できましたか?
Shake
Shake7mo ago
えとやってみたんですけど下を見てジャンプしても反応してしまって..
Tsukineko(月雲)
どう反応したん? ~にとんだとか
Shake
Shake7mo ago
今堂が送ります こんな感じです
Shake
Shake7mo ago
Shake
Shake7mo ago
On jump:
if block at location 0.001 meter forward player is not air or water or lava:
wait for 1 tick
push player up at speed 0.2
push player backwards at speed 0.8
On jump:
if block at location 0.001 meter forward player is not air or water or lava:
wait for 1 tick
push player up at speed 0.2
push player backwards at speed 0.8
コードがこちらです
Tsukineko(月雲)
block at location 0.001 meter forward player こいつが自分の足より下にあるか否かでチェックするとよいかも
Shake
Shake7mo ago
なるほど... どのように書けばよろしいでしょうか...? わからなくて。。。すいません
Tsukineko(月雲)
例えばこう?
on jump:
set {_block} to block at location 0.001 meter forward player
{_block} is not air or water or lava
y location of {_block} > y location of player
wait for 1 tick
push player up at speed 0.2
push player backwards at speed 0.8
on jump:
set {_block} to block at location 0.001 meter forward player
{_block} is not air or water or lava
y location of {_block} > y location of player
wait for 1 tick
push player up at speed 0.2
push player backwards at speed 0.8
防砂テストはしてないから注意 @GYORUI
Shake
Shake7mo ago
ありがとうございます! 無事完成しました!!ありがとうございます!1
Want results from more Discord servers?
Add your server
More Posts
NICKを全員一斉に変更したいがやり方がわからない``` loop all players: set loop-player’s tab list name to “&b&l%player%” ``` といったようなコードを使用してタブのIDアイテムのnbtから数値を取って書き込んだら<none>になる```set {_material} to nbt compound of player's tool set {_value} to tag "value" of {_material} set {変数の数字が減らないタイマーを作りたくてevery secondで毎秒{timer}という変数の数字を1減らすというコードを作ったのですがうまく減ってくれませんでした。 理由がわかる方教えてください エラー等はありません変数が消えない``` on damage: set {attacker.%victim's uuid%.%attacker%} to true on death: loop all players: プレイヤーから、プレイヤーの目線の5ブロック先までダメージ判定を与える方法ビームを作ってみたいのですが、loop entitiesとか使っても上手くできません...毎度の如く、トライアンドエラーで1時間半ぐらい経過して分からなかったので聞きに来ましたif {test::%player%} is set:でクールタイムを作った時に、waitを使うとバグる```on rightclick holding enchanted book: if uncoloured name of player's tool is "test": テレポートしたとき、元の位置からどれだけ離れたかを変数にぶち込む方法お願いします視点を変えずに視点のところへTPする方法多分かなり初歩的な質問だと思うのですが、どうしても分からないのでご教授願います。スペクテイターのプレイヤーのみにタイトル表示させたいスペクテイターのプレイヤーのみにタイトルを表示させようと、 `if loop-player gamemode is “spectator”: send loop-player title “&Skriptでグラップリングフックの作り方右クリックした時に上と前側にプッシュされる簡単なやつではなく、Apexのパスファインダーみたいなグラップルが作りたいです。ほぼ制作依頼にはなりますが、何卒よろしくお願いします