Pokémon Script Project Forum Index

Manuel | Search
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

Système Jour/Nuit + Temps Réel
Goto page: 1, 2, 39, 10, 11  >
 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts
Previous topic :: Next topic   
Author Message
MoussPSP
Guest





PostPosted: Fri 25 Jan - 20:18 (2008)    Post subject: Système Jour/Nuit + Temps Réel

[MAJ]
Je met ce script dans le domaine public suite à l'arrêt de mon boulot portant sur PSP/RMXP.
(cf. Wikipédia : http://fr.wikipedia.org/wiki/Domaine_public)
Je retire mes droits dessus, amusez-vous avec et éclatez vous.
Faites ce que vous en voulez !

Voici enfin la quatrième version de mon code Jour/Nuit + Temps Réel !!!


Attention : Le script est basé sur l'heure du PC et non pas sur une heure virtuelle
à configurer au début du jeu, comme le faisait Or/Argent/Crystal.

Fonctionalités :
-Teinte de l'écran
     Matin
     Journée
     Crépuscule
     Soir

-Stockage du jour en français dans une variable
-Changement de musique la nuit par event sur la map
-Obtention par script de l'heure - minutes - secondes actuelles
-Compatible avec mon prochain système d'entrée et de sortie d'une maison

A venir :

-Intégration avec le système de rencontres Jour/Nuit préprogramé par Krosk

Comment s'en servir :

:arrow: Changement du ton de l'écran
Pour le changement du ton de l'écran, c'est automatique.
Pour le désactiver sur certaines map, voir la section suivante

:arrow: Entrée dans une maison
Quand on entre dans une maison, changer l'interrupteur défini au début du script
nommé "SwiExterieur" en Désactivé à l'aide d'un Event en Processus Parallèle.
(N'oubliez pas de le remettre en Activé lors de la sortie d'une maison)
Vous pouvez aussi appliquer ce script pour les map dont vous ne voulez pas qu'elles soient affectés par le système Jour/Nuit.

:arrow: Musiques de nuit
Pour les musiques de nuit, placer un event en Processus Parallèle sur la map,
et faire la fonction Appeler un script puis : "timesys_nightmusic("nouvelle musique pour la nuit.mp3")"

:arrow: Obtenir l'heure, les minutes ou les secondes
Pour obtenir l'heure, les minutes ou les secondes actuelles dans un event,
Il faut faire la fonction Appeler un script puis : "timesys_time("xxx")"
Remplacer xxx par heure, minutes ou secondes.
Cela sert à actualiser la variable VarTempsHeure, VarTempsMinutes ou encore VarTempsSecondes en fonction de ce que l'on a demandé.
Notez que, utilisé dans les scripts, cette fonction renvoie aussi immédiatement ce qui est demandé sans passer par les variables.
Vous pouvez donc mettre $game_variables[mavariable]
= timesys_time("minutes")

:arrow: Afficher l'heure, les minutes ou les secondes
Ensuite, pour l'afficher dans un message, mettre "\V[xx]"
Remplacer xx par la variable correspondante dans le script :
Par exemple avec le script fourni ci-dessous, \V[43] me donnera les minutes, après avoir mis le bout de code précédent (timesys_time).

:arrow:
Configurer le script
Au début du script, les numéros variables sont à modifier. Par exemple, vous voulez que la variable VarNomJour
Soit la variable numéro 85 du jeu, remplacez 40 dans le script par 85.

Le Script :

Script à placer au dessus de Main, à nommer Pokemon_TempsJourNuit

[MAJ] Je met ce script dans le domaine public, c'est à dire que je n'ai plus aucun droit dessus, faites ce que bon vous semble.
Pas de crédits donc, merci.
(cf Wikipédia, Domaine public : http://fr.wikipedia.org/wiki/Domaine_public)

Et je vous encourage à le modifier, l'améliorerBouche extensiblek:

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 = 40
VarNuitJour = 41
VarTempsHeure = 42
VarTempsMinutes = 43
VarTempsSecondes = 44
SwiExterieur = 5

#-----------------------------------------------------------------------------
# ● 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





Last edited by MoussPSP on Sat 31 Jan - 00:05 (2009); edited 10 times in total
Back to top
Publicité






PostPosted: Fri 25 Jan - 20:18 (2008)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Louro
Guest





PostPosted: Fri 25 Jan - 20:25 (2008)    Post subject: Système Jour/Nuit + Temps Réel

Comme tu le dis non-fini, je suppose que tu vas encore l'améliorer.
Tu devrais mettre quelques instructions pour faciliter, car apparemment ya des variables à modifier.
Merci pour le partage en tout cas, ça fait plaisir de voir d'autres partager leurs scripts ^^
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Fri 25 Jan - 20:34 (2008)    Post subject: Système Jour/Nuit + Temps Réel

^^ ce qui m'intéresse énormément sur ce script :

=> comment on ressort l'heure & le jour pour afficher une pendule ou autre chose qui peut afficher jour et / ou heure
=> comment faire en sorte que des pokés n'apparaissent que tel jour ou à telle heure
=> comment ressortir le j et / l'h en variable ? (à partir de là, via evcent commun, dès lors que la variable du jour change, je peux comptabiliser le nbre de j de jeu ^^ et je posterai la marche à suivre Petit saligaud mal élevé)
Back to top
MoussPSP
Guest





PostPosted: Fri 25 Jan - 20:43 (2008)    Post subject: Système Jour/Nuit + Temps Réel

Je vais essayer d'inclure ce que tu dis.
Pour les pokémons, pas très sur, mais avec une condition (si nuit activé) ca doit etre possible.
J'essaye, je teste, je partage :mrgreen:
Back to top
morgan
Guest





PostPosted: Fri 25 Jan - 21:03 (2008)    Post subject: Système Jour/Nuit + Temps Réel

et quels sont les variables a modifier?
Back to top
valpokbest
Guest





PostPosted: Fri 25 Jan - 21:05 (2008)    Post subject: Système Jour/Nuit + Temps Réel

Il pleut des scripts ces jours-ci!
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Fri 25 Jan - 21:07 (2008)    Post subject: Système Jour/Nuit + Temps Réel

^^ attends la fin de ses tests, si il y arrive, les variables seront plus complètes Clin d'œil foireux


(ce qu'il faudrait simplement : une variable pr les jours (1 = lundi, etc, jusqu'à 7 = dimanche...) et après, louro a déjà inclu un système de calcul du temps dans son script carte dresseur ^^ peut être qu'on pourrait faire appel à ce morceau de code pour ressortir l'h sur une pendule =))
Back to top
morgan
Guest





