| 1.装備していないアイテムが取得できない 下が、アイテム名を配列に格納している部分です。読みずらいので字下げ調整しました。
ForEach 味方 全て For i = 1 To CountItem(対象ユニットID) If Item(対象ユニットID,i) = ○○イベント用 Then Skip EndIf Set アイテムの名前[これだ] Item(対象ユニットID,i) Incr これだ Next Next
ForEach 味方 全て For i = 1 To CountItem(未装備) If Item(対象ユニットID,i) = ○○イベント用 Then Skip EndIf Set アイテムの名前[これだ] Item(対象ユニットID,i) Incr これだ Next Next
途中で一行開いていますが、『上』で全ユニットの装備しているアイテムを取得し、 『下』で誰も装備していないアイテムを取得しようとされています。(のだと思います)
さて、まずおかしいのが、何故か下でForEachを使っていることです。 このForEachは完全に不要です。なんとなくでイベントコマンドを配置してしまうと訳分からないことになりますので気をつけましょう。 ただし、今回の「誰も装備していないアイテムがリストに入らない」ことの原因はその下にあります。
>If Item(対象ユニットID,i) = ○○イベント用 Then >Set アイテムの名前[これだ] Item(対象ユニットID,i)
この二行、誰も装備していないアイテムを取得するはずのに、何故か「対象ユニットID」が出てきています。 つまり、『Item関数の使い方が間違っています』。ヘルプをもう一度読んでみてください。
2.アイテムがなくならずいくらでも売れる >RemoveItem アイテムの名前[選択] の上のAskコマンド(売るか確認しているもの)で、「選択」が更新されてしまっているからです。 一回目のAskコマンドの結果を記憶しておく必要があります。
|