[RPG-MAKER.FR] Oniromancie: tout l'univers de RPG Maker en français - Scripts - Difficulté adaptée

Oniromancie: Scripts - Difficulté adaptée


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace

Apprendre
RPG Maker

Guides
Tutoriels
Astuces
Making-of


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Nylu
Par NanakyTim

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

Jeux: Grave Spirit / News: Game design: ouvrir son jeu aux (...) / News: Des jeux et des screens / News: Alex 2019 : tests et nominations (...) / Jeux: Wendy Whedon /

Chat  

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

119 connectés actuellement

10213570 visiteurs
depuis l'ouverture

842 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires






TOP
GAMEMAKING


Les 5 plus
visités

Akademiya RPG Maker

Alex d'Or

Blog of Chaos17

BloGecko

ConsoleFun

Au hasard

Zarok

Offgame

Eclipso

Les deux derniers

Zarok

Akademiya RPG Maker

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




Difficulté adaptée
Script pour RPG Maker VX
Ecrit par cari974

Pour une difficulté adaptée a votre personnage.

Au début du script il y a plusieurs caractéristiques: maxhp_gain, maxmp_gain, atk_gain...
tu peux les laisser comme sa ou tu peux modifier les chiffres par défaut pour l'adapter à ton jeu. Ces valeurs servent à déterminer de combien les ennemis monteront dans leurs caractéristiques (leur statut). Ou si tu préfère, leur évolution en niveau suivra l'évolution de tes personnages (les héros). Le niveau de difficulté du jeu peut lui-aussi être adapté à ton jeu. Tu dois par contre placé un script sur tes cartes comme suit(enfin je crois):

$game_system_difficulty = x (le x étant le chiffre pour ta difficulté.)

Pour le reste regarde dans le script (se qui est en français), c'est assez bien expliqué.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
 
#==============================================================================
# ** Dynamic Difficulty
#------------------------------------------------------------------------------
# By: DrakoShade
# Version 1.1
# Last Updated: 17 March, 2008
#------------------------------------------------------------------------------
# Version History:
# V. 1.1: Updated the note-parsing methodology to work as described by "loam"
# of RMXP.org. This script's use of the Note field will no longer
# interfere with or be confused by other notes. Also, pointless
# methods for the difficulty setting have been removed.
#==============================================================================
=begin
Ici, vous avez la chance de sécler les paramètres par défaut pour vos créatures.
N'importe quelle créature pour laquelle la table de Note n'inclu pas une modifi-
tion, utilisera les numéros que vous séclerez ici. Les instructions suivent.
=end
module RPG
class Enemy
def get_default_gains
@maxhp_gain = 50 #Default 50
@maxmp_gain = 10 #Default 10
@atk_gain = 1.25 #Default 1.25
@def_gain = 1.25 #Default 1.25
@spi_gain = 2.5 #Default 2.5
@agi_gain = 2.5 #Default 2.5
@hit_gain = 0 #Default 0
@eva_gain = 0 #Default 0
@exp_gain = 0 #Default 0
@gold_gain = 0 #Default 0
@variance = 15 #Default 15
@min_level = 1 #Default 1
@max_level = 99 #Default 99
end
end
end
 
=begin ========================================================================
|| Utilisez le champ de Note à votre avantage. ||
===============================================================================
Les paramètres par défaut que vous avez séclez au-dessus seront correct pour
chaque ennemi dans le jeu qui suivront le même patron de croissance. Si c'est
le cas, vous n'aurez pas à utiliser le champ de Note pour se script. Si vous
voulez que vos ennemis croissent d'une façon différente, alors le champ de
Note est là où vous en aurez besoin.
Pour faire quelque chose avec se script, vous aurez besoin d'inclure 2 lignes
spéciales dans la boite:
"=begin dynamic difficulty"
"end dunamic difficulty"
Ne mettez pas les guillemets. Ils sont simplement ici pour que l'explication
ne se mêle pas avec les commentaires dans le script lui-même. Tout se qui
tombera entre ses 2 lignes sera évalué juste après que l'ennemi individuel
regarde en haut sur les paramètres par défaut ci-haut. Par contre, si vous
incluez:
 
@gold_gain = 200
 
alors cet ennemi spécifique donnera un extra de 200 piéce d'or pour chaque
niveau qu'il prendra, peut importe les paramètres par défaut que vous avez
séclé. Si, à la place vous utilisez cette ligne:
 
@gold_gain *= 2
 
alors l'ennemi donnera 2 fois le nombre de pièce d'or-par niveau de votre
standart. Si le standart reste à zéro, alors cela donnera zéro par niveau,
mais vous savez se que je veux dire.
 
