【メモ】2DACTRPGの経験値制レベルアップとお金獲得、特定のレベルで魔法獲得
投稿者: cdv30200 投稿日:2015/02/01 23:40
#ここから経験値制レベルアップと、獲得ゴールドの設定 # sv=setVariable , gv=getVariable def sv(a,b) setVariable(a, b) end def gv(a) return getVariable(a) end def addv(a,b) sv(a, gv(a) + b) end def pow(a, b) v = 1; i = 0; g = 0 while(i < b) v = v * a i = i + 1 end while(g < b) g = g + 1 end return v end #主人公の初期値 sv("exp",0); sv("totalexp",0); sv("totalexp2",0); sv("next", 10) sv("gold", 0); sv("totalgold", 0) #個々の敵キャラのゴールドをidから求めます。 def go(id) case id #----ゴールド---- #スライム when 27685 return 4 #グリーンスライム when 27684 return 6 #イエロースライム when 27683 return 14 #関係ないものは0で片付ける else return 0 end end #獲得ゴールドの計算 def gtg(a) gold = 0 killCounts2 = getKillCount() g = 0 while g < getArrayLength(killCounts2) #倒した敵の種類と数から獲得ゴールドを計算 gold = gold + go(killCounts2[g][0]) * killCounts2[g][1] g = g + 1 end G = gold gold = gold - gv("totalgold") sv("totalgold", G) return gold end #個々の敵キャラの経験値をidから求めます。 def gee(id) case id #ザコ敵 #スライム when 27685 return 3 #グリーンスライム when 27684 return 5 #イエロースライム when 27683 return 8 #関係ないものは0で片付ける else return 0 end end #経験値の計算 def gte(a) exp = 0 killCounts = getKillCount() i = 0 while i < getArrayLength(killCounts) #倒した敵の種類と数から経験値を計算 exp = exp + gee(killCounts[i][0]) * killCounts[i][1] i = i + 1 end A = exp exp = exp - gv("totalexp2") sv("totalexp2", A) return exp end def levelUpCheck() getE = gte() getG = gtg() addv("gold", getG) addv("exp", getE); addv("totalexp", getE) speak(getE + " 経験値を獲得!\n" + getG + " Gを手に入れた!") addMoney(getG);setFlag("テキスト",true) while gv("exp") >= gv("next") levelUp() addv("exp", gv("next") * -1); addv("next", getLevel() *10) if getLevel(16271)==7 speak("レベルアップ!\nLV." + getLevel() + "になった!") giveEquipment(11321) speak("かまいたちを覚えた!") elsif getLevel(16271)==5 speak("レベルアップ!\nLV." + getLevel() + "になった!") giveEquipment(11336) speak("小爆発を覚えた!") elsif getLevel(16271)==3 speak("レベルアップ!\nLV." + getLevel() + "になった!") giveEquipment(11004) speak("回復魔法を覚えた!") else speak("レベルアップ!\nLV." + getLevel() + "になった!") end end end #経験値について ここまで # お金の単位としてGと表記するようにする----------------------- # 例:0Gというように表示される setDenomination("G") # 初期の所持金を0Gに設定する addMoney(0) #所持金表示について ここから def tukuru() #テキスト表示場所作成 setTextFontColor(255,255,255) setVariable("t",createText(420,40,100,40)) setTextFontColor(255,255,255) #テキストイベントフラグ setFlag("テキスト作成",false); setFlag("テキスト",true) end #tukuru()終 def kaku() setText(getVariable("t"),getMoney()+getDenomination()) setFlag("テキスト",false) end #kaku()終 #------------------------------------------------------------------- #宿屋の処理 def inn() fadeOut(0, 0, 0) addPlayerHP(getPlayerMaxHP()) addPlayerMP(getPlayerMaxMP()) fadeIn() end #---------------------------------------------------------------
コメントする
コメントするには、ログインする必要があります。
コメント一覧
コメントはありません。