チームを分かりやすくする

skript-packetを用いて 青チームのプレイヤーが付けてる ヘルメットは青の革ヘルメット 赤チームのプレイヤーが付けてる ヘルメットは赤の革ヘルメット に自分以外のプレイヤーから見える システムを書いて欲しいです チームは変数なのでとりあえず仮で {blue::}と{red::}の中に いるかで確認して欲しいです
Spigot 1.8.8
skript 2.6.2
skript-packet 1.0
skBee 1.10.3
Spigot 1.8.8
skript 2.6.2
skript-packet 1.0
skBee 1.10.3
20 Replies
tanoKun
tanoKun2y ago
チームをわかりやすくするならskriptだけでいいと思う のですが 何か理由が?
soramame_256
soramame_2562y ago
skript単体でプレイヤー以外に偽の防具情報送るのって可能なんですかね
tanoKun
tanoKun2y ago
a 読み間違えてた 赤の帽子をつけているプレイヤーをだと思ってた パケットというか PacketPlayOutEntityEquipment使えば行けるっぽい skmirrorみたいなのつかっちゃだめかな
soramame_256
soramame_2562y ago
アドオン導入可なら単体で完結するものはskhubにありましたね あーでもこれ1.19+か… というか1.8.8に2.6.2入るんですか
tanoKun
tanoKun2y ago
思った それ
tooowa
tooowa2y ago
なんか普通に入ってます 読み込みもされてますね 今入れてるskript-packetでは 難しいって言うことですか? それだったら導入できるか確かめてみます
tanoKun
tanoKun2y ago
できると思います()
tooowa
tooowa2y ago
packet event play_server_entity_equipment:
set byte pnum 5 of play_server_entity_equipment to leather helmet
broadcast "slot changed"
packet event play_server_entity_equipment:
set byte pnum 5 of play_server_entity_equipment to leather helmet
broadcast "slot changed"
こんな感じですか? 初めて使うので全くうまく行きません...
packet event play_server_entity_equipment:
set {_packet} to new play_server_entity_equipment packet
set field 0 of packet {_packet} to event-player
set field 1 of packet {_packet} to 5
set field 2 of packet {_packet} to iron helmet
send all players packet {_packet}
packet event play_server_entity_equipment:
set {_packet} to new play_server_entity_equipment packet
set field 0 of packet {_packet} to event-player
set field 1 of packet {_packet} to 5
set field 2 of packet {_packet} to iron helmet
send all players packet {_packet}
いろいろ調べてこんなかんじになりました とりあえずテストで鉄の帽子にしようと思ったのですが まだ鉄の帽子になりません
tanoKun
tanoKun2y ago
フィールドがその値に対応している型ですか? packet event ってパケットが受け取る、渡すときに発火するものですよ 送るだけだったら commandとかだけでいいと思います
tooowa
tooowa2y ago
field 3が非常に怪しいのですが 書き方が分からないので 教えて貰えませんか?
tanoKun
tanoKun2y ago
そもそも 上のコードは実行されているの?
tooowa
tooowa2y ago
broadcastを挟んで確かめたところ 複数人プレイヤーがいる時に 防具を被ったりすると 自分以外のプレイヤーから packet eventが実行されてました
tanoKun
tanoKun2y ago
まって 1.8.8か
This should do the job.

Edit:
Here are the values for the slots:
0 - item in hand
1 - helmet
2 - body armor
3 - pants
4 - boots
This should do the job.

Edit:
Here are the values for the slots:
0 - item in hand
1 - helmet
2 - body armor
3 - pants
4 - boots
らしいので ヘルメットにしたかったら field 1 を 1にすればいいのかもしれない
tooowa
tooowa2y ago
明日試してみますね 下のように色々デバッグしてもうまくいきませんでした
on packet event play_server_entity_equipment:
broadcast "%player%のPacketを検知"
broadcast "event-packet &70: %field 0 of event-packet% 1:%field 1 of event-packet% 2: %field 2 of event-packet%"
set {_packet} to new play_server_entity_equipment packet
set field 1 of packet {_packet} to 4
set field 2 of packet {_packet} to diamond helmet
send all players packet {_packet}
broadcast "%{_packet}%"
broadcast "{_packet} 1:%field 1 of {_packet}% 2: %field 2 of {_packet}%"
on packet event play_server_entity_equipment:
broadcast "%player%のPacketを検知"
broadcast "event-packet &70: %field 0 of event-packet% 1:%field 1 of event-packet% 2: %field 2 of event-packet%"
set {_packet} to new play_server_entity_equipment packet
set field 1 of packet {_packet} to 4
set field 2 of packet {_packet} to diamond helmet
send all players packet {_packet}
broadcast "%{_packet}%"
broadcast "{_packet} 1:%field 1 of {_packet}% 2: %field 2 of {_packet}%"
この下から二行目の%{_packet}%を2つ上の行の set field 1 of のあとにずらすと動くため field 2が現任なのはわかるのですがうまく動きません
tanoKun
tanoKun2y ago
なんで 4にした? helmetだったら4じゃ表示されないの当たり前なのでは
tooowa
tooowa2y ago
3行目のbroadcast使って確かめたら 4が頭のスロットでした
tanoKun
tanoKun2y ago
bukkit 1.8.8 の packet内覗いてみることお勧めします あ field 0 設定されないからかもしれない
import:
net.minecraft.server.PacketPlayOutEntityEquipment
org.bukkit.inventory.ItemStack
org.bukkit.Material
org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer

command /test:
trigger:
set {_packet} to new PacketPlayOutEntityEquipment(0, 4, new ItemStack(Material.DIAMOND_HELMET!))
((CraftPlayer) player).playerConnection.sendPacket({_packet})
import:
net.minecraft.server.PacketPlayOutEntityEquipment
org.bukkit.inventory.ItemStack
org.bukkit.Material
org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer

command /test:
trigger:
set {_packet} to new PacketPlayOutEntityEquipment(0, 4, new ItemStack(Material.DIAMOND_HELMET!))
((CraftPlayer) player).playerConnection.sendPacket({_packet})
soramame_256
soramame_2562y ago
バージョンissueな気がしてならない
tanoKun
tanoKun2y ago
それはちょっと考えたんだけど skript っていうものでパケットをいじることがそもそもあれなんだよな() 1.8.8にあってるskript, addon バージョンにするのがいいのかな?
soramame_256
soramame_2562y ago
ソース見たところProtocolLibでpacket専用型への変換がされてるっぽいんだけど 1.19と1.8でそもそものパケットの構造が違うからなんとも… ただ少なくてもskript-packetでpacket自体の個別宣言とかはされてなかったから周辺の問題かなって
Want results from more Discord servers?
Add your server
More Posts
文字列から文字を抜き出す[NPC] <NPCの名前> という名前のエンティティをクリックしたときに** [NPC] を含ませずに <NPCの名前> だけ **を抜き出したいのですが ```on right click: on mineが反応しないon mine: player's tool is stone pickaxe event-block is gold ore broadcast "aaa" というコードを書いたんですが、金耕された土を踏んだ時に普通の土に戻るイベントをキャンセルプレイヤーが耕された土を踏んで普通の土に戻った時のイベントを教えてください。ダイアモンドブロックを右クリックしたらそのブロックの半径4ブロック以内にある二つの鉄のドアを同時に開けるSkriptバージョンは1.16.5です!座標(1,1,1)から座標(5,5,5)までの立方体の中に、レッドストーンブロックがあった場合、「こんにちは」というメッセージが流れるSkript失礼ですが今日中に教えていただけるとうれしいです!TabListの順番替えタブリストの表示順を変えたいです 運営→寄付者→一般参加者 このようなのを作るにはどうすればいいですか? アドオンなしでは 絶対にできないと調べてわかったので SkMirrorを使って作りたいです S攻撃性アイテムの基礎スペックを設定できるNBT**【やりたいこと(要望)】** 攻撃力、攻撃速度、所持状態での重量?などを設定できるNBTのテンプレを教えていただけないでしょうか。 変数を利用して数値を代入することで自由にスペックを変えられるのがスキルの発動についてRez関係ないサーバーで運営をやっていて、スキル(必殺技)を作成しようと思い鯖主の方と議論していたのですがRIGHTCLICK-LEFTCLICK-RIGHTCLICKなどでスキル使用できたりするか、ChiyogamiでSkriptは使えますか?SkriptはChiyogamiで使えますか? https://github.com/bea4dev/Chiyogami/tree/ver/1.16.5 試してみましたがやはりエラーが...↓ ```耐久値でのクールタイムを成功させる方法を教えてください質問失礼します。 ```on right click: if name of event-player's tool contains "ジャンプロッド": if damage