アイテムの整理

投稿者:R icon somari01 mini 一 けん 投稿日:2013/05/19 20:22

2DRPGで
アイテムの整理(入れ替え)をする関数

def RI()

b = getItemIdArray()
s = getArrayLength(b)
bb = getMaxItemCount()
loop = true
##所持アイテム個数を確認
if s <= 1
  speak("所持しているアイテムが2つ以上ないので入れ替えが行えません。")
  n = s
  loop = false
else
  if bb == s
    speak("【注意】所持数限界に達しているため入れ替えが出来ず、『全て』のアイテムが消える可能性があります。もし行う場合は、その前にセーブをすることをお勧めします。")
    n = s
    loop = true
  else
  n = 0
  loop = true
  end
end

##マップにアイテムがあるかどうか確認
##
if !(n == s)
  while n<s
    if !(giveItem(b[n]))
      speak("【エラー】マップに所持しているアイテムがセットされていないため入れ替えが行えません。")
      n=s
      loop = false
    end
    if loop == true
      removeItemWithIndex(s+1)#……。
    end
    n = n+1
  end
##
  if loop == true
    removeItemWithIndex(s)
  end
end
##アイテム入れ替え
#loop = true
while loop
  case speakWithSelect(2,"はい","いいえ", 
      "アイテム入れ替えを行いますか?")
    when 0
      a = getItemIdArray()
      aa = createArray()
      ss = getArrayLength(a)
      n = 0
      while n<ss
        aa[n] = getValueFromItemParam(getItemParamWithIndex(n), getItemViewNameIndex())
        n = n + 1
      end
      q = speakWithSelectArray(aa, "どのアイテムを入れ替えますか?")#入れ替えるアイテム選択
      c = a[q]#入れ替えアイテムA
      aaa = aa[q]
      aa[q] = "☆" + aa[q] + "☆"
      qq = speakWithSelectArray(aa, aa[q]+"とどのアイテムと入れ替えますか?")#どのアイテムと入れ替えるか選択
      cc = a[qq]#入れ替えアイテムB
      a[q] = cc
      a[qq] = c
      n = 0
      while n<ss
        removeItemWithIndex(0)#持ってるアイテムを全部外す
        n =n+1
      end
      n = 0
      while n<ss
        if !(giveItem(a[n]))#並び替えた順にアイテムを渡す
          speak("【エラー】マップにアイテムがセットされていないため入れ替えに失敗しました。")
        end
        n = n + 1
      end
      speak(aaa+"と"+aa[qq]+"を入れ替えました。")
    when 1
      loop = false 
  end
end
end


どんな感じに動作するかは以下のゲームで
メニュー→四次元鞄→アイテム整理。
最奥を目指せ! - 【2DRPG】

コメントする

コメントするには、ログインする必要があります。

コメント一覧

コメントはありません。