【メモ】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
#---------------------------------------------------------------コメントする
コメントするには、ログインする必要があります。
コメント一覧
コメントはありません。