銃のサンプルコードが欲しい

50 Replies
月猫ch
月猫ch17mo ago
矢のvectorとって長さ1とか0.5にして locationに加算しながらエフェクト表示すればいけるで
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
要素別に教えてクレメンス ・射出した矢のvectorのとりかた ・そのvectorの長さを1(0.5?)にする方法 ・そのvectorをつかってパーティクルを表示する場所を決める方法 この3つわかる?
gladiolus8789
gladiolus878917mo ago
Minehut Forums
Skript Vector Tutorial
Hopefully this will be a complete tutorial in vectors within vanilla Skript (might add onto this with Biosphere stuff) Terms you will learn (definitions of each one will be in the tutorial) : Pitch and yaw Vector Magnitude Normalization Location Velocity Basic arithmetic Dot product Cross product...
gladiolus8789
gladiolus878917mo ago
一応vectorを使わなくても、locationを取り続ければできます
月猫ch
月猫ch17mo ago
1tick毎に? それすると早い矢とか間あかね?
unnnnnnnnnnn
unnnnnnnnnnn17mo ago
矢を使わずに銃を作りたいってことなら、 vectorを頭の向きで取って「頭の位置のlocに足していって、そのlocの周囲rメートル以内のプレイヤーにダメージを与える+locにエフェクト」×n回 が大まかな流れ
月猫ch
月猫ch17mo ago
そのほうほう 太いレーザーしか作り方分からなくてつらい playerの当たり判定に近づける方法…
unnnnnnnnnnn
unnnnnnnnnnn17mo ago
正直ちょっとめんどくさくはある
月猫ch
月猫ch17mo ago
ってか俺にはできない
gladiolus8789
gladiolus878917mo ago
projectileの位置にパーティクル表示だとどうしても間空きそう レーザー自作のほうがいいのかな?
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
unnnnnnnnnnn
unnnnnnnnnnn17mo ago
set {_pewpew} to {_l} ~ {_v} ↓ set {_pewpew} to {_pewpew} ~ {_v} にしないと{_pewpew}の中身がずっと{_l} ~ {_v}のままだよ
月猫ch
月猫ch17mo ago
skript hubでeffectで検索
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
skript hubわかる? えーと、先に聞きたい ①とりあえずskript完成させたい ②今後も書くので、勉強しながら書きたい どっち?
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
あ、ごめん、てっきり構文自体まだ入れてないのかと こりゃ失敬
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
ちな之は結局 矢とか使わずに作る方針なの? これ、{_pewpew}に随時vector加算してるんじゃなくて loop回数に応じて『加算するvectorの長さ』を伸ばしてる から一応正しいっちゃ正しい…? ごめん話戻るね 俺的には↑のコードでもうパーティクル表示されそうなもんだけど されないの?
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
個人的には矢のほうが当たり判定も厳密なので そっちを勧めたいです okです
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
何より制御しやすいので 『矢』という実態がある分
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
開きます でもそれを補う方法はちゃんとあります vectorの概念はもう(学校その他で)習いました?
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
例えば物を動かすときに 動かす力には ・力の量(または速度) ・動かす向き の要素があるのはわかります? vectorはそれらの情報がまとめて入ってるオブジェクトです 実際に動かす力のある矢印のようなものですね 矢印の長さ = 力の強さ(または動く速さ) 矢印の向き = 動く向き です これが矢にも存在します
月猫ch
月猫ch17mo ago
ざっくり書くとこんな感じです 発射された矢から取ったvector(画像では青矢印)には 矢の速度と 矢の向きが入ってます
No description
月猫ch
月猫ch17mo ago
ではこのvectorを使ってどうパーティクルを表示するのか 矢のvectorの長さから取得できる『矢の速度』は 『矢が1tickで進む距離』と同じです つまり、vectorの長さは 今の矢と 1tick後の間の距離と一致します
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
on 何かしらのイベント:
# ここに 矢を射出する処理
set {_arrow} to last shot arrow
# ここに 射出した矢の速度を調整する処理
# ↓矢のvectorを取得する
set {_vec} to velocity of {_arrow}
# ↓vectorの長さを取得する (1tick後には 矢はその長さ分先にある)
set {_length} to normal length of {_vec}
on 何かしらのイベント:
# ここに 矢を射出する処理
set {_arrow} to last shot arrow
# ここに 射出した矢の速度を調整する処理
# ↓矢のvectorを取得する
set {_vec} to velocity of {_arrow}
# ↓vectorの長さを取得する (1tick後には 矢はその長さ分先にある)
set {_length} to normal length of {_vec}
↑のコードで、とりあえず矢の速度がとれます これを使ってパーティクル書きます 1tick後の矢の位置と 今の矢の位置が取得できれば簡単です 仮に1tick後に40m先にあるとして 今のlocationから1tick後の位置に向かって,1mずつ、合計40m(40回)場所を取得して そこにパーティクルを表示させれば 1m感覚にエフェクトが表示されます
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
~40m~◄ これを ◄~1m~~1m~~1m~~1m~(割愛)~1m~~1m~◄ こうする もっというと 1tick後                 今の矢 ◄ ◄             ~1m~◄ ◄ ◄         ~1m~~1m~◄ ◄ ◄     ~1m~~1m~~1m~◄ ◄ こうやって、1mずつ伸ばして、40mまでパーティクルを表示する
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
sousou vectorには長さと向きが含まれてるから
on 何かしらのイベント:
# ここに 矢を射出する処理

