Sujet n°10473
Posté par ShuniX le 25 Sep - 16:33 (2011)
Titre : [PSP4G+] Script du Starter-Kit "TempsJourNuit"
Bonjour à tous  Imbécile heureux

Voilà, comme vous le savez, le starter-kit PSP4G+ possède un système de gestion du jour et de la nuit du type Pokémon Or/Argent/Cristal.
(C'est à dire, la modification du ton de l'écran en fonction de la progression de la journée qui est découpée en "Nuit", "Aube, "Crépuscule" et "Matin" puis logiquement en heures, minutes et jour de la semaine).

Super script, vraiment :8) !

Mais le problème c'est que je n'arrive pas à m'en servir, frustrant tout ça Résignation man .

Je souhaiterais pouvoir d'abord définir en début de partie comme dans le jeu le jeu de la semaine, l'heure et les minutes.

Puis comment faire par la suite pour afficher les deux chiffres des heures ou des minutes dans un message quand ces deux derniers paramètres sont sur 0x ? (Ex. 05h09)
Car si l'on récupère la valeur contenue dans la variable (utilisée par le script) avec la fonction de base on obtient qu'un chiffre ! (Ex. 5h9) :gloups:

Afficher le jour de la semaine serait super aussi au lieu d'obtenir sa valeur numérique lol

Et enfin dernière chose, comment appliquer une condition avec le jour ou l'heure et les minutes ?

Voilà merci d'avance pour vos réponses :D
(Je sais j'ai demandé le père noël, là Lordork chez mémé )

PS : Voilà le script au cas où !


 Il se trouve dans la section PSP4G+, en-dessous du script "Update"

Code:

 #==============================================================================
# ■ TempsJourNuit
# 13/07/08 -- Version 4
#
# Script mis dans le domaine public
# Aucune licence, aucun crédit requis
#
#-----------------------------------------------------------------------------
# Gérer le jour et la nuit, ainsi que le temps réel (date, heure...)
#-----------------------------------------------------------------------------

#-----------------------------------------------------------------------------
# ● Indiquer les numéros des Variables
#
# VarNomJour contient le nom du jour actuel en Français.
# VarNuitJour définit le type de journée actuelle.
# VarTempsXXXX contient ce qui est demandé avec timesys_time()
# SwiExterieur définit si la map est en exterieure (true) ou pas (false)
#
# Vous devez mettre le numéro de la variable et non pas son contenu !
#-----------------------------------------------------------------------------

VarNomJour = 4994
VarNuitJour = 4995
VarTempsHeure = 4996
VarTempsMinutes = 4997
VarTempsSecondes = 4998
SwiExterieur = 4999

#-----------------------------------------------------------------------------
# ● Définition des fonctions
#-----------------------------------------------------------------------------

class Interpreter
  
  #-----------------------------------------------------------------------------
  # ● Fonction de définition des nouvelles musiques pour la nuit
  #-----------------------------------------------------------------------------
  
  def timesys_nightmusic(new_music = 0)
    if $game_variables[VarNuitJour] == "Nuit"
      Audio.bgm_play("Audio/BGM/" + new_music, 100, 100)
    end
  end
  
  #-----------------------------------------------------------------------------
  # ● Fonction d'obtention des heures, minutes, secondes
  #-----------------------------------------------------------------------------
  
  def timesys_time(asked = 0)
    @clock = Time.new
    if asked == "heure"
      $game_variables[VarTempsHeure] = @clock.hour.to_s
      return $game_variables[VarTempsHeure]
    end
    if asked == "minutes"
      $game_variables[VarTempsMinutes] = @clock.min.to_s
      return $game_variables[VarTempsMinutes]
    end
    if asked == "secondes"
      $game_variables[VarTempsSecondes] = @clock.sec.to_s
      return $game_variables[VarTempsSecondes]
    end
  end
  
end

#-----------------------------------------------------------------------------
# ● Début du Script
#-----------------------------------------------------------------------------

  class TempsJourNuit < Window_Base
    def initialize
      super(440, 420, 200, 60)
      self.contents = Bitmap.new(width - 32, height - 32)
      self.opacity = 150
      self.visible = false
      refresh
    end
    def refresh
      @clock = Time.new
      @seconde = @clock.sec * Graphics.frame_rate
      self.contents.clear
        case @clock.strftime("%A")
        when "Monday"
          jour = "Lundi"
        when "Tuesday"
          jour = "Mardi"
        when "Wednesday"
          jour = "Mercredi"
        when "Thursday"
          jour = "Jeudi"
        when "Friday"
          jour = "Vendredi"
        when "Saturday"
          jour = "Samedi"
        when "Sunday"
          jour = "Dimanche"
        end
      $game_variables[VarNomJour] = jour
      #self.contents.draw_text(0, 0, 200, 24,@clock.hour.to_s + ":" + @clock.min.to_s + ":" + @clock.sec.to_s + " " +jour)
      @map = load_data(sprintf("Data/Map%03d.rxdata", $game_map.map_id))
      
  #-----------------------------------------------------------------------------
  # Nuit : 20h > 6h du mat inclus
  # Matin : 7h du mat > 10h du mat inclus
  # Jour : 11h > 16h inclus
  # Crépuscule : 17h > 19h inclus
  #
  # Variable --VarNuitJour--
  #  "????" = Inconnu
  #  "Matin" = Matin
  #  "Jour" = Jour
  #  "Crépuscule" = Crépuscule
  #  "Nuit" = Nuit
  #-----------------------------------------------------------------------------

      if $game_switches[SwiExterieur]
        case @clock.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(-60, -60, -10, 0)
            $game_screen.start_tone_change(@tone,5)
            $game_variables[VarNuitJour] = "Nuit"
          when 5
            @tone = Tone.new(-60, -60, -10, 0)
            $game_screen.start_tone_change(@tone,5)
            $game_variables[VarNuitJour] = "Nuit"
          when 6
            @tone = Tone.new(-60, -60, -10, 0)
            $game_screen.start_tone_change(@tone,5)
            $game_variables[VarNuitJour] = "Nuit"
          when 7
            @tone = Tone.new(34, -17, -34, 0)
            $game_screen.start_tone_change(@tone,5)
            $game_variables[VarNuitJour] = "Matin"
          when 8
            @tone = Tone.new(34, -17, -34, 0)
            $game_screen.start_tone_change(@tone,5)
            $game_variables[VarNuitJour] = "Matin"
          when 9
            @tone = Tone.new(34, -17, -34, 0)
            $game_screen.start_tone_change(@tone,5)
            $game_variables[VarNuitJour] = "Matin"
          when 10
            @tone = Tone.new(34, -17, -34, 0)
            $game_screen.start_tone_change(@tone,5)
            $game_variables[VarNuitJour] = "Matin"
          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,5)
        $game_variables[VarNuitJour] = 0
      end
    end
  
      def update
             refresh
      end
end
#-----------------------------------------------------------------------------
# ● Application des tons sur la map
#-----------------------------------------------------------------------------

class Scene_Map
          
  alias old_main main
    def main
    @timesys = TempsJourNuit.new
    old_main
    if $game_switches[SwiExterieur]
    @timesys.dispose
    end
  end

  alias old_update update
    def update
      if $game_switches[SwiExterieur]
    @timesys.update
      end
    old_update
  end


end


Posté par ShuniX le 28 Sep - 12:23 (2011)
Je sais que "Upper" est moche mais j'aurais vraiment besoin d'aide :idea:
Merci à vous !

Posté par Ле́нин le 28 Sep - 17:25 (2011)
"Upper" est même totalement interdit, la prochaine fois ce sera l'avertissement, accompagné d'une semaine de bannissement. Je te conseille de lire ou de relire plus attentivement le règlement.