パーティクルをプレイヤーを中心とした円状に表示させる方法

調べてもでてこない...............
44 Replies
makaronipizaa
makaronipizaaOP11mo ago
それともしよかったら色がついたパーティクルを表示させる方法もご教授願いたいです
nennneko5787
nennneko578711mo ago
skDragonで検索
KabiPan
KabiPan11mo ago
三角関数使えばできる 円って英語確かcircleだから skript circle particleとか調べたら出てくるハズ
___
___11mo ago
function get_offsets(ac: number) :: numbers:
loop {_ac} times:
set {_n::1} to ((loop-value-1) / {_ac}) ^ 2
set {_n::2} to 1 - {_n::1}
set {_n::1} to sqrt({_n::1})
set {_n::2} to sqrt({_n::2})
loop (1, -1):
set {_sign::1} to loop-value-2
loop (1, -1):
set {_sign::2} to loop-value-3
add 1 to {_i}
set {_offsets::%{_i}%} to {_sign::1} * {_n::1}
add 1 to {_i}
set {_offsets::%{_i}%} to {_sign::2} * {_n::2}
return {_offsets::*}

command /t:
trigger:
set {_offsets::*} to get_offsets(200)
set {_size} to size of {_offsets::*}
set {_l} to location of player
loop ({_size} / 2) times:
set {_i} to ((loop-value) - 1) * 2
set {_x} to {_offsets::%{_i}%}
add 1 to {_i}
set {_y} to {_offsets::%{_i}%}
set {_offset} to vector({_x}, 0, {_y})
set vector length of {_offset} to 10
set block at ({_l} ~ {_offset}) to stone
function get_offsets(ac: number) :: numbers:
loop {_ac} times:
set {_n::1} to ((loop-value-1) / {_ac}) ^ 2
set {_n::2} to 1 - {_n::1}
set {_n::1} to sqrt({_n::1})
set {_n::2} to sqrt({_n::2})
loop (1, -1):
set {_sign::1} to loop-value-2
loop (1, -1):
set {_sign::2} to loop-value-3
add 1 to {_i}
set {_offsets::%{_i}%} to {_sign::1} * {_n::1}
add 1 to {_i}
set {_offsets::%{_i}%} to {_sign::2} * {_n::2}
return {_offsets::*}

