コメント
このコメントは、【トピック】経験値制LvUPでメンバー可変のときがわかりません(自分でも意味分かんない)へのコメントです。コメントの内容
コメントの内容(一番最初の投稿)
rdjk5242(投稿日:2012/02/22 03:02/22/12)
foodmakesさんの記事、すごくわかりやすいですね。
敵はcoseでまとめた方がやりやすいのかな?
今までのを全部まとめてみました。
ふぅ・・・なんだか長くてよくわからなくなってきた・・・
これでちゃんと作動しますか?
今この段階でわからないことはあと2つです。
1、getVariable("exp")とgetVariable("総合exp")はなんで分けるか
2、スクリプトの途中であった????の部分(LVが上がったキャラの名前)
前者は、自分なりにはメニューなどで
「獲得経験値=総合exp
次のLvまであと=Next」
のようにするためだと思っています。
後者は、関数リファレンスで調べたのですが、だいぶ省略してあるので
よくわからないのです。
長文すいません、お願いします。
敵はcoseでまとめた方がやりやすいのかな?
今までのを全部まとめてみました。
#配列の設定
setVariable("Exp",createArray())
setVariable("総合Exp",createArray())
setVariable("Next",createArray())
setVariable("キャラID",createArray())
getVariable("キャラID")[0]="playerCharacter"
getVariable("キャラID")[1]=12
getVariable("キャラID")[2]=28
getVariable("キャラID")[3]=29
#配列の初期化
i=0
while i<getArrayLength(getVariable("キャラID"))
getVariable("Exp")[i]=0
getVariable("総合Exp")[i]=0
getVariable("Next")[i]=100
i=i+1
end
#敵キャラクターのidごとの経験値の設定
def enemy(id)
case id
when 29
return 10
when 14
return 20
when 56
return 30
end
end
#id(29,14,56)=経験値(10,20,30)
#経験値&Lvupの計算
def exp()
i=0
a=0
while a<getArrayLength(getVariable("キャラID"))
#getVariable("キャラID"))の配列数分繰り返す
#getVariable("キャラID")がパーティなら
if isPartyMember(getVariable("キャラID")[i])
charaID=getVariable("キャラID")[i]
killcounts=getKillCountPartyMember(charaID)
#経験値の整理
pt=0
b=0
while i < getArrayLength(killCounts)
pt=pt+enemy(killCounts[i][0])*killCounts[i][1]
b=b+1
end
#(charaID)が生きていれば
if 0<getPartyMemberHP(charaID)
#経験値の計算↓
getVariable("Exp")[i]=getVariable("Exp")[i]+PT
getVariable("総合Exp")[i]=getVariable("総合Exp")[i]+pt
speak ("経験値を",getVariable("キャラID"),pt手に入れた!)
#LvUPの計算
if getVariable("Next")[i] <= getVariable("Exp")[i]
levelUpPartyMember( getVariable("キャラID")[i] )
speak("LvUP!")
speak(?????,"が",getLevelPartyMember(charaID),"Lvになった!")
getVariable("Exp")[i]=getVariable("Exp")[i]-getVariable("Next")[i]
getVariable("Next")[i]=getVariable("Next")[i]+5
end
end
a=a+1
i=i+1
end
a=0
i=0
endふぅ・・・なんだか長くてよくわからなくなってきた・・・
これでちゃんと作動しますか?
今この段階でわからないことはあと2つです。
1、getVariable("exp")とgetVariable("総合exp")はなんで分けるか
2、スクリプトの途中であった????の部分(LVが上がったキャラの名前)
前者は、自分なりにはメニューなどで
「獲得経験値=総合exp
次のLvまであと=Next」
のようにするためだと思っています。
後者は、関数リファレンスで調べたのですが、だいぶ省略してあるので
よくわからないのです。
長文すいません、お願いします。
敵はcoseでまとめた方がやりやすいのかな?
今までのを全部まとめてみました。
#配列の設定 setVariable("Exp",createArray()) setVariable("総合Exp",createArray()) setVariable("Next",createArray()) setVariable("キャラID",createArray()) getVariable("キャラID")[0]="playerCharacter" getVariable("キャラID")[1]=12 getVariable("キャラID")[2]=28 getVariable("キャラID")[3]=29 #配列の初期化 i=0 while i<getArrayLength(getVariable("キャラID")) getVariable("Exp")[i]=0 getVariable("総合Exp")[i]=0 getVariable("Next")[i]=100 i=i+1 end #敵キャラクターのidごとの経験値の設定 def enemy(id) case id when 29 return 10 when 14 return 20 when 56 return 30 end end #id(29,14,56)=経験値(10,20,30) #経験値&Lvupの計算 def exp() i=0 a=0 while a<getArrayLength(getVariable("キャラID")) #getVariable("キャラID"))の配列数分繰り返す #getVariable("キャラID")がパーティなら if isPartyMember(getVariable("キャラID")[i]) charaID=getVariable("キャラID")[i] killcounts=getKillCountPartyMember(charaID) #経験値の整理 pt=0 b=0 while i < getArrayLength(killCounts) pt=pt+enemy(killCounts[i][0])*killCounts[i][1] b=b+1 end #(charaID)が生きていれば if 0<getPartyMemberHP(charaID) #経験値の計算↓ getVariable("Exp")[i]=getVariable("Exp")[i]+PT getVariable("総合Exp")[i]=getVariable("総合Exp")[i]+pt speak ("経験値を",getVariable("キャラID"),pt手に入れた!) #LvUPの計算 if getVariable("Next")[i] <= getVariable("Exp")[i] levelUpPartyMember( getVariable("キャラID")[i] ) speak("LvUP!") speak(?????,"が",getLevelPartyMember(charaID),"Lvになった!") getVariable("Exp")[i]=getVariable("Exp")[i]-getVariable("Next")[i] getVariable("Next")[i]=getVariable("Next")[i]+5 end end a=a+1 i=i+1 end a=0 i=0 endふぅ・・・なんだか長くてよくわからなくなってきた・・・
これでちゃんと作動しますか?
今この段階でわからないことはあと2つです。
1、getVariable("exp")とgetVariable("総合exp")はなんで分けるか
2、スクリプトの途中であった????の部分(LVが上がったキャラの名前)
前者は、自分なりにはメニューなどで
「獲得経験値=総合exp
次のLvまであと=Next」
のようにするためだと思っています。
後者は、関数リファレンスで調べたのですが、だいぶ省略してあるので
よくわからないのです。
長文すいません、お願いします。