特定スロットにおけるアイテム設置の禁止

インベントリ内で特定のスロットに、特定のアイテム以外置けなくしたいのですが 『アイテム設置をキャンセル』する方法が分かりません inventory clickをキャンセルするだけでは置いただけ置いて外せなくなったので どなたか方法を教えていただきたいです sk 2.5.3
15 Replies
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
click typeで分岐や
puzzle
puzzle3y ago
数字キーでのスワップだったりオフハンドとのスワップだったり色々考慮しないといけないのあって大変だよね
月猫ch(月雲)
もしかして every 5 tick とかで、そのスロット確認して 違うアイテムがあったらドロップとかのほうが早い…? ・やりたこと アイテムを拾ったとき 特定アイテム以外がslot 10に入るのをcancelしたい (バックパックアイテムをバックパックスロット以外に入れたくない) ・やってみたこと 拾った瞬間slot 10に入っていたら インベントリの空きスロットに移動させるコードを書いた
on pickup:
wait 1 tick
slot 10 of player's inventory is not getBackPack() #backpackアイテムを取得する関数
slot 10 of player's inventory is not air
set {_item} to slot 10 of player's inventory to air
set {_amount} to item amount of player's inventory to air
set slot 10 of player's inventory to air
loop 36 times:
set {_flag} to true if loop-number -1 <= 8
set {_flag} to true if loop-number -1 >= 11
{_flag} is true
slot loop-number -1 of player's inventory is air
set slot loop-number -1 of player's inventory {_item}
exit 1 sections
on pickup:
wait 1 tick
slot 10 of player's inventory is not getBackPack() #backpackアイテムを取得する関数
slot 10 of player's inventory is not air
set {_item} to slot 10 of player's inventory to air
set {_amount} to item amount of player's inventory to air
set slot 10 of player's inventory to air
loop 36 times:
set {_flag} to true if loop-number -1 <= 8
set {_flag} to true if loop-number -1 >= 11
{_flag} is true
slot loop-number -1 of player's inventory is air
set slot loop-number -1 of player's inventory {_item}
exit 1 sections
テスト状況:インベントリを埋め尽くし、slot 10以外に入らないようにして、stone以外を拾った 結果:空きがないと消える。対策としてset slot 10~ではなく、その場にdropしようかと考えたが、拾って落としてを繰り返すためちょっとまずい これって他にいい方法ありますかね…
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
waitする前に、アイテム拾った場合slot10に入るかどうか検証して 入るならcancelするなり10+nにsetするなり
月猫ch(月雲)
airがある場所で比較すればいいですかね
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
slot9がairか否かじゃないか ただスタック可能なアイテムだった場合同じアイテムを64n個未満で所持してるかも確かめないといけない
puzzle
puzzle3y ago
普段ガラス板で塞いでおいて該当アイテム拾ったときにアイテムをちゃんと入れるみたいな方式の方がいいかもしれない…?
月猫ch(月雲)
やっぱそれしかないですかねえ… それするとシフトクリックで対応アイテム設置できなくて困ってるんですよ… アイテム識別に関することなのでこのまま質問させてもらいます named "~"されたアイテムは name of itemで名前が取得できますが バニラ状態のアイテムは英語名しか取得できません 日本語名をそのまま取得する方法はありますか?
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
これだとインベントリ全部埋まってる時にどうするか問題があるかと思って
月猫ch(月雲)
まあ…拾えないだけだからまだましかな…
puzzle
puzzle3y ago
バックアップアイテムって複数種類あるのかそれとも決まった1種類専用のスロットなのか 1種類だけならスタック数0のアイテム作れないかなぁとか思ったり(今も作れるのか知らんけど)
月猫ch(月雲)
すませんばっくぱっくです( できるんですか、、、?
puzzle
puzzle3y ago
埋まってるときもなんか広いそう拾いそうなタイミングでイベントなかったっけ?
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
んーー 少なくとも俺は記憶にないな ありそうな気はしなくもない
yukkina
yukkina3y ago
0~8も確認せんと。

Did you find this page helpful?