command /t:
trigger:
set {_offsets::*} to get_offsets(200)
set {_size} to size of {_offsets::*}
set {_l} to location of player
loop ({_size} / 2) times:
set {_i} to ((loop-value) - 1) * 2
set {_x} to {_offsets::%{_i}%}
add 1 to {_i}
set {_y} to {_offsets::%{_i}%}
set {_offset} to vector({_x}, 0, {_y})
set vector length of {_offset} to 10
set block at ({_l} ~ {_offset}) to stone
KabiPan
KabiPan11mo ago
ん 色付きパーティクルで簡単に表示できそうなの見つけた
makaronipizaa
makaronipizaaOP11mo ago
👀
KabiPan
KabiPan11mo ago
skdragon必要だけど
makaronipizaa
makaronipizaaOP11mo ago
必要とあらばいれます
KabiPan
KabiPan11mo ago
drawDot [count %-number%,] particle %string%[, material %-itemstack%][, speed %-number%][, ([offset]XYZ|RGB) %-number%, %-number%, %-number%], center %objects%[, id %-string%][, isSingle %-boolean%, %-player%][, r[ainbow]M[ode] %-boolean%], visibleRange %number%[, pulseDelay %-number%][, keepFor %-timespan%]
drawDot [count %-number%,] particle %string%[, material %-itemstack%][, speed %-number%][, ([offset]XYZ|RGB) %-number%, %-number%, %-number%], center %objects%[, id %-string%][, isSingle %-boolean%, %-player%][, r[ainbow]M[ode] %-boolean%], visibleRange %number%[, pulseDelay %-number%][, keepFor %-timespan%]
ってのがあって 例文なんだけど
drawDot count 1, particle "redstone", RGB 0, 0, 0, center player, rainbowMode true, visibleRange 32, pulseDelay 0, keepFor 20 ticks
drawDot count 1, particle "redstone", RGB 0, 0, 0, center player, rainbowMode true, visibleRange 32, pulseDelay 0, keepFor 20 ticks
こんな感じに書けば RGBで色指定できるし まあ英語の通りなんだけど 何秒持続させるかとか パーティクルからどのくらいの範囲にいる人に表示するかとか 簡単に指定できる
makaronipizaa
makaronipizaaOP11mo ago
いやおまえw 神か ありがとうございます ためします
KabiPan
KabiPan11mo ago
動くといいけど あとは円状の座標取得して そこにこれで表示すればいいとは思うけど その座標の取得はできそう?
makaronipizaa
makaronipizaaOP11mo ago
... その取得が分からないんですよね、vectorとか
KabiPan
KabiPan11mo ago
:wow: なんか前さっき言ったキーワードで調べたらやり方ポンポン出てきた気がしたけど なんかでてこねえ ちょいまってな
makaronipizaa
makaronipizaaOP11mo ago
わかりました
KabiPan
KabiPan11mo ago
あ いやなもんみえた さっきのdrawdotのcircleバージョンアルジャン
makaronipizaa
makaronipizaaOP11mo ago
はい
KabiPan
KabiPan11mo ago
eggeのやり方で座標取得してdrawDotで書くのもよし あと同じskDragonで円を描画するバージョンあったから これ使ってもいい
```draw[Complex]Circle particle %string%[, material %-itemstack%][, speed %-number%][, ([offset]XYZ|RGB) %-number%, %-number%, %-number%], center %object%, id %string%[, isSingle %-boolean%, %-player%][, r[ainbow]M[ode] %-boolean%], randomRotation %boolean%, radius %number%, density %number%, start %number%, visibleRange %number%[, xR[otation] %-number%, yR[otation] %-number%, zR[otation] %-number%][, dis[placement]X %-number%, dis[placement]Y %-number%, dis[placement]Z %-number%][, tps %-number%, second %-number%]
```draw[Complex]Circle particle %string%[, material %-itemstack%][, speed %-number%][, ([offset]XYZ|RGB) %-number%, %-number%, %-number%], center %object%, id %string%[, isSingle %-boolean%, %-player%][, r[ainbow]M[ode] %-boolean%], randomRotation %boolean%, radius %number%, density %number%, start %number%, visibleRange %number%[, xR[otation] %-number%, yR[otation] %-number%, zR[otation] %-number%][, dis[placement]X %-number%, dis[placement]Y %-number%, dis[placement]Z %-number%][, tps %-number%, second %-number%]
例文なかったから今試してみたらこんな感じで動いた
drawCircle particle "redstone", RGB 0, 0, 0, center player, id "test", randomRotation false, radius 3, density 8, start 1, visibleRange 32
drawCircle particle "redstone", RGB 0, 0, 0, center player, id "test", randomRotation false, radius 3, density 8, start 1, visibleRange 32
radiusが半径で desityが円を描画するエフェクトの数
KabiPan
KabiPan11mo ago
No description
KabiPan
KabiPan11mo ago
例えば8だとこうなるし あなんだこれ 一回だけ円状にパーティクル生成するのかと思ったら id生成してそれで止めるまで延々生成されるし アニメーションみたいに動くからだめだナ あの eggeとかakonが見たら 全力でぶん殴られそうではあるんだけどそれっぽいの作ってみた
command /t:
trigger:
set {_radius} to 3
set {_density} to 18
set {_hoge} to 360 / {_density}
loop {_density} times:
set {_angle} to loop-number * {_hoge}
set {_x} to x-loc of player + cos({_angle}) * {_radius}
set {_y} to y-loc of player
set {_z} to z-loc of player + sin({_angle}) * {_radius}
set {_loc} to location ({_x}, {_y}, {_z})
drawDot count 1, particle "redstone", RGB 0, 0, 0, center {_loc}, rainbowMode true, visibleRange 32, pulseDelay 0, keepFor 20 ticks
command /t:
trigger:
set {_radius} to 3
set {_density} to 18
set {_hoge} to 360 / {_density}
loop {_density} times:
set {_angle} to loop-number * {_hoge}
set {_x} to x-loc of player + cos({_angle}) * {_radius}
set {_y} to y-loc of player
set {_z} to z-loc of player + sin({_angle}) * {_radius}
set {_loc} to location ({_x}, {_y}, {_z})
drawDot count 1, particle "redstone", RGB 0, 0, 0, center {_loc}, rainbowMode true, visibleRange 32, pulseDelay 0, keepFor 20 ticks
KabiPan
KabiPan11mo ago
No description
KabiPan
KabiPan11mo ago
こんなんでよければ
makaronipizaa
makaronipizaaOP11mo ago
表示されない;;
KabiPan
KabiPan11mo ago
🤔 あれPRでやってる?
makaronipizaa
makaronipizaaOP11mo ago
prではないです 自鯖
KabiPan
KabiPan11mo ago
俺も自鯖でやってるからサ
makaronipizaa
makaronipizaaOP11mo ago
1.17なのが原因かな わからん...
KabiPan
KabiPan11mo ago
ああおれ1.12.2でやってる PRで動くか見てくるわ
nennneko5787
nennneko578711mo ago
1.17.1のskdragonがあるはず
KabiPan
KabiPan11mo ago
おーっと PRだとパーティクルは出るけど 円状にならねえ ナニコレチン百景
makaronipizaa
makaronipizaaOP11mo ago
出たけど足元にでました...
KabiPan
KabiPan11mo ago
俺もそうなった 座標がちゃんと指定できないのか ナ 調べた感じ set location(x,y,z)がなぜかうまく機能しなくて みんな同じ値になってるから
command /t:
trigger:
set {_radius} to 5
set {_density} to 60
set {_hoge} to 360 / {_density}
loop {_density} time:
set {_angle} to loop-number * {_hoge}
set {_loc} to player's location
set {_loc}'s x-coord to x-position of player + cos({_angle}) * {_radius}
set {_loc}'s y-coord to y-position of player
set {_loc}'s z-coord to z-position of player + sin({_angle}) * {_radius}
drawDot count 1, particle "redstone", RGB 0, 0, 0, center {_loc}, rainbowMode true, visibleRange 32, pulseDelay 0, keepFor 20 ticks
command /t:
trigger:
set {_radius} to 5
set {_density} to 60
set {_hoge} to 360 / {_density}
loop {_density} time:
set {_angle} to loop-number * {_hoge}
set {_loc} to player's location
set {_loc}'s x-coord to x-position of player + cos({_angle}) * {_radius}
set {_loc}'s y-coord to y-position of player
set {_loc}'s z-coord to z-position of player + sin({_angle}) * {_radius}
drawDot count 1, particle "redstone", RGB 0, 0, 0, center {_loc}, rainbowMode true, visibleRange 32, pulseDelay 0, keepFor 20 ticks
クソ適当だけど まずプレイヤーのロケーション取得してそこにxyz無理やりぶち込んで みた これならPR環境でも動く
___
___11mo ago
location (x, y, z) -> Expression
location(x, y, z) -> Function
location (x, y, z) -> Expression
location(x, y, z) -> Function
Functionにしたら治ったりしそう
KabiPan
KabiPan11mo ago
e
nennneko5787
nennneko578711mo ago
たぶんそれじゃない
KabiPan
KabiPan11mo ago
あ そういうことか スペース余計なのね
KabiPan
KabiPan11mo ago
ハイ出来ましたごめんなさい てことでこれでよければ使って下せえ
command /t:
trigger:
set {_radius} to 3
set {_density} to 18
set {_hoge} to 360 / {_density}
loop {_density} times:
set {_angle} to loop-number * {_hoge}
set {_x} to x-loc of player + cos({_angle}) * {_radius}
set {_y} to y-loc of player
set {_z} to z-loc of player + sin({_angle}) * {_radius}
set {_loc} to location({_x}, {_y}, {_z})
drawDot count 1, particle "redstone", RGB 0, 0, 0, center {_loc}, rainbowMode true, visibleRange 32, pulseDelay 0, keepFor 20 ticks
command /t:
trigger:
set {_radius} to 3
set {_density} to 18
set {_hoge} to 360 / {_density}
loop {_density} times:
set {_angle} to loop-number * {_hoge}
set {_x} to x-loc of player + cos({_angle}) * {_radius}
set {_y} to y-loc of player
set {_z} to z-loc of player + sin({_angle}) * {_radius}
set {_loc} to location({_x}, {_y}, {_z})
drawDot count 1, particle "redstone", RGB 0, 0, 0, center {_loc}, rainbowMode true, visibleRange 32, pulseDelay 0, keepFor 20 ticks
{_radius}が円の半径 {_desity}が表示するエフェクトの数 多分360以下にしないと表示おかしくなると思うんで そこだけオナシャス
makaronipizaa
makaronipizaaOP11mo ago
ありがとうございます!!!!!!!!!!! 色の指定の仕方がわからない...77, 144, 250とかにしても何も変わらない
KabiPan
KabiPan11mo ago
ああ drawdotの中にある rainbowmodeがtrueになってるから それfalseにすればいける
makaronipizaa
makaronipizaaOP11mo ago
なるほど
KabiPan
KabiPan11mo ago
これも名前の通りtrueで有効化すると虹色に変色しちゃうから 色の変更が効かない
makaronipizaa
makaronipizaaOP11mo ago
なるほど!!
Want results from more Discord servers?
Add your server