Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / News: RPG Maker With / Site: Oniro va mieux / Site: Problèmes sur Oniro / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

522 connectés actuellement

30678917 visiteurs
depuis l'ouverture

1214 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Planète Glutko

ConsoleFun

Zarok

Guelnika & E-magination

Tous nos partenaires

Devenir
partenaire



Messages postés par cortez
Nombre de messages référencés sur Oniromancie (non supprimés): 470

Aller à la page: 1 2 3 4 5 6 7 8 9 10 11 12

Posté dans Forum - Demandes de ressources

cortez - posté le 03/12/2022 à 14:27:06. (524 messages postés)

Ornicar a dit:

Bonjour !

Je voudrais savoir quelqu'un a des sprites de battler d'ondine.
J'aurai besoin d'en trouver pour mon jeu.

Merci par avance.



Es-ce que ceci pourrait correspondre ?
image
https://www.spriters-resource.com/fullview/144111/

Posté dans Forum - Enigmes pour JDR

cortez - posté le 02/12/2022 à 17:34:56. (524 messages postés)

Quelques sources possible d'énigmes :
Les jeux "professeur Layton" (toute la serie sur DS et 3DS)
Les jeux "Golden Sun" (toutes les énigmes de donjons.)

Si tu as déjà joué a des escapes games, pas mal d'enigmes peuvent être intéressantes.

Posté dans Screen de la semaine - Ultimate Quest

cortez - posté le 07/11/2022 à 23:03:47. (524 messages postés)

Au sujet de l'histoire des ressources, quand je participe pas je peux voter.
Perso je suis plus sympa avec les erreurs de maping de ceux qui utilisent des ressources rtp et/ou mappant avec des cases, que ceux utilisant du custom et/ou des calques d'image pour leur maps.

Un custom, si c'est fait sur mesure, il ne devrait pas y avoir d'erreur ou de souci de manque d'objet/variété dans la map (puisque le créateur du tileset c'est le mappeur, il ajoute ce qui pourrait manquer)
Par contre sortir une belle map avec des rtp (ou des tileset trouvé sur le net) c'est pas aussi simple, vu qu'on ne l'a pas crée nous-même il faut être créatif pour en tirer le meilleur.

Bref c'est comme cela que je vois les choses. (implicitement ça encourage les débutants et je trouve que c'est pas si mal)

Ps: Mon opinion ne tient pas compte du temps passé lors de la création de custom, c'est pas fait exprès mais je préfère noter la qualité du mapping que la qualité des ressources employées.

Posté dans Screen de la semaine - Ultimate Quest

cortez - posté le 01/11/2022 à 22:49:13. (524 messages postés)

Super j'ai gagné !
Il y a très peu d'écart entre les participants, preuve que le niveau est élevé. (surtout le full custom)

Posté dans Forum - [RMVXAce] Nombre de lignes variables dans les messages

cortez - posté le 27/10/2022 à 17:43:24. (524 messages postés)

Ephy essaye ça (j'ai testé sa fonctionne sans souci.)

ça marche uniquement car j'utilise le menu débug (F9) (qui recharge bien scene_map.)
Je cherche une solution...

EDIT :
Je pourrait adapter ce script pour uniquement extraire ce que tu demande, mais autant utiliser le script complet :
https://yanflychannel.wordpress.com/rmvxa/core-scripts/ace-message-system/
Lien direct du script : https://pastebin.com/5iBEcjsb
Ce script est royalty-free même pour un projet qui serait commercialisé.

Posté dans Forum - Bonjour!

cortez - posté le 27/10/2022 à 17:27:11. (524 messages postés)

Bienvenu parmis nous.

Posté dans Forum - Le topic des blagues

cortez - posté le 26/10/2022 à 23:15:46. (524 messages postés)

C'est l'histoire d'un héron nommé héron qui prend le soleil près d'un cour d'eau.
Arrive au loin un petit moineau qui se dirige vers lui en disant ceci :
"Tapon !, Tapon, pourrait-tu m'indiquer le nord ?"

Alors le héron un peu surpris, prend la parole et répond gentiment au moineau :
"La direction du nord c'est par là" il tendit son aile dans la bonne direction.
Le moineau le remercie aussitôt : "Merci, Tapon."
Avant que le moineau ne parte, héron insista : "Moi c'est héron ! Héron petit, pas tapon!"

Posté dans Screen de la semaine - Projet non présenté

cortez - posté le 24/10/2022 à 22:34:36. (524 messages postés)

Super je suis premier !
J'adore la word map avec la route, ça me rappelle chrono trigger (en moins post apo)

Tout ceux qui ont voté pour moi recevrons leur chèque sous 48h. :clown

Posté dans Forum - [RMVXAce] Script DT's Difficulty

cortez - posté le 14/10/2022 à 16:42:28. (524 messages postés)

Je n'ai pas les compétences pour modifier ce qu'il faut dans le script. Par contre je te conseille ce script : (qui permet de tout gérer avec des %)
https://pastebin.com/raw/VB5QUann

Et je t'ai préparé un petit script de menu pour aller avec a partir de celui de DoctorTodd: (il faut le placer au dessus de main mais en dessous de celui de TheoAllen)

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
#===============================================================================
#
# Difficulty Menu
# Author: DoctorTodd
# Date (06/24/2012)
# Version: (1.0.0) (VXA)
# Level: (Medium)
# Email: Todd@beacongames.com
#
#Script Found here: https://rmrk.net/index.php/topic,46302.0.html
#
#===============================================================================
#
# NOTES: 1)This script will only work with ace.
#
#===============================================================================
#
# Description: Lets the player select the games difficulty.
#
# Credits: Me (DoctorTodd), D&P3 for saving bug fix.
#
#===============================================================================
#
# Instructions
# Paste above main.
#
#===============================================================================
#
# Free for any use as long as I'm credited.
#
#===============================================================================
#
# Editing begins 38 and ends on 71.
#
#===============================================================================
module TODDDIFFICULTY
 
  #Easy Text.
  EASYT = "Facile   - Suivez l'histoire sans souci"
 
  #Normal Text.
  NORMALT = "Normal   - Difficulté par défaut"
 
  #Heroic Text.
  HEROICT = "Heroïque - Pour ceux en quête de défis"
 
  #Hard Text.
  HARDT = "Hard"
 
  #Easy enemy parameters multiplier.
  EASYM = 0
 
  #Heroic enemy parameters multiplier (Normal is skipped since it's what put
  #you into the database).
  HEROICM = 2
 
  #Hard enemy parameters multiplier.
  HARDM = 3
 
  #The text above where the selection is made.
  TEXT = "Choisissez la difficulté :"
 
  #Menu command?
  MENU = true
 
  #Sound effect to play when difficulty is selected.
  SE = "Darkness8"
 
  #Switch to allow cancelling the difficulty selection.
  #MUST NOT BE ON WHEN SELECTING FOR THE FIRST TIME.
  SWITCH = 5
 
end
 
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
#  This class handles system data. It saves the disable state of saving and
# menus. Instances of this class are referenced by $game_system.
#==============================================================================
 
class Game_System
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :todd_difficulty            # save forbidden
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias todd_difficulty_gamesystem_init initialize
  def initialize
    @todd_difficulty = 0
    todd_difficulty_gamesystem_init
  end
end
 
#==============================================================================
# ** Window_DifficultySelection
#==============================================================================
 
class Window_DifficultySelection < Window_Command
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0)
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    Graphics.width/2 + 216
  end
  #--------------------------------------------------------------------------
  # * Get Digit Count
  #--------------------------------------------------------------------------
  def line_max
    return 3
  end
  #--------------------------------------------------------------------------
  # * Create Command List
  #--------------------------------------------------------------------------
  def make_command_list
    add_command(TODDDIFFICULTY::EASYT,     :easy)
    add_command(TODDDIFFICULTY::NORMALT,   :normal)
    add_command(TODDDIFFICULTY::HEROICT,   :heroic)
    add_command(TODDDIFFICULTY::HARDT,     :hard)
  end
