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

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

597 connectés actuellement

30729211 visiteurs
depuis l'ouverture

2828 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Lumen

Le Temple de Valor

Leo-Games

Eclipso

Tous nos partenaires

Devenir
partenaire



Compteurs

[Aide au développeur] Ajoute des fonctionnalités aux commandes événementielles, ici les compteurs (chronomètre, décompte d'objets, d'argent...).

Script pour RPG Maker XP
Ecrit par roys
Publié par Roys (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Bonjour

Avec ce script vous pourrez facilement gérer:
- Un compteur de flèche/bombe vec une icone
- Une chronomètre ou décompte
- Des compteur d'argent
etc etc


Ce script vous permettra de créer plusieurs compteurs:
- à l'emplacement que vous voulez sur l'écran
- avec une icone choisie
- avec un texte devant

Le compteur est géré par une variable RMXP que VOUS désignez. Elle est mise à jour automatique dès que vous l'avez créée. Vous pouvez l'effacer à tout moment par une commande simple
Enfin, la sauvergarde est intégrée. C'est à dire que si vous sauvez votre partie, la jauge prendra la place où vous l'avez laissé lors de la sauvegarde. De même la gestion de l'effacement et de l'affichage se fait automatiquement lorsque vous quittez la map vers un menu, ou lorsque vous revenez sur la map

Le script est à placer au-dessus de main.
Des explications sont indiquées en en-tête pour créer votre premièr compteur, lisez-les attentivement.

bon making


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
#============================================================================
# SCRIPT COMPTEUR
# Stephane Roys, Royer
# Fevrier 2007
# Projet: Petite Boite à outils pour aider les event maker
 
# Ce script permet de gèrer en event l'apparition d'un compteur sours forme d'une icone avec un nombre et un titre
 
# 1- Créer un compteur en event
# Faire inserer script: $compteur = Compteur.new(x,y,var,"icone","texte")
# Remplacer $compteur par $le_nom_de_votre_compteur
#           x et y par les coordonnées ecran ou s'affichent votre compteur
#           var par le numéro de votre variable qui contrôle la compteur
#           "icone" par le nom de votre icone que vou savez importé dans le dossier Icons, 
#           texte par un texte entre "guillement" court portant le nom de votre compteur (par ex "Ammo").
# exemple: $ammo=compteur.new(0,0,2,"005-Weapon05","Fleches")
# ici on créé un compteur $ammo qui s'affiche en 0,0 (coin haut gauche)
# , gèrer par la variable002 avec le texte "Fleches" devant
 
# 2- Mise à jour de la compteur
# La mise à jour est automatique, vous n'avez qu'à changer la valeur de la variable de votre compteur
# Ainsi que l'effacement quand vous allez sur votre menu
 
# 3- Effacer une compteur
# Faire simplement $le_nom_de_votre_compteur.off
 
 
# Recommandations à lire
#------------------------
# 1- Vous pouvez changer la taille de la Police et la couleur de tous les compteurs ici:
FONT="Arial"
TAILLE=16
COLOR=Color.new(0,0,0,255)
 
#2- Prenez soin de donner des noms différents à vos compteurs sinon vous risquez d'avoir des conflits
 
#3- Ne crééez pas une compteur en processus parallèle sinon vous allez créér une nouvelle compteur à chaque frame
# jusqu'a ce que RM bug
 
#4- La sauvergarde est comprise dans le script. Donc apres un load votre compteur sera dans l'etat ou il a été sauvé
 
#5- Les compteurs s'effacent tous seul quand vous sortez de la map vers un menu, et il se recrée seul quand vous revenez sur la map
#============================================================================
 
#============================================================================
# COMPTEURS
# Créé le tableau des compteurs de Jeu
#============================================================================
class Game_Party
  attr_accessor:compteurs
  alias compteur_game_party_initialize initialize
  #--------------------------------------------------------------------------
  # INITIALIZE
  #--------------------------------------------------------------------------
  def initialize
    compteur_game_party_initialize
    # Tableau des compteurs
    @compteurs=[]
  end
end
 
#============================================================================
# COMPTEUR
#============================================================================
class Compteur
  
  attr_accessor:x                 # Coordonnées d'affichage
  attr_accessor:y
  attr_accessor:var               # Numéro de la variable RMXP
  attr_accessor:value             # Valeur de la variable RMXP
  attr_accessor:texte             # Texte devant l'icone
  attr_accessor:icone             # nom de l'icone dans le dossier Icons
  attr_accessor:fin_compteur      # Indique la fin du compteur
  
  #--------------------------------------------------------------------------
  # INITIALIZE
  #--------------------------------------------------------------------------
  def initialize(x,y,var,icone,texte)
    @x=x;@y=y;@var=var;@icone=icone;@texte=texte
    @fin_compteur=false
    $game_party.compteurs.push(self)
    @visible=true
    @value=$game_variables[@var]
  end
   
  #--------------------------------------------------------------------------
  # UPDATE
  #--------------------------------------------------------------------------
  def update
    @value=$game_variables[@var]
  end
 
  #--------------------------------------------------------------------------
  # OFF
  # Termine le compteur
  #--------------------------------------------------------------------------
  def off
    @fin_compteur=true
  end
end
 
#============================================================================
# ¦ Spriteset Map
# Mise à jour de la class Spriteset_Map afin de gérer l'affichage graphique
#============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  alias compteur_spriteset_map_initialize initialize
  alias compteurspriteset_map_dispose dispose
  alias compteur_spriteset_map_update update
 
  #--------------------------------------------------------------------------
  # INITIALIZE
  #--------------------------------------------------------------------------
  def initialize
    # Créé les compteurs
    @compteur_sprite=[]
    for compteur in $game_party.compteurs
      setup_compteur(compteur)
    end
    compteur_spriteset_map_initialize
  end
  
  #--------------------------------------------------------------------------
  # SETUP
  #--------------------------------------------------------------------------
  def setup_compteur(compteur)
    # Créé le sprite en fonction de la taille de la police
    sprite=Sprite.new
    sprite.bitmap=Bitmap.new(24+3*TAILLE+compteur.texte.size*TAILLE,[TAILLE,24].max)
    # Récupère l'icone
    bitmap=Bitmap.new(24,24)
    bitmap = RPG::Cache.icon(compteur.icone)
    # Construit le sprite
    sprite.bitmap.blt(compteur.texte.size*TAILLE,0,bitmap,Rect.new(0,0,24,24))
    sprite.bitmap.font.color= Color.new(0,0,0)
    sprite.z = 3000
    sprite.x = compteur.x
    sprite.y = compteur.y
    sprite.bitmap.font.name = FONT  
    sprite.bitmap.font.size = TAILLE
    sprite.bitmap.font.color= COLOR
    sprite.bitmap.draw_text(0,0,compteur.texte.size*TAILLE, [TAILLE,24].max,compteur.texte,0)
    @compteur_sprite.push(sprite)
  end
 
  #--------------------------------------------------------------------------
  # UPDATE
  #--------------------------------------------------------------------------
  def update
    compteur_spriteset_map_update
    #-----------------------------
    # Cherche si une nouvelle compteur a été créée
    for key in @compteur_sprite.size..$game_party.compteurs.size-1
      setup_compteur($game_party.compteurs[key])
    end
    #-----------------------------
    # Update la compteur
    delete_sprite=[]
    delete_compteur=[]
    for key in  0..$game_party.compteurs.size-1
      compteur=$game_party.compteurs[key]
      sprite=@compteur_sprite[key]
      # Récupère la valeur du compteur
      compteur.update
      # Rafraichit le sprite
      sprite.bitmap.clear
      bitmap=Bitmap.new(24,24)
      bitmap = RPG::Cache.icon(compteur.icone)
      # Affiche l'icone
      sprite.bitmap.blt(compteur.texte.size*TAILLE,0,bitmap,Rect.new(0,0,24,24))
      # Affiche le titre
      sprite.bitmap.draw_text(0,0,compteur.texte.size*TAILLE, [TAILLE,24].max,compteur.texte,1)
      # Affiche le Compteur
      sprite.bitmap.draw_text(compteur.texte.size*TAILLE+24,0,compteur.texte.size*TAILLE, [TAILLE,24].max,compteur.value.to_s,1)
      # Observe si la compteur est disposée
      if compteur.fin_compteur
        delete_sprite.push(sprite)
        delete_compteur.push(compteur)
      end
    end
    #-----------------------------
    # Dispose la compteur
    for sprite in delete_sprite
      sprite.dispose
      @compteur_sprite.delete(sprite)
    end
    for compteur in delete_compteur
      $game_party.compteurs.delete(compteur)
    end
  end
 
  #--------------------------------------------------------------------------
  # DISPOSE
  #--------------------------------------------------------------------------
  def dispose
    compteur_spriteset_map_dispose
    for sprite in @compteur_sprite
      sprite.dispose
    end
  end
end







Exemples - posté le 29/12/2009 à 16:26:24 (2021 messages postés)

❤ 0

Pff.

yan master, sa sert a rien de critiquer comme ça si t'es pas capable de mieux faire :doute1 et puis tu dis pas pourquoi tu le trouve nul...
Enfin bref, sa m'énèrve e voir des gens critiquer les scripts des autres alors qu'ils essaient de nous aider.

Bouh.


Heavy Rain - posté le 09/07/2010 à 15:22:27 (1053 messages postés)

❤ 0

Donne nous un "exemples" XD
Nn, mais je suis d'accord avec toi tkt ^^


Starlight-Ex - posté le 08/12/2011 à 11:42:44 (251 messages postés)

❤ 0

Tiens, je ne l'avais pas vu celui là, je vais tester, ça pourrait 'être utile parce que moi les compteurs je les fais en prog event et c'est assez ..laborieux..
Merci : )

Edit
Après test, il fonctionne très bien.
Cependant j'ai noté qq règles à respecter pour que ça fonctionne.

1 : l'icone doit respecter les dimensions d'origine 24*24
2 : si on ne veut pas mettre de nom
$argent = Compteur.new(x,y,100,"nom_de_l_icone","") ne fonctionnera pas et seul l'icone apparaît.

Il faut mettre un espace à la place du nom, comme ceci
$argent = Compteur.new(x,y,100,"nom_de_l_icone"," ")
Et là ça fonctionne parfaitement.

"Link, le héros du temps, sauveur de Kokolint..." vaincu par une...pierre !


catskart - posté le 20/07/2015 à 15:58:40 (172 messages postés)

❤ 0

Bonjours Roys, je ne sais pas si vous êtes encore ici mais je vais étaler mon problème.

Quand j'affiche une variable le jeu lag beaucoup sur mon ordinateur, et j'aimerais savoir pourquoi ?

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