RPG Fusion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -40%
Tefal Ingenio Emotion – Batterie de cuisine 10 ...
Voir le deal
59.99 €

 

 Dépasser le niveau 99

Aller en bas 
AuteurMessage
deadcell
Trouvère Follet
Trouvère Follet
deadcell


Masculin
Nombre de messages : 625
Age : 35
Niveau Rpg Maker : Excellent Niveau
Jeux Préférés : Final Fantasy, Resident evil...
Date d'inscription : 21/03/2007

Dépasser le niveau 99 Empty
MessageSujet: Dépasser le niveau 99   Dépasser le niveau 99 EmptyMer 11 Juil 2007, 19:56

Auteur: inconnu

Fonctions: dépasser le niveau 99

Screen:
Dépasser le niveau 99 Breakl10


Code:
#LV限界突破

# Liste des limites de stat, de hp, de sp et de niveau!!
 BASE_FINAL_LEVEL = 9999  #上限レベル(あんまり大きな値を設定するとハングします)
 MAXHP_LIMIT = 99999999    #HP限界値
 MAXSP_LIMIT = 99999999    #SP限界値
 STR_LIMIT  = 999999      #STR限界値
 DEX_LIMIT  = 999999      #DEX限界値
 AGI_LIMIT  = 999999      #AGI限界値
 INT_LIMIT  = 999999      #INT限界値

