コメント

このコメントは、【トピック】経験値制LvUPでメンバー可変のときがわかりません(自分でも意味分かんない)へのコメントです。

コメントの内容

   mini rdjk5242(投稿日:2012/02/22 03:02/22/12)
foodmakesさんの記事、すごくわかりやすいですね。
敵は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」
のようにするためだと思っています。

後者は、関数リファレンスで調べたのですが、だいぶ省略してあるので
よくわからないのです。
長文すいません、お願いします。

コメントの内容(一番最初の投稿)

   mini rdjk5242(投稿日:2012/02/22 03:02/22/12)
foodmakesさんの記事、すごくわかりやすいですね。
敵は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」
のようにするためだと思っています。

後者は、関数リファレンスで調べたのですが、だいぶ省略してあるので
よくわからないのです。
長文すいません、お願いします。