Sujet n°229
Posté par
MoussPSP le
25 Jan - 20:18 (2008)Titre :
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'écranPour 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 maisonQuand on entre dans une maison, changer
l'interrupteur défini au début du scriptnommé "
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 nuitPour 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 secondesPour
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 secondesEnsuite, 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éliorer !
k:
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
|
Posté par
Louro le
25 Jan - 20:25 (2008)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 ^^
Posté par
Sphinx le
25 Jan - 20:34 (2008)^^ 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
)
Posté par
MoussPSP le
25 Jan - 20:43 (2008)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:
Posté par
morgan le
25 Jan - 21:03 (2008)et quels sont les variables a modifier?
Posté par
valpokbest le
25 Jan - 21:05 (2008)Il pleut des scripts ces jours-ci!
Posté par
Sphinx le
25 Jan - 21:07 (2008)^^ attends la fin de ses tests, si il y arrive, les variables seront plus complètes
(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 =))
Posté par
morgan le
25 Jan - 21:11 (2008)ça serait sympas! surtout que mon jeu a grand besoin de cette fonction car ca se déroule en pleine nature!
Posté par
Sphinx le
25 Jan - 21:18 (2008) 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:
Posté par
morgan le
25 Jan - 21:21 (2008)je vois...tu utilise quel shampooing pour les boucles ?XD nan, moi je l'utilise pour... .... ....... ........ben..... .......parceque c'est en pleine nature
Posté par
Sphinx le
25 Jan - 21:47 (2008)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 )
Posté par
Louro le
25 Jan - 22:14 (2008)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 ^^
Posté par
Slash le
25 Jan - 22:18 (2008)merci mouss pour ce script et bonne continuation par la suite
Posté par
Sphinx le
25 Jan - 22:34 (2008)^^ 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 ^^
Posté par
MoussPSP le
25 Jan - 22:37 (2008)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.
Posté par
Drakhaine le
25 Jan - 22:51 (2008)# Tag jour/nuit
if data[1] != nil # Si la cellule 1 du tableau data n'est pas vide
case data[1] # On se met au niveau de la valeur de la cellule
when "J" # Jour # Si la valeur est la chaîne de caractère "J"
dn_tag = 1 # variable dn_tag initialisée à 1
when "N" # Nuit # Si la valeur est la chaîne de caractère "N"
dn_tag = 2 # variable dn_tag initialisée à 2
else # Indifferent # Si la valeur est une autre chaîne de caractère
dn_tag = 0 # variable dn_tag initialisée à 0
end
else # Indifferent # Si la cellule 1 du tableau data est vide
dn_tag = 0 # variable dn_tag initialisée à 0
end
$data_encounter
[1] = dn_tag
# Là on est au niveau du pokémon i (représentant l'un des pokémon du groupe de rencontre), dans les données que l'on a sur lui, on met celle de la cellule 1 à dn_tag.
Si ça peut t'aider à comprendre
(En gros tu modifies pas ça, tu rentres "J" ou "N" dans ta BDD dans le groupe de rencontre (j'imagine au moment où on insère un script pour définir le niveau de chaque poké ainsi que son moveset))
A vérifier, mais Krosk a tout prévu
Edit : en fait c'est encore plus simple :
Un exemple de mon projet (tout se passe au niveau du nom du groupe de rencontre)
1,J/Solstice #Tag,J ou N ou rien/Nom du lieu
Posté par
MoussPSP le
25 Jan - 23:01 (2008)Apparement, il a tout prévu, oui ^^
Par contre, je n'arrive pas à obtenir le BGM de la map que je veux...Argh !
Posté par
Louro le
25 Jan - 23:03 (2008)Détaille + ce qui te gêne
Posté par
MoussPSP le
25 Jan - 23:37 (2008)C'est bon, j'ai réussi à implémenter le système de musiques seulement pour la nuit.
J'ai changé le système en général,
Pour les events c'est plus facile : en condition vous mettez
-Si le jour actuel = Lundi, alors...
-Si l'heure actuelle = 12, alors...
-Si le temps actuel est "nuit", alors...
Réalisable aussi en script.
Tu vas les avoir, tes soldes :mrgreen:
Je met à jour le script.
EDIT : Au lieu de sortir la version 3 demain (et étant insomniaque :mrgreen: )
Je l'ai déja sortie.
Au programme, obtenir l'heure, le minutes et les secondes depuis un event ou un script
Posté par
Sphinx le
26 Jan - 00:16 (2008) lol Mouss
et merci beaucoup ^^
edit : j'aimerais pouvoir, comme dans les versions pkmn depuis O/A/C, programmer, au cours de l'intro (dc depuis mon évent d'intro
) le jour, l'heure et la minute à laquelle mon jeu commence =) après, question gestion de variables, avec une boucle conditionnelle, je peux ajouter les secondes, puis les minutes puis enfin les heures ^^ et passer au jour suivant
Posté par
MoussPSP le
26 Jan - 00:19 (2008)Va voir la version 3 et tu sauras tout ^^
Par exemple tu peux faire avec Appeler un script :
Code: |
[b]$game_variables[21] = timesys_time(heure)[/b] [b]$game_variables[22] = $game_variables[VarNomJour][/b]
|
Où la variable 21 est là ou est stocké l'heure de début, et la variable 22 stockera le nom du jour (en français s'il vous plaît ^^)
Ou alors, je vais peut-être officialiser ( :mrgreen: ) cette fonction dans la version 4.
EDIT : Mais, Krosk n'a pas déja mis le temps de jeu ?
Donc il suffit de regarder ci-dessus pour obtenir ta date et l'heure de début.
Posté par
Sphinx le
26 Jan - 00:21 (2008)ah aussi, pouvoir desactiver le changement de ton sur certaines maps (intérieurs de maison par ex ^^)
(*Mouss cherchant sa hache de bucheron pour refaire le portrait d'un sphinx... ^^*)
Posté par
MoussPSP le
26 Jan - 00:24 (2008)(*Mouss ayant cherché sa hache*)
Va voir dans le premier post,
Citation: |
: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é. (Le remettre en activé lors de la sortie d'une maison
|
Posté par
Louro le
26 Jan - 00:26 (2008)Pourquoi ne pas scripter ça en automatique grace a des conditions avec $game_map.tileset_name par exemple ?
(c'est ce que je fais avec mon systeme de velo)
Posté par
Sphinx le
26 Jan - 00:29 (2008)*^^ /me se sauve en courant parce que /me commence à comprendre que si il reste, c'est lui le prochain repas :mrgreen:*
très bon boulot Mouss ^^ (
aller c'est parti pour la modif de l'intro... ^^)
ah au fait, moi je me suis permis de modifier les tons (pour ca que j'ai besoin de pouvoir régler l'heure du jeu manuellement
) pour qu'au fil de la journée / nuit, le ton progresse / régresse progressivement (j'évolue au pif, là je prends 25 points d'écart entre chaque heure ^^)
cmt ca louro ? ^^ (un event / map de - à faire, je suis preneur, fainéant que je suis :mrgreen:)
Posté par
MoussPSP le
26 Jan - 00:29 (2008)Possible...
Mais il faudra evidemment rensigner tout les Tileset "Intérieurs" crées par le maker dans le script.
Et puis, comme le demande Sphinx, pour les maps où l'on ne veut pas de Jour/Nuit il faut une fonction manuelle.
EDIT : Sphinx, si j'ai faim (et j'ai faim d'ailleurs) j'airai voir mon frigo, et pas toi (et t'est trop sur IRC ou MSN toi aussi)
Au début, j'avais aussi pensé de "régresser" les tons mais il faut des couleurs bien spéciales (crépuscule : violet-orange, nuit : violet-bleu)
Je fais noter que les tons d'étant pas parfaits, je vais essayer d'autres tons peut-être plus joli que maintenant.
Posté par
Louro le
26 Jan - 00:32 (2008)Bah, une configuration au début du script, contenant les nom que le maker entrera : basic.png, exterieur.png, etc
Les tons ne s'activeront que sur ces tilesets définis en début de script.
C'est simple, rapide, et efficace
Posté par
MoussPSP le
26 Jan - 00:34 (2008)Oui, mais si je suis tordu et que je veux supprimer l'effet sur un tileset de route ou de ville extérieur... (hein Sphinx ^^)
J'incluerais peut-être l'option dans la version 4 si j'ai le temps de la coder.
Posté par
Sphinx le
26 Jan - 00:35 (2008)^^ et si, comme moi, un maker veut faire xxxxx son monde et utilise un tileset universel ? :mrgreen:
(
suis pas tordu, juste que ma logique n'obéit qu'à ses propres règles :mrgreen:)
Posté par
MoussPSP le
26 Jan - 00:40 (2008)Ah, Sphinx...
C'est pour cela que j'ai pensé à toi en faisant un script manuel.
J'ai faim, je vais fourrer mon nez dans le frigo (je sera absent du forum 10 minutes arg)
et me trouver un truc a manger. Ou bien dans le placard si j'ai des mars ou un Pom'Pote.
Ou bien du Soda Orange de chez Auchan (Orangina plus cher ^^)
.....J'ai fini le 3615 Ma vie.
(En clair Sphinx je vais pas te bouffer
)
EDIT : Finalement j'ai fini la bouteille de soda orange, j'ai mangé du museau de porc en entrée qui trainait sur la table et je regarde Julien courbet dans san aucun doute sur TF1. C'est la pub, alors j'y retourne ! 3615 RTL
Posté par
Sphinx le
26 Jan - 00:54 (2008)^^ tu me rassures :lol: (de toute facon, certains m'ont dit que j'étais inbuvable
et d'autres, tout pourri, alors bon, je m'inquiétais plus pour ta santé :mrgreen: ok je range mon humour à 3 francs 6 soux ^^)
juste comme ca -non je n'ai pas fini de t'embêter - :
Citation: |
VarTempsHeure = 78 |
(ligne 23) => ca veut dire que si j'entre un nombre dans cette variable (admettons, 10 ou 20) alors mon heure change, non ?
^^ mais pourquoi pas le ton de mon écran :
Citation: |
when 0 @tone = Tone.new(-175, -175, -125, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 1 @tone = Tone.new(-200, -200, -150, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 2 @tone = Tone.new(-200, -200, -150, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 3 @tone = Tone.new(-175, -175, -125, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 4 @tone = Tone.new(-150, -150, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 5 @tone = Tone.new(-125, -125, -75, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 6 @tone = Tone.new(-100, -100, -50, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 7 @tone = Tone.new(130, -110, -130, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Matin" when 8 @tone = Tone.new(105, -85, -105, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Matin" when 9 @tone = Tone.new(80, -60, -80, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Matin" when 10 @tone = Tone.new(55, -35, -55, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Matin" when 11 @tone = Tone.new(20, 20, 20, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 12 @tone = Tone.new(55, 55, 55, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 13 @tone = Tone.new(80, 80, 80, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 14 @tone = Tone.new(80, 80, 80, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 15 @tone = Tone.new(55, 55, 55, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 16 @tone = Tone.new(20, 20, 20, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 17 @tone = Tone.new(55, -35, -55, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Crépuscule" when 18 @tone = Tone.new(80, -60, -80, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Crépuscule" when 19 @tone = Tone.new(105, -85, -105, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Crépuscule" when 20 @tone = Tone.new(130, -110, -130, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Crépuscule" when 21 @tone = Tone.new(-100, -100, -50, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 22 @tone = Tone.new(-125, -125, -75, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 23 @tone = Tone.new(-150, -150, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" end |
^^ en gras, les 3 tons qui m'intéressent, donc à savoir 0h (l'heure actuelle ^^) - 10h et 20h ^^
=> edit : solution trouvée ^^ Remplacez la ligne 119 :
case @clock.hour
par :
case $game_variables[XX]
où XX => n° de variable où les heures sont stockées ^^
Posté par
MoussPSP le
26 Jan - 01:08 (2008)Les variables au début de script,
cela demande dans quel numéro de variable stocker l'heure, les minutes, le nom du jour, etc...
Le case @clock.hour est essentiel, il change le ton de l'écran en fonction de l'heure.
Ce n'est pas toi qui choisis l'heure que tu veux pour avoir la nuit à midi dans le réel XD
Je parle bien la france ou pas ? (j'ai pas de baguette sous le bras ni de béret, mais j'imite bien le coq et la poule)
EDIT : Dans ton script, à 20h tu as mis le crépuscule. Or, c'est la nuit ! attention à ce type d'erreur, si tu fais des event basés dessus :S
Posté par
Sphinx le
26 Jan - 01:17 (2008)^^ ouaip mais j'ai adapté le ton en fonction
(et nul part ailleurs dans le script, il est fait référence aux heures de nuit ^^ enfin je veux dire aux plages horaires initiales
)
moi mon but, c'est bien qu'à 1h du mat IRL, le joueur puisse être en plein été :mrgreen: (et ac une commande if, je pense même aller jusqu'à adapter l'heure d'hiver & été :lol: mais pas dans l'immédiat
)
Posté par
MoussPSP le
26 Jan - 02:22 (2008)Ete/Hiver, pas bête.
Je vois ça demain,
L'insomniaque a fini de regarder Sans Aucun Doude sur TF1 et va se coucher.
Posté par
Sphinx le
26 Jan - 03:21 (2008)^^ tkt, ac un switch / une variable, ca gère Razz par contre, tu pourrais voir pr une interface graphique style pokémon O/A/C, pour le réglage du jour, heure, min ? Embarassed
il faudrait que les résultats soient stockés dans différentes variables :
* une pr les secs, elle serait à 0 en début de jeu
* une pour les minutes et une pr les heures : à régler en début de jeu
* une pr le j de la semaine : à régler en début de jeu (pour que ca soit utilisable en event, le mieux serait que ca stock 1 pour lundi, jusqu'à 7 pr dimanche... Mais ca je pense avoir repéré où le changer ^^)
* une pour le jour et une pour le mois, voir une pour l'année : tj à régler en début de partie (si on veut gérer l'h d'hiver & l'h d'été... ^^)
edit : voici le script, ou plutot la partie des variations du ton de l'écran (lignes 118 - 216) :
Code: |
if $game_switches[SwiExterieur] case $game_variables[78] when 0 @tone = Tone.new(-150, -150, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 1 @tone = Tone.new(-175, -175, -125, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 2 @tone = Tone.new(-175, -175, -125, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 3 @tone = Tone.new(-150, -150, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 4 @tone = Tone.new(-125, -125, -75, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 5 @tone = Tone.new(-30, -100, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 6 @tone = Tone.new(55, -25, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Matin" when 7 @tone = Tone.new(45, -15, -50, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Matin" when 8 @tone = Tone.new(34, -7, -30, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Matin" when 9 @tone = Tone.new(22, 2, -10, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Matin" when 10 @tone = Tone.new(10, 10, 10, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 11 @tone = Tone.new(20, 20, 20, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 12 @tone = Tone.new(30, 30, 30, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 13 @tone = Tone.new(40, 40, 40, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 14 @tone = Tone.new(40, 40, 40, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 15 @tone = Tone.new(30, 30, 30, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 16 @tone = Tone.new(20, 20, 20, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 17 @tone = Tone.new(10, 10, 10, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Jour" when 18 @tone = Tone.new(22, 2, -10, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Crépuscule" when 19 @tone = Tone.new(34, -7, -30, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Crépuscule" when 20 @tone = Tone.new(45, -15, -50, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Crépuscule" when 21 @tone = Tone.new(35, -25, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Crépuscule" when 22 @tone = Tone.new(-30, -100, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" when 23 @tone = Tone.new(-125, -125, -75, 0) $game_screen.start_tone_change(@tone,5) $game_variables[VarNuitJour] = "Nuit" end |
Dans ce code, c'est la variable n°78 qui gère le ton de l'écran (c'est elle qui contient le nbre d'heures)
Si vous utilisez l'heure de l'ordi, remplacez "$game_variables[78]" par "@clock.hour"
Posté par
MoussPSP le
26 Jan - 09:57 (2008)Bon je sais que comme tu est tordu, tu veux une
heure virtuelle et non pas une
heure réele (comme ici)
Sache que ce n'est pas le but de ce script et que je n'aime pas les heures virtuelles...
Si tu veux tu peux essayer d'en faire une
version virtuelle, mais elle devra d'actualiser
toutes les secondes (logique)
Et les
variables au début du script Varxxx, Varxxx...tu ne dois pas mettre le
CONTENU de la variable mais son numéro !
Si dans un event la variable
N°54 c'est ce qui est censé être VarJourNom, mets y
54 dans le script.
Pour le
jour de la semaine c'est pareil, mais à chaque démarrage du jeu cela actualise la variable avec le jour réel actuel. (
VarNomJour)
Le mois et l'année je ne sais pas si c'est inclu dans Time.New. A voir.
Posté par
Yafeee le
30 Mar - 13:01 (2008)Merci Beaucoup pour ce script, J'adore
Posté par
MoussPSP le
30 Mar - 14:41 (2008)De rien, personne en avait fait un qui pourrait être compatible avec des events Pokémon (soldes, captures jour/nuit, saisons)
Alors comme je me suis mis un peu au Ruby...^^
Posté par
Mack le
10 Avr - 17:56 (2008)Et comment faire pour que ce soit un fond sonore le jour et un autre la nuit au lieu d'une BGM?
Et comment faire pour qu'il y soit dans toute les maps?
Merci d'avance.
Posté par
MoussPSP le
11 Avr - 15:40 (2008)Heu fond sonore il faut changer du script,
Toutes les maps faudra que cela se coupe quand on change de map.
Posté par
Pio le
11 Avr - 15:55 (2008)Le script on le marque où ?
Posté par
lois le
11 Avr - 15:58 (2008)faut chercher un peu c'est marqué dans le 1er post ^^
Script à placer au dessus de Main, à nommer Pokemon_TempsJourNuit
Posté par
Pio le
11 Avr - 16:03 (2008)ok désolé je ne m'en souvené plus
Posté par
Mack le
11 Avr - 16:30 (2008)Je veut dire que pour chaque map il y ait le même fond sonore.
Tu pourrait modifier le script pour que sa soit des fonds sonore plutot?
Posté par
Mortenkein le
11 Avr - 17:41 (2008)C'est normal que le script bouffe un tas de ressources système ? J'ai essayé le script, mais je l'ai viré aussitôt, car mon ordinateur laguait (ma bécane date de 2000).
Posté par
Cam' le
12 Avr - 10:51 (2008)Moi, mon problème est que le switch SwiExterieur ne fonctionne pas, donc quand je le désactive dans une maison, il y a le même ton d'écran que dehors ! Faut-il que ce switch soit à un endroit particulier ?
Sinon, le Script est très sympa est bie réalisé ! :D
Posté par
MoussPSP le
13 Avr - 09:48 (2008)Comment l'as tu désactivé ? Par script ?
Utilise la fonction pour modifier un interrupteur par event.
Dans le script fourni, SwiExterieur correspond à l'interrupteur 45, tu peux modifier ce nombre !
A l'aide d'un event tu modifiera donc l'interrupteur 45 en désactivé.
Sinon, il est impossible de modifier le ton de l'écran en event à cause du script...
Posté par
bibiantonio le
14 Avr - 09:43 (2008)ééééééééééééééééééh cool !!! :p il est possible de voir certaine pokémon le jour et d'otr la nuit ? comme sa sa pouré etr bien d'attendre la nui pr voir dé cornèbre ou dé hoothoot ou alor de pouvoir rentré ds certaine endroi unikemen la nuit =)
Posté par
Pio le
14 Avr - 11:12 (2008)Oula je suis pas modo, mais parle un peut mieux stp, pour ces deux lignes j'ai mis 30 sec
Posté par
Cam' le
15 Avr - 08:47 (2008)En fait, mon interrupteur SwiExterieur était le 50 ! J'ai modifié le Script et je pense que ça va marcher !
Merci, MoussPSP ! :mrgreen:
Posté par
MoussPSP le
15 Avr - 14:58 (2008)De rien ^^
Je suis là pour partager mes scripts
k:
Je ferais pareil avec mon PokéPad aussi :D
Posté par
bibiantonio le
16 Avr - 17:04 (2008)ce script marche et il est bien mais le seul problème c'est qu'il ralenti tout le jeu surtout dans les grandes map :s ce qui est dommage car c'est un trés bon script ^^
Posté par
MoussPSP le
16 Avr - 18:29 (2008)Pas besoin de grandes maps, un map-link suffit ^^ Mais faut savoir le maîtriser :p
Posté par
Cam' le
18 Avr - 16:31 (2008)J'ai vraiment hate pour le Script du PokéPAD !
Posté par
Dark' le
19 Avr - 16:36 (2008)Juste un détail : Je ne suis pas habitué à jouer tard dans la kournée à mon ordinateur, n'y aurait-il-pas un moyen d'adapter ce superbe script à une heure virtuelle ? J'ai vu le topic de Sphinx, je crois, mais j'ai rien pigé ^^ j'ai tout installé comme il à dit, et résultat mon jeu consiste a choisir l'huere, mais son event est si compliqué qu'impossible d'y mettre un terme... donc, y aurait-il pas un moyen d'adapter CE script à une heure virtuelle, un truc simple genre 1 vraie minutes = 2 minutes ?
Posté par
Slash le
19 Avr - 21:30 (2008)c'est vrai darkange ce serait super pratique
j'vais voir le topic de de sphinx et voir si je peu pas intégré ce systeme a psp4gv1.4
Posté par
Dark' le
29 Avr - 20:06 (2008)Merci Slash. Car la je n'ai vraiment pas réussi...
Posté par
naruto6660 le
24 Mai - 19:26 (2008)On fait comment pour que dans les maisons il fasse jour svp
Posté par
Dark' le
24 Mai - 19:30 (2008)Comment ça il fasse jours ? Tu veux dire que la luminosité revienne à la normal ? Regarde au premier post, c'est certainement une histoire d'interrupteurs.
Posté par
naruto6660 le
24 Mai - 19:38 (2008)Ba justement je comprend pas...
Posté par
Dark' le
24 Mai - 19:41 (2008) Citation: |
: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.
|
Je vois pas comment faire plus clair ! Tu active l'interrupteur en Processus Parallèle, et c'est tout.
Posté par
naruto6660 le
24 Mai - 21:25 (2008)Ca marche merci
Posté par
naruto6660 le
31 Mai - 18:40 (2008)désoler
Posté par
Dark' le
31 Mai - 18:44 (2008)Pourquoi tu post ça ici ?
Posté par
Sphinx le
31 Mai - 19:53 (2008) oui, les balls ca n'a pas grand chose à voir avec le jour / nuit ^_^
>> je posterai mon script heure virtuelle quand ma vraie démo sortira
(je reprends mi-juillet, donc courant aout - septembre)
Posté par
bibiantonio le
1 Juin - 09:24 (2008)c'est clair xD
il aurait du faire une nouveau topic ^^
Posté par
naruto6660 le
1 Juin - 10:42 (2008)désoler
Posté par
Sphinx le
1 Juin - 10:47 (2008) Quel rapport avec le script temps réel ?
(a vrai dire, j'ai réellement rien compris de ton message, naruto ^_^")
Posté par
Dark' le
1 Juin - 11:06 (2008)Je crois qu'il se trompe d sujet ^^. C'est en rapport avec son Projet, sans aucun doute !
Posté par
bibiantonio le
1 Juin - 11:36 (2008)je les ai déja vu quelque part sur le forum ces images... pourquoi il les repost ici ? xD
Posté par
naruto6660 le
1 Juin - 12:14 (2008)je me goure désoler les gens ^^
Posté par
Sphinx le
1 Juin - 12:38 (2008)^_^ lol
bon, et si on en revenait à l'incommensurable script de MoussPSP ?
Posté par
Newtiteuf le
4 Juin - 18:57 (2008)Bonjour, j'ai installer ce script (qui est d'ailleur super^^) et j' ai deux questions:
1) Je voudrais mettre une condition
.Si la valeur de VarNomJour est Vendredi
..Message: Bonjour, aujourd'hui nous proposons des soldes a -50 % !
.Sinon
...Si la valeur de VarNomJour est Dimanche
....Désolé le Magasin est fermé
...Sinon
....Bonjour, vous désirez quelque chose ?
Mais le problème c'est q'une variable ne peut contenir que des nombres donc comment mettre la condition "Si on est Vendredi" ?
Problème du même style, je voudrais pouvoir afficher dans un messages le jour qu'on est... comment faire ?
J'espere avoir fournit de bonnes explication (et sans trop de fautes ^^)
Posté par
Sphinx le
4 Juin - 19:09 (2008) Code: |
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 |
à remplacer par :
Code: |
when "Monday" jour = "Lundi" $game_variables[XXX] = 1 when "Tuesday" jour = "Mardi" $game_variables[XXX] = 2 when "Wednesday" jour = "Mercredi" $game_variables[XXX] = 3 when "Thursday" jour = "Jeudi" $game_variables[XXX] = 4 when "Friday" jour = "Vendredi" $game_variables[XXX] = 5 when "Saturday" jour = "Samedi" $game_variables[XXX] = 6 when "Sunday" jour = "Dimanche" $game_variables[XXX] = 7 end |
ce qui te permet déjà de faire des conditions...
>> Pour afficher les noms des jours, va dans le script "Window_Message" (pas le premier, celui qui est dans la partie "Système général") et vers la ligne 187, juste après ceci en fait :
Code: |
begin last_text = text.clone text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] } # MODIF text.gsub!(/\\[Pp]\[([0-9]+)\]/) { $string[$1.to_i] } end until text == last_text text.gsub!(/\\[Nn]\[([0-9]+)\]/) do $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : "" end |
ajoute ceci :
Code: |
if $game_variables[VarTempsavenir] == 0 then @j = "Dimanche" end if $game_variables[VarTempsavenir] == 1 then @j = "Lundi" end if $game_variables[VarTempsavenir] == 2 then @j = "Mardi" end if $game_variables[VarTempsavenir] == 3 then @j = "Mercredi" end if $game_variables[VarTempsavenir] == 4 then @j = "Jeudi" end if $game_variables[VarTempsavenir] == 5 then @j = "Vendredi" end if $game_variables[VarTempsavenir] == 6 then @j = "Samedi" end text.gsub!(/_j/) do @j != nil ? @j : "" end |
ainsi, en tapant "_j" tu afficheras le jour courant
( merci à louro qui m'a filé cette astuce qui me sert pas mal depuis ! ^_^)
Posté par
Newtiteuf le
4 Juin - 19:22 (2008)Super merci...
...j'espere savoir faire ça un jour...
...j'essai d'apprendre le Ruby !...
Posté par
Dark' le
24 Juin - 21:49 (2008)Merci a Mouss pour ce tuto que je viens d'adapter avec le changement de teinte de battelbacks, et a Sphinx pour l'astuce ^^.
Posté par
Sphinx le
25 Juin - 19:03 (2008)en passant, je précise, le XXX du premier quote et le VarTempsAVenir du second sont en réalité les mêmes valeurs ^_^"
Posté par
MoussPSP le
29 Juin - 11:32 (2008)C'est mon tout premier script en Ruby, apparemment il est apprécié ^^
Vous n'êtes pas obligé de me mettre dans les crédits mais j'apprécierais beaucoup
Posté par
Dark' le
29 Juin - 11:36 (2008)N'importe qui l'utilisant te mettra, pour peu qu'il est un honneur !
Et puis, ton nom apparait dans les crédit d'un des trois gros projet du fofo (je cite : PSP, PSP4G et PSP-GraphDP), vu que ton système est largement employé dans PSP-GraphDP. Dès la version 3, ton nom apparaitra !
Posté par
Sphinx le
29 Juin - 14:57 (2008) Tu es déjà dans les miens, comme louro, pour mon heure virtuelle
=) après tout, c'est grace à ce script que j'ai pu commencer à tous vous embêter avec mon heure virtuelle :mrgreen:
Posté par
MoussPSP le
13 Juil - 19:04 (2008)Je vais mettre à jour le script ca va péter !!!
Nouveautés :
-Compatible avec mon prochain super tuto pour entrer et sortir d'une maison...
Ca va péter le feu je vous dit XD
Posté par
Deco le
23 Juil - 12:41 (2008)Génial ce script, merci beaucoup :p
Cependant, j'ai un problème lorsque j'essaie de mettre une condition avec une des variables.
J'ai inséré le scipt "timesys_time("heure")". J'affiche un message avec l'heure, tout fonctionne, mais impossible de mettre une condition avec cette variable.
J'ai essayé de mettre la condition; si la variable de l'heure est supérieure ou égale à 20
Message d'erreur :
Code: |
????? 'Interpreter Bis' ? 209 ??? ArgumentError ????????comparison of String with 20 failed
|
Merci de m'éclairer k:
Posté par
Sphinx le
23 Juil - 13:30 (2008) essaies d'ajouter ceci à un endroit où timesys_time("heure") est utilisé :
Code: |
$game_variables[XXX] = timesys_time("heure") |
où XXX représente le n° d'une variable, puis tu te sers de cette variable dans ta condition =)
^_^" normalement ca devrait marcher ^_^" sinon, essaies de déplacer le bout de code à divers endroits =)
Posté par
MoussPSP le
23 Juil - 16:19 (2008)nan nan nan !!!
Timesys_time met déja le résultat dans une variable !
tu appelle juste la fonction et tu affiche la variable ans tes messages...
consulte le script pour savoir dans quelle variable ca inscrit le truc.
Posté par
Sphinx le
23 Juil - 16:44 (2008)ah ? ^_^" bon ben j'ai rien dit
(^_^ Mouss connait son système, en tout cas, assurément plus que moi)
Posté par
Deco le
24 Juil - 09:04 (2008)Le problème n'est pas d'afficher l'heure dans les messages ^^'
Voilà l'event qui bug ;
LE message s'affiche correctement, le jeu quitte juste après, qu'il soit 20 heures ou pas...
Et sinon, j'ai bien réglé la variable 72 étant l'heure...
Posté par
MoussPSP le
24 Juil - 14:30 (2008)J'ai pigé, c'est parce que la valeur de la variable 72 est en fait un texte et non un nombre.
Il faut que je regarde pour déclarer la variable comme un nombre.
Parceque le jeu te dit qu'il ne peut pas comparer un texte à un nombre ^^
Posté par
~Blue~ le
30 Aoû - 21:55 (2008)Chez moi le jeu devient hyper-long j'utilise l'anti-lag quand même, je sais pas pourquoi Sniifff
Posté par
Sphinx le
31 Aoû - 20:02 (2008)l'anti lag n'a pas d'effets sur les scripts !
Voilà pourquoi ca ne marche pas :mrgreen:
Posté par
Pαlвσlѕку le
1 Sep - 19:12 (2008)L'anti lag ne fonctionne que sur les événements.
J'arrive pas à faire fonctionner le script, il ne fait pas planter le jeu mais il ne se passe rien. J'utilise la version PSP (celle de Krosk)
J'ai portant bien mis les variables mais je voudrais plus d'informations là dessus car les variables et moi... c'est la guerre (je comprends rien du tout même si j'essaye)
Posté par
sanji69 le
4 Sep - 00:03 (2008) B.L.U.E a écrit: |
Chez moi le jeu devient hyper-long j'utilise l'anti-lag quand même, je sais pas pourquoi Sniifff |
Ba moi c'est pareil ! dès que j'active switchext. mon perso beug et s'arrete une demi-seconde toutes les trois secondes !!
Help Mouss ! T'aurais pas un truc pour ça !
Le script fonctionne à merveille mais tout plante !! :cry: :cry: :cry:
Posté par
Pαlвσlѕку le
4 Sep - 06:03 (2008)Il ne faut pas que l'activation du sxitchext ce fasse en event parallèle. Active-le quand tu sors d'une maison.
Je viens de réaliser que je sais pourquoi ça marche pas chez moi, j'ai oublié d'activer l'interrupteur
.
Posté par
Happy le
4 Sep - 14:23 (2008)C'est normal que quand on active le scripte,que le jeu soit au rallentit?
Posté par
Sphinx le
4 Sep - 14:37 (2008)tous les systèmes d'heure ont ce problème, oui ^_^"
En revanche, depuis que je suis sur mon nouvel ordi (vista & carte graphique plus puissante ^_^) ca lag moins
Et pour cause : je tourne à 40 fps et non plus 20, maintenant =)
Posté par
Pαlвσlѕку le
4 Sep - 16:34 (2008)Pourquoi ça lag en faite ??
Posté par
Sphinx le
4 Sep - 16:36 (2008) parce que la maj du temps, et éventuellement celle du ton de l'écran, demandent à ton ordi de travailler un peu
Soit il le fait facile & ca ne lag pas, soit, et c'est souvent le cas avec un système d'heure intégré, ca lui demande des efforts & il ram
Posté par
Pαlвσlѕку le
4 Sep - 16:38 (2008)Y a pas un moyen pour que ça lag moins car c'est pas vraiment jouable.
PS: Tu fais comment pour savoir le nombre de frame ???
Posté par
Sphinx le
4 Sep - 16:46 (2008)Pour connaitre le nbre de fps (frames par secondes) tu fais F2 quand tu ouvres le jeu depuis l'éditeur
Posté par
Pαlвσlѕку le
4 Sep - 16:52 (2008)Merci, mais tu n'as pas répondu à ma question.
Posté par
sanji69 le
4 Sep - 20:38 (2008) Palbolsky a écrit: |
Il ne faut pas que l'activation du sxitchext ce fasse en event parallèle. Active-le quand tu sors d'une maison. Je viens de réaliser que je sais pourquoi ça marche pas chez moi, j'ai oublié d'activer l'interrupteur . |
Mais je ne l'ais pas fait en event parralele... ( t'inquiete pas je mis connait assez bien ! ^^)
Sphinx a écrit: |
parce que la maj du temps, et éventuellement celle du ton de l'écran, demandent à ton ordi de travailler un peu Soit il le fait facile & ca ne lag pas, soit, et c'est souvent le cas avec un système d'heure intégré, ca lui demande des efforts & il ram |
Il n'y a alors pas de moyen pour "regresser" ces "efforts" ?
Même avec 40 frames secondes mon jeu rame a mort toute les trois secondes !! >_< ( ma carte graphique, je pense... )
Puis quand je désactive le "switchext." sur la même carte ou je l'avais activer, le jeu ne rame plus et il me laisse le Temps reel !! :?:
C'est normal, tous ca ? :?:
Posté par
Sphinx le
4 Sep - 22:43 (2008) c'est le ton qui doit demander le plus d'efforts, sans nul doute
Tentes un truc de ce genre :
Après "if $game_switches[SwiExt] == true", rajoute "and Graphics.frame_count % XXXX == 0" (où XXXX est une valeur en frames)
Pour traduire,
Code: |
Graphics.frame_count % 1200 == 0 |
veut dire que toutes les 1200 frames (lorsque le nombre de frames divisé par 1200 est égal à 0) la condition sera remplie
Posté par
Pαlвσlѕку le
5 Sep - 06:13 (2008)Donc en d'autre terme, il va laguer tout les 1200 frames, c'est ça ??
PS: Je tourne à 36 frames secondes (environ, car je monte jusqu'à 40) donc le jeu va laguer toutes les 33 secondes, donc le plaisir du jeu revient (enfin pour 32 secondes^^)
Dites moi si mon résonnement est faux.
Posté par
Sphinx le
5 Sep - 07:20 (2008)en théorie, ca devrait... Mais faut tester pour voir si la pratique colle à la théorie
Posté par
sanji69 le
5 Sep - 16:40 (2008)Non desolée... il me met qu'i y a une erreur a la ligne ou j'ai mis "Graphics.frame_count % 1200 == 0" ( dans les modifications du ton de l'ecran )
Il bug au moment ou j'active l'interrupteur...
et quand je le met dans Scene_Map ( du script en dessous de TempsJourNuit ) que je mette 200, 3000, 8000 ou 1200 frame ca ne change rien
Une autre solution ?
Posté par
Sphinx le
5 Sep - 16:46 (2008)Tu as quoi précisément sur cette ligne ?
Posté par
sanji69 le
5 Sep - 16:53 (2008)J'ai precisement ce que j'ai marquer entre guillemet
"graphics.frame_count 1200 == 0"
a la ligne 122... C'est bien la, hein ?
Sinon j'ai essayer ligne 242 et 250 ... rien non plus! ( en dessous des if game_switch[switch exterieur] )
Posté par
Sphinx le
5 Sep - 17:33 (2008)xD Non en fait c'est pas tout à fait ca... Essaies ca plutôt :
Code: |
if $game_switches[SwiExt] and Graphics.frame_count % 1200 == 0 |
à la place de
Code: |
if $game_switches[SwiExt] |
ca ne limitera peut être pas les lags, mais en tout cas ca ne devrait plus planter
Posté par
sanji69 le
5 Sep - 17:58 (2008)Ah ok desolée ! ^^ j'essaye de suite...
Ba non... c'est pareil...
Autre chose ? ^^
Posté par
Sphinx le
5 Sep - 17:59 (2008)C'est pareil ? Ca lag comme avant ou ca bug encore ?
Posté par
sanji69 le
5 Sep - 18:05 (2008)Ca lag comme avant...
Posté par
Sphinx le
5 Sep - 18:13 (2008)^^" alors non, aucune idée, désolé
Posté par
Pαlвσlѕку le
5 Sep - 18:16 (2008)Humm la phrase ne va pas, si je traduis :
Si l'interrupteur[SwiExt] est activée et Graphics.frame_count % 1200 = 0
C'est pas français, n'est ce pas (même si à la base c'est du ruby)??
Je pense que Graphics.frame_count % 1200 = 0 doit être écrit en dessous de cette condition.
Parce que là je pense que la commande est ignorée.
Voilà, pensez vous que mon résonnement est bon ??
Posté par
sanji69 le
5 Sep - 18:20 (2008)Oui ! de mon point de vue aussi...
Même en faiscant ca ( j'ai essayer au debut ) ca n'as pas marcher ! dommage !!!
Ca m'enerve pour mon projet !!!
Surtout que j'ai deja mis des script avec l'heure du PC sur d'autre projet et ca n'as jamais laguée :cry:
Posté par
Sphinx le
5 Sep - 18:23 (2008)pas du tout
Ca se traduit ainsi :
Code: |
if {condition 1} and {condition 2} ... end |
vaut true que si les 2 conditions sont remplies
Ca équivaut à :
Code: |
if {condition 1} if {condition 2} ... end end |
qui prend un peu plus de place ^_^
Posté par
sanji69 le
5 Sep - 18:31 (2008)Ba alors si je comprends bien, le temps ne change que si l'interrupteur est actvée ET que mon ordi tourne a 1200 frames/ secondes c'est bien ca non ?
Si oui :
1-Si mon ordi ne tournais pas a 1200 frames/s, ca aurais alors encore plus bugger, non ?
2- même si mon ordi tourne a 1200 frames/s, en quoi cela lagera moins ( ce n'est qu'une condition, pas une amelioration ! )
Efin... je me base sur ce que j'ai compris !
euh.. a moins que sa FORCE mon ordi a tourner plus vite ?
Posté par
Sphinx le
5 Sep - 18:39 (2008)^_^ non
Graphics.frame_count contient le nombre de frames depuis le début de la partie (ou depuis le redémarrage, je ne sais pas trop, mais ca ne change rien ^_^) et le % 1200 renvoie le reste de la division (de Graphics.frame_count) par 1200. == 0 sert de condition
Pour traduire toute la ligne :
Si l'interrupteur SwiExt est activé ET si le reste de la division du nombre de frames depuis le début par 1200 est égal à 0
... alors
Fin
Posté par
Pαlвσlѕку le
5 Sep - 18:47 (2008)Ah ok. Et pourquoi ça change rien ??
Essayez de mettre game.exe ainsi que run32.dll (dans les processus de l'ordinateur), en priorité en "temps réel". Ca va peux être marcher avec la commande de Sphinx.
Posté par
sanji69 le
5 Sep - 19:54 (2008) Palbolsky a écrit: |
Ah ok. Et pourquoi ça change rien ??
Essayez de mettre game.exe ainsi que run32.dll (dans les processus de l'ordinateur), en priorité en "temps réel". Ca va peux être marcher avec la commande de Sphinx. |
Ah ? Et comment tu fais ca ? ^^
Posté par
Pαlвσlѕку le
5 Sep - 21:01 (2008)CTRL+ALT+SUPPR et après processus. Par contre game.exe doit être actif pour qui sois visble.
Posté par
Sphinx le
5 Sep - 21:10 (2008)^_^" Je n'ai pas trouvé pour passer ca en paramètre (pour que les joueurs n'aient pas à faire cette manip
)
Posté par
sanji69 le
7 Sep - 10:31 (2008)Puis de toute facon ca ne marche pas du tous....
Posté par
Pαlвσlѕку le
8 Sep - 06:26 (2008)Le script fonctionne mais il lague car il utilise l'horloge de l'ordinateur. C'est pour ça que j'ai dit de mettre game.exe (donc le jeu) ainsi que run32.dll (l'horloge) en temps réel pour que ça limite les lags (mais ça ne fonctionne pas non plus)
Donc en faite il y a rien à faire, le seul moyen est de réglé une horloge virtuelle mais qui commence automatiquement avec l'horloge de l'ordinateur (donc après une seconde, le jeu est indépendant)
Voilà là seule solution que j'ai trouvé qui semble possible de mettre en place, et j'espère que cela marchera.
Posté par
Ink' le
18 Sep - 12:33 (2008)C'est à dire que faudrait faire ça à chaque chargement. Certes, dans l'absolu ça n'alourdit pas le système, mais une chose qu'il ne faut pas oublier : le changement d'heure.
Effectivement, imaginez que vous jouiez juste lorsque l'heure française recule d'une heure. Et bien, le jeu est susceptible de planter. Car les évènements ayant eu lieu durant l'heure seraient "dans le futur".
Autre problème de ce genre de script à changement de teinte : les effets de lumières teintées aussi.
Ce qu'il faudrait vraiment, c'est un changement de tileset automatiques. Ca, c'est la méthode DPP, et la plus efficace.
Posté par
Pαlвσlѕку le
21 Sep - 14:03 (2008)Je travaille dessus mais pour l'instant, cela ne donne rien.
Posté par
MoussPSP le
24 Sep - 13:54 (2008)J'ai lu le topic,
Et je savais pas que mon script fesait lagger puisque mon PC est assez puissant (3Ghz + Nvidia 8600 GT 512)
Et évitez les anti-lag c'est des boites à bug...
Si ca lage à cause de vos pc un peu vieux bah le prenez pas, na ;p
Posté par
Empire1601 le
24 Sep - 14:19 (2008)Moi chez moi ça ram pas ... (1,6Ghz, Nvidea Go 7300 256)
Posté par
Suicune31 le
24 Sep - 14:30 (2008)Juste une question. il n'y aurai pas un moyen pour que le script détecte juste le jour de la semaine (puis en même temps sa laguera moins voir pas du tout ^^)
Posté par
Pαlвσlѕку le
24 Sep - 19:32 (2008)TROUVER !!
C'est la carte graphique qui fait la différence car j'ai une carte graphique de 128 MB, alors que vous, vous avez 256 ou même 512 MB.
Donc le processeur ne joue pas vraiment de rôle là dedans.
C'est donc pour ça que ça lag. Donc ce qui fait laguer c'est le filtre de couleur. D'où l'intêret de changer de tileset pour éviter ça.
Information : (MB = MO)
J'espère que vous avez compris^^
Posté par
Dark' le
19 Oct - 12:36 (2008)Question : ça a surement déjà été dit, mais j'ai trop la flemme de chercher et je risque de passer à coté, nul comme je suis :
Je voudrais afficher l'heure et les minutes, mais non pas dans un message en évent, mais dans une fenêtre par script !
Qu'est ce que je dois écrire dans mon script pour ce faire ?
Posté par
Mini' le
19 Oct - 13:41 (2008)Pareil pour moi, nul comme je suis pour trouver ce que je cherche habituellement et un peu fatigué suite à la création d'un diaporama pour le lycée ... :
J'aimerai avoir l'affiche de l'heure et des minutes dans un message d'évent ...
merci .... ( Je suis vraiment fatigué excusez-moi ... )
Posté par
Dark' le
19 Oct - 16:13 (2008)Ca, c'est dit en premier post, mais j'avoue ne pas avoir tout compris...
Posté par
Zak le
22 Oct - 15:26 (2008)tu n'aurais pas une demos ?
Posté par
Aten974 le
22 Oct - 15:59 (2008)dans le nouveau psp graph dp tu pourras en avoir une !
k:
Posté par
AzertyKenzo le
30 Oct - 18:38 (2008)bonjour, je voudrais que certains de mes pokemons évolue la nuit et differement le jour mais je ne sais pas si le script gère ou pas
Posté par
Jordan le
30 Oct - 19:10 (2008)il gére peut être... regarde pour evoli avec mentali et noctali
Posté par
Dark' le
31 Oct - 06:26 (2008)A mon avis, ce n'est pas ce script qui doit gérer mais bien ton évolution.
Si tu dis que ton Pokémon évolue à tel niveau si la variables de ce script est sur Crépuscule et Nuit, alors ça devrait marcher
k:
Posté par
Empire1601 le
31 Oct - 08:50 (2008)Je te conseil, si le script de mouss ne marche pas, de faire un événement commun comme ça :
Code: |
Condition : si Script: 'Time.now().hour > 6' Script : $game_varaiables[501]= "MATIN" Condition : si Script: 'Time.now().hour > 13' Script: $game_variables[501]= "APREM" Condition : si Script: 'Time.now().hour > 16' Script: $game_variables[501]= "SOIR" Condition : si Script: 'Time.now().hour > 20' Script : $game_variables[501]= "NUIT" Fin Fin Fin Fin Condition : si Script : 'Time.now().hour < 7' Script : $game_variables[501] = "NUIT" Fin
|
Moi je l'utilise pour mon système de rencontre aléatoire
pour toi il suffit que tu le fasses se déclencher en processus parallèle
[edit] Je viens de me rendre compte que l'on se complique la vie pour rien :mrgreen:
Regarde dans le sommaire des script et trouve mon système d'évolution par saison
Il te suffira de faire des conditions avec " Time.now().hour " à la place de " Time.now().month " pour règler les évolutions en fonction du moment de la journée :mrgreen:
Posté par
MoussPSP le
2 Fév - 23:28 (2009)J'ai mis ce script dans le domaine public (voir le début du topic)
Profitez-en, modifiez-le, me mettez pas en crédits puisque j'ai renoncé à mes droits dessus.
Vous pouvez même vous l'approprier quoi x)
Enfin bon, du moment qu'il vous sert, hésitez pas à l'utiliser et le modifier !
Posté par
Sphinx le
3 Fév - 00:05 (2009)ben pk tu renonces à tes droits ? xD
>> l'autorisation dle modifier : toujours implicite (comment on peut vérifier si personne n'a rien changé, une fois le jeu crypté ?
)
>> mise en crédits : c'est pas énorme pour un maker de mettre en crédit un autre qui partage ses ressources (et ca devrait être automatique)
Donc jcomprends pas xD
edit : je crois que jcommence à comprendre :? Tu prévois de t'en aller très prochainement mouss ?
Posté par
PiVa le
3 Fév - 16:39 (2009) Sphinx a écrit: |
je crois que jcommence à comprendre :? Tu prévois de t'en aller très prochainement mouss ?
|
. . . regarde ça signature :? , tu compte vraiment partir ?
Posté par
Lén le
3 Fév - 18:25 (2009)MoussPSP "ton" script est surement la base de mon évolution en rgss <3
Posté par
MoussPSP le
4 Fév - 20:58 (2009)...
Posté par
Lén le
4 Fév - 21:31 (2009)On se croirais dans matrix avec le genre google TE connais, oui toi petit derrière ton écran ! (en même temps t'as raison mais bon je sais pas ce que tu as fait de ta vie pour en arriver là).
Tu parle d'une plateforme de Dév que tu monte ? tu veux pas en parler dans les sujets libre ? ou filer un lien qu'on test ? :p
Posté par
Ram' le
4 Fév - 21:39 (2009)Je sens surtout que la loi ( prévue pour être votée en mars ) sur le DL illégal, fait un peu peur à Mouss !
Posté par
MoussPSP le
4 Fév - 22:23 (2009)...
Posté par
PiVa le
5 Fév - 11:37 (2009)J'ai tapé "MousssPSP"dans google, t'es super connu lol
Edit : j'ai tapé mon pseudo et je trouve des Pichu65 qui sont pas moi xD
Posté par
MoussPSP le
5 Fév - 23:33 (2009)Wais MoussPSP est connu, mais pas mon nouveau pseudo pour le moment (tant mieux).
Google met du temps à actualiser l'index du forum :/
J'dois Upper les topic pour qu'ils restent visibles par Google...Même si j'aime pas trop ça m'enfin bon ^^"
PS: Oui j'efface mes anciens messages...ni vu ni connu !
Posté par
jules87 le
13 Mai - 19:28 (2009)moi sa bug
Posté par
Pyros le
13 Mai - 21:57 (2009)Super Jules, tu dis juste moi sa bug et tu pense qu'on va trouver par magie le moyen de régler ce ***** :x de bug.
Non mais sérieux quand on poste c'est pour dire quelquechose. :manuel:
Posté par
Sphinx le
13 Mai - 22:41 (2009)Jt'ai déjà cartonné pour ce soir, donc t'y échapperas... Mais juste comme ca je te préviens, flood en S/T, flood en Aide, flood en Bugs, ca vaut averto et ce sont les sections où je passe très souvent... (en fait, t'as le droit de flooder intelligemment qu'en section libre, et tu n'as pas le droit de ne pas flooder intelligemment... et s'il faut que chaque jour je surveille tes messages postés partout sur le board, crois moi ca ne me pose aucun pb, je l'ai déjà fait il n'y a pas si longtemps pour quelqu'un d'autre...)
Posté par
thory le
19 Juin - 13:37 (2009)Bonjour, moi y a un problème, il marche pas...
j ai bien mis les numéro des variables et bien configurer les variables, rien a faire il marche pas chez moi.
Pouviez m aider svp :( :( :(
Posté par
Astheroth le
19 Juin - 13:48 (2009)T'es sur quel version de psp??
Si sur 4g+ c'est déjà intégré et fonctionnel. Faut juste jouer avec les variable en début de script. Donc j'imagine que t'es sur 0.7?
Dans ce cas là je te conseil de refaire toutes les manip correctement.
Et je ne vois pas pourquoi cela ne marcherait pas, ou explique un peu mieux où cela ne fonctionne pas??
Posté par
thory le
19 Juin - 14:29 (2009)Oui je suis sur 0.7, j ai bien mis le script, j ai mis les nombres pour les var et ensuite créer les var avec les nom et les meme numéro.
Et hier quand j ai essayer,il était 22h sur mon ordi et il fesait encore clair dans le jeu.
Si c est pas encore assez clair dites le
Posté par
Sphinx le
19 Juin - 14:38 (2009)t'avais pensé à activer l'interrupteur qui sert à différencier l'extérieur de l'intérieur au moins ?
Posté par
thory le
19 Juin - 16:56 (2009)OK ça fonctionne super géniale.
Mais je n ai pas bien compris pour faire en sorte qu un jour il pleuve et un autre il neige.
Merci!!!
Posté par
BlueRayquaza le
21 Juil - 16:31 (2009)Bonjour, j'ai utilisé le script, tout marche à la perfection. Mais... J'ai juste un petit problème :(
En fait, je suis sur 0.7, j'ai bien créé et réglé le numéro de toutes les variables et de l'interruteur SwiExterieur.
Dans les maisons, je mets un event en Processus Parallèle qui a pour commande :
Interrupteur(s) [007:SwiExterieur] désactivé.
Normalement, la couleur de l'écran devrait être réglée selon l'heure à l'extérieur et devrait avoir sa couleur normale dans les maisons.
Hors, ça marche tout à fait dehors, mais la tinte orange ( car j'ai testé ça au crépuscule ) est toujours présente dans le maison, alors que j'ai fait
ce qui était demandé. Je comprends pas, quelqu'un pourrais m'aider, merci ?
Posté par
BlueRayquaza le
22 Juil - 14:39 (2009)Ah, oups, pardon, c'est simplement parce que j'ai oublié de " Modifier le ton de l'écran " :gloups:
Posté par
spirow le
2 Juil - 11:58 (2010)Bonjour, j'ai une tite question, comment faire pour quel'heure soit tout le temps ecrit en haut a gauche ou a droite de l'ecran svp ?
Merci d'avance.
Cordialement Spirow.
Posté par
Tinei le
2 Juil - 16:49 (2010)Moi dès que je charge ou recommence une partie, un message me dis :
????????????????????????
Puis le jeu se ferme
Quelqun peut m'aider ? :?
Posté par
Denis Bros le
26 Juil - 20:24 (2010)Excuser moi de casser l'ambiance mais j'ai déjà sortie ce genre de scripte similaire et qui marche très bien et qui fait la même chose
jour/nuit temps réel avec valeur variable
./5660.htmlassocier avec
l'horloge
./5663.htmldouble scripte un en trop.
Posté par
Nuri Yuri le
26 Juil - 21:50 (2010)
Posté par
Denis Bros le
27 Juil - 12:32 (2010)oui mais moi je l'ai trouver avant lui et je me suis pas servie de ces tutoreils
Posté par
Chompy le
18 Jan - 21:33 (2011)Ce script fait quand même un peu laguer le jeu malheureusement... Je me demandais quelque chose, ne serait-il pas possible d'actualiser les variables contenant l'heure, les minutes et les secondes à chaque changement de map par exemple ? En d'autre terme est-il possible de synchroniser le jeu avec l'horloge interne de l'ordi à travers une commande scripté par exemple qu'on placerait dans un event ? Etant totalement incompétent en script, je ne sais pas du tout si c'est possible.
Posté par
Nuri Yuri le
18 Jan - 21:56 (2011)-_-
Mettre a jour le script toute les minutes suffirait à balayer le lag ...
Posté par
Chompy le
18 Jan - 22:56 (2011)Oui j'imagine mais pourquoi personne ne l'a fait ? Faut vraiment que je me mette au Ruby .....