end
#==============================================================================
# ** Window_DifficultyName
#==============================================================================
 
class Window_DifficultyName < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, window_width, fitting_height(1))
    refresh
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return Graphics.width/2 + 64
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    draw_text(4, 0, 400, 80, TODDDIFFICULTY::TEXT)
  end
end
#==============================================================================
# ** Scene_Difficulty
#==============================================================================
 
class Scene_Difficulty < Scene_MenuBase
  #--------------------------------------------------------------------------
  # * Start Processing
  #--------------------------------------------------------------------------
  def start
    super
    create_command_window
    create_name_window
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_DifficultySelection.new
    @command_window.set_handler(:easy,      method(:command_easy))
    @command_window.set_handler(:normal,     method(:command_normal))
    @command_window.set_handler(:heroic,     method(:command_heroic))
    @command_window.set_handler(:hard,    method(:command_hard))
    @command_window.set_handler(:cancel,    method(:return_scene))if $game_switches[TODDDIFFICULTY::SWITCH] == true
    @command_window.x = Graphics.width/2 - 252
    @command_window.y = Graphics.height/2 - 50
  end
  #--------------------------------------------------------------------------
  # * Create Difficulty Window
  #--------------------------------------------------------------------------
  def create_name_window
    @name_window = Window_DifficultyName.new
    @name_window.x = Graphics.width/2 - 176
    @name_window.y = Graphics.height/2 - 97
  end
  #--------------------------------------------------------------------------
  # * [easy] Command
  #--------------------------------------------------------------------------
  def command_easy
    $game_system.todd_difficulty = 0
    $game_variables[THEOLIZED::DIFFSETTING::VAR_ID] = 1
    Audio.se_play("Audio/SE/" + TODDDIFFICULTY::SE, 100, 100)
    return_scene
   end
  #--------------------------------------------------------------------------
  # * [normal] Command
  #--------------------------------------------------------------------------
  def command_normal
    $game_system.todd_difficulty = 1
    $game_variables[THEOLIZED::DIFFSETTING::VAR_ID] = 2
    Audio.se_play("Audio/SE/" + TODDDIFFICULTY::SE, 100, 100)
    return_scene
   end
  #--------------------------------------------------------------------------
  # * [heroic] Command
  #--------------------------------------------------------------------------
  def command_heroic
    $game_system.todd_difficulty = 2
    $game_variables[THEOLIZED::DIFFSETTING::VAR_ID] = 3
      Audio.se_play("Audio/SE/" + TODDDIFFICULTY::SE, 100, 100)
    return_scene
   end
  #--------------------------------------------------------------------------
  # * [hard] Command
  #--------------------------------------------------------------------------
  def command_hard
    $game_system.todd_difficulty = 3
    $game_variables[THEOLIZED::DIFFSETTING::VAR_ID] = 4
        Audio.se_play("Audio/SE/" + TODDDIFFICULTY::SE, 100, 100)
    return_scene
   end
 end
 if TODDDIFFICULTY::MENU == true
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================
 
class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  alias todd_dif_menu_add_menu_command create_command_window
  def create_command_window
    todd_dif_menu_add_menu_command
    @command_window.set_handler(:dif,      method(:command_dif))
  end
end
  #--------------------------------------------------------------------------
  # * [Difficulty] Command
  #--------------------------------------------------------------------------
  def command_dif
  SceneManager.call(Scene_Difficulty)
  end
end
 
if TODDDIFFICULTY::MENU == true
#==============================================================================
# ** Window_MenuCommand
#------------------------------------------------------------------------------
#  This command window appears on the menu screen.
#==============================================================================
 
class Window_MenuCommand < Window_Command
  #--------------------------------------------------------------------------
  # * Add Main Commands to List
  #--------------------------------------------------------------------------
  alias todd_dif_menu_command_add_to_menu add_main_commands
  def add_main_commands
     todd_dif_menu_command_add_to_menu
    add_command("Difficulty",   :dif,   main_commands_enabled)
  end
 end
end



Vu que le menu n'affiche que 4 choix, il permet seulement d'utiliser les 4 premières valeurs du script de TheoAllen.
# value => [mhp ,mmp ,atk ,def ,mat ,mdf ,agi ,luk , exp,gold, buy,sell]
1 => [100 ,100 ,100 ,100 ,100 ,100 ,100 ,100 , 100, 100, 100, 100],
2 => [100 ,100 ,100 ,100 ,100 ,100 ,100 ,100 , 100, 100, 100, 100],
3 => [100 ,100 ,100 ,100 ,100 ,100 ,100 ,100 , 100, 100, 100, 100],
4 => [100 ,100 ,100 ,100 ,100 ,100 ,100 ,100 , 100, 100, 100, 100],
5 => [100 ,100 ,100 ,100 ,100 ,100 ,100 ,100 , 100, 100, 100, 100],

J'ai prévu le coup si tu change la variable qui gère la difficulté (var n°9 par défaut) c'est pris en compte dans le menu (pas besoin de modifier le script de menu)

Posté dans Forum - Concours du screen de la semaine - Règlement + Calendrier + Classement

cortez - posté le 11/10/2022 à 17:43:25. (524 messages postés)

heu on peut soumettre des travaux réalisés avec des vrais crayons/peinture ?

question synthétique : l'artwork doit-il être fait numériquement ?

Posté dans Forum - [RPG MAKER MZ] Où trouver Tiled 1.8.6 ?

cortez - posté le 11/10/2022 à 17:36:27. (524 messages postés)

L'installeur est dispo ici :

https://github.com/mapeditor/tiled/releases/tag/v1.8.6

Tu choisi la version en fonction de celle de ton windows: (les package .msi sont installables sous windows.)
Tiled-1.8.6-win32.msi
Tiled-1.8.6-win64.msi

Pour connaitre la version windows que l'on possède :
touche "windows" + R
vous tapez cmd dans la fenêtre qui s'ouvre
dans la fenêtre noire vous tapez : dxdiag
vous validez avec entrée.
Une fenêtre qui récapitule la config de votre PC apparait : la ligne "Système d'exploitation" indique si c'est une version 32 bits ou 64 bits.

Posté dans Forum - [RPG Maker MV] Besoin d'aide pour un plugin

cortez - posté le 10/10/2022 à 21:25:30. (524 messages postés)

Je pense que le plus simple serait d'essayer un autre plugin qui est beaucoup plus complet mais un peu plus compliqué.

Lien ici :
https://forums.rpgmakerweb.com/index.php?threads/community-lighting-mv-mz.124274/
Source et utilisation ici :
https://github.com/ImaginaryVillain/community_lights

Je ne pourrais pas tester (j'ai pas MV), essaye ce plugin dans un projet vide pour tester :
Une map avec le tag : (pour mettre l'heure a 23h00 - donc la nuit)
<cl: daynight>
<cl: Daynight hour 23 00>

Ajoute un événement sur la map (juste a coté du héro) qui a joue les commandes suivantes lorsque tu lui parle.
Script : Light radius r0 #000000
Script : Light radiusgrow r200 #FFFFFF b3 20
commande : attendre 20 frames
Script : Light radius r200 #FFFFFF

Normalement si tout ce passe bien les commandes devraient permettre d'avoir une lumière progressive croissante pendant 1 seconde (20 frames) puis une lumière fixe.

Posté dans Forum - [RPG Maker MV] Besoin d'aide pour un plugin

cortez - posté le 08/10/2022 à 15:59:58. (524 messages postés)

Si tu utilise la commande script 'Light radiusgrow 200 #FFFFFF' le chiffre 200 correspond au nombres de frames pour que le rayon augmente de 0 a la taille max de la zone éclairée.

Il faut que tu utilise une valeur plus petite pour que l'effet soit plus rapide :
Light radiusgrow 4 #FFFFFF (en 4 frames soit 1/5e de seconde)

C'est expliqué en anglais dans le manuel d'utilisation : https://github.com/Terraxz/TerraxLighting/blob/master/manual.txt

Citation:

If you want to change the player radius slowly over time (like a dying torch)
use the command 'Light radiusgrow 200 #FFFFFF'



Si cela ne fonctionne pas, pourrais-tu partager avec nous des captures d'écran de tes évènement ?

Posté dans Forum - Discussion Générale de making

cortez - posté le 05/10/2022 à 15:54:55. (524 messages postés)

Sylvanor a dit:

Waow incroyable et super cool le rendu 3D! Comment fait ce type, c'est sûr que c'est du RM2003? Je pense qu'il a dû hacker le logiciel.



image

Je pense au contraire que tout est réalisé en images. Comme on le voit sur une capture de la vidéo certaines parties semble de répéter en profondeur ce qui me fait penser au système de Joke de shooter en couloir 3D. C'est tout de même très impressionnant. Pour savoir un peu comment ça (pourrait) être fait je vous conseille l'excellente vidéo de Coding Secrets



Posté dans Forum - [rpg maker MZ] limite personnage

cortez - posté le 03/10/2022 à 16:46:05. (524 messages postés)

Ya aussi un bout de code (plugin ?) Par contre je parle pas russe donc j'en sait pas plus (c'est possiblement une autre langue que le russe utilisant le même alphabet)

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
//=============================================================================
// RPG Maker MZ - Plomax(Zero) Max Battlers and Status
//=============================================================================
 
/*:
 * @target MZ
 * @plugindesc v1.00 Plomax(Zero) Max Battlers and Status
 * @author Plomax(Zero)
 *
 * @param MaxBattlers
 * @text Number of Max Battlers
 * @desc Number of Max Battlers
 * @default
 * @param MaxStatus
 * @text Number of Max Status
 * @desc Number of Max Status
 * @default
 *
 *
 *
 *
 *
 */
 
var PM = PM || {}; PM.MaxBattlers  = PM.MaxBattlers || {};
var Imported = Imported || {}; Imported["PM_MaxBattlersAndStatus"] = 1.00;
 
(($_$) => {
    const pluginName = "PM_MaxBattlersAndStatus";
    function getPluginParameters() {var a = document.currentScript || (function() { var b = document.getElementsByTagName('script'); return b[b.length - 1]; })(); return PluginManager.parameters(a.src.substring((a.src.lastIndexOf('/') + 1), a.src.indexOf('.js')));} $_$.par = getPluginParameters();
 
        $_$.par['MaxBattlers'] = $_$.par['MaxBattlers'] || 4;
        $_$.par['MaxStatus'] = $_$.par['MaxStatus'] || 4;
 
Window_BattleStatus.prototype.maxCols = function() {
    return $_$.par['MaxBattlers'] || 4;
};
 
Game_Party.prototype.maxBattleMembers = function() {
    return  $_$.par['MaxBattlers'] || 4;
};
 
Window_MenuStatus.prototype.numVisibleRows = function() {
    return  $_$.par['MaxStatus'] || 4;
};
 
})(PM.MaxBattlers);



Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

cortez - posté le 03/10/2022 à 16:36:25. (524 messages postés)

Gari a dit:

Oui, il avait effectivement des erreurs, encore, désolé.
Du coup j'ai pris la version de cortez pour faire la MAJ.



Pas de souci, par contre c'est bizarre que sur ma version Steam de XP, la ligne 180/181 et 207/208 pose problème, vous avez quoi dans votre script Main ?
(il me semble que la version gratuite possède les script issus de la version jap)

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

cortez - posté le 02/10/2022 à 21:42:08. (524 messages postés)

Fait gaffe, le script que tu as posté comporte des erreurs (que j'ai du le retrouver sur le forum et ailleurs sur le net pour pouvoir le corriger)

Si tu veux déplacer tous les personnages vers la gauche, tu dois changer la valeur que j'ai souligné a la ligne 235

@sprites[@item_max-i-1].x = 560-((i+1)*120)

Tu peux aussi réduire l'écart entre chaque personnage en changeant la valeur 120 par un nombre plus petit (la ligne 235)

Pour ce qui est d'ajouter une image en fond, tu dois en placer un dans le dossier picture en la nommant : fond_menu

Si tu veux changer le nom de l'image c'est a la ligne 47 : @img_fond.bitmap = RPG::Cache.picture("fond_menu")

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
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
# Advanced CMS Menu by Prexus
# Created on Monday July 4th 2005
# All Rights Reserved
# Made Specially for Naramura Sensei's Battlers
 
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Statut"
s5 = "Sauvegarder"
s6 = "Quitter"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
@command_window.x = 32
@command_window.y = 32
@command_window.z = 3005
@command_window.back_opacity = 128
@playtime_window = Window_PlayTime.new
@playtime_window.x = 32
@playtime_window.y = 480-32-@playtime_window.height
@playtime_window.back_opacity = 128
@playtime_window.z = 3005
@gold_window = Window_Gold.new
@gold_window.x = 640-32-@gold_window.width
@gold_window.y = 480-32-@gold_window.height
@gold_window.back_opacity = 128
@gold_window.z = 3005
@chr_status = Window_CharacterStatus.new
@chr_status.visible = false
@status_window = Window_MenuStatus.new
@status_window.chr_status = @chr_status
@img_fond = Sprite.new
@img_fond.bitmap = RPG::Cache.picture("fond_menu")
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@chr_status.dispose
@status_window.dispose
@gold_window.dispose
@playtime_window.dispose
@img_fond.bitmap.dispose
@img_fond.dispose
end
def update
if @status_window.active and (@command_window.x != -128 or @playtime_window.x != 32-@playtime_window.width)
if @command_window.x != -128
@command_window.z = 3001
@command_window.x -= 5
end
if @playtime_window.x != 32-@playtime_window.width
@playtime_window.x -= 5
end
return
end
if @command_window.active and (@command_window.x != 32 or @playtime_window.x != 32)
if @command_window.x != 32
@command_window.z = 3005
@command_window.x += 5
end
if @playtime_window.x != 32
@playtime_window.x += 5
end
return
end
@command_window.update
@status_window.update
@gold_window.update
@playtime_window.update
@chr_status.update
if @command_window.active
update_command
@chr_status.visible = false
return
end
if @status_window.active
update_status
@chr_status.visible = true
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Save.new
when 5
$game_system.se_play($data_system.decision_se)
$scene = Scene_End.new
end
return
end
end
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end
 
class Window_CharacterStatus < Window_Base
def initialize
super(480-32, 0, 192, 128)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
self.back_opacity = 0
self.z = 3006
end
def refresh(index)
self.contents.clear
if index >= 0
actor = $game_party.actors[index]
draw_actor_name(actor, 0, 0)
draw_actor_level(actor, 0, 24)
draw_actor_hp(actor, 0, 48)
draw_actor_sp(actor, 0, 72)
end
end
end
 
class Window_MenuStatus < Window_Base
attr_reader :index
attr_reader :chr_status
def initialize
@viewport = Viewport.new(0, 0, 640, 480)
@viewport.z = 3001
super(-16, -16, 640+32, 480+32)
self.contents = Bitmap.new(width-32, height-32)
self.back_opacity = 0
self.opacity = 0
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
self.active = false
self.z = 3000
@index = -1
@column_max = 1
@sprites = []
refresh
end
def index=(index)
@index = index
if self.active and @chr_status != nil
update_chr_status
end
update_cursor_rect
refresh
end
def refresh
self.contents.clear
for i in 0...@sprites.size
@sprites[i].dispose
end
@sprites = []
@item_max = $game_party.actors.size
for i in 0...@item_max
actor = $game_party.actors[@item_max-i-1]
@sprites[@item_max-i-1] = Sprite.new(@viewport)
@sprites[@item_max-i-1].bitmap = RPG::Cache.picture(actor.image_name)
@sprites[@item_max-i-1].x = 560-((i+1)*120)
@sprites[@item_max-i-1].y = 480-@sprites[@item_max-i-1].bitmap.height
@sprites[@item_max-i-1].opacity = 255
@sprites[@item_max-i-1].z = 3004-i
end
end
def update_cursor_rect
if @index < 0
for i in 0...@sprites.size
@sprites[i].opacity = 255
end
else
for i in 0...@sprites.size
if i == @index
@sprites[i].opacity = 255
@sprites[i].z += 4
else
@sprites[i].opacity = 200
@sprites[i].z = 3001+i
end
end
end
end
def dispose
super
for i in 0...@sprites.size
@sprites[i].dispose
end
end
def chr_status=(chr_status)
@chr_status = chr_status
if self.active and @chr_status != nil
update_chr_status
end
end
def update
super
if self.active and @item_max > 0 and @index >= 0
if Input.repeat?(Input::RIGHT)
if Input.trigger?(Input::RIGHT) or @index < @item_max - @column_max
$game_system.se_play($data_system.cursor_se)
@index = (@index + @column_max) % @item_max
end
end
if Input.repeat?(Input::LEFT)
if Input.trigger?(Input::LEFT) or @index >= @column_max
$game_system.se_play($data_system.cursor_se)
@index = (@index - @column_max + @item_max) % @item_max
end
end
end
if self.active and @chr_status != nil
update_chr_status
elsif @chr_status != nil
@chr_status.refresh(-1)
end
update_cursor_rect
end
def update_chr_status
@chr_status.refresh(@index)
end
end
 
class Window_Base
def shadow_color
return Color.new(0, 0, 0, 255)
end
def draw_actor_name(actor, x, y)
self.contents.font.color = shadow_color
self.contents.draw_text(x+1, y+1, 120, 32, actor.name)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 120, 32, actor.name)
end
def draw_actor_level(actor, x, y)
self.contents.font.color = shadow_color
self.contents.draw_text(x+1, y+1, 32, 32, "Lv")
self.contents.draw_text(x + 33, y + 1, 24, 32, actor.level.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, "Lv")
self.contents.font.color = normal_color
self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
end
def draw_actor_hp(actor, x, y, width = 144)
self.contents.font.color = shadow_color
self.contents.draw_text(x+1, y+1, 32, 32, $data_system.words.hp)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
self.contents.font.color = shadow_color
self.contents.draw_text(hp_x+1, y+1, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
if flag
self.contents.font.color = shadow_color
self.contents.draw_text(hp_x + 49, y+1, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 61, y+1, 48, 32, actor.maxhp.to_s)
self.contents.font.color = normal_color
self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
end
end
def draw_actor_sp(actor, x, y, width = 144)
self.contents.font.color = shadow_color
self.contents.draw_text(x+1, y+1, 32, 32, $data_system.words.sp)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
self.contents.font.color = shadow_color
self.contents.draw_text(sp_x+1, y+1, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
if flag
self.contents.font.color = shadow_color
self.contents.draw_text(sp_x + 49, y+1, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 61, y+1, 48, 32, actor.maxsp.to_s)
self.contents.font.color = normal_color
self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
end
end
end
class Game_Actor < Game_Battler
 
attr_reader :image_name
 
def initialize(actor_id)
super()
setup(actor_id)
@image_name = @name
end
end



Posté dans Forum - Topic général des draps... des ébats

cortez - posté le 30/09/2022 à 22:30:02. (524 messages postés)

Mon avis n'est pas nécessaire mais je le donne quand même.

Personne ne devrait avoir besoin de se conformer a quoi que ce soit (si il ne le souhaite pas). Le fait que nous soyons des individus par sémantique implique que nous soyons différents les uns des autres. (de diverse façon et dans divers domaines)

C'est à chacun d'effectuer un choix afin de se conformer selon différents degrés en fonction de l'attitude (ou archétype) majoritaire.
(je ne prend pas ici le temps d'expliquer la pression sociale/familliale/par les pairs, non pas parce que je ne veux pas mais pour simplifier et raccourcir mon propos)
Le fait de diverger d'une certaine quantité de cette norme, ne doit aucunement être perçue et jugée comme un tord. (ce n'est pas le cas dans la vraie vie véritable, quelque soit cette différence)

Ce raisonnement est valable également sur ce débat, c'est parce que nos avis sont différents que nous débattons (plus ou moins pacifiquement).

Je comprend le point de vue de Virgile, effectuer un effort pour se conformer depuis autant de temps ce n'est pas négligeable. Chacun doit également comprendre que quantifier ce que l'on considère comme un effort est une vision qualitative et quantitative propre a chacun.

Prenons un exemple "neutre" imaginons que pour moi "sortir les poubelles" constitue un effort considérable (mentalement), cela m'est propre. Par contre si un autre être humain n'y voyait aucun effort (mentalement) il pourrait déclarer que je ne fait pas d'effort.
Le pire c'est que nous aurions tous les deux raison a notre façon.

Faire changer le point de vue de l'autre est l'une des issues possibles d'un débat, mais elle n'est pas la seule. Le statu quo est également parfaitement accepté.

Après si un échange a plus ou moins affecté une personne pendant le débat, il faut aussi reconnaitre que l'on puisse avoir blessé autrui, (les suites a donner sont a la discrétion de chacun) l'idéal est de reconnaitre la situation comme elle apparait pour la personne lésée (se mettre a la place de l'autre) mais comme je l'ai dit plus haut c'est un effort qu'il faut consentir a faire.
Aucun jugement sur le fait de ne pas reconnaitre ses éventuels tords, c'est comme cela.

(oui ça fait pas avancer beaucoup le sujet mais j'apprécie pas les tensions donc j'ai pris le temps de réagir aussi factuellement que possible.)

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

cortez - posté le 30/09/2022 à 21:49:52. (524 messages postés)

Ephy a dit:

Merci mais justement, je me sers beaucoup de ces tiles-là :F
C'est quand même fou de pas trouver à quel moment ces ombres sont générées dans les scripts de base pour pouvoir les faire sauter.



C'est bon j'ai trouvé, c'est un script gratuit (pour un jeu gratuit) mais il faudra payer Zeus81 si le projet est commercialisé. Merci a Zeus81, le script ne fait pas que supprimer les ombres auto, mais il ajoute la gestion de lumières et ombres des personnages si besoin.

Le script :
https://pastebin.com/raw/VpHHBuaW

Les consignes (anglais):
https://pastebin.com/raw/9bnzSHCw

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

cortez - posté le 30/09/2022 à 18:38:42. (524 messages postés)

Ephy a dit:

Support : RMVXAce

Question :
Est-ce qu'il est possible de désactiver les ombres auto de VXAce (les rectangles noirs semi-transparent ajoutés automatiquement quand on mappe) en changeant un réglage dans les scripts de base?
Je pourrais les virer demi-tile par demi-tile à la main mais c'est très relou et trop source d'oublier une ombre quelque part donc autant éviter :F



J'ai ce que tu cherche mais ya un hic, cela supprime la couche 2 qui est composée des ombres automatiques et aussi des éléments situés dans le cadre que j'ai sélectionné.
image

Donc ça marche mais il faut se passer de ces 8 autotiles. (j'ai pas compté le marécage et la sorte d'escalier juste en dessous)

Le script est de Nelderson (il ne demande pas de crédit pour le script mais on sait jamais)

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
## Use the script call: (switch_autoshadow) to enable/disable autoshadows.
 
#Credits for Abt Plouton
 $autoshadow_switch = true  #Default autoshadow - true means regular autoshadow
 
class Game_Map
  attr_writer :autoshadows
  def autoshadows
    # Set autoshadows to false if it is not yet defined
    @autoshadows = @autoshadows == nil ? false : @autoshadows
    return @autoshadows
  end
  alias ma_remove_auto_shadows_on_setup setup
  def setup(map_id)
    ma_remove_auto_shadows_on_setup(map_id)
    # Rather than repeatedly call a method, set a local variable to have it's data
    if $autoshadow_switch == false
      ma_data = data
      return if autoshadows
      # For all squares on the map
      for x in 0...ma_data.xsize
        for y in 0...ma_data.ysize
        # If there is an autoshadow on this tile
          if ma_data[x,y,2] == 0
          # Delete auto Shadow
            ma_data[x,y,2] = ma_data[x,y,0]
            ma_data[x,y,0] = 0
          end
        end
      end
    end
  end
end
 
class Game_Interpreter
  
  def switch_autoshadow
  if $autoshadow_switch == true
    $autoshadow_switch = false
  else
    $autoshadow_switch = true
  end
    $game_map.setup($game_map.map_id)
    $game_map.refresh
  end
  
end



Posté dans Forum - [RMXP] Chroniques de la Guerre des Six : Yggdrasil, la quête du dragon de sang

cortez - posté le 28/09/2022 à 17:27:16. (524 messages postés)

Perso j'aurais fait l'inverse, divisé par 2 la taille des personnages de RO et gardé les tileset en x1. Les chara avec un petit contour noir (histoire qu'ils se détachent un peu du fond et aussi de compenser la différence graphique.)

Posté dans Forum - Concours d'arts mixtes

cortez - posté le 28/09/2022 à 17:26:05. (524 messages postés)

Tassle a dit:

C'est du Python. Pour voir ce que ça fait, vous pouvez par exemple aller sur https://www.w3schools.com/python/trypython.asp?filename=demo_compiler, remplacer le code à gauche par mon code, puis cliquer sur "Run" :)



D'ailleurs pour ceux qui veulent tester du code de n'importe quel langage y compris le ruby, il y a ce site https://tio.run/# (680 langages différents)

Superbe travail Tassle.

Posté dans Forum - [2003] Mer, îles et fous (démo disponible)

cortez - posté le 20/09/2022 à 23:03:18. (524 messages postés)

Nemau a dit:

Merci les coupaings.

Oui Joke a fait des trucs assez fous avec RM ! Tout seul en plus, enfin je crois. L'occasion pour moi de remercier chaudement Tassle, qui m'a beaucoup aidé en toute amitié. RotS aussi a bien assuré.

Citation:

C'est un peu bizarre quand on dépasse une île sur le côté, et qu'on se tourne vers elle, l'île semble s'éloigner d'un coup. Autre petite bizarrerie, on a du mal à avancer droit vers une île, elle part à gauche ou à droite on compense avec la direction.

Yep. J'ai totalement conscience de ces deux problèmes, mais ce serait -vraiment- compliqué de faire mieux. x) (pour moi en tout cas)

Pour le deuxième truc, ça vient du fait que le bateau peut s'orienter vers 180 directions différentes (au départ c'était 360 mais le bateau tournait trop lentement), mais qu'il ne peut se déplacer que dans 8 directions (nord, nord-est, est...). Et ce serait très compliqué de faire autrement.

Et pour le premier truc, le simple fait d'expliquer le pourquoi serait compliqué. :kawaii

Citation:

c'est rare de voir Nemau ouvrir un topic dans cette rubrique :F

Cépafo. xD Mais je propose une démo dès la création du topic, me suis pas fichu de vous tavu. :D

Après c'est très court, j'en conviens. Mais ça a été looong à programmer. D'où le fait que je veuille rentabiliser ça via la création d'un vrai (petit) jeu. ^^




Heu juste comme ça, est-il possible de définir la position des iles par une boite ?
Si oui lorsque le X ou Y du joueur projeté sur l'axe des X ou Y est inclus dans les limites de la boite visée (donc le sprite de l'ile) [en gros la position X du bateau est comprise entre les 2 positions X des extrémités de la boite] et sous condition que l'angle de direction du bateau n'est pas supérieur ou inférieur à 15° par rapport a l'axe X, cela permettrait de ne pas changer l'angle d'affichage de l'ile visée. In Fine d'obtenir une zone en forme de + autour de chaque ile dans laquelle on peut voyager vers elle sans qu'elle dévie (en gros on est assisté a la barre)
[EDIT: en fait cela marcherait pour les axes X et Y mais si on arrive en diagonale ça marche plus.. il faudrait effectuer les calculs avec des droites définies par des fonction affine ayant pour origine l'une des coordonnées des extrémités de la boite et comme "pente" l'angle formé entre le bateau et l'ile, ensuite on reprend le concept de condition pour recalculer ce fameux "+" et définir si on navigue vers un ile ou pas afin d'assister la caméra pour ne pas dévier.
Le mieux c'est de laisser comme c'est. (ou d'utiliser des cercles comme boite de coordonnées, mais le calcul de tangente a un cercle c'est velu comme calcul)

Cela est conceptuellement """simple""" :F a expliquer mais au niveau code on utilisait avant des points (1coordonné x et 1coordonné y) maintenant ce serait des boites donc (4x et 4y)

Mais c'est une superbe démo technique (ça me rappelle mon projet fou et totalement abandonné de simulateur de dogfight spacial avec peu ou prou le même fonctionnement.

Posté dans Scripts - Texte ondulant et texte tremblant

cortez - posté le 20/09/2022 à 22:34:16. (524 messages postés)

Super script qui donne du punch aux boites de dialogue de base.

Je pense que je vais bidouiller dans mon coin pour ajouter d'autres effets, je partagerais si je parvient a quelque chose.

Posté dans Forum - [FLOG]Partagez les étapes de création d'un jeu

cortez - posté le 22/06/2022 à 21:40:27. (524 messages postés)

[FLOG]<Insérez un titre ici>


Bonjour,

J'ouvre un sujet avec un concept de Forum-log (FLOG) qui va permettre de partager les questionnements et cheminements de pensée autour de la réalisation d'un projet sous RPG Maker XP. C'est aussi partiellement une source de tutos et une documentation sur le futur jeu.

Le nom est bizarre ? C'est un mot inventé pour définir le concept et je le trouve drôle, mais le projet aura un vrai titre plus tard.
Pourquoi XP ? Parce que je suis un vieux de la vieille mais pas assez pour prétendre utiliser RM2K3 ou RM2K.
C'est encore un projet collaboratif ? Et bien pas vraiment, c'est un carnet de bord mais aussi un lieu d'échange d'idée.
C'est prévu pour durer longtemps ? Jusqu'à ce que je finisse le projet ou que j'arrête a cause des trucs dans la vie. (ou qu'une super série ou un super jeu sorte...)


Bref c'est parti on commence par le base :

Le concept/idée a la base du projet


J'ai vu quelques jeux pas très connus qui utilisaient une mécanique de "focus/aggro" qui dicte aux ennemis qui sera leur prochaine cible. (exemple : World of warcraft et tous les MMO de la création) Mais j'ai jamais encore trouvé de RPG solo tour par tour qui utilise cette mécanique. (si vous en trouvez le projet va gagner -10 en originalité :doute1 )

Bref j'ai déjà un peu posé a plat ce qu'il me faut :
Un système de combat custom (en évènements et quelques lignes de script)
Développer la mécanique "d'aggro" (comment on attire l'attention des ennemis, comment on diminue cette valeur)
On pourra avoir donc également un système de progression des héros custom aussi. (gestion des level, des compétences, des équipements...)
Une histoire, des personnages pour aller dedans
... Le reste arrive ...

Mécanique d'aggro:

Spoiler (cliquez pour afficher)



Un dernier mot pour ce topic.
Afin d'organiser un minimum les discutions, pouvez-vous réutiliser le nom de la catégorie sur laquelle on échange et placez vos avis dans une balise spoiler. (pour le moment ya que la catégorie Mécanique d'aggro mais après il y en aura de partout :D

Posté dans Forum - [RM2003] Besoin d'aide pour 1 ou 2 sprites animés

cortez - posté le 16/06/2022 à 22:40:31. (524 messages postés)

Je devrait pouvoir bricoler un truc.

J'ai un mal fou a ajouter des ailes sur un corps de chien, j'ai choisi la forme "réaliste" d'un chien, mais il semble trop agressif.

Petit aperçu WIP
image

Je pense que la version 2 est meilleure (même si c'est qu'un collage de sprites existants)

image

Posté dans Screen de la semaine - Nights in the rain - test de fenêtre

cortez - posté le 15/06/2022 à 21:42:19. (524 messages postés)

Gari a dit:

Je crois que j'ai mis la même chose pour les deux premiers, pour des raisons différentes. Même le screen de cortez est pas mal (avec un petit relent de Polaris 03 :F).
S'il y a débat, c'est une bonne semaine !
Et très bien tes effets de lumières Pulsial (vu qu'apparemment ce sont les premiers).



Merci, je connaissait pas Polaris quand j'ai réalisé le projet. Et après avoir regardé Polaris je comprend mieux :sourit

Bravo a tous les participants.

Posté dans Forum - Ecriture de quêtes

cortez - posté le 09/06/2022 à 18:27:35. (524 messages postés)

trotter a dit:

Ce que je trouve difficile dans les quêtes, c'est de justifier pourquoi les commanditaires n'y vont pas eux-mêmes.

Pourquoi y envoyer le héros ?
-PNJ incapable (trop jeune, pas les compétences, handicap ou flemmard comme dit anthonyP).
-PNJ rejeté (interdit d'aller dans cet endroit, n'a pas le droit de parler à la personne directement).
-autre... ? J'ai posé la question dans son topic, on va voir...



C'est en effet le point le plus important pour que les quêtes (principales et secondaires) soit réussies. Pour la quête
principale c'est souvent le fait que le héro (ou un membre de l'équipe) a une motivation pour continuer l'aventure.

Mais pour les quêtes secondaires c'est moins facile car elle ne découlent pas directement de la trame principale. Et
comme le disent Roi of the Suisse et Foxball, c'est vraiment la dessus que les makers doivent se focaliser. Il faut que
les joueurs aient envie de réaliser les actions et qu'ils y trouvent quelque chose en plus des récompences promises
par la quête.
Il ne s'agit pas non plus d'ajouter 30.000 mini-jeux pour être original. Je reste persuadé qu'une bonne quête secon-
daire c'est celle que l'on confond avec la quête principale.

Les joueurs si ils n'ont pas de livre de quête ou menu qui permet de faire la distinction entre les quêtes annexes et
les autres ne vont pas se dire, "tiens cette quête a l'air d'être une quête annexe". Il vont la finir et ensuite en fonc-
tion de la qualité de l'écriture et du fun qu'ils ont ressenti pourrons savoir si ils ont réalisé une quête annexe ou pas.

Enfin pour ce qui est de la justification de pourquoi les pnj ne se bougent pas le c*l. c'est assez facile selon l'univers
que tu auras construit dans le jeu.
Les élus de la prophétie, c'est assez simple ce sont généralement des "stagiaires a tout faire" mais il est possible
d'être plus subtil que cela. Les humains normaux n'ont sans doute pas la force/ capacité de faire face au danger et
ont besoin d'un héro pour effectuer les tâches difficiles.
Autre exemple, si le pnj ne veut pas subir les éventuelles conséquences d'un échec il va se tourner vers un homme
de main.

C'est un sujet annexe mais lors de la création d'un univers de jeu il est important de répondre aux question sur
l'existence de la magie (tout le monde y a accès ? en quoi les héros sont spéciaux ?) Si les monstres existent com-
ment le monde fonctionne ? (les humains normaux ont-ils des moyen pour se protéger ? doivent-il compter sur des
héros pour se déplacer et livrer des marchandises ?)
Bref, c'est en définissant l'univers de votre jeu que les justifications viendrons naturellement.

Posté dans Forum - [RPG Maker MV ] Perte de vitesse lors d'une descente de bâteau.

cortez - posté le 06/06/2022 à 16:52:26. (524 messages postés)

La chose que tu as oublié c'est de placer en 2e page un test si le joueur est sur un bateau. La 2e page doit aussi être en déclenchement parallèle.

Si : Bateau est conduit
Contrôler les interrupteurs: bug vitesse bateau = ON

Autre:
attendre 1 frame (pour éviter que le jeu plante.)

Fin.

Parce que jusqu'à maintenant tu effectuait un test si le joueur quittait le bateau, mais tu ne réinitialise pas l'interrupteur si il monte a nouveau dans le bateau.

Posté dans Forum - Ecriture de quêtes

cortez - posté le 31/05/2022 à 18:56:47. (524 messages postés)

Je suis plutôt de l'avis d'anthonyP, faire une bonne quête annexe c'est pas seulement les actions qui sont
demandés au joueur ( bien que la variété a aussi un rôle a jouer ) c'est avant tout une histoire de lore et
de développement de l'univers du jeu.

Ce qui importe vraiment dans les quêtes (quelles soit annexe ou pas) c'est de nourrir le joueur avec des
infos sur le monde du jeu, entrer dans les détails de son fonctionnement et également de respecter les
règles qui le régissent.

Je vais prendre un exemple :
Il est question d'un village de pêcheurs qui se trouve en bord de côte. Le contexte politique est stable et
le port est la principale source de richesse.
Une quête annexe pourrait se situer dans les docks près du port. Avec un png qui indique avoir du mal a
effectuer sa livraison de poisson frais depuis que des brigants patrouillent sur les routes menant au cha-
teau.
Ça c'est la partie lore de la quête, le joueur s'attend donc a devoir livrer ou escorter la cargaison depuis
un point A vers un point B. C'est en chemin que le joueur pourrait trouver la cabane abandonnée qui sert
de QG aux voleurs et aura le droit en prime a un mini donjon ( pourquoi pas un peu d'infiltration ? ) pour
débarrasser la zone des voleurs et rétablir la situation.

Compléter cette quête pourrait donner l'accès a d'autres quêtes au chateau ( pour services rendus au no-
bles ) ou alors a une réduction des prix dans le port.

Bref il faut concevoir les zones de jeu ( les groupes de maps quoi ) comme des mini environnements indé-
pendants avec leur propres écosystèmes et économie.

A exploiter également les quêtes annexes qui permettent de guider le joueur vers une zone non explorée
par l'histoire principale. Les récompenses ne doivent pas se limiter à de l'or des objets et de l'exp, un mor-
ceau d'histoire ou une zone bonus ( le petit donjon ) c'est un bon moyen de motiver le joueur.

Posté dans Forum - Sondage : votre navigateur

cortez - posté le 11/05/2022 à 10:17:08. (524 messages postés)

Pc :
Feunard (Firefox)

Android :
[Cr] (Chrome)

Posté dans Forum - [vx ace] changer l'image du menu en fonction de l'avancée du jeu

cortez - posté le 10/05/2022 à 21:41:15. (524 messages postés)

Pour ceux ce ça intéresse, j'ai crée un petit script qui change l'écran titre si une sauvegarde est présente.

On a l'écran titre par défaut si on lance le jeu la première fois. Et si une sauvegarde existe (au moins 1 dans le dossier du jeu) on affiche un autre fond et autre cadre.

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
#==============================================================================
# ** Surcharge de la méthode create_backgound de la classe Scene_Title
#------------------------------------------------------------------------------
#  Script a placer au dessus de Main. (Aucun credit nécessaire)
#==============================================================================
class Scene_Title
  #--------------------------------------------------------------------------
  # Ici on nomme les 2 parties du fond d'écran custom a afficher.
  # Il faut entrer le nom du fichier sans l'extention déposé 
  # dans /Titles1 pour le fond de l'ecran titre
  # dans /Titles2 pour le cadre de l'ecran titre
  #--------------------------------------------------------------------------
  @@Fond = "Castle"
  @@Cadre = "Mist"
 
  #--------------------------------------------------------------------------
  # * Create Background
  #--------------------------------------------------------------------------
  def create_background
    @sprite1 = Sprite.new
    @sprite2 = Sprite.new
    unless DataManager.save_file_exists?
      @sprite1.bitmap = Cache.title1($data_system.title1_name)
      @sprite2.bitmap = Cache.title2($data_system.title2_name)
    else
      @sprite1.bitmap = Cache.title1("#@@Fond")
      @sprite2.bitmap = Cache.title2("#@@Cadre")
    end
    center_sprite(@sprite1)
    center_sprite(@sprite2)
  end
end



Finalement j'aime bien comprendre le fonctionnement du langage ruby.

Posté dans Forum - [vx ace] changer l'image du menu en fonction de l'avancée du jeu

cortez - posté le 07/05/2022 à 22:20:01. (524 messages postés)

Théoriquement ce code fonctionne :

Script d'écran de titre a placer après le script que tu as trouvé :

Spoiler (cliquez pour afficher)



Pour paramétrer il faut placer ici les valeurs que tu veux dans la partie
#--------------------------------------------------------------------------
# * Create Background
#--------------------------------------------------------------------------

Portion de code : Tout sélectionner

1
2
3
4
    if $game_persistentvariables[1] = 10
      @sprite1.bitmap = Cache.title1("Book")
      @sprite2 = Sprite.new
      @sprite2.bitmap = Cache.title2("Mist")



Si la valeur de la variable persistante 1 vaut 10 alors on affiche le fond "Book" (Book correspond au nom du
fichier a afficher présent dans le dossier /Graphics/Titles1 de ton projet.)
et on affiche aussi l'image Mist qui est une image du dossier /Graphics/Titles2 de ton projet.

Dans l'exemple d'après on fait la même chose mais cette fois on teste la valeur 20.

Portion de code : Tout sélectionner

1
2
3
4
    elsif $game_persistentvariables[1] = 20
      @sprite1.bitmap = Cache.title1("Castle")
      @sprite2 = Sprite.new
      @sprite2.bitmap = Cache.title2("Leaves")



Enfin on termine par une valeur par défaut (si le joueur commence une partie sans que les valeurs persistan-
tes existent)

Portion de code : Tout sélectionner

1
2
3
4
5
    else # Ecran titre par defaut
      @sprite1.bitmap = Cache.title1($data_system.title1_name)
      @sprite2 = Sprite.new
      @sprite2.bitmap = Cache.title2($data_system.title2_name)
    end



Tu peux ajouter des conditions en plus en respectant la syntaxe :

if (début des conditions : condition 1 )

elsif (ou alors : condition 2 )

elsif (ou alors : condition 3 )

.. (ou alors : condition X )

else (sinon : condition X+1 )

end (fin des conditions)

Le else doit rester identique afin de ne pas créer de bug si la variable persistante n'existe pas/ la valeur ne
correspond a aucune condition.

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
 
    if $game_persistentvariables[1] = 1
      @sprite1.bitmap = Cache.title1("Image1")
      @sprite2 = Sprite.new
      @sprite2.bitmap = Cache.title2("Image2")
    elsif $game_persistentvariables[1] = 2
      @sprite1.bitmap = Cache.title1("Image3")
      @sprite2 = Sprite.new
      @sprite2.bitmap = Cache.title2("Image4")
    elsif $game_persistentvariables[1] = 3
      @sprite1.bitmap = Cache.title1("Image5")
      @sprite2 = Sprite.new
      @sprite2.bitmap = Cache.title2("Image6")
    else # Ecran titre par defaut
      @sprite1.bitmap = Cache.title1($data_system.title1_name)
      @sprite2 = Sprite.new
      @sprite2.bitmap = Cache.title2($data_system.title2_name)
    end
 
 



Par contre il est certainement possible de faire plus simple avec des alias mais ça devrait quand même mar-
cher.
(Peut-être qu'une erreur pourrait aparaitre lorsque le jeu est lancé la 1ere fois sans données persistantes)

Posté dans Forum - Screenshots de vos jeux !

cortez - posté le 26/04/2022 à 17:24:35. (524 messages postés)

C'est mieux maintenant, par contre j'ai l'impression que quelque chose ne va pas avec le reste. Les arbres ont la bonne palette de couleurs mais je trouve qu'ils ont un style différent (dans le sens où le pixel art n'utilise pas la même technique que celle des rtp)
C'est pas flagrant et il n'existe pas de solution mais c'est perceptible.
Peut être avec un toit de maison moins violet (desaturé de 10%) ou d'une autre couleur pour moins contraster avec le vert du sol et des arbres ?...

Posté dans Tutoriels - Conseils pour la création d'énigmes

cortez - posté le 25/04/2022 à 23:04:22. (524 messages postés)

Autre chose que l'on peut récupérer de zelda (mais aussi de tous les bon jeux)
C'est la méthode de l'entraînement en milieu contrôlé.
Je m'explique, lorsque l'on commence le 1er donjon on passe devant des elements de décors que l'on a jamais vu avant. (c'est la phase 1 l'observation). Ensuite on se retrouve bloqué dans une salle où on obtient un nouvel objet / on nous apprend une nouvelle technique, qui permet d'interagir avec les truc que l'on a vus au début ou en chemin. (c'est la phase 2 l'apprentissage)
Et donc normalement le joueur, avec plus de QI que la température de la pièce, utilise ce qu'il a appris sur les autres truc qu'il a déjà vu ailleurs. (c'est à ce moment là qu'il se sent intelligent et qu'il teste des trucs)

Si dans vos jeux, vous ajoutez quelques mécaniques que vous présentez 1 par 1 au joueur, vous pourrez les mixer ensemble dans les derniers donjons pour que le joueur se sente intelligent d'avoir utilisé ses connaissances. (c'est gratifiant pour le joueur et réutiliser des truc fait gagner du temps dans la création du jeu ; c'est gagnant gagnant)

On a le droit de faire un necropost de 12 ans ?
J'imagine que oui si c'est pertinent (dans le pire des cas supprimez mon message)

Posté dans Forum - Discussion Générale de making

cortez - posté le 22/04/2022 à 22:42:18. (524 messages postés)

Le topic de discusion générale de making me semble pas vraiment adapté, il
n'existe pas une section pour partager les réflexions et théories permettant de
concevoir un jeu/ guider la création d'un jeu ?

Je prend comme exemple "Le système des 7 jours".
Il s'agit de compter au moins 7 jours entre l'apparition d'une nouvelle idée et son
ajout au projet/jeu que l'on souhaite créer. Cela permet de peser le pour et le
contre de cette idée, et prendre le temps de la réflexion sur la pertinence d'un
ajout. Avec cette rêgle on se s'éparpille pas dans tous les sens avec 40 systèmes
différents et on se concentre sur l'essentiel (surtout si il s'agit de notre 1er ou 2e
projet making)

Exemple concret, en début de semaine j'ai eu l'idée d'ajouter un système de
crochetage des coffres dans le jeu. Durant la semaine entière j'ai continué a
bosser sur le projet pour réaliser que cela reste gadget. (mais si mon jeu était
orienté infiltration ou avec un perso principal hors la loi ça aurait eu plus de sens)

En bref on évite le "woahou effect" lorsque l'on trouve une nouvelle idée. C'est pas
parce que c'est nouveau que c'est forcément pertinent sur le projet en cours.

Si vous avez une idée pour regrouper ce genre de conseil je prend. :clindoeil2

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

cortez - posté le 14/02/2022 à 13:23:32. (524 messages postés)

Bonjour,
C'est encore moi.. Entre ma disparition il y a plus de 5 ans et mon retour fin 2021 je me suis éveillé au codage (uniquement bash) et je souhaiterais élargir mes connaissances sur un domaine que j'aime bien, le making.

Et maintenant que j'en comprend la logique, il me manque quelques truc pour pouvoir explorer par mes propres moyens le rgss1 (rmXP quoi)

J'aimerais savoir si il est possible d'afficher le contenu des librairies ruby de rmXP, de dresser une liste des méthodes qui existent et voir le type de données (leur format surtout) des valeurs stockés dans les variables et tables (genre la table des objets, des joueurs....)

Le but c'est d'avoir des astuces et clés de compression afin de bosser par moi-même.

Merci par avance à ceux qui éclaireront ma lanterne.

Posté dans Forum - Screenshots de vos jeux !

cortez - posté le 18/12/2021 à 23:40:07. (524 messages postés)

Bonjour,

@Mack,
J'ai pas compris le terme CGT ? Sinon les menus sont incroyables, je voulais en faire en event sous XP mais j'ai abondonné, donc te voir faire sas sous Rm2003, chapeau !


Mon projet a une world map avec des montagnes en 2x2 pixels j'ai bossé dessus depuis quelques jours et voici la version WIP de l'autotile avec des pixels de 1x1.

Qu'en pensez vous (je sais qu'il y a quelques coupures de textures.)
image

Le version définitive, (c'est pas parfait mais ça fera le taf)
image

Aller à la page: 1 2 3 4 5 6 7 8 9 10 11 12

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 | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
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
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers