変数を詳しく知りたいです

scriptを昨日知って変数かよく分からなかったので詳しく教えて欲しいです! 私からも質問はします
304 Replies
月猫ch
月猫ch3y ago
変数ってのは データを入れて置ける名前付きの箱みたいなものです 例えば 9872365087みたいなくそデカい数字や Playerそのもののデータ などを {変数名} または {_変数名} だけで簡単に扱うことが出来ます 変数の作り方は把握してますか
いろみず
いろみずOP3y ago
してないですね...
月猫ch
月猫ch3y ago
変数ってのは、俺の記憶だとざっくり3種類あります 要は箱の種類です
いろみず
いろみずOP3y ago
なるほど
月猫ch
月猫ch3y ago
いっこめ {変数名} であらわされるタイプ 同じファイル内で共通で使えます
on 何かしら1:
set {変数名} to 0
on 何かしら1:
set {変数名} to 0
とかで変数を作ると
on 何かしら2:
send {変数名} to player
on 何かしら2:
send {変数名} to player
したばあい、0が表示されます ごめん今VALO中 説明ガバ ちょっとまってね
いろみず
いろみずOP3y ago
www はい
月猫ch
月猫ch3y ago
send {変数} to player は何してるかわかる?
いろみず
いろみずOP3y ago
わからないですね.. メッセージを送ろうとしてるぐらいしか
月猫ch
月猫ch3y ago
playerに{変数}の中身を送信してる 送信されたplayerはチャット欄で{変数}の中身が送られてくる nbt...? あー NBTとは切り離して考えよう
いろみず
いろみずOP3y ago
OK
月猫ch
月猫ch3y ago
わかる、気持ちすごくわかる
いろみず
いろみずOP3y ago
ww
月猫ch
月猫ch3y ago
{}は、名札とかの紙の部分だと思っていい
いろみず
いろみずOP3y ago
要するに文章?
月猫ch
月猫ch3y ago
紙っていうか 箱か 箱にHENSUって名前を付ける -> {HENSU} じゃあ、その箱に中身を入れるにはどうするか set {HENSU} to 中身 こうすることで今{HENSU}には中身に該当するものが入ってる 例えばset {HENSU} to 114514 ってすると、いちいち114514って数字を使わずとも 代わりに{HENSU}を使えば114514として扱われる
いろみず
いろみずOP3y ago
なるほど
月猫ch
月猫ch3y ago
これ一見そんなメリットないように見えるよね 入れてるものが小さいから でも{HENSU}は大概のものが突っ込めるのだ 例えばいいよ来いよ1919野獣臭いオナニー見ろよとかいうきしょくて長い文章を、 特定のプレイヤーのちゃっとらんにおくるとする 仮にそのままやると send "いいよ来いよ1919野獣臭いオナニー見ろよ" to player とかいう、もうくそ長くて面倒な文章になる でもset {HENSU} to "いいよ来いよ1919野獣臭いオナニー見ろよ"すれば
set {HENSU} to "いいよ来いよ1919野獣臭いオナニー見ろよ"
send {HENSU} to player
set {HENSU} to "いいよ来いよ1919野獣臭いオナニー見ろよ"
send {HENSU} to player
コンパクトになる
いろみず
いろみずOP3y ago
なるほど まとめてるのか
月猫ch
月猫ch3y ago
set {HENSU} to "いいよ来いよ1919野獣臭いオナニー見ろよ"
send {HENSU} to player
send {HENSU} to player
send {HENSU} to player
set {HENSU} to "いいよ来いよ1919野獣臭いオナニー見ろよ"
send {HENSU} to player
send {HENSU} to player
send {HENSU} to player
何度でも使いまわせる
いろみず
いろみずOP3y ago
それを使えば コマンドの省略もできるってことですか?
月猫ch
月猫ch3y ago
(コマンドなんか使わずskriptだけで実装できるから多分使わないけど)できるね
Yeahn
Yeahn3y ago
こっから一時変数、リスト変数、一時リスト変数を説明するのか、、頑張れ
いろみず
いろみずOP3y ago
scriptコマンド.. プログラムって言うのか とりあいず 変数とリスト変数を学べれば大丈夫です!
月猫ch
月猫ch3y ago
全部やらないと意味ない(白目 全部やるんだよあくしろよ 多分おぬしの言うことは
set {処理} to send 000 to player
{処理}
set {処理} to send 000 to player
{処理}
みたいに、そのプログラム自体を省略できるか ってこと?
いろみず
いろみずOP3y ago
そうです
月猫ch
月猫ch3y ago
それは、変数じゃない 関数
いろみず
いろみずOP3y ago
関数..w新しいの出てきたな
月猫ch
月猫ch3y ago
大丈夫、カップラーメンくらいの速度でゆっくりやっていこう
いろみず
いろみずOP3y ago
ww
Yeahn
Yeahn3y ago
3分やんけ
いろみず
いろみずOP3y ago
あれ.. 日にち 変わったw
月猫ch
月猫ch3y ago
Yeahn
Yeahn3y ago
日付変わりましたね
月猫ch
月猫ch3y ago
ちなみに【グローバル関数】の概念を教えるために【イベント (on ~)】も教えないといけないとかいうバグ
Yeahn
Yeahn3y ago
あー。。
月猫ch
月猫ch3y ago
俺は今、この人と心中する覚悟で教えてるぜ(白目
Yeahn
Yeahn3y ago
リスト変数のために loopを覚え add remove, set。。。
月猫ch
月猫ch3y ago
そこからさらに「リスト変数がskriptの場合実はリストじゃなくてむしろ辞書変数」ということも教える
いろみず
いろみずOP3y ago
なんか申し訳ないんだが
Yeahn
Yeahn3y ago
大丈夫??今日寝れないよ??
月猫ch
月猫ch3y ago
いや大丈夫、俺もこうやって先輩方を過労死させてきた せや、サンプルコードから教えればええんや
いろみず
いろみずOP3y ago
先祖代々で草
Yeahn
Yeahn3y ago
せや、skの記事かくか。 @古野月雲 まぁがんばってください。期待してます。
月猫ch
月猫ch3y ago
function SendTNTN(player: p):
set {HENSU} to "ちんちん"
send {HENSU} to {_p}
on player jump:
SendTNTN(player)
function SendTNTN(player: p):
set {HENSU} to "ちんちん"
send {HENSU} to {_p}
on player jump:
SendTNTN(player)
@yeahn ちょっとみてこれ、skriptの基礎がすべて(?)詰まったサンプルコード
いろみず
いろみずOP3y ago
なんか紛れ込んでるよww
Yeahn
Yeahn3y ago
うーん下ネタ以外は完璧じゃないかな
月猫ch
月猫ch3y ago
しゃあねえだろ下ネタが一番定着すんだよ
Yeahn
Yeahn3y ago
あとplayer とp 逆
月猫ch
月猫ch3y ago
マジだ草
function SendTNTN(p: player):
set {HENSU} to "ちんちん"
send {HENSU} to {_p}
on player jump:
SendTNTN(player)
function SendTNTN(p: player):
set {HENSU} to "ちんちん"
send {HENSU} to {_p}
on player jump:
SendTNTN(player)
謎の違和感はそれか いいか神月氏 これは冗談でもなんでもなく、このスクリプトがすべて理解できれば めっちゃ上達したことになる
いろみず
いろみずOP3y ago
epicthonk
月猫ch
月猫ch3y ago
むしろ
on load:
set {HENSU} to "ちんちん"
function SendTNTN(p: player):
send {HENSU} to {_p}
on player jump:
SendTNTN(player)
on load:
set {HENSU} to "ちんちん"
function SendTNTN(p: player):
send {HENSU} to {_p}
on player jump:
SendTNTN(player)
こうか
Yeahn
Yeahn3y ago
それするなら variables: をつけて さらに上達
いろみず
いろみずOP3y ago
訳分からんw
月猫ch
月猫ch3y ago
詰め込みすぎると脳みそ破裂するやろw
Yeahn
Yeahn3y ago
それぐらいがちょうどいい (?)
月猫ch
月猫ch3y ago
草 まあとりあえず、↑の奴だけ開設するわ
Yeahn
Yeahn3y ago
おれもromってるんでお願いしまーす
月猫ch
月猫ch3y ago
まず何が起きるかだけ説明するお 鯖内にいるプレイヤーがジャンプすると チャット欄に『ちんちん』と送られてくる 以上 ん?狂ってんな
いろみず
いろみずOP3y ago
???
月猫ch
月猫ch3y ago
何を言ってるかわかんねえだろ でもがちなんだ ちなみにこれ 役割を大きく3つにわけられるんだけど 分け方わかる?勘で なんの役割か はどうでもいいから
いろみず
いろみずOP3y ago
勘?!w
月猫ch
月猫ch3y ago
全体を3つに分けてみて
いろみず
いろみずOP3y ago
on load: function SendTNTN(p: player): on player jump:
月猫ch
月猫ch3y ago
完璧 今この瞬間 説明時間が30分くらい減った
いろみず
いろみずOP3y ago
www
Yeahn
Yeahn3y ago
それでもまだ道のりは長いぞ
月猫ch
月猫ch3y ago
( ᐛ )
いろみず
いろみずOP3y ago
hM
月猫ch
月猫ch3y ago
なんかひねくれてるけどそれでいいや
いろみず
いろみずOP3y ago
w
Yeahn
Yeahn3y ago
プログラムっていったらskファイルの内容すべて含んだ言い方が多い気がするよん
月猫ch
月猫ch3y ago
そうなんよなぁ んで
on load:
function SendTNTN(p: player):
on player jump:
on load:
function SendTNTN(p: player):
on player jump:
のそれぞれの説明
いろみず
いろみずOP3y ago
バカが出た
月猫ch
月猫ch3y ago
まずon load: こいつはあるテンプレに基づいて書かれてる  on なになに: で、「なになにが起きたときに:以降の処理をするよ!」って意味 だから
on おちんちん:
処理
on おちんちん:
処理
で、おちんちんしたときに処理が行われる そんなものはないけどね
いろみず
いろみずOP3y ago
なるほど(?)
月猫ch
月猫ch3y ago
loadの意味は分かる?
いろみず
いろみずOP3y ago
server reloadの事?
月猫ch
月猫ch3y ago
うーんちょっと惜しい すごい無理やりな意味だけど loadって【読み込み】だと思ってもらっていい server loadは「鯖を読み込む」 on load: は「このskriptファイルが読み込まれた時」って意味
いろみず
いろみずOP3y ago
なるほど
月猫ch
月猫ch3y ago
※鯖じゃねえぞ だから理論上は 一番最初に動く
Yeahn
Yeahn3y ago
ちょっと惜しいっていうか多分鯖読み込むときにskも読み込まれるから発火するとおもうよ
月猫ch
月猫ch3y ago
それをいうと、サバ読み込みなしのコマンドでのskrtip reloadの説明がむずく /sk reload FILE の説明で詰む
いろみず
いろみずOP3y ago
/sk reload ○○.sk でsk再読み込みだっけ?
月猫ch
月猫ch3y ago
そっそそお
Yeahn
Yeahn3y ago
サバきどうのときは自動でreload allされてると説明しよう
月猫ch
月猫ch3y ago
on load: のまとめ ファイルが読み込まれると動くぞ! 読み込まれればなんでも動くぞ! 鯖再起動とかでも、ファイルがもう一度読み込まれるから、どちらにしろ動くぞ! じゃあこいつは何に使うかって 「とりあえず一番最初に動かしたい奴はここに入れとけ」 (暴論)
いろみず
いろみずOP3y ago
なるほど
月猫ch
月猫ch3y ago
例えばゲームにおける姫ぷ狙いのやつとか、最初に「おんなです!」っていうやろ あとあと「女です!」は遅いやろ?
いろみず
いろみずOP3y ago
ソウダネ
月猫ch
月猫ch3y ago
on load:
おんなです!!!
on load:
おんなです!!!
※実際のコードとはかけ離れたくそジョークです ではあらためて、サンプルコードをご覧いただこう
on load:
set {HENSU} to "ちんちん"
on load:
set {HENSU} to "ちんちん"
いろみず
いろみずOP3y ago
直さんの?wwwwま、まぁいっか
月猫ch
月猫ch3y ago
いいんだよ伝われば これは何をしていると思う・ ?
Yeahn
Yeahn3y ago
※豆知識※ちなみにskはファイルを名前順に読み込むので、ほんとに一番早くロードさせたい場合は0.skなどにすると良き。
いろみず
いろみずOP3y ago
読み込んだら HENSUという変数の中身に "ちんちん" と言う文字を入れている
月猫ch
月猫ch3y ago
これをやると「ファイルを超えた変数の共有」も可能 そゆことー じゃあつぎ
いろみず
いろみずOP3y ago
なるほど〜
月猫ch
月猫ch3y ago
function SendTNTN(p: player):
send {HENSU} to {_p}
function SendTNTN(p: player):
send {HENSU} to {_p}
これね、onじゃないねfunctionだね
いろみず
いろみずOP3y ago
分からん
月猫ch
月猫ch3y ago
すげーざっくりいうと
function 名前():
処理
function 名前():
処理
で、名前を使えば処理の部分が自動で行われる さっきon loadの話したやん・ on jump: の意味わかる?
いろみず
いろみずOP3y ago
わかる
月猫ch
月猫ch3y ago
on walk: の意味わかる?
いろみず
いろみずOP3y ago
わからん
月猫ch
月猫ch3y ago
walkの意味わかる?
いろみず
いろみずOP3y ago
分からん
月猫ch
月猫ch3y ago
歩くや(
いろみず
いろみずOP3y ago
英 1
月猫ch
月猫ch3y ago
要は「なんでもいいけどとりあえず 歩く という動作が行われた時」に実行される 例えば on player walk: プレイヤーが歩いたときに実行される on player jump: わかるね・
いろみず
いろみずOP3y ago
わかる
月猫ch
月猫ch3y ago
send {HENSU} to player なにがおこるかわかる?
いろみず
いろみずOP3y ago
その変数に入っている文字が 実行したプレイヤーに送信される
月猫ch
月猫ch3y ago
そうだね、厳密にはplayerにちんちんが送信される
Yeahn
Yeahn3y ago
この下り終わったらあけてください つまりfunctionは先に説明書渡しといて、あとからこれやれ!!!って言ってるんですよ
月猫ch
月猫ch3y ago
じゃあ、プレイヤーがジャンプしたときも歩いた時も「ちんちん」って送信するには どうすればいいとおもう?
on player walk:
send {HENSU} to player
on player jump:
send {HENSU} to player
on player walk:
send {HENSU} to player
on player jump:
send {HENSU} to player
こうすればいいのわかる?
いろみず
いろみずOP3y ago
わかる
いろみず
いろみずOP3y ago
以前にこんなの作った
月猫ch
月猫ch3y ago
でもこれさ、ぶっちゃけおんなじこと何度も書いてて美しくないよね?
いろみず
いろみずOP3y ago
うん、まぁ
月猫ch
月猫ch3y ago
そこで!
function SendTNTN(p: player):
send {HENSU} to {_p}
function SendTNTN(p: player):
send {HENSU} to {_p}
という、関数を作ります 関数とは動作をテンプレ化してくれるものです なんとこの関数をつかえば
on player walk:
SendTNTN(player)
on player jump:
SendTNTN(player)
on player walk:
SendTNTN(player)
on player jump:
SendTNTN(player)
これですみます
いろみず
いろみずOP3y ago
これがわからん
月猫ch
月猫ch3y ago
それを説明していくよ たとえばお俺がおぬしに「三回回ってワンと吠えなさい」って命令するじゃん
いろみず
いろみずOP3y ago
はい..w
月猫ch
月猫ch3y ago
ことあるごとにそれを命令したい でもそのたびに「三回回ってワンと吠えなさい」っていうのめんどい じゃあどうするか 「三回回ってワンと吠える」という動作を「A」と名付けます そうすれば Aしなさい だけで済む
いろみず
いろみずOP3y ago
省略語みたいな?
月猫ch
月猫ch3y ago
そっそ 変数も 言ってしまえば省略じゃん?内容物の それを動作(処理)でも同じことが出来る でも処理ってぶっちゃけ、書くこと多いじゃん
いろみず
いろみずOP3y ago
そうだね
月猫ch
月猫ch3y ago
set {HENSU} to なになに~ で済まんのよ じゃあどうするか
function 名前():
こっから書かれた動作全部 名前 と名付けます
function 名前():
こっから書かれた動作全部 名前 と名付けます
ってやっちゃったんだよね 改めてこれを見てみよう
function SendTNTN(p: player):
send {HENSU} to {_p}
function SendTNTN(p: player):
send {HENSU} to {_p}
send {HENSU} to player を SendTNTNって名付けてるの わかりそ?
いろみず
いろみずOP3y ago
わかった
月猫ch
月猫ch3y ago
でもここで気が付くことない?
send {HENSU} to player
send {HENSU} to {_p}
send {HENSU} to player
send {HENSU} to {_p}
なんかちょっとちがくない?
いろみず
いろみずOP3y ago
違う
月猫ch
月猫ch3y ago
playerが{_p}になってるよね
いろみず
いろみずOP3y ago
p: playerがよくわかんない うん
月猫ch
月猫ch3y ago
それがplayerと{_p}にかかわる
いろみず
いろみずOP3y ago
なるほど
月猫ch
月猫ch3y ago
例えば「AはBを殴りなさい」ってのをPunchって名付けるとするじゃん
いろみず
いろみずOP3y ago
はい
月猫ch
月猫ch3y ago
じゃあ、その「Punch」をつかって 「BはAを殴りなさい」ってやるとする 殴る人 殴られる人 がだれかを指定しないと成り立たないってわかる?
いろみず
いろみずOP3y ago
わかる
月猫ch
月猫ch3y ago
on player walk:
send {HENSU} to player
on player jump:
send {HENSU} to player
on player walk:
send {HENSU} to player
on player jump:
send {HENSU} to player
これあるじゃん
いろみず
いろみずOP3y ago
うん
月猫ch
月猫ch3y ago
なにげなくつかってる sendの「player」 これ実は on player walk: on player jump:で ちゃんと「playerがだれか」って決まってるからこうできてるんだよね
いろみず
いろみずOP3y ago
なるほど
月猫ch
月猫ch3y ago
でも関数(function)でplayerを使うとする
function SendTNTN():
send {HENSU} to player
function SendTNTN():
send {HENSU} to player
player おま誰、、、?
いろみず
いろみずOP3y ago
そしたら実行元がfunctionだから 実行されないってことか
月猫ch
月猫ch3y ago
そゆこと じゃあそれをどう解決するか on 何々: 「おれのplayerをSendTNTN君がつかいまわせばええんや!!」
いろみず
いろみずOP3y ago
???
月猫ch
月猫ch3y ago
on player walk:君が だれかわかっている「player」を持ってるってわかる?
on player walk:
send {HENSU} to player
on player walk:
send {HENSU} to player
on player walk: の中では player がだれかわかるんよ walkしたplayerだよ わかりそ?
いろみず
いろみずOP3y ago
わかった
月猫ch
月猫ch3y ago
じゃあ、functionに「playerは○○だよー」って教えてあげれば 無事にfunctionが使えるってのもわかる?
いろみず
いろみずOP3y ago
わかる
月猫ch
月猫ch3y ago
じゃあどう教えるか こうします
on player walk:
SendTNTN(player)
on player walk:
SendTNTN(player)
SendTNTNの( )に、playerが入ってるね。。。?
いろみず
いろみずOP3y ago
入ってる
月猫ch
月猫ch3y ago
あらためてfunctionを見る
function SendTNTN(p: player):
send {HENSU} to {_p}
function SendTNTN(p: player):
send {HENSU} to {_p}
(p: player)ってのがある 結論から言うと (変数名: 変数に入るデータの種類) です
いろみず
いろみずOP3y ago
なるほど
月猫ch
月猫ch3y ago
変数って {変数名} だったっしょ
いろみず
いろみずOP3y ago
うん
月猫ch
月猫ch3y ago
functionの中で{p}っぽいあつあるくね?
いろみず
いろみずOP3y ago
ある _p
月猫ch
月猫ch3y ago
{_p} がある {_p} と {p}なんかちがうね
いろみず
いろみずOP3y ago
違う
月猫ch
月猫ch3y ago
さらに結論から言うと {p}ってしちゃうと、functionの外で{p}を使った場合 そのままfunctionでの{p}がつかわれちゃいます
いろみず
いろみずOP3y ago
それは、どういうことだ?
月猫ch
月猫ch3y ago
何言ってるかわかんねえか on loadに戻ろう
on load:
set {H} to "tntn"
on player walk:
send {H} to player
on load:
set {H} to "tntn"
on player walk:
send {H} to player
あるくとplayerにtntnが送信される が、仮に {H} -> {_H} にするとどうなるか
on load:
set {_H} to "tntn"
on player walk:
send {_H} to player
on load:
set {_H} to "tntn"
on player walk:
send {_H} to player
なんと、playerはどれだけ歩いてもtntnが送信されません 変数名の前に「_」を付けると on load:とon player walk: の間にある 次元の壁を越えられないんです
いろみず
いろみずOP3y ago
なるほど?
月猫ch
月猫ch3y ago
そゆこと
on player walk:
set {_H} to "tntn"
send {_H} to player
on player walk:
set {_H} to "tntn"
send {_H} to player
ってすればtntnがおくられる
いろみず
いろみずOP3y ago
なるほど
月猫ch
月猫ch3y ago
:がついたら そこから先は別次元なんよ functionに戻ろう
function SendTNTN(p: player):
send {HENSU} to {_p}
function SendTNTN(p: player):
send {HENSU} to {_p}
functionにも:がついてるやん? {p}ではなく{_p}とすることで functionの外の{p}、{_p}とごっちゃにならないようにしてるんよ
いろみず
いろみずOP3y ago
なるほど
月猫ch
月猫ch3y ago
すげー簡単に言うと {HENSU}はずっと使えます {_HENSU}はその時しか使えません
いろみず
いろみずOP3y ago
なるほど
月猫ch
月猫ch3y ago
functionにおける p はfunctionの中でしか使わないので {_p}
いろみず
いろみずOP3y ago
成程
月猫ch
月猫ch3y ago
ちなみに
function SendTNTN(PLAYER: player):
send {HENSU} to {_PLAYER}
function SendTNTN(PLAYER: player):
send {HENSU} to {_PLAYER}
ってなるよ (変数の名前: 変数に入れるデータのタイプ)
いろみず
いろみずOP3y ago
変数の名前は_を入れなくてもいいのか
月猫ch
月猫ch3y ago
そゆこと あくまで{_名前} ちなみにこの段階で当初の目的の「変数の理解」は大概できたんだけど 変数だけ説明しきる のと 俺のサンプルコード全部解説 どっちがいい?
いろみず
いろみずOP3y ago
えっとね 知りたいことがあって
月猫ch
月猫ch3y ago
おん
いろみず
いろみずOP3y ago
それでいい?
月猫ch
月猫ch3y ago
ええよ 正直俺もさっさと彼女に抱き着いて寝たい
いろみず
いろみずOP3y ago
変数を使って タグみたいに利用したいんだけど w
月猫ch
月猫ch3y ago
タグみたいに使用したい、、、 というと?
いろみず
いろみずOP3y ago
Minecraftのタグみたいに利用したい
月猫ch
月猫ch3y ago
Tag? 具体的にどういう風に使いたいん・ プレイヤーごとに何かの情報を保存したいってこと?
いろみず
いろみずOP3y ago
そうです
月猫ch
月猫ch3y ago
あー @mirageeeeeeeeeeeeeeeeeeeeeeeeeee set {%uuid of player%.HENSU} to 000 でいいよね
いろみず
いろみずOP3y ago
Minecraftで言えば 1人がタグA もう1人がタグBみたいな
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
とりあえず最初はそれでいいと思う
月猫ch
月猫ch3y ago
具体的な解説と とりあえず使い方 どっちがいい?
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
後々使いやすいのはリスト変数だから出来れば最終的にはそれを知って欲しいかな
いろみず
いろみずOP3y ago
具体的でお願いします 応用もしたいので
月猫ch
月猫ch3y ago
変数名には、なんと プレイヤーの名前やIDもつかえます
いろみず
いろみずOP3y ago
リスト変数を知りたいんですがね
月猫ch
月猫ch3y ago
じゃあリストで行こう リスト変数!!
いろみず
いろみずOP3y ago
!!
月猫ch
月猫ch3y ago
{変数名::何番目の要素か} {_変数名::何番目の要素か} ノ二種類 いわずもがな ずっと使えるやつ と 一時的な奴 今回は多分前者 例えばLISTって名前のリスト変数の4番目のは {LIST::4} ※リストの番号は0, 1, 2 と、0から始まります すげー雑だけどここまでわかる?
いろみず
いろみずOP3y ago
分かる
月猫ch
月猫ch3y ago
で、これ いっけん数字で管理してるように見えるジャン
いろみず
いろみずOP3y ago
ウン
月猫ch
月猫ch3y ago
恐ろしいことに違うんだよね 1っていうもじれつで管理してる {LIST::4}は{LIST}の4番目じゃない
いろみず
いろみずOP3y ago
❓❓❓
月猫ch
月猫ch3y ago
LIST::4 っていう名前の変数
いろみず
いろみずOP3y ago
名前なのか
月猫ch
月猫ch3y ago
ちょっと特殊だけどね だから {変数名::player}でもできるんです UUIDってわかる?
いろみず
いろみずOP3y ago
わかる
月猫ch
月猫ch3y ago
なら話は早い playerのuuidは uuid of playerで取得できる
いろみず
いろみずOP3y ago
なるほど?
月猫ch
月猫ch3y ago
{List::%uuid of player%} なんと::の後は数字以外も入ります (??????) 数字の代わりにUUIDぶち込んでください たとえば、on joinっていう、サバに参加したときに動く奴がある 鯖に参加した人全員に、listを使った固有の変数を作る
on join:
set {List::%uuid of player%} to 中身
on join:
set {List::%uuid of player%} to 中身
歩くたびに、固有の変数の中身をチャットに送信する
on player walk:
send {List::%uuid of player%} to player
on player walk:
send {List::%uuid of player%} to player
on join:
set {List::%uuid of player%} to 0
on player walk:
send {List::%uuid of player%} to player
on join:
set {List::%uuid of player%} to 0
on player walk:
send {List::%uuid of player%} to player
これで、サバに参加した人は、歩くたびにチャットに0って送られる わかる?
いろみず
いろみずOP3y ago
わかる
月猫ch
月猫ch3y ago
多分これでいける 他知りたいことは?
いろみず
いろみずOP3y ago
なるほど...w Minecraftのタグを 感知するみたいの無いの?
月猫ch
月猫ch3y ago
マインクラフトに本来存在するTagの中身を取得するってこと?
いろみず
いろみずOP3y ago
そう
月猫ch
月猫ch3y ago
結論から言うと おぬしが思ってる以上にむずいジャンルっすね @mirageeeeeeeeeeeeeeeeeeeeeeeeeee スゥッ
いろみず
いろみずOP3y ago
w
月猫ch
月猫ch3y ago
タスケテエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエ
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
Im sleeping now
月猫ch
月猫ch3y ago
ok GG
いろみず
いろみずOP3y ago
wwww
月猫ch
月猫ch3y ago
っていうか 全部skriptで管理できるので、わざわざtagなんて言う不便なもの使わないでください 以上
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
skbeeで出来ると思うけど 確かにSkriptとコマンドの併用はおすすめしない
月猫ch
月猫ch3y ago
ちなみに変数が数十万個単位で増えると5分ごとに鯖がラグくなります その場合は変数をDBに登録することで軽量化するという対処法があります 2年後くらいにぶつかると思うのでその時また来てください
いろみず
いろみずOP3y ago
www 分かりました 2年後...
月猫ch
月猫ch3y ago
ちなみに俺もまだぶつかってません(白目
いろみず
いろみずOP3y ago
生きてるかなw
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
※通常有り得ないです
akon
akon3y ago
tagは 用途によっては便利なので 一概に使うなとは 言えない
月猫ch
月猫ch3y ago
akon神がそう言ってるので場合によって使い分けてください
いろみず
いろみずOP3y ago
w
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
私はコマンドを知らないのでtagについての理解が無いです
月猫ch
月猫ch3y ago
akon神は控えめに言って神です
akon
akon3y ago
tagは単純に文字列のリストをentityに 持たせられるだけ
いろみず
いろみずOP3y ago
私がやりたいのは ランダムで全員に別のタグをつけて そのタグが着いてる人をskで感知させて それに対応した文字を表記させたい
月猫ch
月猫ch3y ago
ってかこのサバのほとんどの人が俺以上の神々なので、わきまえて下さい 首を垂れて服従せよ
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
鯖落としたあとも保持されんのそれ
月猫ch
月猫ch3y ago
ez
akon
akon3y ago
例えばmobにmetadataでtrue/falseを持たせたりしたいとき
いろみず
いろみずOP3y ago
omg
akon
akon3y ago
これをtagにすると永続化させられたりします
月猫ch
月猫ch3y ago
じっさいuuid of entityから変数作ってboolean突っ込んで 毎回参照するより便利なん?
akon
akon3y ago
それに nbtに保存されてるので entityが死ねば
いろみず
いろみずOP3y ago
次元 違う話ししてんなぁ
akon
akon3y ago
一緒に消えてくれます
月猫ch
月猫ch3y ago
あぁ^~便利
月猫ch
月猫ch3y ago
on deathやevery 1 tickでチェックしなくていいんですねえ
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
tag "" of nbt of ○○ のやつ?
月猫ch
月猫ch3y ago
素敵
akon
akon3y ago
それは nbtのキー
月猫ch
月猫ch3y ago
NBTマジでわからん
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
tagはまた別にあんの
月猫ch
月猫ch3y ago
全部skで済むじゃん
akon
akon3y ago
Tags:["tagA", "tagB"]みたいな感じで 保存されてます nbtの中に ミラげがいってるのはnbtの中の項目の話 nbtはminecraftで使われてるjsonの拡張みたいなもn 数値型がjsonと違って区別されてるし、バイナリデータになってる
月猫ch
月猫ch3y ago
便利だ(確信
いろみず
いろみずOP3y ago
hM
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
nbtとパケット対してよく分かってないんだよな
月猫ch
月猫ch3y ago
パケットは一生わからん でもパケット極めたら神になれるってのはわかる だれか0から教えてパケット
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
んで変数の話どこまでいったんやっけ
月猫ch
月猫ch3y ago
Playerの関節自由自在にいじり回したい 多分やりたいことは実装できるレベルまでおわった マーダーミステリみたいなことがしたいんやろランダムでそれぞれのプレイヤーにターゲットが設定される
いろみず
いろみずOP3y ago
そう みどろんぱご存知なら話早い
月猫ch
月猫ch3y ago
はい今日からエスパー名乗ります
いろみず
いろみずOP3y ago
w ちなみにこれはどうなん? 知ってるの?
月猫ch
月猫ch3y ago
ざっくり
いろみず
いろみずOP3y ago
ざっくりね
月猫ch
月猫ch3y ago
ルールブックは履修済み
いろみず
いろみずOP3y ago
ォ それなら分かるな えぇとね今 名札 攻略本 水晶玉は作ったんだけど それをプレイヤーに右クリックした時に そいつに例えばAと言うタグ?変数? が付いていれば何カードとか表示させるみたいな
いろみず
いろみずOP3y ago
これ
いろみず
いろみずOP3y ago
この???の所をタグ?変数?を使って 表記を変えたりしたい
月猫ch
月猫ch3y ago
Ez
いろみず
いろみずOP3y ago
今こんなんなのよw
月猫ch
月猫ch3y ago
おんb アイテムで無理やり分けてるんかな
いろみず
いろみずOP3y ago
そう
月猫ch
月猫ch3y ago
俺の知ってる限りでは ターゲットを殺しつつ アイテムを集めてく なんだけど あってる?
いろみず
いろみずOP3y ago
あってる
月猫ch
月猫ch3y ago
タグをぶつけて表示される『???』は そいつのターゲット? それとも探索物?
いろみず
いろみずOP3y ago
水色が 捜索 赤が標的 緑が 所持カード
月猫ch
月猫ch3y ago
いや、とりあえず 具体的な実装内容をまとめといてくれ 俺はこれから彼女とイチャコラして寝る
いろみず
いろみずOP3y ago
w
月猫ch
月猫ch3y ago
すまねえ
いろみず
いろみずOP3y ago
おっけ
月猫ch
月猫ch3y ago
今日ようやく実家から帰ってきたんだ
いろみず
いろみずOP3y ago
まとめとく
月猫ch
月猫ch3y ago
たのんだ
いろみず
いろみずOP3y ago
www ちょっと私も疲れた 明日まとめる
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
いろみず
いろみずOP3y ago
👍 おはようございます えぇと、疲れました クロスサーバーバグっちゃって 直してたら疲れてました
月猫ch
月猫ch3y ago
お、おう
いろみず
いろみずOP3y ago
まとめました
まず、名札、攻略本、水晶玉を
作りたい

・名札は利き手に持ってプレイヤーを右クリックしたら
そのプレイヤーの所持カードが分かります

・攻略本は利き手に持ってプレイヤーを右クリックしたら
そのプレイヤーの標的が分かります

・水晶玉は利き手に持ってプレイヤーを右クリックしたら
そのプレイヤーの捜索が分かります

この仕組みを作りたい

でもその前にランダムでカードを配る作業をしないといけない

それを作りたいんだが
リスト変数とかがわかんなくて

リスト変数でタグみたいに扱うことも可能なのかもわからん

やり方さえわかっちゃえば
応用できるんだけどな

例えばできたとして皆に変数を渡す
そしたらその変数がついてる
プレイヤーにそれぞれカードを渡す

例えばAという変数があれば
その人の所持カードがAカードということにする

それを感知させて
所持カードがAカードの人を他の人がその人を名札で右クリックしたら

Name tag の所持カードは○カードです
と表示させたい

それを応用して
標的 捜索も同様に作りたい

・まとめ
変数を皆にランダムで配るようにする
その変数に合わせて
所持カード 標的カード 捜索カード
を配る
所持カード 標的カード 捜索カードは全てランダムで作りたい

その変数を利用して
名札 攻略本 水晶玉を作りたい
まず、名札、攻略本、水晶玉を
作りたい

・名札は利き手に持ってプレイヤーを右クリックしたら
そのプレイヤーの所持カードが分かります

・攻略本は利き手に持ってプレイヤーを右クリックしたら
そのプレイヤーの標的が分かります

・水晶玉は利き手に持ってプレイヤーを右クリックしたら
そのプレイヤーの捜索が分かります

この仕組みを作りたい

でもその前にランダムでカードを配る作業をしないといけない

それを作りたいんだが
リスト変数とかがわかんなくて

リスト変数でタグみたいに扱うことも可能なのかもわからん

やり方さえわかっちゃえば
応用できるんだけどな

例えばできたとして皆に変数を渡す
そしたらその変数がついてる
プレイヤーにそれぞれカードを渡す

例えばAという変数があれば
その人の所持カードがAカードということにする

それを感知させて
所持カードがAカードの人を他の人がその人を名札で右クリックしたら

Name tag の所持カードは○カードです
と表示させたい

それを応用して
標的 捜索も同様に作りたい

・まとめ
変数を皆にランダムで配るようにする
その変数に合わせて
所持カード 標的カード 捜索カード
を配る
所持カード 標的カード 捜索カードは全てランダムで作りたい

その変数を利用して
名札 攻略本 水晶玉を作りたい
とりあいずこんな感じ
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
Yeahn
Yeahn3y ago
@koishityan || ではなく ``` で囲めますか?
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
Yeahn
Yeahn3y ago
ABCDEFGHIJKLMNOPQRSTUVWXYZを設定して ""でsplitすればいいんじゃないかな?
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
Yeahn
Yeahn3y ago
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
stringから数字抽出する時はそれ使うんやで
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
akon
akon3y ago
sk 2.5.2ならcharacter atってのがあんだけどね
いろみず
いろみずOP3y ago
おけです 一応作れるんですか?
Yeahn
Yeahn3y ago
作れます これは言える。作れます。
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
みどろんぱ知らんから何も出来ね
unnnnnnnnnnn
unnnnnnnnnnn3y ago
役職の実装やり始めるのに気合がいる
いろみず
いろみずOP3y ago
なるほど
unnnnnnnnnnn
unnnnnnnnnnn3y ago
みどろんぱは能力とかカードとかバフとか能力のパラメータとかをすべて変数で管理しようとすると馬鹿みたいに変数多くなるから、事前にどのデータをどの形式で管理するか決めて処理の重さとの兼ね合いで関数なりタグなりattribute?なりも活用したほうがいいと思います アイテムもめっちゃ多いので大変です 能力を除いたすべてのシステムが出来たとしても、殺人や警察、強欲が標的等の配布プログラムをぶっ壊しに来ます がんばってください
いろみず
いろみずOP3y ago
頑張ります

Did you find this page helpful?