Una_Nancy_Owen
Una_Nancy_Owen
PDCPlayerRealms developerS Community
Created by あたかも on 11/12/2024 in #help-forum
プレイヤーが落下せず、その場にとどまるようにしたい
とりあえずlevitationを削除した瞬間にプレイヤーのvelocityを0にして、その時点の座標を取得します まず上方向の制御ですが、loop 200 timesで1tick毎に上方向に一定の強さでpushし続ければ重力を打ち消せると思います 横方向の制御については、取得した座標とプレイヤーの現在座標との差を取得し続けてその距離が一定以上(0.2blockとか)離れていたら、その座標同士のyawのみを取得してvectorを作り、pushを行えばいいとおもいます 上にpushが行われている間でも落下判定になり、プレイヤーの横移動速度は低下するため、微弱なpushで打ち消せると思います ただしこの方法ではノックバックを受けたり別種の移動が介入した際に想定以上に移動させられたり、必要以上に左右に振られる問題が生じると思われるので、ダメージを受けたら即解除されるようにしたり、効果時間中はAttributeのノックバック体制を1にしたり、スキル発動中は他の移動アイテムを使えないようにするなどの工夫が必要になると思われます 簡単にまとめると重力を打ち消しつつ、常に中心の座標にプレイヤーを押し続けるということです
7 replies
PDCPlayerRealms developerS Community
Created by あたかも on 11/8/2024 in #help-forum
functionの働きが分からない
はい、そのコード内で使用する数値が変動しないなら直接記述しちゃって大丈夫です 逆に変数は座標であったり、HPであったりと数値が変動する場合によく使いますね
19 replies
PDCPlayerRealms developerS Community
Created by あたかも on 11/8/2024 in #help-forum
functionの働きが分からない
関数としても使用できるというか「function=関数」ではあるんですけど、その認識で問題ないと思います ちなみに{ファンクション内で使う関数の要素}の位置についてなんですが、nanikanofunction(player ,arg-2 ,2 )みたいな感じに、変数じゃないものも普通に入れられるので、ここは場合によって使い分けてください
19 replies
PDCPlayerRealms developerS Community
Created by あたかも on 11/8/2024 in #help-forum
functionの働きが分からない
set {_location} to location of player
set {_PL} to player
set {_custom} to custom nbt of player's tool
gunexplode({_location},{_PL},{_custom})
set {_location} to location of player
set {_PL} to player
set {_custom} to custom nbt of player's tool
gunexplode({_location},{_PL},{_custom})
のことですかね? 上の動画の爆発処理で使用してる奴です {_location}にプレイヤーの座標入れて、{_PL}にプレイヤーを入れて、{_custom}にnbt compound(1.20.5~)を入れて、gunexplodeというfunctionにこの3要素を用いた処理を行わせています
19 replies
PDCPlayerRealms developerS Community
Created by あたかも on 11/8/2024 in #help-forum
functionの働きが分からない
ちなみにこのfunctionは、爆撃やグレネード、クラスター爆弾で召喚されるアイテムのcustom_model_dataを書き換えるために実際に使用しています https://www.youtube.com/watch?v=MHtZpbiG8F4
19 replies
PDCPlayerRealms developerS Community
Created by あたかも on 11/8/2024 in #help-forum
functionの働きが分からない
---------------------------------- 割とややこしいかもしれませんが、functionは書いてるうちに多用することになるので、ぜひ覚えていって下さいね 多分私が説明できるものは全部書いてると思います 質問とかあれば、気が向いたときに答えます
19 replies
PDCPlayerRealms developerS Community
Created by あたかも on 11/8/2024 in #help-forum
functionの働きが分からない
あとfunctionでreturnってのがあるんですけど、これは実例で紹介しますね
command /cmd <int>:
trigger:
set {_item} to player's tool
set {_item} to cmd({_item},arg)
give {_item} to player

function cmd(item:item ,num:integer) :: item:
set int tag "minecraft:custom_model_data" of nbt compound of {_item} to {_num}
return {_item}
command /cmd <int>:
trigger:
set {_item} to player's tool
set {_item} to cmd({_item},arg)
give {_item} to player

