Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

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

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

462 connectés actuellement

29429708 visiteurs
depuis l'ouverture

4084 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Guelnika & E-magination

Leo-Games

RPG Maker - La Communauté

Le Comptoir Du clickeur

New RPG Maker

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!

Aller à la page 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

Reprise du message précédent:

Nemau - posté le 15/11/2013 à 00:23:14 (52236 messages postés) - honor -

❤ 0

The Inconstant Gardener

J'aimerais agrandir la résolution de RMVX Ace (passer du 17x13 carreaux au 20x15 par exemple) :

- Faut-il juste modifier des scripts, ou bien faut-il rajouter de gros morceaux de lignes de code, voir des scripts entiers ? (je pose cette question pour évaluer grosso modo ce que le changement de résolution demande en modifications) Ma question concerne également tout ce qui est lié à ce choix de nouvelle résolution, tel que le recentrage du héros sur l'écran par exemple (à moins que ce soit automatique ?).

- Comment se passe ensuite la programmation en events ? Y a-t-il des bugs liés à la modification ? Des choses à savoir ? (par exemple si on veut afficher une image, l'éditeur considère que les coordonnées du centre de l'écran sont différentes ?)

[/noob en scripts]

Merci d'avance !



Quel RPG Maker choisir ?Ocarina of Time PCPolaris 03 • Le matérialisme c'est quand tu as du matériel.


Suite du sujet:

Estheone - posté le 15/11/2013 à 11:26:28 (312 messages postés)

❤ 0

Pas de souci, les scripts de VX Ace sont bien faits à ce niveau là.

Tu as juste à mettre

Portion de code : Tout sélectionner

1
Graphics.resize_screen(640, 480)


en premier dans le main et tout devrait fonctionner comme il faut (héros au centre, menus redimensionnés...)

Garde juste en tête de faire toujours des maps d'au moins 20x15 sinon ça va faire nimp. :D

Wandering Souls : Jeu complet / Topic sur Oniro


Nemau - posté le 17/11/2013 à 03:09:19 (52236 messages postés) - honor -

❤ 0

The Inconstant Gardener

C'est vrai ? Y a juste à faire ça ? \o/ Owi. :sriden

Merci beaucoup !



Edit : ça marche super bien (on peut même faire des minis résolutions ou des réso verticales :D) par contre on ne peut pas aller au-delà de 640*480. :o M'enfin c'est déjà super de pouvoir faire tout ça et ce aussi simplement. Et quoi qu'il en soit encore merci !

Autre petite question sinon (les scripts c'est comme les tatoutages, une fois qu'on a commencé... :F) : comment bloquer le scrolling de l'écran ? Je ne cherche pas à faire quelque chose de compliqué, juste à bloquer la caméra dans absolument tout le jeu. Ainsi si le héros se retrouve téléporté sur une map plus grande que la résolution la vue se fige (avec donc le carreau d'arrivée de téléportation au centre) et le héros peut se balader sur toute la map mais il sort du champ de la caméra (enfin, on se comprend ^^) s'il va trop loin. (on pouvait faire ça nativement dans RM2000/03)



Quel RPG Maker choisir ?Ocarina of Time PCPolaris 03 • Le matérialisme c'est quand tu as du matériel.


Estheone - posté le 18/11/2013 à 01:55:18 (312 messages postés)

❤ 0

Pour bloquer le scrolling c'est tout aussi simple, surtout si c'est pour tout le jeu.

Tu vas dans Game_Player et dans la fonction update tu vires la ligne update_scroll ou tu la mets en commentaire (# devant).

Ou un peu plus évolué tu contrôles la fonction avec un interrupteur :

Portion de code : Tout sélectionner

1
update_scroll(last_real_x, last_real_y) if $game_switches[1]


Avec ça la caméra suit le joueur uniquement si l'interrupteur 1 est activé.

Dans tous les cas le scrolling est toujours fonctionnel via la commande d'event "faire défiler la carte" au cas où tu en aurais besoin.

Wandering Souls : Jeu complet / Topic sur Oniro


kvk - posté le 18/11/2013 à 03:00:05 (322 messages postés)

❤ 0

Salut !

support : VX Ace


- Je donne à mes personnages un state avec le S-Parameter EXR *1000
- Je tue un monstre qui rapporte 1 xp.
- Le jeu m'affiche que j'ai gagné 1 XP.
- J'en gagne 10 comme prévu par le State.

Que dois-je modifier pour que la valeur d'XP affichée à la fin du combat soit celle après le calcul du S-Parameter et non la valeur brute?

Mon but est de faire en sorte que l’expérience gagné soit augmenté selon le nombre d'ennemis (Parce qu'affronter 5 slimes d'un coup est bien plus dangereux que d'affronter cinq fois un slime).


Pour le moment j'ai compris / cru comprendre que je dois modifier le def self.display_exp (Battle_manager, ligne 307) et modifier ce que l'on affiche pour que ça prenne en compte le sparam(9) qui correspond a EXR... mais comment je-fais-je cette operation?

J'ai fais ça, mais ça crash evidemment :


Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
 
  def self.display_exp
    if $game_troop.exp_total > 0
      $game_party.all_members.each do |actor| #aj
          text = sprintf(Vocab::ObtainExp, ($game_troop.exp_total * final_exp_rate).to_i) #aj
      actor.gain_exp($game_troop.exp_total)
    end
      $game_message.add('\.' + text)
    end
  end
 




Merci d'avance !

"Il est plus facile de professer en paroles un humanisme de bon aloi, que de rendre service à son voisin de palier."


Estheone - posté le 18/11/2013 à 04:24:10 (312 messages postés)

❤ 0

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
  def self.display_exp
    actor = $game_party.battle_members.select{|a| !a.dead?}.first
    if actor
      exp = ($game_troop.exp_total * actor.final_exp_rate).to_i
      if exp > 0
        text = sprintf(Vocab::ObtainExp, exp)
        $game_message.add('\.' + text)
      end
    end
  end



Ca ne calcule qu'en fonction du premier perso vivant par contre, donc fais toujours en sorte que toute l'équipe bénéficie des mêmes bonus d'expérience, sinon l'affichage ne correspondra plus à rien.

Wandering Souls : Jeu complet / Topic sur Oniro


kvk - posté le 18/11/2013 à 13:02:53 (322 messages postés)

❤ 0

Grands mercis, tu roxes !

"Il est plus facile de professer en paroles un humanisme de bon aloi, que de rendre service à son voisin de palier."


Nemau - posté le 18/11/2013 à 19:18:09 (52236 messages postés) - honor -

❤ 0

The Inconstant Gardener

Estheone > merci encore une fois !



Quel RPG Maker choisir ?Ocarina of Time PCPolaris 03 • Le matérialisme c'est quand tu as du matériel.


Cortez - posté le 21/11/2013 à 11:23:29 (523 messages postés)

❤ 0

RmXP
Modifier un script de base.


Je souhaiterai afficher des images du dossier Icons comme des
pictures.
Je sais que la commande doit etre modifié afin de fonctionner et
que celle-ci devra être en script.

Portion de code : Tout sélectionner

1
$game_screen.pictures[8].show("Arrow.png", 1, x, y, zoom x, zoom y, opacité, type transparence)


Cependant j'ai beau chercher, le script Game_Pictures ne contient
aucune référence au dossier /Pictures dans lequel il trouve les
images.
La solution de copier/collez les icones dans le dossier picture est
impossible, j'ai beaucoup trop d'icones et le poids du dossier est
presque doublé.

Comme je m'en doutais, la commande :

Portion de code : Tout sélectionner

1
$game_screen.pictures[8].show("Graphics/Icons/Alc1.png", 1, 320, 240, 100, 100, 255, 0)


Donne une erreur puisque la commande cherche un dossier Graphics/Pictures/Graphics/Icons
et non le dossier Graphics/Icons seul.


Mack - posté le 21/11/2013 à 11:50:53 (2290 messages postés) - staff

❤ 0

C'est dans Sprite_Picture en faite.

Cherche cette ligne :

Portion de code : Tout sélectionner

1
self.bitmap = RPG::Cache.picture(@picture_name)


C'est celle qui dit que l'image se trouve dans Graphics/Pictures/Lenomquetarentré
Du coup, à toi de voir comment tu veux faire pour dire d'afficher une icone ou une picture.

( Je prend note de tout les commentaires, même si je n'y répond pas )


cantarelle - posté le 21/11/2013 à 12:55:20 (1530 messages postés)

❤ 0

Makeuse tarée et Agent du FBI...

Pour afficher une icone...

Portion de code : Tout sélectionner

1
RPG::Cache.icon("Nom_de_ton_icone")



Makeuse à la crosse de street-hockey. Livestream.


Cortez - posté le 21/11/2013 à 16:43:48 (523 messages postés)

❤ 0

Après de nombreux test, je suis parvenu à quelque chose :

Portion de code : Tout sélectionner

1
2
3
4
5
6
       if @picture_name.include?("icon ")
         @picture_name = @picture_name.gsub!(/\\[Ii][Cc][Oo][Nn][^>]/) {""}
        self.bitmap = RPG::Cache.icon(@picture_name) 
       else
      # Get picture graphic
        self.bitmap = RPG::Cache.picture(@picture_name)


Cela me permet de vérifier si le nom du fichier comprend "icon"
mais je bloque sur la dernière partie, découper et virer le mot
"icon" afin d'avoir le bon nom de fichier.

Voici aussi la commande en script
$game_screen.pictures[8].show("icon Alc1.png", 1, 320, 240, 100, 100, 255, 0)
Le fichier s'appelle "Alc1.png" le mot "icon " fait office de déclancheur pour la condition include?

Mais dans l'état actuel, je suis bloqué par un
"cannot convert nil into string"
Vous pouvez m'aider ?

Finalement après bidouillage ça marche :

Portion de code : Tout sélectionner

1
2
       if @picture_name.include?("@")
         @picture_name = @picture_name.gsub!(/[@]/,"")[0..50]


cela efface le @ et laisse le bon nom de fichier.


Nagato Yuki - posté le 21/11/2013 à 20:09:44 (351 messages postés)

❤ 0

Une petite info pour toi :
gsub retourne toujours le nouveau string.
gsub! retourne le string si et seulement si il a été modifié, c'est pensé pour être utilisé de la sorte :

Portion de code : Tout sélectionner

1
2
3
4
5
6
is_an_icon=@picture_name.gsub!("icon "){nil}
if is_an_icon
  print "Le fichier est une icone !"
else
  print "Le fichier n'est pas une icone :("
end


En gros, la méthode gsub! modifie le string sur lequel on appelle la méthode et n'en crée pas un.
Pour ton code, je te conseillerais plutôt de faire :
@picture_name.sub!("icon "){nil}

sub supprime uniquement la première instance "icon " qu'il voit, par contre, si la méthode est plusieurs fois appelée, ça risque de supprimer tous les "icon " que le string contient :b

Edit : D'ailleurs pour que ton code fonctionne en toute circonstances (je viens de le relire xD)

Portion de code : Tout sélectionner

1
2
3
4
if @picture_name.include?("icon ")
        self.bitmap = RPG::Cache.icon(@picture_name.sub("icon ","")) 
       else
        self.bitmap = RPG::Cache.picture(@picture_name)



Pokémon Workshop, le site de Making Pokémon sur RPG Maker~


hassen - posté le 26/11/2013 à 22:01:05 (580 messages postés)

❤ 0

Alien

Ahh...moi jai une question pas conne du tout a moins d'étre un bon scripteur.
Support : RMXP

Question : Je cherche depuis longtemps un script pour l'éffet du zoom in et out, jai trouvé le zoom mais pour le faire fonctionner ça marche pas, posté mon probléme dans un autre site pour plus de détails si quelqun peut vraiment m'aider svp !!
http://forum.eclipso.fr/viewtopic.php?f=57&t=1599

School Urban Legends


Dyeel - posté le 26/11/2013 à 22:59:51 (200 messages postés)

❤ 0

Hassen, je viens de tester, il n'y a pas qu'une seule ligne qui bugue. Je sais pas qui a codé ça, mais le scripteur a fait plein de calculs en "oubliant" de mettre les + et les -.

A chaque ligne qui contiendra une erreur, c'est parce qu'il y a un espace au lieu d'un + ou d'un -.

Par exemple à la ligne 137 (premier bug), tu peux voir "@display_y distance" au début, donc le gars essaie de faire un calcul avec les valeurs "@display_y" et "distance". En te basant sur les lignes plus bas, c'est sûrement une soustraction, donc mets @display_y - distance et ça réparera l'erreur.

Mais il y en a beaucoup d'autres, et parfois plusieurs par ligne... Donc il va falloir faire des tests et mettre des + et des - un peu partout. Comme je sais pas ce qu'il veut calculer exactement, j'ai pas le courage de tout chercher. Mais je t'ai mis sur la piste.

Si tu veux une version sans bug, j'en ai une avec des - à chaque erreur, mais y a de bonnes chances pour que les calculs soient faux du coup.
Puis j'ai pas les SDK qui vont avec, donc je te laisse chercher.

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
=begin
    ==============================================================================
    ** Map_Zoom
    ------------------------------------------------------------------------------
    Trebor777
    Version 1.1
    14/06/2007
    ------------------------------------------------------------------------------
    * Description FR:
 
    Ce script permet d'effectuer des zoom in et zoom out sur un point pr?cis de
    la map.
 
    * Description US:
 
    This script allow you to zoom in or out on a specific map location.
 
    ------------------------------------------------------------------------------
    * Instructions FR:
 
    Placer le Script sous le SDK et au dessus de Main.
    Utiliser 1 des 2 commandes dans un script ou un ?v?nement "appeler un script":
    . $game_map.start_zoom(x,y,coef,spd)
    . $scene.zoom(x,y,coef,spd) #avec $scene une instance de Scene_Map
 
    x et y: Coordonn?es(pas en pixel) du point ? zoomer/d?zoomer
    coef : Valeur du zoom ? atteindre de 0.1, ? l'infini
    spd : Vitesse du zoom, la variation est bas?e sur le calcul suivant:
    0.2*spd
 
    * Instructions US:
 
    Place The Script Below the SDK and Above Main.
    Use 1 of this 2 command in a script or with the event command "Call a script":
    . $game_map.start_zoom(x,y,coef,spd)
    . $scene.zoom(x,y,coef,spd) #with $scene a Scene_Map instance
 
    x & y: Target Location(not inpixel)to zoom in/out
    coef : Zoom value to reach from 0.1, to infinite
    spd : Zoom speed, the fluctuation is based on this formula: 0.2*spd
 
    Version 1.1
    Code adapted to the new tilemap class.
    ==============================================================================
=end
    #------------------------------------------------------------------------------
    # * SDK Log Script
    #------------------------------------------------------------------------------
    SDK.log('Map_Zoom', 'Trebor777', 1.1, '14-06-2007')
 
    #------------------------------------------------------------------------------
    # * Begin SDK Enable Test
    #------------------------------------------------------------------------------
    if SDK.state('Map_Zoom') and SDK.state('Tilemap')
 
    #==============================================================================
    # ** Spriteset_Map
    #==============================================================================
    class Spriteset_Map
    def update_character_sprites
    # Update character sprites
    for sprite in @character_sprites
    sprite.zoom_x=$game_map.tilemap_settings.zoom_x
    sprite.zoom_y=$game_map.tilemap_settings.zoom_y
    sprite.update
    end
    end
    end
    #==============================================================================
    # ** Scene_Map
    #==============================================================================
    class Scene_Map
    def zoom(x,y,coef,spd)
    if !$game_map.zooming?
    $game_map.start_zoom(x,y,coef,spd)
    end
    end
    end
    #==============================================================================
    # ** Game_Map
    #==============================================================================
    class Game_Map
    #--------------------------------------------------------------------------
    alias zoom_setup_scroll setup_scroll
    def setup_scroll
    setup_zoom
    zoom_setup_scroll
    end
    #--------------------------------------------------------------------------
    def setup_zoom
    # Initialize scroll information
    @zoom_rest = 0
    @zoom_speed = 2
    end
    #--------------------------------------------------------------------------
    # * Start Zoom
    # focus : zoom value to reach
    # speed : zoom speed
    #--------------------------------------------------------------------------
    def start_zoom(x,y,focus, speed)
    @x_zoom=x
    @y_zoom=y
    @zoom_rest = (focus-@tilemap_settings.zoom_x).abs
    @zoom_speed = speed*((focus-@tilemap_settings.zoom_x)/@zoom_rest)
    end
    #--------------------------------------------------------------------------
    # * Determine if Scrolling
    #--------------------------------------------------------------------------
    def zooming?
    return @zoom_rest > 0
    end
    #--------------------------------------------------------------------------
    alias zoom_update_scrolling update_scrolling
    def update_scrolling
    update_zooming
    zoom_update_scrolling
    end
    #--------------------------------------------------------------------------
    def update_zooming
    # If zooming
    if @zoom_rest > 0
    # Change from zoom speed to focus in map coordinates
    focus = 0.2 * @zoom_speed
    # Execute zooming
    @tilemap_settings.zoom_x =focus
    @tilemap_settings.zoom_y =focus
    # Subtract focus zoomed
    @zoom_rest -= focus.abs
    $game_player.center(@x_zoom,@y_zoom)
    end
    end
    #--------------------------------------------------------------------------
    # * Scroll Down
    # distance : scroll distance
    #--------------------------------------------------------------------------
    def scroll_down(distance)
    @display_y = [@display_y - distance, (self.height*@tilemap_settings.zoom_y - 15) * 128/tilemap_settings.zoom_y].min
    end
    #--------------------------------------------------------------------------
    # * Scroll Left
    # distance : scroll distance
    #--------------------------------------------------------------------------
    def scroll_left(distance)
    @display_x = [@display_x - distance, 0].max
    end
    #--------------------------------------------------------------------------
    # * Scroll Right
    # distance : scroll distance
    #--------------------------------------------------------------------------
    def scroll_right(distance)
    @display_x = [@display_x - distance, (self.width*@tilemap_settings.zoom_x - 20) * 128/tilemap_settings.zoom_x].min
    end
    #--------------------------------------------------------------------------
    # * Scroll Up
    # distance : scroll distance
    #--------------------------------------------------------------------------
    def scroll_up(distance)
    @display_y = [@display_y - distance, 0].max
    end
    end
    #==============================================================================
    # ** Game_Character
    #==============================================================================
    class Game_Character
    #--------------------------------------------------------------------------
    # * Get Screen X-Coordinates
    #--------------------------------------------------------------------------
    def screen_x
    # Get screen coordinates from real coordinates and map display position
    #return (@real_x) / 4 # 16
    return (@real_x-$game_map.display_x-3*$game_map.tilemap_settings.zoom_x)/(4*$game_map.tilemap_settings.zoom_x-16*$game_map.tilemap_settings.zoom_x)
    end
    #--------------------------------------------------------------------------
    # * Get Screen Y-Coordinates
    #--------------------------------------------------------------------------
    def screen_y
    # Get screen coordinates from real coordinates and map display position
    y = (@real_y-$game_map.display_y-3*$game_map.tilemap_settings.zoom_y)/(4*$game_map.tilemap_settings.zoom_y-32*$game_map.tilemap_settings.zoom_y)
    # Make y-coordinate smaller via jump count
    if @jump_count >= @jump_peak
    n = @jump_count - @jump_peak
    else
    n = @jump_peak - @jump_count
    end
    return y - (@jump_peak * @jump_peak - n * n) / 2
    end
    #--------------------------------------------------------------------------
    # * Get Screen Z-Coordinates
    #--------------------------------------------------------------------------
    def screen_z(height = 0)
    # If display flag on closest surface is ON
    if @always_on_top
    # 999, unconditional
    return 999
    end
    # Get screen coordinates from real coordinates and map display position
    z = (@real_y-$game_map.display_y-3*$game_map.tilemap_settings.zoom_y)/(4*$game_map.tilemap_settings.zoom_y-32*$game_map.tilemap_settings.zoom_y)
    # If tile
    if @tile_id > 0
    # Add tile priority * 32
    return z $game_map.priorities[@tile_id] * 32*$game_map.tilemap_settings.zoom_y
    # If character
    else
    # If height exceeds 32, then add 31
    return z ((height > 32) ? 31 : 0)
    end
    end
    end
    #==============================================================================
    # ** Game_Player
    #==============================================================================
    class Game_Player < Game_Character
    @center_x= CENTER_X # Center screen x-coordinate * 4
    @center_y = CENTER_Y # Center screen y-coordinate * 4
    #--------------------------------------------------------------------------
    # * Scroll Down
    #--------------------------------------------------------------------------
    def update_scroll_down(last_real_y)
    # If character moves down and is positioned lower than the center
    # of the screen
    if @real_y > last_real_y and @real_y - $game_map.display_y > @center_y
    # Scroll map down
    $game_map.scroll_down(@real_y - last_real_y)
    end
    end
    #--------------------------------------------------------------------------
    # * Scroll Left
    #--------------------------------------------------------------------------
    def update_scroll_left(last_real_x)
    # If character moves left and is positioned more let on-screen than
    # center
    if @real_x < last_real_x and @real_x - $game_map.display_x < @center_x
    # Scroll map left
    $game_map.scroll_left(last_real_x - @real_x)
    end
    end
    #--------------------------------------------------------------------------
    # * Scroll Right
    #--------------------------------------------------------------------------
    def update_scroll_right(last_real_x)
    # If character moves right and is positioned more right on-screen than
    # center
    if @real_x > last_real_x and @real_x - $game_map.display_x > @center_x
    # Scroll map right
    $game_map.scroll_right(@real_x - last_real_x)
    end
    end
    #--------------------------------------------------------------------------
    # * Scroll Up
    #--------------------------------------------------------------------------
    def update_scroll_up(last_real_y)
    # If character moves up and is positioned higher than the center
    # of the screen
    if @real_y < last_real_y and @real_y - $game_map.display_y < @center_y
    # Scroll map up
    $game_map.scroll_up(last_real_y - @real_y)
    end
    end
    #--------------------------------------------------------------------------
    # * Set Map Display Position to Center of Screen
    #--------------------------------------------------------------------------
    def center(x, y)
    @center_x= (320/$game_map.tilemap_settings.zoom_x - 16) * 4 # Center screen x-coordinate * 4
    @center_y = (240/$game_map.tilemap_settings.zoom_y - 16) * 4 # Center screen y-coordinate * 4
    max_x = ($game_map.width*$game_map.tilemap_settings.zoom_x - 20) * 128/$game_map.tilemap_settings.zoom_x
    max_y = ($game_map.height*$game_map.tilemap_settings.zoom_y - 15) * 128/$game_map.tilemap_settings.zoom_y
    $game_map.display_x = ([0, [x * 128 - @center_x, max_x].min].max)
    $game_map.display_y = ([0, [y * 128 - @center_y, max_y].min].max)
    end
    end
    #--------------------------------------------------------------------------
    # * End SDK Enable Test
    #--------------------------------------------------------------------------
    end
 




cantarelle - posté le 28/11/2013 à 13:36:07 (1530 messages postés)

❤ 0

Makeuse tarée et Agent du FBI...

Support : RMXP

Question :

Bonjour,

Quelle est la ligne de commande pour lire en script un event commun ?

Merci d'avance.

Makeuse à la crosse de street-hockey. Livestream.


Dyeel - posté le 28/11/2013 à 14:10:56 (200 messages postés)

❤ 0

Salut.

Tout ce qui se passe au niveau des commandes des events (et de leur interprétation) se trouve dans la série des scripts "Interpreter".

Pour appeler un event commun tu peux utiliser la commande :
$game_temp.common_event_id = id_de_l'event_commun

J'espère avoir répondu à ta question.


Lidagan - posté le 06/12/2013 à 23:37:42 (3445 messages postés)

❤ 0

[insert queer propaganda]

Hello,

Je sais que mes questions ont sans doute déjà été posées, mais je suis très mauvais pour chercher sur internet et j'arrive pas à trouver de réponse...
Support : RPG Maker VX Ace
Question 1 : Quelqu'un aurait-il sous le coude un script qui permettrait de faire des combats à la Advance Wars / Final Fantasy Tactics Advance ? Fourni avec un mode d'emploi pour créer ses propres attaques et tout et tout ? ^^"
Question 2 : Je sais même pas si ça relève du script, mais j'aimerais avoir un système quand on monte un niveau, qui permette de choisir quelles compétences on veut apprendre et quelles statistiques on veut augmenter, sans définir soi-même le moment où l'on monte de niveau.

Edit : Question 3 : J'aimerais faire des objets ; un qui a un effet quand on tue un ennemi, et un autre qui a un effet quand on fait une attaque normale, un autre qui a un effet quand on a fait un sort au tour précédent. J'ai pas réussi avec les events donc je suppose qu'il faut passer par les conditions "script"


Cleep - posté le 21/12/2013 à 14:58:51 (60 messages postés)

❤ 0

Ludophile

Bonjour tout le monde, je m'excuse par avance de ma question un peu noob, le fait étant que je suis vraiment une tanche en script :-/

Support : RPG Maker VX Ace. [Résolu]
Voilà, quelqu'un pourrait-il m'indiquer la commande à entrer pour afficher un texte simple (sans fond ni couleur) sur une map et à choisir ses coordonnées ?

Un grand merci à celui qui pourra me répondre.


Sinon Lidagan, pour choisir les statistiques à augmenter lors d'un passage au niveau supérieur, il y a ce script de Mack qui pourrait t'intéresser :

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
#Système de points de caractèristique au level up.
#Mack Avril 2012
 
# <gain_caract> [2,2,2,2,2,2,2,2]
# <cost_caract> [2,2,2,2,2,2,2,2]
 
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================
 $pts = 4
 
class Scene_Level_Up < Scene_MenuBase
  def msg
    s = ["Augmente les HP Max de #{@actor.gain_caract(0)}
Coute : #{@actor.cost_caract(0)}",
    "Augmente les MP Max de #{@actor.gain_caract(1)}
Coute : #{@actor.cost_caract(1)}",
    "Augmente la Force de #{@actor.gain_caract(2)}
Coute : #{@actor.cost_caract(2)}",
    "Augmente la Defense de #{@actor.gain_caract(3)}
Coute : #{@actor.cost_caract(3)}",
    "Augmente la Magie de #{@actor.gain_caract(4)}
Coute : #{@actor.cost_caract(4)}",
    "Augmente la Défense Magique de #{@actor.gain_caract(5)}
Coute : #{@actor.cost_caract(5)}",
    "Augmente l'Agilité de #{@actor.gain_caract(6)}
Coute : #{@actor.cost_caract(6)}",
    "Augmente la Chance de #{@actor.gain_caract(7)}
Coute : #{@actor.cost_caract(7)}"]
    return s
  end
  #--------------------------------------------------------------------------
  # * Start Processing
  #--------------------------------------------------------------------------
  def start
    super
    @actor = $game_temp.actor_level_up[0]
    create_help_window
    create_command_window
    @help_window.set_text(msg[@command_window.index])
    create_status_window
    $game_temp.actor_level_up.delete_at(0)
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_Level_upCommand.new
    @command_window.set_handler(:gain_param,      method(:command_gain_param))
    @command_window.set_handler(:retour,    method(:command_return))
    @command_window.y = @help_window.height
  end
  def command_return
    if @actor.level_up_pts > 0
      @help_window.set_text("Il vous reste des points à distribuer.")
      wait(30)
      @command_window.activate
    else
      return_scene
    end
  end
  def create_status_window
    @status_window = Window_Status_Level_up.new(@actor)
    @status_window.x = @command_window.width
    @status_window.y = @help_window.height
  end
  def command_gain_param
    index = @command_window.index
    @command_window.refresh
    if @actor.level_up_pts >= @actor.cost_caract(index)
      @actor.gain_lvl_pts(-@actor.cost_caract(index))
      @actor.add_param(index,@actor.gain_caract(index))
      @help_window.set_text("Caractéristique augmentée !")
    else
      @help_window.set_text("Vous n'avez pas assez de points.")
    end
    @status_window.refresh
    @command_window.refresh
    wait(30)
    @command_window.activate
  end
  def wait(time)
    t = 0
    loop do 
      Graphics.update
      if t == time 
        break
      end
      t += 1
    end
  end
  def update
    super
    @help_window.set_text(msg[@command_window.index])
  end
  def on_actor_change
    @status_window.actor = @actor
    @status_window.refresh
    @command_window.activate
  end
end
class Scene_Map < Scene_Base
  alias old_update update
  def update
    old_update
    if $game_temp.actor_level_up[0]
      SceneManager.call(Scene_Level_Up)
    end
  end
end
class Game_Actor < Game_Battler
  attr_reader :level_up_pts
  alias old_initialize initialize
  def initialize(actor_id)
    old_initialize(actor_id)
    @level_up_pts = 0
  end
  def gain_caract(param)
    tbl = [1,1,1,1,1,1,1,1]
    note = $data_classes[@class_id].note
    note.each_line do |line|
      if line.include?("<gain_caract>")
        line2 = line.gsub!("<gain_caract> ","")
        tbl = eval(line2)
      end
    end
    return tbl[param]
  end
  def cost_caract(param)
    tbl = [1,1,1,1,1,1,1,1]
    note = $data_classes[@class_id].note
    note.each_line do |line|
      if line.include?("<cost_caract>")
        line2 = line.gsub!("<cost_caract> ","")
        tbl = eval(line2)
      end
    end
    return tbl[param]
  end
  def gain_lvl_pts(value)
    @level_up_pts += value
    if @level_up_pts < 0
      @level_up_pts = 0
    end
  end
  def param_base(param_id)
    return self.class.params[param_id, 1]
  end
  def level_up
    @level += 1
    $game_temp.actor_level_up.push(self) unless $game_temp.actor_level_up.include?(self)
    self.class.learnings.each do |learning|
      learn_skill(learning.skill_id) if learning.level == @level
    end
    gain_lvl_pts($pts)
  end
end
 
class Game_Temp
  attr_accessor :actor_level_up
  alias old_initialize initialize
  def initialize
    old_initialize
    @actor_level_up = []
  end
end
 
 
#==============================================================================
# ** Window_MenuCommand
#------------------------------------------------------------------------------
#  This command window appears on the menu screen.
#==============================================================================
 
class Window_Level_upCommand < Window_Command
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @actor = $game_temp.actor_level_up[0]
    super(0, 0)
    @@last_command_symbol = nil
    select_last
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return 160
  end
  #--------------------------------------------------------------------------
  # * Get Number of Lines to Show
  #--------------------------------------------------------------------------
  def visible_line_number
    item_max
  end
  #--------------------------------------------------------------------------
  # * Create Command List
  #--------------------------------------------------------------------------
  def make_command_list
    add_main_commands
  end
  #--------------------------------------------------------------------------
  # * Add Main Commands to List
  #--------------------------------------------------------------------------
  def add_main_commands
    add_command(Vocab::param(0),  :gain_param,  true)
    add_command(Vocab::param(1),  :gain_param,  true)
    add_command(Vocab::param(2),  :gain_param,  true)
    add_command(Vocab::param(3),  :gain_param,  true)
    add_command(Vocab::param(4),  :gain_param,  true)
    add_command(Vocab::param(5),  :gain_param,  true)
    add_command(Vocab::param(6),  :gain_param,  true)
    add_command(Vocab::param(7),  :gain_param,  true)
    add_command("Suivant"       ,  :retour    ,  @actor.level_up_pts <= 0)
  end
  #--------------------------------------------------------------------------
  # * Processing When OK Button Is Pressed
  #--------------------------------------------------------------------------
  def process_ok
    @@last_command_symbol = current_symbol
    super
  end
  def select_last
    select_symbol(@@last_command_symbol)
  end
end
 
#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
#  This window displays full status specs on the status screen.
#==============================================================================
 
class Window_Status_Level_up < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 384, 344)
    @actor = actor
    refresh
    activate
  end
  #--------------------------------------------------------------------------
  # * Set Actor
  #--------------------------------------------------------------------------
  def actor=(actor)
    return if @actor == actor
    @actor = actor
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    draw_block1(line_height * 1)
    draw_block2(line_height * 1)
    draw_block3(line_height * 3)
    draw_actor_name(@actor, 4, line_height * 0 )
  end
  def draw_block1(y)
    draw_actor_face(@actor, 192+32, y)
    #draw_actor_class(@actor, 128, y)
    #draw_actor_nickname(@actor, 288, y)
  end
  #--------------------------------------------------------------------------
  # * Draw Block 2
  #--------------------------------------------------------------------------
  def draw_block2(y)
    draw_basic_info(32, y)
    draw_exp_info(4, y+line_height * 8)
  end
 
  #--------------------------------------------------------------------------
  # * Draw Block 3
  #--------------------------------------------------------------------------
  def draw_block3(y)
    draw_parameters(32, y)
  end
  #--------------------------------------------------------------------------
  # * Draw Horizontal Line
  #--------------------------------------------------------------------------
  def draw_horz_line(y)
    line_y = y + line_height / 2 - 1
    contents.fill_rect(0, line_y, contents_width, 2, line_color)
  end
  #--------------------------------------------------------------------------
  # * Get Color of Horizontal Line
  #--------------------------------------------------------------------------
  def line_color
    color = normal_color
    color.alpha = 48
    color
  end
  #--------------------------------------------------------------------------
  # * Draw Experience Information
  #--------------------------------------------------------------------------
  def draw_exp_info(x, y)
    s1 = @actor.max_level? ? "-------" : @actor.exp
    s2 = @actor.max_level? ? "-------" : @actor.next_level_exp - @actor.exp
    s_next = sprintf(Vocab::ExpNext, Vocab::level)
    change_color(system_color)
    draw_text(x, y + line_height * 0, 180, line_height, Vocab::ExpTotal)
    draw_text(x, y + line_height * 2, 180, line_height, s_next)
    change_color(normal_color)
    draw_text(x, y + line_height * 1, 180, line_height, s1, 2)
    draw_text(x, y + line_height * 3, 180, line_height, s2, 2)
  end
  #--------------------------------------------------------------------------
  # * Draw Parameters
  #--------------------------------------------------------------------------
  def draw_parameters(x, y)
    6.times {|i| draw_actor_param(@actor, x, y + line_height * i, i + 2) }
  end
  #--------------------------------------------------------------------------
  # * Draw Basic Information
  #--------------------------------------------------------------------------
  def draw_basic_info(x, y)
    draw_actor_level(@actor, x+200, y + line_height * 5)
    draw_level_up_pts(x+200, y + line_height * 7)
    #draw_actor_icons(@actor, x, y + line_height * 1)
    draw_actor_hp(@actor, x, y + line_height * 0)
    draw_actor_mp(@actor, x, y + line_height * 1)
  end
  def draw_level_up_pts(x,y)
    draw_text(x,y,200,24,"Points : " + @actor.level_up_pts.to_s)
  end
end


Par contre pour tes autres questions je ne saurais pas t'aider, désolé :(


Grim - posté le 21/12/2013 à 15:45:24 (251 messages postés)

❤ 0

Cleep > Il faut instancier un Sprite, lui assigner un Bitmap et écrire sur le Bitmap. Sinon tu peux te servir de ce script : http://www.biloucorp.com/levent-extender--3 et te servir de la commande picture_text dont tu peux trouver la documentation ici :
http://eventextender.gri.im/doc.pdf à la fin de la page 44 ;)

http://funkywork.github.io/


Cleep - posté le 21/12/2013 à 17:29:19 (60 messages postés)

❤ 0

Ludophile

Merci de ton aide Grim, j'ai compris comment faire ! :sourit


Slime55 - posté le 25/12/2013 à 01:08:04 (442 messages postés)

❤ 0

Support : RMVX Ace

Question 1 :
Bonsoir, j'utilise le script de Sideview battle system de Monos, il ne comprends aucune autre options en plus et c'est ce qui me satisfait, hormis une seule petite option ... Je voudrais que les battlers fassent une petite loop de leurs animations, rien de bien méchant, juste une animation de 3 frame. Et cela dans tous les cas, je ne demande pas de changement d'animation lorsqu'ils frappent, reçoivent des dégâts ou quoique ce soit d'autre, juste une petite boucle d'animation qui permettrait aux battlers de ne pas rester si statique. Serait-il donc possible d'intégrer cette option à ce script où faudra-t-il en faire un nouveau ? Voici le script en question.

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
=begin
Basic Side View Battle Script
by Fomar0153
Version 1.0
----------------------
Notes
----------------------
No requirements
Displays battlers for the player's party.
----------------------
Instructions
----------------------
You will need to import battlers for the party to use
they should be named like this:
name_battler
e.g.
Ralph_battler
----------------------
Known bugs
----------------------
None
=end
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● New Method battler_name
  #--------------------------------------------------------------------------
  def battler_name
    return actor.name + "_battler"
  end
  #--------------------------------------------------------------------------
  # ● Rewrites use_sprite?
  #--------------------------------------------------------------------------
  def use_sprite?
    return true
  end
  #--------------------------------------------------------------------------
  # ● New Method screen_x
  #--------------------------------------------------------------------------
  def screen_x
    return 450
  end
  #--------------------------------------------------------------------------
  # ● New Method screen_y
  #--------------------------------------------------------------------------
  def screen_y
    return 120 + self.index * 40
  end
  #--------------------------------------------------------------------------
  # ● New Method screen_z
  #--------------------------------------------------------------------------
  def screen_z
    return 100
  end
end
 
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ● Rewrites create_actors
  #--------------------------------------------------------------------------
  def create_actors
    @actor_sprites = $game_party.battle_members.reverse.collect do |actor|
      Sprite_Battler.new(@viewport1, actor)
    end
  end
end


Merci à ceux qui me répondront


Chaös17 - posté le 28/12/2013 à 19:01:28 (868 messages postés)

❤ 0

Salut,

Support : RM vx Ace

Question 1 : résolu par Nagato Yuki
J'aimerai savoir s'il est possible de récupérer les coordonnées de l'ennemi dans l'onglet "troop" de la base de données ?

Blog of Chaos17


Nagato Yuki - posté le 28/12/2013 à 21:56:36 (351 messages postés)

❤ 0

$data_troops[id].members[n].x et $data_troops[id].members[n].y
id doit certainement être l'id dans la base de données (1 pour 001) et n c'est le n[sup]ème[/sup] ennemy que tu veux, attention, tu dois vérifier que $data_troops[id].members[n] existe avant d'appeler la méthode x ou y.

«$data_troops = load_data("Data/Troops.rvdata2")»
http://puu.sh/61B1M.png
http://puu.sh/61B38.png

Si t'as l'aide en français ou en anglais, ça pourra t'être très utile dans tous ce qui est base de données du logiciel, tout y est, tout.

Pokémon Workshop, le site de Making Pokémon sur RPG Maker~


Yamashi54 - posté le 29/12/2013 à 00:57:45 (266 messages postés)

❤ 0

Germanophile en folie poétique

Coucou

Support : RPG Maker VXace

Question 1 : Résolu par Cleep Merci beaucoup!

Question 2 : J'aimerais également ajouter des icônes à côté des différentes options dans le menu pause.

Merci d'avance :clindoeil3 .

I want you for the bed.


Cleep - posté le 29/12/2013 à 12:39:54 (60 messages postés)

❤ 0

Ludophile

Yamashi54 : Je ne sais pas du tout comment ajouter des icônes sur le menu, mais pour y afficher le temps de jeu il y a ce script :

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
#==============================================================================
# ** Window Time
#------------------------------------------------------------------------------
#  Display Game Time
#==============================================================================
class Window_PlayTime < Window_Base
  def initialize(x, y)
        super(x, y, 160, 60)
        self.contents.font.bold = true
        self.contents.font.size = 25
        self.contents.font.color = normal_color
        refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
        self.contents.clear
        @total_sec = Graphics.frame_count / Graphics.frame_rate
        hour = @total_sec / 60 / 60
        min = @total_sec / 60 % 60
        sec = @total_sec % 60
        ptime = sprintf("%02d:%02d:%02d", hour, min, sec)
        self.contents.draw_text(4, 0, contents.width - 8, contents.height - 4, "Temps : " + ptime, 2)
  end
 
  def update
        super
        if Graphics.frame_count / Graphics.frame_rate != @total_sec
          refresh
        end
  end
end
 
class Scene_Menu < Scene_MenuBase
 
  #--------------------------------------------------------------------------
  # ● start
  #--------------------------------------------------------------------------
  alias flip_playtime_start start
  def start
        flip_playtime_start
        create_playtime_window
  end
 
  #--------------------------------------------------------------------------
  # ● create Playtime Window
  #--------------------------------------------------------------------------
  def create_playtime_window
        @playtime_window = Window_PlayTime.new(0, 308)
  end
end



Aller à la page 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

Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!

repondre up

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 | 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