PostPosted: Fri 25 Jan - 21:11 (2008)    Post subject: Système Jour/Nuit + Temps Réel

ça serait sympas! surtout que mon jeu a grand besoin de cette fonction car ca se déroule en pleine nature!
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Fri 25 Jan - 21:18 (2008)    Post subject: Système Jour/Nuit + Temps Réel

Clin d'œil foireux moi, je la "demande" (^^) uniquement parce que je compte créer des concours / des soldes (=> via mon syst d'évent commun pr compter le nbre de jours de jeu ^^ enfin si ce n'est pas inclus dans le script, mais je veux dire que ca ce n'est pas indispensable ^^ 3 variables dont la variable de stockage des jours de la semaine, et pis qques boucles, et la boucle est bouclée :mrgreen:
Back to top
morgan
Guest





PostPosted: Fri 25 Jan - 21:21 (2008)    Post subject: Système Jour/Nuit + Temps Réel

je vois...tu utilise quel shampooing pour les boucles ?XD nan, moi je l'utilise pour...  ....  .......  ........ben..... .......parceque c'est en pleine nature
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Fri 25 Jan - 21:47 (2008)    Post subject: Système Jour/Nuit + Temps Réel

ah oui, j'oubliais !

aujourd'hui j'ai été visiter les scripts de base de PSP (^^ même que j'ai réussi à comprendre une ou 2 ptites choses sur l'ensemble xD) j'ai lu ceci :

Code:
    # Tag jour/nuit
    if data[1] != nil
      case data[1]
      when "J" # Jour
        dn_tag = 1
      when "N" # Nuit
        dn_tag = 2
      else # Indifferent
        dn_tag = 0
      end
    else # Indifferent
      dn_tag = 0
    end
    $data_encounter[i][1] = dn_tag



ca te sera ptêtre utile =)


edit : ca vient du script Pokemon_Encounter (lignes 46 à 59 Clin d'œil foireux)
Back to top
Louro
Guest





PostPosted: Fri 25 Jan - 22:14 (2008)    Post subject: Système Jour/Nuit + Temps Réel

Ca peut en effet s'avérer très utile, j'aurai bien fais le script jour/nuit aussi mais puisque MoussPSP le fait, pas la peine qu'on soit 2
Courage, on est avec toi MoussPSP ^^
Back to top
Slash
Membre


Joined: 18 Jan 2008
Posts: 2,504
Localisation: MONTSURS (53)

PostPosted: Fri 25 Jan - 22:18 (2008)    Post subject: Système Jour/Nuit + Temps Réel

merci mouss pour ce script et bonne continuation par la suite
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Fri 25 Jan - 22:34 (2008)    Post subject: Système Jour/Nuit + Temps Réel

^^ j'espère que tu arriveras à atteindre les objectifs qui ont été suggérés à plusieurs reprises (cf le topic de mousspsp dans les suggs ^^)


^^ ns sommes de tout coeur ac toi ^^
Back to top
MoussPSP
Guest





PostPosted: Fri 25 Jan - 22:37 (2008)    Post subject: Système Jour/Nuit + Temps Réel

J'ai regardé le bout de code de PSP, assez bizzare.
Je crois que cela définis le jour ou la nuit pour une case...
C'est donc le script Pokémon_Encounter qu'il faudra modifier si besoin.

Merci pour les encouragements, je teste le changement de musique.
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts All times are GMT + 1 Hour
Goto page: 1, 2, 39, 10, 11  >
Page 1 of 11

 
Jump to:  

Index | Free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)