class Game_Actor < Game_Battler
 def new_final_level
  lv = BASE_FINAL_LEVEL
  #以下上限LV個別指定用
  #case self.id
  #when 1
  #  lv = 255
  #when 2
  #  lv = 999
  #when 8
  #  lv = 15600
  #end
  return lv
 end
 #--------------------------------------------------------------------------
 # ● EXP 計算
 #--------------------------------------------------------------------------
 def make_exp_list
  actor = $data_actors[@actor_id]
  @exp_list = Array.new(new_final_level + 2)
  @exp_list[1] = 0
  pow_i = 2.4 + actor.exp_inflation / 100.0
  for i in 2..new_final_level + 1
    if i > new_final_level
      @exp_list[i] = 0
    else
      n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
      @exp_list[i] = @exp_list[i-1] + Integer(n)
    end
  end
 end
 #--------------------------------------------------------------------------
 # ● MaxHP の取得
 #--------------------------------------------------------------------------
 def maxhp
  n = [[base_maxhp + @maxhp_plus, 1].max, MAXHP_LIMIT].min
  for i in @states
    n *= $data_states[i].maxhp_rate / 100.0
  end
  n = [[Integer(n), 1].max, MAXHP_LIMIT].min
  return n
 end
 #--------------------------------------------------------------------------
 # ● 基本 MaxHP の取得
 #--------------------------------------------------------------------------
 def base_maxhp
  n = $data_actors[@actor_id].parameters[0, 1]
  n += $data_actors[@actor_id].parameters[0, 2] * @level
  return n
 end
 #--------------------------------------------------------------------------
 # ● 基本 MaxSP の取得
 #--------------------------------------------------------------------------
 def base_maxsp
  n = $data_actors[@actor_id].parameters[1, 1]
  n += $data_actors[@actor_id].parameters[1, 2] * @level
  return n
 end
 #--------------------------------------------------------------------------
 # ● 基本腕力の取得
 #--------------------------------------------------------------------------
 def base_str
  n = $data_actors[@actor_id].parameters[2, 1]
  n += $data_actors[@actor_id].parameters[2, 2] * @level
  weapon = $data_weapons[@weapon_id]
  armor1 = $data_armors[@armor1_id]
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  n += weapon != nil ? weapon.str_plus : 0
  n += armor1 != nil ? armor1.str_plus : 0
  n += armor2 != nil ? armor2.str_plus : 0
  n += armor3 != nil ? armor3.str_plus : 0
  n += armor4 != nil ? armor4.str_plus : 0
  return [[n, 1].max, STR_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 基本器用さの取得
 #--------------------------------------------------------------------------
 def base_dex
  n = $data_actors[@actor_id].parameters[3, 1]
  n += $data_actors[@actor_id].parameters[3, 2] * @level
  weapon = $data_weapons[@weapon_id]
  armor1 = $data_armors[@armor1_id]
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  n += weapon != nil ? weapon.dex_plus : 0
  n += armor1 != nil ? armor1.dex_plus : 0
  n += armor2 != nil ? armor2.dex_plus : 0
  n += armor3 != nil ? armor3.dex_plus : 0
  n += armor4 != nil ? armor4.dex_plus : 0
  return [[n, 1].max, DEX_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 基本素早さの取得
 #--------------------------------------------------------------------------
 def base_agi
  n = $data_actors[@actor_id].parameters[4, 1]
  n += $data_actors[@actor_id].parameters[4, 2] * @level
  weapon = $data_weapons[@weapon_id]
  armor1 = $data_armors[@armor1_id]
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  n += weapon != nil ? weapon.agi_plus : 0
  n += armor1 != nil ? armor1.agi_plus : 0
  n += armor2 != nil ? armor2.agi_plus : 0
  n += armor3 != nil ? armor3.agi_plus : 0
  n += armor4 != nil ? armor4.agi_plus : 0
  return [[n, 1].max, AGI_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 基本魔力の取得
 #--------------------------------------------------------------------------
 def base_int
  n = $data_actors[@actor_id].parameters[5, 1]
  n += $data_actors[@actor_id].parameters[5, 2] * @level
  weapon = $data_weapons[@weapon_id]
  armor1 = $data_armors[@armor1_id]
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  n += weapon != nil ? weapon.int_plus : 0
  n += armor1 != nil ? armor1.int_plus : 0
  n += armor2 != nil ? armor2.int_plus : 0
  n += armor3 != nil ? armor3.int_plus : 0
  n += armor4 != nil ? armor4.int_plus : 0
  return [[n, 1].max, INT_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● EXP の変更
 #    exp : 新しい EXP
 #--------------------------------------------------------------------------
 def exp=(exp)
  # ★EXPの上限チェックを解除
  @exp = [exp, 0].max
  # レベルアップ
  while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
    @level += 1
    # スキル習得
    for j in $data_classes[@class_id].learnings
      if j.level == @level
        learn_skill(j.skill_id)
      end
    end
  end
  # レベルダウン
  while @exp < @exp_list[@level]
    @level -= 1
  end
  # 現在の HP と SP が最大値を超えていたら修正
  @hp = [@hp, self.maxhp].min
  @sp = [@sp, self.maxsp].min
 end
 #--------------------------------------------------------------------------
 # ● レベルの変更
 #    level : 新しいレベル
 #--------------------------------------------------------------------------
 def level=(level)
  # 上下限チェック
  # ★LV上限をnew_final_levelでチェックするように変更
  level = [[level, new_final_level].min, 1].max
  # EXP を変更
  self.exp = @exp_list[level]
 end
end
 
 
class Game_Battler
 #--------------------------------------------------------------------------
 # ● MaxSP の取得
 #--------------------------------------------------------------------------
 def maxsp
  n = [[base_maxsp + @maxsp_plus, 0].max, MAXSP_LIMIT].min
  for i in @states
    n *= $data_states[i].maxsp_rate / 100.0
  end
  n = [[Integer(n), 0].max, MAXSP_LIMIT].min
  return n
 end
 #--------------------------------------------------------------------------
 # ● 腕力の取得
 #--------------------------------------------------------------------------
 def str
  n = [[base_str + @str_plus, 1].max, STR_LIMIT].min
  for i in @states
    n *= $data_states[i].str_rate / 100.0
  end
  n = [[Integer(n), 1].max, STR_LIMIT].min
  return n
 end
 #--------------------------------------------------------------------------
 # ● 器用さの取得
 #--------------------------------------------------------------------------
 def dex
  n = [[base_dex + @dex_plus, 1].max, DEX_LIMIT].min
  for i in @states
    n *= $data_states[i].dex_rate / 100.0
  end
  n = [[Integer(n), 1].max, DEX_LIMIT].min
  return n
 end
 #--------------------------------------------------------------------------
 # ● 素早さの取得
 #--------------------------------------------------------------------------
 def agi
  n = [[base_agi + @agi_plus, 1].max, AGI_LIMIT].min
  for i in @states
    n *= $data_states[i].agi_rate / 100.0
  end
  n = [[Integer(n), 1].max, AGI_LIMIT].min
  return n
 end
 #--------------------------------------------------------------------------
 # ● 魔力の取得
 #--------------------------------------------------------------------------
 def int
  n = [[base_int + @int_plus, 1].max, INT_LIMIT].min
  for i in @states
    n *= $data_states[i].int_rate / 100.0
  end
  n = [[Integer(n), 1].max, INT_LIMIT].min
  return n
 end
 #--------------------------------------------------------------------------
 # ● MaxHP の設定
 #    maxhp : 新しい MaxHP
 #--------------------------------------------------------------------------
 def maxhp=(maxhp)
  @maxhp_plus += maxhp - self.maxhp
  @maxhp_plus = [[@maxhp_plus, -MAXHP_LIMIT].max, MAXHP_LIMIT].min
  @hp = [@hp, self.maxhp].min
 end
 #--------------------------------------------------------------------------
 # ● MaxSP の設定
 #    maxsp : 新しい MaxSP
 #--------------------------------------------------------------------------
 def maxsp=(maxsp)
  @maxsp_plus += maxsp - self.maxsp
  @maxsp_plus = [[@maxsp_plus, -MAXSP_LIMIT].max, MAXSP_LIMIT].min
  @sp = [@sp, self.maxsp].min
 end
 #--------------------------------------------------------------------------
 # ● 腕力の設定
 #    str : 新しい腕力
 #--------------------------------------------------------------------------
 def str=(str)
  @str_plus += str - self.str
  @str_plus = [[@str_plus, -STR_LIMIT].max, STR_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 器用さの設定
 #    dex : 新しい器用さ
 #--------------------------------------------------------------------------
 def dex=(dex)
  @dex_plus += dex - self.dex
  @dex_plus = [[@dex_plus, -DEX_LIMIT].max, DEX_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 素早さの設定
 #    agi : 新しい素早さ
 #--------------------------------------------------------------------------
 def agi=(agi)
  @agi_plus += agi - self.agi
  @agi_plus = [[@agi_plus, -AGI_LIMIT].max, AGI_LIMIT].min
 end
 #--------------------------------------------------------------------------
 # ● 魔力の設定
 #    int : 新しい魔力
 #--------------------------------------------------------------------------
 def int=(int)
  @int_plus += int - self.int
  @int_plus = [[@int_plus, -INT_LIMIT].max, INT_LIMIT].min
 end
end
Revenir en haut Aller en bas
 
Dépasser le niveau 99
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Antre des Scripts :: Combat-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser