Sujet n°5660
Posté par Denis Bros le 22 Déc - 07:20 (2009)
Titre : Nouvelle version de jour/nuit
bonjour voici la nouvelle version de jour/nuit en temps réel

attention: si vous posseidez le scripte TempsJourNuit sa risque des bug
voici le scripte

vous devez crée un nouveau scripte nommer le Game_Jour/Nuit
Spoiler

Code:


VarNomJour = id #variable des jour de la semaine
VarNuitJour = id #variable de jour/nuit/crépuscuel
SwiExterieur = id #pour activez et desactiver jour/nuit

class Jour_heure
  def initialize
    $exterieur = true
    refresh
  end
  def refresh
    @horloge = Time.new
    @minute = @horloge.min * Graphics.frame_rate
    case @horloge.strftime("%A")
    when "Monday"
      $game_variables[VarNomJour] = "Lundi"
    when "Tuesday"
      $game_variables[VarNomJour] = "Mardi"
    when "Wednesday"
      $game_variables[VarNomJour] = "Mercredi"
    when "Thursday"
      $game_variables[VarNomJour] = "Jeudi"
    when "Friday"
      $game_variables[VarNomJour] = "Vendredi"
    when "Saturday"
      $game_variables[VarNomJour] = "Samdi"
    when "Sunday"
      $game_variables[VarNomJour] = "Dimanche"
    end
    def update
      refresh
    end
    @horloge = Time.new
  if $game_switches[SwiExterieur]
      case @horloge.hour
      when 0
        @tone = Tone.new(-60, -60, -10, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Nuit"
      when 1
        @tone = Tone.new(-60, -60, -10, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Nuit"
      when 2
        @tone = Tone.new(-60, -60, -10, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Nuit"
      when 3
        @tone = Tone.new(-60, -60, -10, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Nuit"
      when 4
        @tone = Tone.new(0, 0, 30, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Matin"
      when 5
        @tone = Tone.new(0, 0, 30, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Matin"
      when 6
        @tone = Tone.new(0, 0, 30, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Matin"
      when 7
        @tone = Tone.new(0, 0, 30, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Matin"
      when 8
        @tone = Tone.new(0, 0, 30, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Matin"
      when 9
        @tone = Tone.new(0, 0, 0, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Jour"
      when 10
        @tone = Tone.new(0, 0, 0, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Jour"
      when 11
        @tone = Tone.new(0, 0, 0, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Jour"
      when 12
        @tone = Tone.new(0, 0, 0, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Jour"
      when 13
        @tone = Tone.new(0, 0, 0, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Jour"
      when 14
        @tone = Tone.new(0, 0, 0, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Jour"
      when 15
        @tone = Tone.new(0, 0, 0, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Jour"
      when 16
        @tone = Tone.new(0, 0, 0, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Jour"
      when 17
        @tone = Tone.new(34, -17, -34, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Crépuscule"
      when 18
        @tone = Tone.new(34, -17, -34, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Crépuscule"
      when 19
        @tone = Tone.new(34, -17, -34, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Crépuscule"
      when 20
        @tone = Tone.new(-60, -60, -10, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Nuit"
      when 21
        @tone = Tone.new(-60, -60, -10, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Nuit"
      when 22
        @tone = Tone.new(-60, -60, -10, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Nuit"
      when 23
        @tone = Tone.new(-60, -60, -10, 0)
        $game_screen.start_tone_change(@tone,5)
        $game_variables[VarNuitJour] = "Nuit"
      end
    else
      @tone = Tone.new(0, 0, 0, 0)
      $game_screen.start_tone_change(@tone,10)
      case @horloge.hour
      when 0
        $game_variables[VarNuitJour] = "Nuit"
      when 1
        $game_variables[VarNuitJour] = "Nuit"
      when 2
        $game_variables[VarNuitJour] = "Nuit"
      when 3
        $game_variables[VarNuitJour] = "Nuit"
      when 4
        $game_variables[VarNuitJour] = "Matin"
      when 5
        $game_variables[VarNuitJour] = "Matin"
      when 6
        $game_variables[VarNuitJour] = "Matin"
      when 7
        $game_variables[VarNuitJour] = "Matin"
      when 8
        $game_variables[VarNuitJour] = "Matin"
      when 9
        $game_variables[VarNuitJour] = "Jour"
      when 10
        $game_variables[VarNuitJour] = "Jour"
      when 11
        $game_variables[VarNuitJour] = "Jour"
      when 12
        $game_variables[VarNuitJour] = "Jour"
      when 13
        $game_variables[VarNuitJour] = "Jour"
      when 14
        $game_variables[VarNuitJour] = "Jour"
      when 15
        $game_variables[VarNuitJour] = "Jour"
      when 16
        $game_variables[VarNuitJour] = "Jour"
      when 17
        $game_variables[VarNuitJour] = "Crépuscule"
      when 18
        $game_variables[VarNuitJour] = "Crépuscule"
      when 19
        $game_variables[VarNuitJour] = "Crépuscule"
      when 20
        $game_variables[VarNuitJour] = "Nuit"
      when 21
        $game_variables[VarNuitJour] = "Nuit"
      when 22
        $game_variables[VarNuitJour] = "Nuit"
      when 23
        $game_variables[VarNuitJour] = "Nuit"
      end
    end
  end
  def update
    refresh
  end
end

class Scene_Map
 
  alias old_main main
  def main
    @jh = Jour_heure.new
    old_main
  end
 
  alias old_update update
  def update
    @jh.update
    old_update
  end
 
end 




replacer les 2 premier id par des ids variable que vous voulez
attention les ids ne doive pas être pareille
le 3e id mettez l'id d'un interrupteur pour activer et désactiver pour l'intérieur

ensuite mettez ceci dans scene_map à la ligne 53 c'est va géré le temps pour les événement

Spoiler

Code:


      hour = Time.new.hour     
      $game_variables[id] = hour #heure
      minute = Time.new.min
      $game_variables[id] = minute #minute
      second = Time.new.sec
      $game_variables[id] = second #seconde
      date = Time.new.day
      $game_variables[id] = date #date
      month = Time.new.month
      $game_variables[id] = month #mois
      year = Time.new.year
      $game_variables[id] = year #année




ce nouveau scripte a pour le même effet que l'ancien sauf qui y a l'horloge en mion et il ne lague pas

maintenent les variable

lorsque vous voulez programmer un évent temporel vous devez mètre dans votre condition la variable du temps au quel vous voulez avec seconde, minute, heure, date, mois et l'année que vous voulez auquel vous voulez l'enclenché

pour les jour de la semaine vous devez mètre dans la condition ce scripte
Code:


$game_variables[id] == "le nom du jour de la semaine" 


le id vous devez mètre le id de la variable du jour de la semain que vais avez programer

exemple: $game_variables[20] == "Mercredi"

cela aura pour effet d'enclencher un truc le mercredi

pour ce qui est du temps Matin/jour/nuit/crépuscule

vous devez metre la même chose sauf que pour l'id vous devez mètre l'id de la variable Jour/nuit/crépuscule

exemple:$game_variables[21] == "Matin"

cela aura effet d'enclencher un truc le matin

"SwiExterieur =" sert a activer le jour/nuit pour l'id vous devez mètre un id d'interrupteur. pour activer/désactiver

remarque: ce scripte n'influe en rien sur les évolutions des pokémon vous devez le trouvez par vous même.

voila bon jeu.

Posté par Ace Attorney Man le 22 Déc - 13:01 (2009)
Franchement, les systèmes jours/nuits, même en temps réel,  sont faisables en event facilement et sans laguer.

Posté par Denis Bros le 22 Déc - 13:29 (2009)
et ben si t'es pas content vas voir ailleurs ok tu me gave

Posté par Ace Attorney Man le 22 Déc - 21:56 (2009)
... Non, je ne fais que critiquer ! Nonmé !

Posté par og_loc-TATOO le 22 Déc - 23:34 (2009)
Ace Attorney Man a écrit:

Franchement, les systèmes jours/nuits, même en temps réel,  sont faisables en event facilement et sans laguer.



Denis Bros a écrit:

et ben si t'es pas content vas voir ailleurs ok tu me gave



Ace Attorney Man a écrit:

... Non, je ne fais que critiquer ! Nonmé !

lol

Posté par Ace Attorney Man le 23 Déc - 03:49 (2009)
Quoi "lol" ?

Posté par Lén le 23 Déc - 04:19 (2009)
Bien joué ! ça fait plaisir de te revoir actif !!!

par contre lorsque tu es dans le case, pas la peine de mettre autant de when !
il suffit que tu garde ceux a laquel l'heure change
case heure
    when 6
       start tone change
    when 8
       start tone change
    when 18
       start tone change
    when 20
       start tone change

ca devrai suffir !

mais bien joué quand même.


Ace Attorney Man a écrit:

Franchement, les systèmes jours/nuits, même en temps réel,  sont faisables en event facilement et sans laguer.
Cite moi plus de 15 membres actifs qui sot capables de faire ça (même si c'est pas dur hein, oublis pas que c'est 95% d'assistés de la vie dans ce forum !)
Donc grâce a denis .... t'auras moins de boulet sur les bras ^^

Posté par Denis Bros le 23 Déc - 07:44 (2009)
et non si tu reprend une partie et que l'heure il y est pas pour changer les effet jour nuit ne se feront plu alors on laisse.

Posté par Lén le 23 Déc - 10:21 (2009)
case heure
   when 6 <= heure < 8
      change tone
  when 8 <= heure < 18
      change tone
  when 18 <= heure < 20
      change tone
  when 20 <= heure < 24
      change tone
  when 0 <= heure < 6
      change tone

tadaaa

Posté par Nuri Yuri le 23 Déc - 11:53 (2009)
Il y a des ligne inutiles sauf si tu fait un décalage !
(c'est mon point de vue)

Posté par Lén le 23 Déc - 12:41 (2009)
Youri a écrit:

Il y a des ligne inutiles sauf si tu fait un décalage !
(c'est mon point de vue)
Ben lesquelles ?

Posté par Ace Attorney Man le 23 Déc - 18:17 (2009)
Lén >> Moi, t'as pas tord, mais bon ...

Posté par Lén le 23 Déc - 21:07 (2009)
Oais surtout que si il parlait pour moi je crois avoir bien mis le sctrict minimum.
A par peut être entre 20h et 6h mais ... je ne sais pas si sa va marcher si on ne le met pas.

Posté par Denis Bros le 24 Déc - 09:39 (2009)
je ne pence pas que sa marche par-ce que les case ne prenne pas en compte les condition "=><".

Posté par Lén le 24 Déc - 11:05 (2009)
Si ! il faut faire un RANGE:
case heure
   when 6..8
      change tone
  when 9..18
      change tone
  when 19..21
      change tone
  when 22..24
      change tone
  when 0..6
      change tone

edit: en arrangeant bien sur ca la sa va pas être terrible.