set {_arrow} to last shot arrow

# ここに 射出した矢の速度を調整する処理

# ↓矢の位置を取得する
set {_loc} to location of {_arrow}

# ↓矢のvectorを取得する
set {_vec} to velocity of {_arrow}

# ↓vectorの長さを取得する (1tick後には 矢はその長さ分先にある)
set {_length} to normal length of {_vec}

# ↓1mの長さしかない矢のvectorを作る
set {_1mVec} to velocity of {_arrow}
set normal length of {_1mVec} to 1

# ↓距離分伸ばすので vectorの長さと同じ回数loop
loop floor({_length) times:
set {_loc} to {_loc} ~ {_1mVec}
show ~(割愛)
on 何かしらのイベント:
# ここに 矢を射出する処理

set {_arrow} to last shot arrow

# ここに 射出した矢の速度を調整する処理

# ↓矢の位置を取得する
set {_loc} to location of {_arrow}

# ↓矢のvectorを取得する
set {_vec} to velocity of {_arrow}

# ↓vectorの長さを取得する (1tick後には 矢はその長さ分先にある)
set {_length} to normal length of {_vec}

# ↓1mの長さしかない矢のvectorを作る
set {_1mVec} to velocity of {_arrow}
set normal length of {_1mVec} to 1

# ↓距離分伸ばすので vectorの長さと同じ回数loop
loop floor({_length) times:
set {_loc} to {_loc} ~ {_1mVec}
show ~(割愛)
こんな感じ?(未テスト)
Unknown User
Unknown UserOP17mo ago
Message Not Public
Sign In & Join Server To View
月猫ch
月猫ch17mo ago
こっちでも試してみるわ ちな之応用すれば HSとか作れるよ
unnnnnnnnnnn
unnnnnnnnnnn17mo ago
ほんとだ
月猫ch
月猫ch17mo ago
逆に新しいだろこの方法
unnnnnnnnnnn
unnnnnnnnnnn17mo ago
これに関しては矢を使うと斜め45度のときに真正面からと比べて1.4倍当たりやすくなるから個人的には微妙
月猫ch
月猫ch17mo ago
雪玉普段使いしてるから失念してた でも1.5mの範囲攻撃よりはまし(
unnnnnnnnnnn
unnnnnnnnnnn17mo ago
範囲攻撃になるかならないかはコード次第だと思う そのあたりはライントレースの鬼のじごくさんがなんとかしてくれる
月猫ch
月猫ch17mo ago
実際↑の方法で 雪玉や矢並みに厳密な当たり判定って可能なの?
unnnnnnnnnnn
unnnnnnnnnnn17mo ago
プレイヤーが近くにいるときにより細かい間隔でチェックするようにするとか、当たり判定に弾道の直線が交差するか調べるとかすればそこそこ厳密に行けると思う
月猫ch
月猫ch17mo ago
やっぱ判定の細分化しかないかぁ
unnnnnnnnnnn
unnnnnnnnnnn17mo ago
直線なら楽だけど重力実装したくなるだろうから計算だと厳しいよね
月猫ch
月猫ch17mo ago
そこよな 重力計算メッチャだるそう
unnnnnnnnnnn
unnnnnnnnnnn17mo ago
初心者には少し難しいかもしれないから最初は矢でokだと思う
月猫ch
月猫ch17mo ago
同意

Did you find this page helpful?