経験値
rurun9さまウィキより


レベルが上げられるようになったので、
変数で経験値を管理し、経験値の貯まり具合でレベルが上がるという仕組みを考えました。
今回はゲーム開始時から3人固定パーティとし、
経験値とレベルをそれぞれ別個に配列変数で管理する事にします。


開始スクリプトに記入
setVariable("exp",createArray()) #現在の経験値 0=プレイヤー, 1=仲間A, 2=仲間B
setVariable("totalexp",createArray()) #累積総合経験値
setVariable("pmID",createArray()) #パーティメンバーのキャラID番号を格納しておく
getVariable("pmID")[0]="playerCharacter"
getVariable("pmID")[1]=仲間AのID番号 #注意:自分で用意したキャラの番号を調べて半角数字で入れて下さい
getVariable("pmID")[2]=仲間BのID番号
setVariable("nextexp",createArray()) #次のレベルアップまでに必要な経験値
i=0
while i<3 #用意してあるキャラ数分、初期値をセットします
getVariable("exp")[i]=0
getVariable("totalexp")[i]=0
getVariable("nextexp")[i]=10
i=i+1
end



#ユーザー定義関数でレベルが上がったかどうかを確認する処理をつくります
def expcheck( point )
i=0
while i<3 #三人を順にチェック。HP0だと経験値が入らない
if 0<getPartyMemberHP( getVariable("pmID")[i] )
 getVariable("exp")[i]=getVariable("exp")[i]+point
 getVariable("totalexp")[i]=getVariable("totalexp")[i]+point
 if getVariable("nextexp")[i] <= getVariable("exp")[i]
   levelUpPartyMember( getVariable("pmID")[i] )
   getVariable("exp")[i]=getVariable("exp")[i]-getVariable("nextexp")[i]
   getVariable("nextexp")[i]= 2*getVariable("nextexp")[i]
 end
end
i=i+1
end

end #expcheck終


■解説
expがnextに届いたら、レベルが上がります。
このとき、expを一度減らして、nextを倍に増やしています。
レベルが上がるほど次に必要な経験値が多くなる、という形になります。
totalに累計の経験値を入れているので、必要なときに表示可能です。

そして、経験値を増やしたい所(戦闘勝利後の部分とか)には以下のように記入
point=得られる経験値 #敵毎に設定して配列に入れておくなど各自で工夫してください
expcheck( point )


今日の訪問者 -
昨日の訪問者 -

タグ:

+ タグ編集
  • タグ:
最終更新:2011年07月07日 20:00