RPG Creator : créez votre MMORPG ou RPG sans aucune connaissance en programmation


Disponible le 4 Juin !




- Jouez à votre jeu sur tablettes tactiles, Smartphones et navigateurs Web
- Personnalisez vos menus
- Dessinez facilement et rapidement vos cartes
- Créez des actions pour le combat A-RPG


www.rpgcreator.net


Heures au format UTC + 1 heure [ Heure d’été ]


Règles du forum


Consultez la liste des Scripts : cliquez ici



Publier un nouveau sujet Répondre au sujet  [ 4 messages ] 
Auteur Message
 Sujet du message: [Ruby pour Event Maker] Un compteur
MessagePublié: 15 Mar 2007, 05:49 
Ancien membre du staff
Ancien membre du staff
Avatar de l’utilisateur

Inscrit le: 15 Sep 2006, 00:00
Messages: 2603
Points d'aide: 35/60

Créations :

Voir ses créations

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'ecran
- avec une icone choisie
- avec un texte devant

Le compteur est géré par une variable RPG Maker XP 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

Voici le script appelez le Compteur et mettez le 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


Code: Tout sélectionner
#============================================================================
# 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 RPG Maker XP
  attr_accessor:value             # Valeur de la variable RPG Maker XP
  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 compteur_spriteset_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


Enfin, un screen pour avoir un exemple
Image

_________________
Image
Website

Please votez pour moi
http://www.indiedb.com/games/the-fall-of-gods-chapter-1


Haut
 Profil  
 
 Sujet du message: Re: [Ruby pour Event Maker] Un compteur
MessagePublié: 23 Juin 2009, 18:52 
Membre VIP
Membre VIP

Inscrit le: 04 Mai 2009, 00:00
Messages: 356
Points d'aide: 53/60

Créations :

Voir ses créations

Je sais pas trop de quand date ce post (15 mars de quelle année ?) mais quelqu'un sur Oniro a eu ce petit souci, alors je fais partager...

La ligne
Code: Tout sélectionner
sprite.bitmap.draw_text(compteur.texte.size*TAILLE+24,0,compteur.texte.size*TAILLE, [TAILLE,24].max,compteur.value.to_s,1)

devrait être
Code: Tout sélectionner
sprite.bitmap.draw_text(compteur.texte.size*TAILLE+24,0,compteur.value.size*TAILLE, [TAILLE,24].max,compteur.value.to_s,1)

sinon les compteurs avec de grandes valeurs mais de petits noms risquent de vous manger quelques chiffres.

Il n'a pas été nécessaire de changer le bitmap de départ, mais tant qu'à faire... ^^

> Edit par Samarium : pour afficher l'année, il faut configurer son profil. Ici, on a 2007 ^^. Mais le message est utile donc pas de problème


Haut
 Profil  
 
 Sujet du message: Re: [Ruby pour Event Maker] Un compteur
MessagePublié: 08 Juin 2011, 13:34 
Villageois (Nv 2)

Inscrit le: 16 Avr 2011, 18:42
Messages: 31
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

chez moi ça marche pas :ça me fait ça
??????????NameError???????????????

undefined local variable or method `compteur' for #<Interepreter :0x461d858


Haut
 Profil  
 
 Sujet du message: Re: [Ruby pour Event Maker] Un compteur
MessagePublié: 08 Juin 2011, 13:42 
Artisan (Nv 3)
Avatar de l’utilisateur

Inscrit le: 19 Déc 2010, 14:00
Messages: 155
Localisation: Dijon
Niveau RPG Maker: Correct. (4 ans)
Logiciel(s) préféré(s): RPG Maker 2003
Point(s) Fort(s): Scénario, mise en scène.
Sexe: Masculin
Points d'aide: 1/60

Créations :

- Kikoo Adventure

- Loveless Marvel


Voir ses créations

T'as effectué les changements que propose Lufia juste au-dessus de toi?
Normalement, avec ça, ça marche sans problème.

_________________
Elekami, membre fanatique de RPG Creative depuis Mars 2008.
C´est la critique négative qui fait avancer, et non l´inverse.
LE PALAIS DU MAKING

Forum/Site de création de jeu-vidéo amateur via la gamme de logiciels RPG Maker, depuis plus de trois ans.
Image

Rejoignez la communauté!


Haut
 Profil  
 
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 4 messages ] 

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  
cron
RPG Creative Forum version 5 ; Tous droits réservés
phpBB Group (Traduit par Xaphos)
Optimisé pour une résolution 1024*728