リスト変数からの削除

座標が複数入ってるリスト変数から特定の座標だけを消す方法が知りたいです。
28 Replies
ふぁたおくん
ふぁたおくんOP17mo ago
if clicked item is oak log:
set {_itemname} to uncolored name of clicked item
remove {_itemname} from {BugPoint::loc::yama::*}
if clicked item is oak log:
set {_itemname} to uncolored name of clicked item
remove {_itemname} from {BugPoint::loc::yama::*}
名前に座標が設定されたオークの原木が出てくるGUIがあって、それをクリックしたらその原木の名前の座標が{BugPoint::loc::yama::*}から消えるってことをしたいんですが、できません。 おしえてください(´_ゝ`)
chinatukano
chinatukano17mo ago
remove location at {_itemname} in world “world” from {list} nameはstring型になってるから多分locationにすればできないかな? リスト変数にどういう状態で保存してるのか知りたい それか座標とアイテムを変数で紐付ければ簡単になると思う
Yeahn
Yeahn17mo ago
if type of clicked item is oak log:
set {_itemname} to uncolored name of clicked item
remove {BugPoint::loc::yama::*} where ["%input%" is {_itemname}] from {BugPoint::loc::yama::*}
if type of clicked item is oak log:
set {_itemname} to uncolored name of clicked item
remove {BugPoint::loc::yama::*} where ["%input%" is {_itemname}] from {BugPoint::loc::yama::*}
何か
何か17mo ago
add removeの組み合わせは探索処理が入って処理速度にかなり影響するので 普通set deleteでインデックスを指定して使います みらげに騙されてはいけません
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
俺がいつ騙したんだ
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
3年以上前じゃねえか
ふぁたおくん
ふぁたおくんOP17mo ago
indexがよくわかってないけど
loop 10 times:
set {_index} to loop-number
if {a::%{_index}%} is set:
send "%{a::%{_index}%}%"
loop 10 times:
set {_index} to loop-number
if {a::%{_index}%} is set:
send "%{a::%{_index}%}%"
みたいにしたら{a::*}の中身10個まで見れますよってこと?
何か
何か17mo ago
1から10までのインデックスが設定されてるならそうなる インデックスに数字以外の文字が使われてたら それだと見れない インデックスはそのまま言葉通りの意味で日常でもファイルや本に挟む付箋と同じ機能
ふぁたおくん
ふぁたおくんOP17mo ago
インデックスは数字も文字も設定できる、変数の紐づけみたいな さむしんぐか
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
indexは全て文字列として扱われる
ふぁたおくん
ふぁたおくんOP17mo ago
お目汚しして申し訳ないですが、一応これが今書いてる全文です。汚いです。
ふぁたおくん
ふぁたおくんOP17mo ago
湧き場所の管理GUIで、オークの原木クリックしたら、その原木の名前に座標が書いてあるので、その座標を{BugPoint::loc::yama::*}から消す~というのを作ったんですが、原木をクリックした時にその後ろにあるすべての原木も消えてしまうんですが、なんでだろう;
何か
何か17mo ago
インデックスに直接座標おいてるんだったら delete {_::_::%location%}で 直接指定したほうがいいよ これだったらdelete {BugPoint::loc::yama::%{_itemname}%}
ふぁたおくん
ふぁたおくんOP17mo ago
loop {BugPoint::loc::%{_t}%::*}:
add 1 to {_num}
set {_index} to loop-value
if {BugPoint::loc::%{_t}%::%{_index}%} is set:
set {_locicon} to a oak log named "&8&l%{BugPoint::loc::%{_t}%::%{_index}%}%"
add "" and "&eクリックして&c削除" to lore of {_locicon}
set slot 8 + {_num} of {_inv} to {_locicon}
else:
exit loop
loop {BugPoint::loc::%{_t}%::*}:
add 1 to {_num}
set {_index} to loop-value
if {BugPoint::loc::%{_t}%::%{_index}%} is set:
set {_locicon} to a oak log named "&8&l%{BugPoint::loc::%{_t}%::%{_index}%}%"
add "" and "&eクリックして&c削除" to lore of {_locicon}
set slot 8 + {_num} of {_inv} to {_locicon}
else:
exit loop
迷走してきた 座標一覧GUIを表示するやつ
loop 36 times:
set {_index} to 45 * ({_page} - 1) + loop-number
if {BugPoint::loc::%{_t}%::%{_index}%} is set:
set {_locicon} to a oak log named "&8&l%{BugPoint::loc::%{_t}%::%{_index}%}%"
add "" and "&eクリックして&c削除" to lore of {_locicon}
set slot 8 + loop-number of {_inv} to {_locicon}
else:
continue
loop 36 times:
set {_index} to 45 * ({_page} - 1) + loop-number
if {BugPoint::loc::%{_t}%::%{_index}%} is set:
set {_locicon} to a oak log named "&8&l%{BugPoint::loc::%{_t}%::%{_index}%}%"
add "" and "&eクリックして&c削除" to lore of {_locicon}
set slot 8 + loop-number of {_inv} to {_locicon}
else:
continue
削除するやつ
if clicked item is oak log:
send "%{BugPoint::loc::yama::*}%"
set {_itemname} to uncolored name of clicked item
send "%{_itemname}%"
remove {BugPoint::loc::yama::*} where ["%input%" is {_itemname}] from {BugPoint::loc::yama::*}
if clicked item is oak log:
send "%{BugPoint::loc::yama::*}%"
set {_itemname} to uncolored name of clicked item
send "%{_itemname}%"
remove {BugPoint::loc::yama::*} where ["%input%" is {_itemname}] from {BugPoint::loc::yama::*}
ふぁたおくん
ふぁたおくんOP17mo ago
クリック前
No description
ふぁたおくん
ふぁたおくんOP17mo ago
2個目クリック後
No description
ふぁたおくん
ふぁたおくんOP17mo ago
って言う具合にクリックした奴から後ろのやつが消えちゃう 色々試したけど、後ろのやつ消えるか、なにも消えないかしかならんかったので ちょっとご指導願いたいです
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
・クリックした原木より後ろの原木が3個以上あった時の挙動 ・removeする対象の一覧 ・removeする前の変数の中身 ・removeした後の変数の中身 を確認してほしい removeする対象は set {_a::*} to {省略::*} where [省略] してsendなりbroadcastなりして確認できる ちなみにこのitemnameのsendはなんて出力された?
ふぁたおくん
ふぁたおくんOP17mo ago
-491 24 940のはずだけど、x: -490.5, y: 25.5, z: 940.5って出力されました あと寝て起きて確認リストの最初のやつやってみたら
ふぁたおくん
ふぁたおくんOP17mo ago
No description
ふぁたおくん
ふぁたおくんOP17mo ago
あと
No description
ふぁたおくん
ふぁたおくんOP17mo ago
なんかきえませんでした これに関してはどうでもよさそう removeする対象の一覧ってなに?
ふぁたおくん
ふぁたおくんOP17mo ago
No description
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
whereでデータをフィルターにかけて消す条件に当てはまるデータを絞ると思うんだけど、そのフィルターにかかったデータ てかなんで直ったんだ
ふぁたおくん
ふぁたおくんOP17mo ago
set {_a::*} to {BugPoint::loc::yama::*} where ["%input%" is {_itemname}]
send "&e%{_a::*}%"
set {_a::*} to {BugPoint::loc::yama::*} where ["%input%" is {_itemname}]
send "&e%{_a::*}%"
こういうこと? 空白開いても困るから詰めたい
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
そういうこと 詰めたいならindexをもう一度割り振りましょう
ふぁたおくん
ふぁたおくんOP17mo ago
動きました!細かくありがとうございました>< index周りとかコード鬼汚いのでブラッシュアップしていきます😁
Want results from more Discord servers?
Add your server