function cmd(item:item ,num:integer) :: item:
set int tag "minecraft:custom_model_data" of nbt compound of {_item} to {_num}
return {_item}
これで何が起こるかというと、/cmdを実行したときに手に持ってるアイテムを取得して、そのアイテムのcustom_model_dataを指定のargにしたものを渡します
set {_item} to cmd({_item},arg)

function cmd(item:item ,num:integer) :: item:

return {_item}
set {_item} to cmd({_item},arg)

function cmd(item:item ,num:integer) :: item:

return {_item}
説明するのはこの3行です
set {_item} to cmd({_item},arg)
set {_item} to cmd({_item},arg)
についてですが、これは{_item}にfunctionを挿入しているように見えて、分かりにくいかもしれませんが、このfunction自体がitemとしての形式を持ってるので、この書き方が使えます
function cmd(item:item ,num:integer) :: item:
function cmd(item:item ,num:integer) :: item:
についてですが、
function cmd(item:item ,num:integer)
function cmd(item:item ,num:integer)
ここまでは何も変わりません
:: item:
:: item:
という部分でitem形式でfunctionの内容を返すということをしています 一つ上の「このfunction自体がitemとしての形式を持ってる」というのはこのことなんですね
return {_item}
return {_item}
については、この{_item}という変数の中に入っている内容物を外に出すという感じです ここにitemが入っているので、外で取り出すことができるんですね
19 replies
PDCPlayerRealms developerS Community
Created by あたかも on 11/8/2024 in #help-forum
functionの働きが分からない
同じ処理を複数のコード内で使用したい時は、GUIとかがわかりやすいかも 銀行のNPCをクリックしたときに開くGUIと、銀行のATMをクリックしたときに開くGUIが全く同じものでいいなら
function bankmenu(user:player):
処理
function bankmenu(user:player):
処理
ってのを作ると
on rightclick with villager:
name of event-entity contains "BANK"
bankmenu(player)

on rightclick with sign:
line 1 of block is "ATM"
bankmenu(player)
on rightclick with villager:
name of event-entity contains "BANK"
bankmenu(player)

on rightclick with sign:
line 1 of block is "ATM"
bankmenu(player)
みたいな感じに使えるから、数百行あるコードをイベント別で書かなくてもよくなったりする
19 replies
PDCPlayerRealms developerS Community
Created by あたかも on 11/8/2024 in #help-forum
functionの働きが分からない
どういう場面で使うのかというと、複数の処理を同時並行させたかったり、同じ処理を複数のコード内で使用したい時 例えば処理の中で2つのモブを召喚した際に、それぞれに一定時間で自動で死亡する処理を行いたいとする 同時に死亡させるとかならリスト変数を使って実行もできるけど、死亡時間にランダム性を持たせるのは難しい となると
loop 3 times:
set {_random} to random integer between 100 and 200
set {_random} to "%{_random}% ticks" parsed as a time span
spawn chicken at player
set {_mob} to last spawned entity
autodeath({_mob},{_random})
loop 3 times:
set {_random} to random integer between 100 and 200
set {_random} to "%{_random}% ticks" parsed as a time span
spawn chicken at player
set {_mob} to last spawned entity
autodeath({_mob},{_random})
みたいなfunctionの使い方をすることで、100tick~200tickで自動で死亡する鶏を3体召喚できる
19 replies
PDCPlayerRealms developerS Community
Created by あたかも on 11/8/2024 in #help-forum
functionの働きが分からない
例えば
function gunexplode(loc:location ,attacker:entity ,custom:nbt compound):
処理
function gunexplode(loc:location ,attacker:entity ,custom:nbt compound):
処理
って感じで始まるfunctionがあるとして 各部位について説明すると gunexplode → functionの名前 loc:location → function内でのローカル変数 locationの形式で{_loc}という変数で入ってくる attacker:entity → 同上 entity形式で{_attacker}という変数で入ってくる custom:nbt compound → 同上 nbt compound形式で{_custom}という変数で入ってくる その後の処理は {_loc}や{_attacker}を使用してparticleを出したり、モブを出したりする このfunctionを使用したい場合は
set {_location} to location of player
set {_PL} to player
set {_custom} to custom nbt of player's tool
gunexplode({_location},{_PL},{_custom})
set {_location} to location of player
set {_PL} to player
set {_custom} to custom nbt of player's tool
gunexplode({_location},{_PL},{_custom})
とかで使用できる
19 replies
PDCPlayerRealms developerS Community
Created by rea on 10/2/2024 in #help-forum
1.21でHideFlagsのようなことはどうすればできますか
前置きしておきますが、私は争うつもりはありません。 まず言わせていただきますが、特に交友関係があるわけでも、文を教えていただいている先生でもない方に「露骨な字数稼ぎしてる」等という謂れのない中傷を吐かれる覚えはありません。 恐らく覚えておられないのでしょうが、以前にも言っております通り、長文は私の癖です。 読むのにも他の方と比べて時間がかかるであろうということは認めています。 ただし、文章内に必要な情報は多めに入れているつもりですので、本当に文章を読むつもりがある方であれば、大きな問題にはならないと考えています。 特にこのコミュニティのようなところであれば、自身が行いたいことを実行するための構文や仕様を調べる際により多くの文を読む必要があるはずですので、普通の方よりは活字に対する免疫があるものと考えています。 さらに言えば今回の内容はreaさんが自ら知りたいと質問された内容であるため、長文であれ解決する気があれば読む気力はあるでしょう。 またversionの新しさから考えてこちらのコミュニティでも使用者がまだ少ないであろうnbt compound関連の有効な返信が見られなかったため、その事情をある程度抑えて、内容を多めに送信しているつもりです。 本当に質問内容を実行するためのすべての内容を書けば2倍は越えることが予想されます。 あなたの行った推敲の方も確認させていただきました。 確かに文章全体として読みやすさが向上していると見れます。 ただし改行以外の変更点について、多くを改善しているように見えますが、私から言わせてもらうと文章表現上の個人差をあなたの基準に合わせたに過ぎません。 意図的に悪い表現を用いて例えると、私の文章を冗長で分かりにくいという印象を付けるために重箱の隅をつつく様な訂正を重ねているだけのように見えます。 私はあなたの最後の発言がなければ、この様な返信をするつもりは一切ありませんでした。 あなたの発言についてコメントさせていただくと、最後の発言全文が不要な内容であったと思います。 また、私の文章が致命的なまでに可読性を欠いているか、著しく誤解を招く表現が多用されているのであればまだしも、他者のスレッド内で私の長文という関係ない議題を広げ、話の方向性を歪める行為は控えたほうがよろしいかと。 reaさん、この様な関係のない内容をスレッド内で広げてしまいすみません。 これが長く、冗長な表現が多用された分かりにくい文章というものです、ご理解いただけましたでしょうか?
56 replies
PDCPlayerRealms developerS Community
Created by rea on 10/2/2024 in #help-forum
1.21でHideFlagsのようなことはどうすればできますか
1.20.5~の際HideFlagsの効果を使うならshow_in_tooltipというものを使用する必要があります 例えばEnchantを隠す場合はbyte tagの"show_in_tooltip"を0にして"minecraft:enchantments"の"levels"に入れることで隠すことができ、Unbreakableを隠す場合は"minecraft:unbreakable"に同じく"show_in_tooltip"の0を入れることで解決することができます Modifierも同じく"show_in_tooltip"を用いることで隠すことができますが、デフォルトのModifier(剣の攻撃力や攻撃速度)を隠す場合は少し特殊で、予め別の効果を持つModifierを設定していないと隠すことができません PotionやFlagsの効果を隠す場合は"show_in_tooltip"ではなく"minecraft:hide_additional_tooltip"に{}を入れることで解決します コマンドで出したアイテムのnbt compoundを以下のようなコードを用いて確認することができます
command /nbtc:
trigger:
send "&eplayer's tool → %nbt of tool of player%&f" to player
send "&eplayer's tool → %nbt of tool of player%&f" to console
command /nbtc:
trigger:
send "&eplayer's tool → %nbt of tool of player%&f" to player
send "&eplayer's tool → %nbt of tool of player%&f" to console
私がコマンドや構文知らないだけの可能性もありますが、HideFlagsのように一括で隠すことができないんですよね... https://github.com/ShaneBeee/SkBee/wiki/NBT-Intro#boolean https://skripthub.net/docs/?id=10694
56 replies
PDCPlayerRealms developerS Community
Created by rea on 7/30/2024 in #help-forum
RPGプラグイン作っていきたいんですが…
あとは最終ダメージのdamageを直接操作よりも{_dmg}で操作した方が処理の面でも軽いと思います
189 replies
PDCPlayerRealms developerS Community
Created by rea on 7/30/2024 in #help-forum
RPGプラグイン作っていきたいんですが…
ダメージにプラスしたり割ったりする場合は{_dmg}を使用して計算を行い、最終的にset damage to {_dmg}でセットしたほうがやりやすいです
189 replies
PDCPlayerRealms developerS Community
Created by rea on 7/30/2024 in #help-forum
RPGプラグイン作っていきたいんですが…
読んでいたとして、すべての内容を把握できているとは思ってないので、問題を解決する上で注目すべき(再度読んでみるべき)ポイントを示す意図で3点を挙げています まぁさすがに私も情報載せ過ぎかなとは思っていたので、そこはすみません
189 replies
PDCPlayerRealms developerS Community
Created by rea on 7/30/2024 in #help-forum
RPGプラグイン作っていきたいんですが…
一応私のメッセージが送信されるまでの間に2時間半はあるので、自分で調べながら返信待ちしてたらそれなりに時間はあるのですが...
189 replies
PDCPlayerRealms developerS Community
Created by rea on 7/30/2024 in #help-forum
RPGプラグイン作っていきたいんですが…
一応こちらの内容を読んでいればできる範囲だとは思っているのですが... 長文は私の癖ですね...
189 replies
PDCPlayerRealms developerS Community
Created by rea on 7/30/2024 in #help-forum
RPGプラグイン作っていきたいんですが…
①{_なんとか}自体は数値やエンティティを保管するための箱であり、それ単体では何も意味を持ちません [ポイント] {_dmg}や{_attacker}というのも名前が違うだけの箱と考えましょう ②半角スペース4マスあるいは(Tab)によって段を分ける行為は「:」によって条件付けしたコードの処理を連続させる効果を持ちます [ポイント] 今回の処理であると、if name of attacker's tool is "A":の条件を満たしていない場合でもmake {_attacker} damage {_victim} by {_dmg}が発生することになります ③on damage:のイベント内にはdamage、attacker、victimという固有のtypes(playerやevent-item、target blockといった特定のイベント内で指定できる対象)が存在します [ポイント] damageにこちらで用意した数値をセットすることで、ダメージ処理をこのイベント内で完結させることが出来るかもしれません [注意点] on damage:イベント内で無条件のmake {_attacker} damage {_victim} by {_dmg}を利用すると無限ループが発生します 以上の3つのポイントを押さえた上で内容を書き換えてみてください また2名の方からスレッドを分けるように言われてますので、ダメージの変動を行えるようになったらここのスレッドを終了し、別のスレッドを開始しましょう(同じ疑問を持った方が解決策を見つけやすくなります)
189 replies
PDCPlayerRealms developerS Community
Created by rea on 7/30/2024 in #help-forum
RPGプラグイン作っていきたいんですが…
見ての通り特殊な処理は線と円だけなので、ある程度コード書けるようになったらすぐできますよ ただ話を聞いている限りだと、まずはSkriptの基本的な仕組みから理解していったほうが良いと思われるので、functionを扱うあたりになったら挑戦してもよいかと
189 replies
PDCPlayerRealms developerS Community
Created by rea on 7/30/2024 in #help-forum
RPGプラグイン作っていきたいんですが…
そういえばそんなのあった() 思ったより自由度高いのね...
189 replies