コメント

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

コメントの内容

   mini rdjk5242(投稿日:2012/02/23 04:02/23/12)
自分で試してみたのですが、敵を倒したらフリーズしてしまいました。
特にエラーなどは表示されてないです。
どこがいけないんでしょうか?

#配列の設定 
 setVariable("Exp",createArray())   
 setVariable("総合Exp",createArray())   
 setVariable("Next",createArray())   
 setVariable("キャラID",createArray())   
getVariable("キャラID")[0]="playerCharacter"  
getVariable("キャラID")[1]=8677
getVariable("キャラID")[2]=8678 
getVariable("キャラID")[3]=8730
getVariable("キャラID")[4]=9163 
getVariable("キャラID")[5]=2613
#配列の初期化 
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 8677  
    return 40
   when 8678
    return 50  
   when 2613
    return 60
  end  
end 

 
#経験値&Lvupの計算 
def exp()  
i=0  
a=0 
while a<getArrayLength(getVariable("キャラID"))  
#getVariable("キャラID"))の配列数分繰り返す 
#getVariable("キャラID")がパーティなら 
if isPartyMember(getVariable("キャラID")[i])    
killCounts=getKillCountPartyMember(getVariable("キャラID")[i] ) 
  
#経験値の整理 
pt=0 
b=0  
while i < getArrayLength(killCounts)   
pt=pt+enemy(killCounts[i][0])*killCounts[i][1]  
b=b+1  
end  
 
 
if 0<getPartyMemberHP(getVariable("キャラID")[i] ) 
#経験値の計算↓   
 getVariable("Exp")[i]=getVariable("Exp")[i]+pt  
 getVariable("総合Exp")[i]=getVariable("総合Exp")[i]+pt  
 speak ("経験値を",getVariable("キャラID"),"p手に入れた!") 
#LvUPの計算 
if getVariable("Next")[i] <= getVariable("Exp")[i]   
 levelUpPartyMember( getVariable("キャラID")[i] )  
 speak("LvUP!") 
 speak(getValueFromCharacterParam( 
getPartyMemberParam( getVariable("キャラID")[i]  ), 
getCharacterViewNameIndex() ), "が",
getLevelPartyMember(getVariable("キャラID")[i] ), "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  
end
end

setCustomParamMenuEnable(true)
setCustomParamMenuName("経験値")
def onShowCustomParameter() 

speakFullScreen(true, "現在のステータス\n\n",getValueFromCharacterParam( 
getPartyMemberParam( getVariable("キャラID")[0]  ), 
getCharacterViewNameIndex() ),"    ",getLevel(),"Lv   Next  ",
(getVariable("Next")[0]-getVariable("Exp")[0]),"\n",
getValueFromCharacterParam( 
getPartyMemberParam( getVariable("キャラID")[3]  ), 
getCharacterViewNameIndex() ),"    ",getLevel(),"Lv   Next  ",
(getVariable("Next")[3]-getVariable("Exp")[3]),"\n",
getValueFromCharacterParam( 
getPartyMemberParam( getVariable("キャラID")[4]  ), 
getCharacterViewNameIndex() ),"    ",getLevel(),"Lv   Next  ",
(getVariable("Next")[4]-getVariable("Exp")[4]))
end
drawCustomParam()

addPartyMember(getVariable("キャラID")[3])
addPartyMember(getVariable("キャラID")[4])

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

   mini rdjk5242(投稿日:2012/02/23 04:02/23/12)
自分で試してみたのですが、敵を倒したらフリーズしてしまいました。
特にエラーなどは表示されてないです。
どこがいけないんでしょうか?

#配列の設定 
 setVariable("Exp",createArray())   
 setVariable("総合Exp",createArray())   
 setVariable("Next",createArray())   
 setVariable("キャラID",createArray())   
getVariable("キャラID")[0]="playerCharacter"  
getVariable("キャラID")[1]=8677
getVariable("キャラID")[2]=8678 
getVariable("キャラID")[3]=8730
getVariable("キャラID")[4]=9163 
getVariable("キャラID")[5]=2613
#配列の初期化 
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 8677  
    return 40
   when 8678
    return 50  
   when 2613
    return 60
  end  
end 

 
#経験値&Lvupの計算 
def exp()  
i=0  
a=0 
while a<getArrayLength(getVariable("キャラID"))  
#getVariable("キャラID"))の配列数分繰り返す 
#getVariable("キャラID")がパーティなら 
if isPartyMember(getVariable("キャラID")[i])    
killCounts=getKillCountPartyMember(getVariable("キャラID")[i] ) 
  
#経験値の整理 
pt=0 
b=0  
while i < getArrayLength(killCounts)   
pt=pt+enemy(killCounts[i][0])*killCounts[i][1]  
b=b+1  
end  
 
 
if 0<getPartyMemberHP(getVariable("キャラID")[i] ) 
#経験値の計算↓   
 getVariable("Exp")[i]=getVariable("Exp")[i]+pt  
 getVariable("総合Exp")[i]=getVariable("総合Exp")[i]+pt  
 speak ("経験値を",getVariable("キャラID"),"p手に入れた!") 
#LvUPの計算 
if getVariable("Next")[i] <= getVariable("Exp")[i]   
 levelUpPartyMember( getVariable("キャラID")[i] )  
 speak("LvUP!") 
 speak(getValueFromCharacterParam( 
getPartyMemberParam( getVariable("キャラID")[i]  ), 
getCharacterViewNameIndex() ), "が",
getLevelPartyMember(getVariable("キャラID")[i] ), "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  
end
end

setCustomParamMenuEnable(true)
setCustomParamMenuName("経験値")
def onShowCustomParameter() 

speakFullScreen(true, "現在のステータス\n\n",getValueFromCharacterParam( 
getPartyMemberParam( getVariable("キャラID")[0]  ), 
getCharacterViewNameIndex() ),"    ",getLevel(),"Lv   Next  ",
(getVariable("Next")[0]-getVariable("Exp")[0]),"\n",
getValueFromCharacterParam( 
getPartyMemberParam( getVariable("キャラID")[3]  ), 
getCharacterViewNameIndex() ),"    ",getLevel(),"Lv   Next  ",
(getVariable("Next")[3]-getVariable("Exp")[3]),"\n",
getValueFromCharacterParam( 
getPartyMemberParam( getVariable("キャラID")[4]  ), 
getCharacterViewNameIndex() ),"    ",getLevel(),"Lv   Next  ",
(getVariable("Next")[4]-getVariable("Exp")[4]))
end
drawCustomParam()

addPartyMember(getVariable("キャラID")[3])
addPartyMember(getVariable("キャラID")[4])