===============================================================================
|| Le niveau Minimum et Maximum ||
===============================================================================
Dans les paramètres par défaut, vous avez sans doute notez les paramètres pour
le @min_level et le @max_level. Une créature qui a un @min_level = 1 et que le
@max_level = 99 obtiendra de la force aussi longtemps que votre équipe sera en
moyenne à un niveau au-dessus de 1 et il n'arrêtera pas d'en prendre jusqu'au
niveau 99, qui ne peut être dépasser de toute façon. Ceci fonctionnera peut
importe à quelle échelle de niveau où vous le rencontrer, mais vous pouvez en
décidez autrement.
Un ennemi qui à pour @min_level = 10, par exemple, sera à la force que vous
aurez séclez dans la base de donnée à chaque fois qu'il rencontrera une
équipe au même niveau ou plus bas. Quant l'équipe atteindra le niveau 11,
l'ennemi ne gagnera qu'un seul niveau. De cette façon, vous créerez des
ennemis qui ne seront jamais incroyablement faible, mais pourront devenir
plus fort.
Le @max_level est similaire, mais il est de l'autre côté du spectre. Un
ennemi qui aura un @max_level = 30, par exemple, montera normalement jusqu'à
se que l'équipe atteigne se niveau. Mais, si votre équipe est au niveau 40,
il ne sera pas plus fort que si votre équipe en serait qu'au niveau 30. Cet
ennemi cessera donc de gagner de la force quant l'éqipe atteindra une moyenne
de niveau de son @max_level.
 
===============================================================================
|| Difficulté du jeu ||
===============================================================================
A chaque moment vous pouvez cécler la valeur de la difficulté du jeu avec un
simple appel de script. Puisque c'est un attr_accessor, tout se que vous avez
à faire est l'une de ses commandes:
$game_system.difficulty = x
$game_system.difficulty += x
$game_system.difficulty -= x
Etc...
 
Ce script utilise les difficultés pour déterminer le niveau des ennemis, le
plus souvent comme le niveau moyen de votre équipe, mais avec une petite
différence.
Quant vous séclez comment le monstre sera fort, pour son HP max, son attaque,
sa défense, etc. le script ejoutera la difficulté à la hauteur du niveau de
votre équipe. Par contre, quant vous determinez les récompenses et l'or, le
script ignorera ces valeurs.
 
Exemple:
Un ennemi au niveau 8 et une difficulté de jeu à 2, sera plus dure à vaincre
que le même ennemi au niveau 10 avec une difficulté de jeu à zéro, mais ils
donneront les mêmes récompenses que si vous le battez au niveau 8 avec la
difficulté à zéro.
 
===============================================================================
|| Conseil Général.||
===============================================================================
Quant vous créez vos ennemis, prenez en compte le niveau qui pourra être un bon
challenge pour votre équipe. Leurs statistiques devront être similaire à ceux
de votre équipe à leur @min_level en ayant l'équippement que vous planifirez
pour votre équipe qu'elle aura à se niveau spécifique.
 
Dans cette optique, même si l'ennemi est à une échelle inférieure à votre
équipe que vous l'avez planifiez, il pourra se battre comme si il était
équipé pour battre une équipe plus forte. L'habileté à le défier, sera, à
se point, plus accez sur l'équippement de votre équipe que sur son niveau.
Bien sûr, l'acte de balancement est purement à votre guise. Vous pouvez
adapter les chiffres comme vous le souhaité.
 
J'espère que vous aimerez utilisez se script. Bonne création.
 
===============================================================================
|| C'est tout. Voici le reste du script. ||
 
===============================================================================
=end
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
# The actual difficulty of the game as a whole is added into this class.
#==============================================================================
class Game_System
attr_accessor :difficulty #New public instance variable.
 
#----------------------------------------------------------------------------
# * Aliasing the Initialize method.
#----------------------------------------------------------------------------
alias drakoshade_dynamic_difficulty_initialize initialize
def initialize
drakoshade_dynamic_difficulty_initialize
@difficulty = 0
end
end
#==============================================================================
# End modifications to Game_System.
#==============================================================================
 
#==============================================================================
# ** RPG::Enemies
#------------------------------------------------------------------------------
# Most of the magic happens here. New methods are created which allow the
# enemies to gain levels, based on a combination of both the party's average
# level and the new $game_system.difficulty.
#==============================================================================
module RPG
class Enemy
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :base_maxhp, :base_maxmp, :base_atk, :base_def, :base_spi
attr_accessor :base_agi, :base_hit, :base_eva, :base_exp, :base_gold
attr_accessor :maxhp_gain, :maxmp_gain, :atk_gain, :def_gain, :spi_gain
attr_accessor :agi_gain, :hit_gain, :eva_gain, :exp_gain, :gold_gain
attr_accessor :min_level, :max_level
 
