gladiolus8789
gladiolus8789
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 3/21/2024 in #help-forum
1つのアイテムにAttributeを複数つけたい
function make_attr(attr: string, name: string, slot: string, operation: number, amount: number) :: string:
set {_least} to random integer between 0 and 1000000000
set {_most} to random integer between 0 and 1000000000
return "{AttributeName:""%{_attr}%"",Name:""%{_name}%"",Slot:""%{_slot}%"",Operation:%{_operation}%,Amount:%{_amount}%D,UUIDLeast:%{_least}%L,UUIDMost:%{_most}%L}"

set {_attribute} to make_attr("generic.なんとか","attr", "%{_slot}%", {_operation}, {_amount})
add "{AttributeModifiers:[%{_attribute}%]}" to nbt of player's tool
function make_attr(attr: string, name: string, slot: string, operation: number, amount: number) :: string:
set {_least} to random integer between 0 and 1000000000
set {_most} to random integer between 0 and 1000000000
return "{AttributeName:""%{_attr}%"",Name:""%{_name}%"",Slot:""%{_slot}%"",Operation:%{_operation}%,Amount:%{_amount}%D,UUIDLeast:%{_least}%L,UUIDMost:%{_most}%L}"

set {_attribute} to make_attr("generic.なんとか","attr", "%{_slot}%", {_operation}, {_amount})
add "{AttributeModifiers:[%{_attribute}%]}" to nbt of player's tool
上記のコードで、手に持っているアイテムにAttributeを付与しているのですが 例えば、 generic.attackDamageを付与したあと、同じアイテムでgeneric.movementSpeedを付与すると、attackDamageがmovementSpeedに上書きされてしまい、結果Attributeが一個しかつかなくなってしまいます。 どうにかしてAttributeを複数付与させたいです。 (上の例で言うならattackDamageとmovementSpeedの2つを付与させたい) PR 1.12.2 Skript 2.5.3 SkBee v1.10.2
4 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 2/21/2024 in #help-forum
スキンが変更されない2
TCT-plusにあやかって、妖狐の変身アイテムを実装してます
if name of clicked inventory is "TCTショップ":

else if name of clicked inventory is "変身先を選んでください":
cancel event
if {TCT_Game} is true:
if {Chosen_fox::*} contains player:
set {_p} to uncolored name of clicked item parsed as offline player
send request to "https://api.mineskin.org/generate/user/%uuid of {_p}%"
set {_res} to response
map json body of {_res} to {_json::*}
set {_value} to {_json::data::texture::value}
set {_signature} to {_json::data::texture::signature}
set {_skin} to new player skin with value {_value} signature {_signature}
set player's displayed player skin to {_skin}
if name of clicked inventory is "TCTショップ":

else if name of clicked inventory is "変身先を選んでください":
cancel event
if {TCT_Game} is true:
if {Chosen_fox::*} contains player:
set {_p} to uncolored name of clicked item parsed as offline player
send request to "https://api.mineskin.org/generate/user/%uuid of {_p}%"
set {_res} to response
map json body of {_res} to {_json::*}
set {_value} to {_json::data::texture::value}
set {_signature} to {_json::data::texture::signature}
set {_skin} to new player skin with value {_value} signature {_signature}
set player's displayed player skin to {_skin}
open chest inventory with 3 row named "変身先を選んでください" to player
set slot 0 of player's current inventory to fern named "Fyllo"
open chest inventory with 3 row named "変身先を選んでください" to player
set slot 0 of player's current inventory to fern named "Fyllo"
クリックしたアイテムからプレイヤー名をとって、そこからuuidを取得し、requestに入れてます。 {_p}もuuid of {_p}もちゃんと入っています。 変身するところも最後まで動いていますが、やはり自分のスキンに変身してしまいます。 原因がわかったら教えてほしいです。 追記: コードは https://discord.com/channels/545926404785569793/1186223535295836270 を丸パクリしました
20 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 2/19/2024 in #help-forum
Skriptで与えたダメージのdamage causeを変更したい
TCTの地雷を作ってます。 地雷の死因(damage cause)を変えるのに手間取っています。 SkRageのdamagesourceを用いて、クリーパー頭の近くにいるプレイヤーに対し damage loop-entity by 50 with damagesource {_TNTdmg} でダメージを与えています。 この{_TNTdmg}は、set {_TNTdmg} to new damage source with type "ENTITY_EXPLOSION" で設定しています。 これでダメージを与えると、damage causeがattackになってしまいます。 コード:
on place:
if {Chosen_wolf::*} contains player:
if player's tool is creeper head item:
send "{@prefix} &a地雷を設置しました。"
set {_TNTdmg} to new damage source with type "ENTITY_EXPLOSION"
set damage source attacker of {_TNTdmg} to player
loop 1000 times:
wait 5 tick
if "%block at location of event-block%" is "SKULL":
loop all entities in radius 2 around location of event-block:
loop-entity is set
loop-entity is not arrow
{Chosen_wolf::*} does not contain loop-entity
{Chosen_mad::*} does not contain loop-entity
{Chosen_fan::*} does not contain loop-entity
damage loop-entity by 50 with damage source {_TNTdmg}
send "{@prefix} &c地雷が発動しました。"
set block at location of event-block to air
stop loop
else:
stop loop
on place:
if {Chosen_wolf::*} contains player:
if player's tool is creeper head item:
send "{@prefix} &a地雷を設置しました。"
set {_TNTdmg} to new damage source with type "ENTITY_EXPLOSION"
set damage source attacker of {_TNTdmg} to player
loop 1000 times:
wait 5 tick
if "%block at location of event-block%" is "SKULL":
loop all entities in radius 2 around location of event-block:
loop-entity is set
loop-entity is not arrow
{Chosen_wolf::*} does not contain loop-entity
{Chosen_mad::*} does not contain loop-entity
{Chosen_fan::*} does not contain loop-entity
damage loop-entity by 50 with damage source {_TNTdmg}
send "{@prefix} &c地雷が発動しました。"
set block at location of event-block to air
stop loop
else:
stop loop
with type "ENTITY_EXPLOSION"が間違っているのかと思って https://github.com/akon1248/SkRage/blob/2.2/src/main/java/com/akon/skrage/skript/syntaxes/expressions/ExprDamageSources.java ここも覗いてみて、typeをLIGHTNINGにして on damage内でif damage source is 1:を 試したりもしましたが結局attackのままでした。
9 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 2/8/2024 in #help-forum
ローカル変数の表記
非常に初歩的な質問で申し訳ないんですが 変数名の先頭にアンダーバーを付けている場合のみローカル変数になりますよね? 要は {_hensuu} -> ローカル変数 {hensuu_%player%} -> ローカル変数ではない という認識で合ってますか? 自分で確かめればいい話なんですが、今すぐできないので質問させていただきました。
4 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 9/10/2023 in #help-forum
projectileに任意の情報を付与したい
projectileを発射した場所の座標と、projectileがhitした場所の座標の二点間の距離を出して、その距離によって場合分けして色々イベントを起こしたい(離れているほどダメージが上がるとか)です。 経緯: projectileを発射した場所を保存するところで詰まり、 projectileは連射できるので、変数で保存しようとするとリスト変数で管理する必要がある(shootするたびに座標を保存するから)と思うんですが on projectile shoot: で保存したリスト変数を on projectile hit: で呼び出す手段が思い付きませんでした。 ------------- そこで、on projectile shoot: のときに、last shot entityに"%location of shooter%"という情報を付与すれば hitの際に(event-)projectileで引用できるので神アイデアではないかと思ったのですが そのやり方が見当つかないので教えてほしいです。
5 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 9/8/2023 in #help-forum
make shootで出したアーマースタンドをカスタマイズしたい
make player shoot an armor stand at speed 1
set {_e} to last spawned entity
add "{Invisible:1b,ArmorItems:[{},{},{},{}],HandItems:[{},{}],CustomName:""a""}" to nbt of {_e}
make player shoot an armor stand at speed 1
set {_e} to last spawned entity
add "{Invisible:1b,ArmorItems:[{},{},{},{}],HandItems:[{},{}],CustomName:""a""}" to nbt of {_e}
このコードを実行してもNBTが付与されない(透明にならないし名前もつかない)です SkStuff、SkBeeは入ってます nbtの中身はhttps://haselkern.com/Minecraft-ArmorStand/ から引用しました(summonとgive両方試した) バージョンは1.12.2です やりたいことは shoot armor stand -> shootされたアーマースタンドを透明にする&CustomHeadを被せる です
4 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 9/6/2023 in #help-forum
vector lengthについてちょっとした質問
わりと初歩的な質問なんですが vector(矢印)の先っぽの座標をとるとき set {_loc} to {vectorの開始地点の座標} ~ {_vector} でやると思うんですが  {_vector}のlengthをどんどん大きくしたら{_loc}もどんどん遠くなっていきますか?
4 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 8/31/2023 in #help-forum
数字からその数字に該当するブロックのrawnameを取得したい
半ブロックの件と同じ動画 https://www.youtube.com/watch?v=vbZPv5aW9SQ&ab_channel=Air 1:39~ //gmask <block> を実行したら、actionbarにgmask: <block> と表示させるのですが //gmask では<block>は数字でも名前でも指定できるため、 full commandをsplitして、//gmaskを取り除いた文字列を表示させるとgmask: 数字にもなるため、なんのブロックか一目で分かりにくいし、何となく見た目も悪いです。 こうなる: (full command -> action bar) //gmask stone -> gmask: stone //gmask 1 -> gmask: 1 (stoneはblockID 1 ダイヤブロックならdiamond_block、IDは57 //gmask 1 を実行したら gmask: stone //gmask 57 を実行したら gmask: diamond_block と表示したい) そこで、入れた数字と一致するIDを持ったブロックのraw nameを取得して、 //gmask ブロック名 //gmask 数字 どっちでもブロックの名前が出るようにしたいです。 PR内で出来ない場合はその時使うアドオンを教えてもらえると助かります。自鯖の方で導入します。
1 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 8/29/2023 in #help-forum
二つ重なった半ブロックを片方だけ壊したい
https://www.youtube.com/watch?v=vbZPv5aW9SQ&ab_channel=Air 0:58~ double slab を壊したときに、ブロックの上の方を壊したらbottom slabが置かれて、下のほうを壊したらupside-down slabが置かれる、というのを実現したいです。 ブロックを壊したときに、クリックした場所(見ていた場所)がブロックの上か下かを調べるのってどうすればいいですか?
6 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 6/11/2023 in #help-forum
半円の回転
19 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 2/6/2023 in #help-forum
inventory click を cancel event していてもすり抜ける
シフト+クリックと同時にGUIを閉じるとGUI内のアイテムが入手出来てしまうのですが、対策できますか?
5 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 2/5/2023 in #help-forum
リロードしたときのメッセージを変更する方法
[Skript] Reloading all scripts... Line 11: ~~~~~~ (○○.sk) みたいなメッセージを変えるのって出来ますか?
35 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 1/22/2023 in #help-forum
プレイヤーのインベ内のアイテムの量が出ない
24 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 1/13/2023 in #help-forum
TCTプラグインでゲーム開始前に弓を撃てるようにしたい
https://gyazo.com/ea0e7e6fe12f566bc68c46d0a7ffea0f ⇧GIF PRでTCTプラグインを使っています。 ゲーム開始待機中、プラグインの仕様で弓や雪玉が撃てないようになっているのを 正常に撃てるようにしたいです。
11 replies
PDCPlayerRealms developerS Community
Created by gladiolus8789 on 11/3/2022 in #help-forum
on mineが反応しない
on mine: player's tool is stone pickaxe event-block is gold ore broadcast "aaa" というコードを書いたんですが、金鉱石を壊してもbroadcastが動きませんでした。 原因はおそらく、石ピッケルで壊せない鉱石をevent-blockに指定したからだと思うんですが (Diamond pickaxeでは動いたので) どうすれば石ピッケルでもしっかり動作させられますか?
6 replies