カスタムguiを開きながらインベントリのアイテムクリックを検知する

こういうものを書いてみたのですが、インベントリ内の種をクリックしたときもaと言ってくれません...
on inventory click:
if name of clicked inventory is "&8&lかまど":
cancel event
if name of clicked inventory is not "&8&lかまど":
if event-item is seed:
send "a"
on inventory click:
if name of clicked inventory is "&8&lかまど":
cancel event
if name of clicked inventory is not "&8&lかまど":
if event-item is seed:
send "a"
ほかにも二つ目の条件をseed named "種"、name of clicked inventory is "inventory"など、いろいろ試してみましたが、うまく動いてくれませんでした...
27 Replies
oishiigohan
oishiigohan14mo ago
ちなみに、別のサーバーなんですが、ハイピクセルスカイブロックのコンポスターのようなものを目指しています。(自分のインベントリにある作物をクリックすると左のゲージが増える...という感じです)
yukkina
yukkina14mo ago
4行目以降のインデントをひとつずつ減らしましょう
oishiigohan
oishiigohan14mo ago
こうすると、カスタムguiを開いていなくてもaって言っちゃいました..
yukkina
yukkina14mo ago
on inventory click:
name of clicked inventory is "&8&lかまど"
cancel event
if event-item is seed:
send "a"
on inventory click:
name of clicked inventory is "&8&lかまど"
cancel event
if event-item is seed:
send "a"
ほい ちゃんと読んでなかったわすまん
oishiigohan
oishiigohan14mo ago
あ、すいません、こっちも説明足りなかったです… やりたいのは、カスタムguiとインベントリにそれぞれ種があって、インベントリ内の種だけ反応させたいんです(最悪名前とかでできそうですが…)
unnnnnnnnnnn
unnnnnnnnnnn14mo ago
やりたいことよくわからないけどplayer's current inventoryで解決しそう
yukkina
yukkina14mo ago
ああ 理解したわ
on inventory click:
name of player's current inventory is "&8&lかまど"
clicked inventory is player's inventory
cancel event
if event-item is seed:
send "a"
on inventory click:
name of player's current inventory is "&8&lかまど"
clicked inventory is player's inventory
cancel event
if event-item is seed:
send "a"
3行目の構文あってるか怪しい
oishiigohan
oishiigohan14mo ago
動きました!ありがとうございます! あまり理解できてないのですが、3行目のような条件なのにifがいらないときってなんでなんですか?
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
if ~~は条件分岐っていうものをしたいときに使う 前提として、Skriptにはconditionsっていう、AがBかどうか を判断する構文の種類がある 例えば今回の場合、 clicked inventory(=A) is player's inventory(=B) がそれに該当する 本来conditionsはそれ単体で動作して、AがBでなければそれ以降の行の処理を行わないっていう性質があるんだけど ifと組み合わせることで、AがBなら追加で以下の#~~~の部分の処理を行うことが出来る
if A is B:
#~~~
#~~~
#---
if A is B:
#~~~
#~~~
#---
多くのskriptのdocumentation等ではconditionをifと組み合わせて使ってるから、ifと併用しないと使えないっていうイメージが先行しがちだけど、実際は違うんだね これを使うと、ifを多用してコードがごちゃごちゃになるのをある程度回避できる
on damage:
if type of victim is player:
if victim is not an op:
send "ダメージを与えた" to attacker
else:
cancel event
send "opには攻撃できない" to attacker
else:
cancel event
send "プレイヤー以外には攻撃できない" to attacker
on damage:
if type of victim is player:
if victim is not an op:
send "ダメージを与えた" to attacker
else:
cancel event
send "opには攻撃できない" to attacker
else:
cancel event
send "プレイヤー以外には攻撃できない" to attacker
on damage:
if type of victim is not player:
cancel event
send"プレイヤー以外には攻撃できない" to attacker
stop
if victim is an op:
cancel event
send "opには攻撃できない" to attacker
stop
send "ダメージを与えた" to attacker
on damage:
if type of victim is not player:
cancel event
send"プレイヤー以外には攻撃できない" to attacker
stop
if victim is an op:
cancel event
send "opには攻撃できない" to attacker
stop
send "ダメージを与えた" to attacker
好みの問題もあるかもしれんけど、条件もっと増えてくると酷い事になるから適切に使用することをお勧めします
oishiigohan
oishiigohan14mo ago
なるほど..? 何種類か書き方があるんですね むずかしいですが、覚えて活用してこうと思います..!
何か
何か14mo ago
ifなしのパターンはskqueryないとできません
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
? うそをつけ
何か
何か14mo ago
じごくさんが 嘘をつくわけないじゃないですか
Unknown User
Unknown User14mo ago
Message Not Public
Sign In & Join Server To View
何か
何か14mo ago
おれのサブ垢もおれが嘘つくわけないっていってるから 俺はうそをついてない
何か
何か14mo ago
skUnity
skUnity
View a total of 1 search results on skUnity
yukkina
yukkina14mo ago
それは true is true: の話じゃないの? true is true は別では? 違うのかな
何か
何か14mo ago
ほんとだ 普通に行けるわ
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
poor skripter
yukkina
yukkina14mo ago
じごくが間違えるの珍しい
何か
何か14mo ago
脱skripter 長年のhack makingで腕がなまってしまった
yukkina
yukkina14mo ago
ハッククライアント作ってるん
何か
何か14mo ago
ハックくらいアントは だいぶ前に作った 2年前 windowsのgame hackingをしばらくやったあとにハッククライアントをつくってそのあとは androidのhackをやってた
yukkina
yukkina14mo ago
わお
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
多分これは
if {_var} is true:
if {_var} is true:
if {_var}:
if {_var}:
と書けるやつです
yukkina
yukkina14mo ago
あぁ〜
Want results from more Discord servers?
Add your server
More Posts
chatのリンククリックについて```on chat: cancel event send "%message%" to player``` このコードで送られるメッセージにリンクがあった場合そのリンクを開くことがで使ってるskriptのバージョンいくつですか?気になったので質問しました あと、2.6.3だとうまく動かない?みたいなときもあってプレイヤーの視線の先の座標を入手したいminecraft 1.17.1 skript 2.6.4 skquery 4.1.9 skbee 2.8.2 PRじゃないですアーマースタンドのクリック判定が多重するアーマースタンドをクリックしたときに名前が”テスト”だったらメッセージを送るというSkriptなのですが ```on rightclick on armor stand: if name ofSkript初心者です/menuでGUIが開けるコードを書いたのですがうまくいかず...助けてほしいです!三秒間攻撃がなかったらsend "OK"環境はPRの1.12.2サーバーです。 ”テストゾンビ”という名前のやつを攻撃して、3秒間攻撃がなかったらOKとアタッカーにsendで送りたいです。 その3秒間の間に攻撃があったらそこからまた3秒間攻プレイヤーヘッドを設置できない```command /aa: trigger: set block at location of player to player's head```というコードを実行したところ、エラーset {_p} to vector pitch of {_loc}が使えなくなってるこれに変わる構文ありませんか? locationからpitchとyawを取り出したいです食べ物を右クリックしたらすぐに食べれるようにしたい右クリックしたら即食べれるようにしたいです 使えそうな構文お願いしますウィザーの左右の頭についてウィザーの左右の頭のターゲットを任意のプレイヤーに設定したいです。 自分で色々調べてみたのですが、ウィザー関係のskript自体少なくそれらしいものは見当たりませんでした。 可能であれば教えていただき