|
dante | administrateur |  |  | 254 messages postés |
| Posté le 09-09-2005 à 18:02:17
| alors voila le scipt lui meme et a copier dans un nouveau scrîpt au dessus de main:(appelez LevelBreak ou ce que vous voulez) Pour ce faire vous vous rendez dans l'editeur de scrîpt(ou appuyez sur F11), dans la fenetre de gauche tout en bas se trouve le scrîpt Main. Faites un clique-droit dessus et choisissez nouveau scrîpt. Il est posible de configurer les limites de chaques stats, hp etc... au debut du code (ligne 24) vous trouverez la liste des limites. Il vous suffis de les modifiers a votre convenance. #LV限界突破 # #最初に断っておきますと、このスクリプトを使うよりも #自力で改造した方が、色々自由にできるしオススメです。 #なので、参考程度に見てもらえるといいかもしれません。 #(もちろん、これ単体でも動くように作っていますので #そのまま使って頂いても構いません。) # #そのまま使う場合の注意点として、 #今までのスクリプトと違い、元からある処理をいくつか書き換えてます。 #併用とかする場合、なるべく上の方に貼り付ければなんとかなる、かもしれません。 # #使い方 #まず、データベースのアクター設定でパラメータの設定をします。 #各パラメータは 初期値 + 基本値 * LV で算出されます。 #アクターのLV1の時のパラメータの値が初期値 #LV2の時の値が基本値です。 #仮にHPの初期値が1500、基本値が150としたいならば、 #データベースのアクターのパラメータ設定で #LV1の時のHPが1500、LV2の時のHPが150となるように設定してください。 # #パラメータの算出が適当すぎるので、各自修正が必要かと。 # 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 voila un screen ou en peux remarquer que le niveau de 99 est depasser
Message édité le 10-09-2005 à 12:01:09 par dante |
|
zelda mythologie | espion |  |  | 142 messages postés |
| Posté le 10-09-2005 à 10:20:14
| y a des dans ton code. si tu pourais modifier lol |
|
dante | administrateur |  |  | 254 messages postés |
| Posté le 10-09-2005 à 12:00:12
| ok je m'en occupe ==>voila c fait |
|
myk22 | espion |  |  | 136 messages postés |
| Posté le 11-09-2005 à 22:55:11
| soit c'est un montage soit c'est un test car regarde le temps du jeux |
|
Ryu | administrateur |  |  | 264 messages postés |
| Posté le 11-09-2005 à 23:16:00
| au fait, c'est normal que quand on met un nombre trop grand, ça fait buger ? j'ai essayé de mettre 1'000'000 pour le niveau max. mais ça bug à partir de 10'000... |
|
myk22 | espion |  |  | 136 messages postés |
| Posté le 11-09-2005 à 23:17:56
| ben faut dire qu'un petit programme comme rpg maker Xp peut aps suporter enorme , puis regarde aucun rpg va jusqua la , et puis sa l'etonnerais que leur programme de creation save faire ca , alors diminue |
|
dante | administrateur |  |  | 254 messages postés |
| Posté le 12-09-2005 à 17:34:42
| je crois que 10.000 et sufisant et meme trop et myk22 tu a tout a fait raison |
|
Ryu | administrateur |  |  | 264 messages postés |
| Posté le 12-09-2005 à 17:38:16
| ouais, je pense aussi que c'est suffisant, mais c'est toujours utile de prévenir des bugs... |
|
dante | administrateur |  |  | 254 messages postés |
| Posté le 12-09-2005 à 17:41:25
| oui t'a raison ca peut toujours servir |
|
zelda mythologie | espion |  |  | 142 messages postés |
| Posté le 12-09-2005 à 18:54:45
| j'ai vus un script une fois, le max c'estait 9'999 niv et les PV tout sa c'etait 999'999 |
|
dante | administrateur |  |  | 254 messages postés |
| Posté le 12-09-2005 à 18:56:31
| oui mais la il arrive que jusqu'a 10000 |
|
zelda mythologie | espion |  |  | 142 messages postés |
| Posté le 12-09-2005 à 19:03:06
| ouai c'est mieu lol |
|
myk22 | espion |  |  | 136 messages postés |
| Posté le 12-09-2005 à 19:17:10
| mais a quoi ca sert d'aller aussi loj a cet etape j'en aurait marre |
|
zelda mythologie | espion |  |  | 142 messages postés |
| Posté le 12-09-2005 à 19:31:44
| c'est pour le fun ou bien pour les tests, peut etre meme pour un jeu qui dure 3 ans |
|
dante | administrateur |  |  | 254 messages postés |
| Posté le 13-09-2005 à 00:24:41
| oui pourkoi pas lol |
|
Ryu | administrateur |  |  | 264 messages postés |
| Posté le 13-09-2005 à 12:34:28
| peut-être pas 3 ans quand même....lol |
|
zelda mythologie | espion |  |  | 142 messages postés |
| Posté le 13-09-2005 à 15:01:47
| ouai ta raison, façon de parler |
|
|