#--------------------------------------------------------------------------
# * Set_Bases
#--------------------------------------------------------------------------
def set_bases
@base_maxhp, @base_maxmp = @maxhp, @maxmp
@base_atk, @base_def = @atk, @def
@base_spi, @base_agi = @spi, @agi
@base_hit, @base_eva = @hit, @eva
@base_exp, @base_gold = @exp, @gold
get_default_gains
eval(@note[/(?<==begin dynamic difficulty)(.*?)(?==end dynamic difficulty)/m].to_s)
end
 
#--------------------------------------------------------------------------
# * Update Level
#--------------------------------------------------------------------------
def update_level
levels = [([$game_party.ave_level, @max_level].min - @min_level), 0].max
diff = $game_system.difficulty
@maxhp = generate_stat(@base_maxhp-1, @maxhp_gain, (levels + diff)) + 1
@maxmp = generate_stat(@base_maxmp-1, @maxmp_gain, (levels + diff)) + 1
@atk = generate_stat(@base_atk-1, @atk_gain, (levels + diff)) + 1
@def = generate_stat(@base_def-1, @def_gain, (levels + diff)) + 1
@spi = generate_stat(@base_spi-1, @spi_gain, (levels + diff)) + 1
@agi = generate_stat(@base_agi-1, @agi_gain, (levels + diff)) + 1
@hit = generate_stat(@base_agi, @agi_gain, (levels + diff))
@eva = generate_stat(@base_eva, @eva_gain, (levels + diff))
@exp = generate_stat(@base_exp, @exp_gain, levels)
@gold = generate_stat(@base_gold, @gold_gain, levels)
end
 
#--------------------------------------------------------------------------
# * Generate Stat
#--------------------------------------------------------------------------
def generate_stat(base, gain, levels)
result = base + (gain * levels)
result *= (rand(@variance*2)+(100-@variance))
result /= 100
result = [result.to_i, 0].max
return result
end
end
end
 
#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
# I'm adding a method here that will allow this script (or any other) to
# determine the average party level.
#==============================================================================
class Game_Party
def ave_level
level = 0
for i in @actors
actor = $game_actors[i]
level += actor.level
end
level /= @actors.size
return level.round
end
end
 
#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
# Methods that load the database need to be altered so that the enemies set
# their bases.
#==============================================================================
class Scene_Title
#----------------------------------------------------------------------------
# *Alias the Load Database method.
#----------------------------------------------------------------------------
alias drakoshade_dynamic_difficulty_load_database load_database
def load_database
drakoshade_dynamic_difficulty_load_database
for i in 1...$data_enemies.size
$data_enemies[i].set_bases
end
end
 
#----------------------------------------------------------------------------
# *Alias the Load Battle Test Database method.
#----------------------------------------------------------------------------
alias drakoshade_dynamic_difficulty_load_bt_database load_bt_database
def load_bt_database
drakoshade_dynamic_difficulty_load_bt_database
for i in 1...$data_enemies.size
$data_enemies[i].set_bases
end
end
end
 
#==============================================================================
# ** Game_Troop
#------------------------------------------------------------------------------
# The modification here allows for greater versitility than modifying the
# battle scene in this situation. Enemies will load into the troop with
# updated stats.
#==============================================================================
class Game_Troop
#----------------------------------------------------------------------------
# *Alias the Setup method.
#----------------------------------------------------------------------------
alias drakoshade_dynamic_difficulty_setup setup
def setup(troop_id)
for i in 1...$data_enemies.size
$data_enemies[i].update_level
end
drakoshade_dynamic_difficulty_setup(troop_id)
end
end
 



Aucun commentaire n'a été posté pour le moment.

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site:

Communauté: Accueil | News | Forum | Flash-news | Sorties | Chat | Commentaires | Galerie | Blogs | Articles perso | Screen de la semaine | Palmarès | Livre d'or | Recherche | Interviews | OST | L'Annuaire | Divers
Apprendre: Le Wiki | Tutoriels | Guides | Gaming-Live | Tests | Making-of
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | Collection Oniro | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Hébergés: Aëdemphia | Fighting Robots Quest | Geex | Inexistence | La Légende d'Ibabou | Nylu | Sarcia | Super Mario RPG - Lost Souls
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis