Partagez
Aller en bas
avatar
Anarown
Membre

Nombre de messages : 11
Distinction : aucune
Date d'inscription : 21/12/2014

Résolu [résolu]Lancer un chronomètre

le Lun 22 Déc 2014 - 15:14
Bonjour à tous,

J'aurais voulu savoir comment lancer un chronomètre après le passage d'une porte.
J'ai trouver l'option "Modifier Chronomètre" mais c'est en fait un "Compte-à-rebours" et non un Chronomètre.
En gros, y aurait-il un moyen de lancer un vrai chrono ?


D'avance merci.
avatar
fake66
Membre

Nombre de messages : 61
Age : 31
Localisation : Vendée
Distinction : aucune
Date d'inscription : 17/05/2013

Résolu Re: [résolu]Lancer un chronomètre

le Lun 22 Déc 2014 - 15:54
Non pas en event avec le chronomètre du moins. Tu peut en revanche utiliser une variable et ajouter 1 à cette variable toute les 60 frames (si je ne m'abuse il y a 60 frame par secondes) et tu met ca en boucle. tu fait sortir de la boucle au moment voulus et tu auras ton temps en secondes dans une variable. sachant que lesnombres stocké dans les variable sont affichable dans les textes tu pourras la ressortir.

bonus:
-tu prend ta variable (disons variable 001 et qu'elle est egale à 134)

-tu la divise par 60 et tu met le resultat dans une autre variable.

001 = 134
002 = 2 (ce ne sont que des nombre entier si je me trompe pas.)

-tu multiplie la seconde variable par 60.

002 = 120

-tu retire de la première variable le resultat de la seconde.

001 = 134-120= 14

- tu divise la seconde variable par 60

002= 2

-tu affiche le message suivant "ton temps: \v[002] : \v[001]"
ce qui afficheras "ton temps 2 : 14"
avatar
Anarown
Membre

Nombre de messages : 11
Distinction : aucune
Date d'inscription : 21/12/2014

Résolu Re: [résolu]Lancer un chronomètre

le Lun 22 Déc 2014 - 16:23
Salut et merci pour ton explication, mais je suis vraiment débutant (j'ai commencer hier) et j'ai encore du mal avec les variables.. Donc je vais essayer de trouver de la doc sur le sujet et je reviendrais essayer de déchiffrer le post :p

Je comprend le principe de la variable mais pas l'exemple cité (pourquoi 134 ect.. ?), en gros je cherche juste à lancer un chrono qui s'afficherais dans un des coin supérieur (style "Chronomètre" dans event) mais comme dit plus haut c'est un compte à rebours et non un chrono, y aurait-il moyen d'aller directement modifier le code du Chrono event pour en faire un vrai chrono et non plus un compte à rebours ?
avatar
NewMaker
Membre

Nombre de messages : 42
Localisation : Lunéville/Lorraine/France/Europe/Terre/Système Solaire
Distinction : aucune
Date d'inscription : 18/12/2014

Résolu Re: [résolu]Lancer un chronomètre

le Lun 22 Déc 2014 - 16:52
Coucou,

j'ai modifié un script vite fait maintenant tu peux faire le timer dans les deux sens.
Pour lancer un timer qui va dans l'autre sens c'est simple tu fais appeler un script via événement et tu écris:
$game_timer.start(0, true)
0 c'est le chiffre à partir duquel doit débuter le timer puis ça s'incrémentera tout seul; voilà voilà.


Spoiler:

Code:
#==============================================================================
# ** Game_Timer
#------------------------------------------------------------------------------
#  This class handles timers. Instances of this class are referenced by
# $game_timer.
#==============================================================================

class Game_Timer
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @count = 0
    @working = false
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    if @proc == true # new timer
      @count += 1 if @working
    else # main timer
      if @working && @count > 0
        @count -= 1
        on_expire if @count == 0
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Start
  #--------------------------------------------------------------------------
  def start(count, proc = false)
    @proc = proc # false = main timer // true = new timer
    @proc ? @count = 0 : @count = count
    @working = true
  end
  #--------------------------------------------------------------------------
  # * Stop
  #--------------------------------------------------------------------------
  def stop
    @working = false
  end
  #--------------------------------------------------------------------------
  # * Determine if Working
  #--------------------------------------------------------------------------
  def working?
    @working
  end
  #--------------------------------------------------------------------------
  # * Get Seconds
  #--------------------------------------------------------------------------
  def sec
    @count / Graphics.frame_rate
  end
  #--------------------------------------------------------------------------
  # * Processing When Timer Reaches 0
  #--------------------------------------------------------------------------
  def on_expire
    BattleManager.abort
  end
end
Edit: Faut remplacer le script Game_Timer par celui là.


Dernière édition par NewMaker le Lun 22 Déc 2014 - 17:45, édité 1 fois
avatar
Anarown
Membre

Nombre de messages : 11
Distinction : aucune
Date d'inscription : 21/12/2014

Résolu Re: [résolu]Lancer un chronomètre

le Lun 22 Déc 2014 - 17:43
Tout grand merci NewMaker mais un fois le script ajouter dans éditeur de script en dessous de Materials (est-ce juste), mais comment faire pour l'activer en jeu ?
En gros je fais clique droit sur ma porte et je met quoi comme option, un interrupteur, une variable, autre ?

Encore merci pour l'aide apportée
avatar
NewMaker
Membre

Nombre de messages : 42
Localisation : Lunéville/Lorraine/France/Europe/Terre/Système Solaire
Distinction : aucune
Date d'inscription : 18/12/2014

Résolu Re: [résolu]Lancer un chronomètre

le Lun 22 Déc 2014 - 17:49
De rien, j'avais oublié de mettre les précisions.

Tu vas dans l'éditeur de scripts. Tu cherches Game_Timer, tu le supprimes et le remplace
par le script que je t'ai passé. Pour l'utiliser c'est simple tu créer un nouvel événement puis rendez vous
troisième page: insérer un script et tu écris:
$game_timer.start(0, true)

Puis après tu ajoutes ta sauce ^^" avec les conditions par exemple
si le chrono est > à 1mn faire ceci faire celà.
avatar
Anarown
Membre

Nombre de messages : 11
Distinction : aucune
Date d'inscription : 21/12/2014

Résolu Re: [résolu]Lancer un chronomètre

le Lun 22 Déc 2014 - 17:53
Parfait ça fonctionne nickel, un tout grand merci à toi Smile
avatar
fake66
Membre

Nombre de messages : 61
Age : 31
Localisation : Vendée
Distinction : aucune
Date d'inscription : 17/05/2013

Résolu Re: [résolu]Lancer un chronomètre

le Jeu 25 Déc 2014 - 8:21
Salut. désolé j'avais pas vus les réponses. pour le "134" c'était pour l'exemple. c'était 134 secondes. En script ce seras plus pratique pour toi. Mais si tu débute fait des petits test avec les variables et interrupteurs, ils sont très utiles dans le jeu. bon making Very Happy
Contenu sponsorisé

Résolu Re: [résolu]Lancer un chronomètre

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum