Sujet n°2965
Posté par
Dark' le
22 Fév - 10:56 (2009)Titre :
Heure Virtuelle, Jour/Nuit... et aucun lagVoilà... D'abord, bonjour la compagnie !
Bon, alors, ce script...
On avait applaudit le script Jour Nuit, Temps Réel de MoussPSP, mais on c'était dit : "dommage que l'heure soit l'heure du PC... certains aimeraient une heure virtuelle"
Puis on avait été heureux du script de Sphinx, mais déçu par le lag...
Et bien, qu'a cela ne tienne, j'ai décidé d'y remédier, avec mes maigres connaissances du Ruby, mais suffisantes.
Jour/Nuit Virtuel
Note : les numéros de lignes que je donne sont les lignes correspondant si aucun espace n'est laissé avant le long commentaire vert du début.
Utilise :
- Script
- Variables
Connaissances requises :
- Appuyer sur F2 ^^
Fonctionnalités :
-
Gère la différence ordinateur 20fps et ordinateur 40fps -
Valeur d'une seconde réglable -
Teintes de l'écran réglables -
Gestion du temps très complèteI/Différence ordinateur 20 ou 40 FPSComme certains l'auront remarqué, pour certains ordinateurs, une seconde équivaut à 20 frames, pour d'autre, à 40. C'est ce que j'appelle les 20FPS et 40FPS. Ici, la seconde virtuelle est gérée en Frames. C'est à dire que le maker décide du nombre de frames que durera sa seconde virtuelle : s'il est sur un 40FPS, et qu'il décide "une seconde virtuelle = 10 frames", son heure ira 4 fois plus vite que la normale. Cependant, s'il donne son jeu à un ordinateur 20FPS, le temps ne sera plus que doublé, ce qui pourra causé de large différence dans le jeu.
Avec ce script, il suffira de donner le nombre de frames que vaudra une seconde virtuelle SUR UNE BASE 40FPS. Au début de jeu, la demande au joueur de son nombre de FPS (accessible par F2) devra enclencher un interrupteur, ou non. Si l'interrupteur est enclenché, le script gardera son 40FPS. Sinon, il s'arrangera tout seul pour passer en mode 20FPS.
Alors pas de souci. Placer simplement votre nombre de frames pour une seconde virtuelle en mode 40FPS.
II/ Régler la valeur d'une secondePour régler la valeur d'une seconde, chercher la ligne 40 du script :
Changer simplement le 40, qui équivaut au nombre de frames, en gardant à l'esprit qu'ici 40 frames = 1 seconde. Un petit peu au dessus, à la ligne 36 : , on vous demande de choisir l'interrupteur qui décidera si le jeu tourne en 20FPS ou en 40FPS.
III/ Régler les teintes de l'écran
Pour changer les teintes de l'écran, il vous faudra chercher les lignes 136 à 232. Ici, les teintes selon les heures sont affichées en RVB, il me semble, ce qui signifie que le premier chiffre gère le Rouge, le deuxième le Vert, et le dernier le Bleu.
Code: |
Tone.new(-100, -100, -100, 0) |
Ici, on demande -100 de chaque, sur une échelle allant de -255 (Noir) à +255 (Blanc). Le quatrième nombre gère la luminosité, ou la saturation, désolé je ne me souviens plus. Inutile, mieux vaut le laisser sur 0.
Dans le script basique, les teintes sont simple : un bête changement de luminosité, clair le jour, plus sombre en aurore/crépuscule, et encore plus sombre la nuit.
L'activation de l'interrupteur Exterieur, défini en début de script, active le changement de teinte. La désactivation de ce même interrupteur le désactive.
IV/ Gestion du temps
Le script ci-présent gère le temps d'un bout à l'autre, de la seconde à l'année. Seconde, Minute, Heure, Jour, Semaine, Mois et Année sont pris en compte. Est ajouté aussi un compteur d'heures et de jours écoulés In-game. Pour ressortir chacune des informations, simplement marquer dans un message \V[X], avec X la valeur correspondante à la variable voulue, définie en début de script.
Note : les mois sont programmés en mode "Lunatico-Fevrier", c'est à dire qu'il se mettent à jour toutes les 4 semaines, et ne comptes que 28 jours chacun.
V/ Le Script
Et voici le script lui-même, a placé au dessus de Main, nommé JourNuitVirtuel :
Code: |
#============================================================================== # ■ TempsJourNuit # Par Darkange, Dark~Peace # 22/02/09 -- Version 4 #-----------------------------------------------------------------------------
#----------------------------------------------------------------------------- # ● Indiquer les numéros des Variables et du Switch Exterieur #-----------------------------------------------------------------------------
# Variables contenant le nom du Jour (Lundi, Mardi...), ou du mois. NomJour = 54 NomMois = 55
# Variables contenant le nombre d'heures et de jours écoulés depuis le début # de la partie JourEcoul = 56 HeureEcoul = 57
# Variables contenant les différents composants du temps Seconde = 58 Minute = 59 Heure = 60 Jour = 61 Mois = 62 Annee = 63
# Variables contenant le jour du mois, et le nombre de jour du mois JourMois = 64 NbrJour = 65
# Variable contenant le moment de la journée, pour avoir la teinte NuitJour = 66
# Switch Exterieur : true = exterieur, false = interieur. A activer pour # que le changement de teinte fonctionne # Switch Frames : true = 40 Frames par seconde. False = 20 Frames par seconde. # Nombre de Frames par seconde du PC accessible par F2 pendant test du jeu. # JourNuit : interupteur d'activation du script. Exterieur = 20 Frames = 21 JourNuit = 19
# Nombre de seconde que l'on veut pour une frame. Base 40 frames, quelque soit # l'ordi. SecondeFrame = 13 #----------------------------------------------------------------------------- # ● Début du Script #-----------------------------------------------------------------------------
class JourNuitVirtuel < 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 self.contents.clear if $game_variables[Seconde] < 60 if $game_switches[Frames] = true if Graphics.frame_count % SecondeFrame == 0 $game_variables[Seconde] = $game_variables[Seconde] + 1 end end if $game_switches[Frames] = false if Graphics.frame_count % SecondeFrame/2 == 0 $game_variables[Seconde] = $game_variables[Seconde] + 1 end end Graphics.update end if $game_variables[Seconde] == 60 $game_variables[Seconde] = 0 $game_variables[Minute] = $game_variables[Minute] + 1 end if $game_variables[Minute] == 60 $game_variables[Heure] = $game_variables[Heure] + 1 $game_variables[HeureEcoul] = $game_variables[HeureEcoul] + 1 end if $game_variables[Heure] == 24 $game_variables[Heure] = 0 $game_variables[Jour] = $game_variables[Jour] + 1 $game_variables[JourEcoul] = $game_variables[JourEcoul] + 1 $game_variables[JourMois] = $game_variables[JourMois] + 1 end if $game_variables[Jour] = 8 $game_variables[Jour] = 1 end if $game_variables[JourMois] == $game_variables[NbrJour] $game_variables[JourMois] = 1 $game_variables[Mois] = $game_variables[Mois] + 1 end if $game_variables[Mois] == 13 $game_variables[Mois] = 1 $game_variables[Semaine] = 1 $game_variables[Jour] = 1 $game_variables[NomJour] = 1 $game_variables[Annee] = $game_variables[Annee] + 1 end
case $game_variables[Jour] when 1 jour = "Lundi" when 2 jour = "Mardi" when 3 jour = "Mercredi" when 4 jour = "Jeudi" when 5 jour = "Vendredi" when 6 jour = "Samedi" when 7 jour = "Dimanche" end case $game_variables[Mois] when 1 mois = "Janvier" nbrjour = 32 when 2 mois = "Février" nbrjour = 29 when 3 mois = "Mars" nbrjour = 32 when 4 mois = "Avril" nbrjour = 31 when 5 mois = "Mai" nbrjour = 32 when 6 mois = "Juin" nbrjour = 31 when 7 mois = "Juillet" nbrjour = 32 when 8 mois = "Aout" nbrjour = 32 when 9 mois = "Spetembre" nbrjour = 31 when 10 mois = "Octobre" nbrjour = 32 when 11 mois = "Novembre" nbrjour = 31 when 12 mois = "Décembre" nbrjour = 32 end $game_variables[NomJour] = jour $game_variables[NomMois] = mois $game_variables[NbrJour] = nbrjour @map = load_data(sprintf("Data/Map%03d.rxdata", $game_map.map_id)) #----------------------------------------------------------------------------- # Définition des tons #----------------------------------------------------------------------------- if $game_switches[Exterieur] == true case $game_variables[Heure] when 0 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" when 1 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" when 2 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" when 3 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" when 4 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" when 5 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" when 6 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" when 7 @tone = Tone.new(-60, -60, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Matin" when 8 @tone = Tone.new(-60, -60, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Matin" when 9 @tone = Tone.new(-60, -60, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Matin" when 10 @tone = Tone.new(-60, -60, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Matin" when 11 @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Jour" when 12 @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Jour" when 13 @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Jour" when 14 @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Jour" when 15 @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Jour" when 16 @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Jour" when 17 @tone = Tone.new(-60, -60, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Crépuscule" when 18 @tone = Tone.new(-60, -60, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Crépuscule" when 19 @tone = Tone.new(-60, -60, -60, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Crépuscule" when 20 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" when 21 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" when 22 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" when 23 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = "Nuit" end else @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,5) $game_variables[NuitJour] = 0 end end def update refresh end end #----------------------------------------------------------------------------- # ● Application des tons sur la map #-----------------------------------------------------------------------------
class Scene_Map alias old_main main def main @timesys = JourNuitVirtuel.new old_main if $game_switches[JourNuit] == true @timesys.dispose end end
alias old_update update def update if $game_switches[JourNuit] == true @timesys.update end old_update end
end |
Merci d'avoir lu, et de rien pour le script. Évidemment, un petit crédit n'est pas de refus
Posté par
Bilkev le
22 Fév - 11:06 (2009)On peut avoir des screens ???
Posté par
Dark' le
22 Fév - 11:09 (2009)Je n'en vois pas trop l'intérêt, comme j'ai dit, les teintes ne sont pour l'instant pas fameuse. Mais je t'en fais un, j'ai ma petite idée ^^
Posté par
Bilkev le
22 Fév - 11:11 (2009)ok c'était juste au moins pour voir ce que sa donne.
Posté par
Dark' le
22 Fév - 11:31 (2009)Bon, voilà un screen. Message remplie de variables, mais un beau résultat à la fin !
Posté par
Bilkev le
22 Fév - 11:32 (2009)Merci,peut-être si j'ai le temps je le mettrai.
Posté par
Newtiteuf le
22 Fév - 11:33 (2009)Darkange, super script
k:
Mais je vois des lignes que tu aurais pu "réduire" et des commandes maladroites exemple:
Code: |
$game_variables[Semaine] = $game_variables[Semaine] + 1
|
equivaut a dire:
Code: |
$game_variables[Semaine] + 1
|
il y a d'autres exemple ... et je te remercie car grace a toi je viens de comprendre comment marchaient les "case"...
Darkange: il est 17h30 chez toi ? et tu es le mardi ? Nous en est le dimanche et il est 11h30 ... :mrgreen:
Posté par
Dark' le
22 Fév - 11:36 (2009)Il est 17 heure 30, oui... Mais pas Mardi, j'avoue ^^ j'ai mis au hasard pour le jour et le mois... 2 et 2 ^^ ça fait le 2 22 2 ^^
C'est vrai que j'aurais pu réduire, mais bon. ça change rien, et j'adaptais d'un vieux truc.
Tu peux tester voir si ça marche chez toi ?
Posté par
Disccat le
22 Fév - 11:36 (2009)Y-a-t-il quelque chose à modifier dans ton script ? Parce-que chez moi il ne passe pas, dès le démarrage il bug à la
ligne 264 : $game_variables[VarNuitJour] = 0
Posté par
Dark' le
22 Fév - 11:39 (2009)Oups !
J'ai envoyé le script de mon jeu de test ^^
Enlève le "Var" de ta ligne
EDIT : Script MAJ
Posté par
Disccat le
22 Fév - 11:45 (2009)Encore un bug Lors du nommage du dresseur (moi parle Français bien):
---------- Erreur de script : JourNuitVirtuel ----------
----- Type
NameError
----- Message
uninitialized constant JourNuitVirtuel::VarNuitJour
----- Position dans JourNuitVirtuel
Ligne 264
----- Backtrace
Script : JourNuitVirtuel | Ligne : 264 | Méthode : in `refresh'
Script : JourNuitVirtuel | Ligne : 52 | Méthode : in `initialize'
Script : JourNuitVirtuel | Ligne : 280 | Méthode : in `new'
Script : JourNuitVirtuel | Ligne : 280 | Méthode : in `main'
Script : Main | Ligne : 53
Posté par
Dark' le
22 Fév - 11:49 (2009)Prends le dernier script, il n'y aura plus ce problème.
MAJ du script : ajout de la fonction "JourMois", variables contenant le numéro du jour du mois.
NOTE : les mois sont programmés en mode "Lunatico-Fevrier", c'est à dire qu'il se mettent à jour toutes les 4 semaines, et ne comptes que 28 jours chacun.
MAJ du premier post.
Posté par
Sphinx le
22 Fév - 11:56 (2009)xD Oops, ca va être chaotique, ca, pour les soldes d'hiver et d'été =)
>> fais un tableau =) (dedans, le nbre de j de chaque mois, et pour les semaines suffit de faire un /7 au nbre de j depuis le début du jeu =))
Posté par
Dark' le
22 Fév - 11:59 (2009)(Pourquoi chaotique pour les soldes d'hiver et d'été ? l'hiver et l'été sont toujours la)
C'est vrai, je pourrais, mais la flemme, tu peux pas savoir ^^ un jour, peut etre. J'aime pas rentré dans les trucs trop compliqué.
Au pire, si ça tente quelqu'un de s'y pencher...
Posté par
Disccat le
22 Fév - 12:00 (2009)Et sinon, comment fait-on pour régler le jour, le mois, l'heure, etc...?
Lorsque je pose la variable 500 et 499 dans un texte, même après un nouveau jeu, j'obtients 0 à chacun ^^' .
EDIT: Ce ne sont pas les bonnes varriables je pense ^^' .
EDIT PIAF: Non, même les autres variables affichent 0...
Posté par
Dark' le
22 Fév - 12:04 (2009)500 et 499 sont les bonnes, mais on ne doit pas y toucher. Elle s'adapte en fonction de 506 et 508
Posté par
Disccat le
22 Fév - 12:06 (2009)Mais pourquoi j'obtient 0 sur chaque varriables ?
Posté par
Dark' le
22 Fév - 12:15 (2009)Normalement, si 506 = 1, 500 = Lundi, ect...
En revanche, si 506 = 0, 500 = 0
Posté par
Newtiteuf le
22 Fév - 12:16 (2009)Dark ... comment on démarre le script ?
Posté par
Disccat le
22 Fév - 12:17 (2009)Ah, je pense avoir compris quelque chose, je vais tester et si cela fonctionne ^^' ...
Posté par
Dark' le
22 Fév - 12:18 (2009)Le script ne se démarre pas, il est constamment lancé. En revanche, l'interrupteur Exterieur doit etre activé.
Posté par
Pαlвσlѕку le
22 Fév - 12:20 (2009)J'ai une petite question.
L'heure est-elle récupérée de l'ordinateur ? Ou faut-il lui rentrer l'heure, manuellement ?
Posté par
Disccat le
22 Fév - 12:24 (2009)Bon, j'ai eu des soucis de lag, les minutes qui augmentent quand j'ouvre le menu, les secondes qui n'avancent pas...
J'abandonne par K-O.
Posté par
Dark' le
22 Fév - 12:25 (2009)L'heure est gérée par le script. Elle n'est récupéré nul part, et tu peux la gérer manuellement en créant un évent proche de celui de Sphinx dans son ancien tuto.
Si tu ne fais rien, mais que tu active le script par l'interrupteur, le jeu se lance sur une base 0 heure 0 minute 0 seconde du 0, 0 de mois 0 de l'an 0, et donc euh... Bah faut attendre un mois avant que ça fonctionne ^^
En gros : si tu ne veux pas gérer manuellement, met tout de meme un évènement dans ton intro qui dit : Seconde + 60, Minute + 60, Heure + 24, Jour + 8 ect... pour partir sur quelque chose.
EDIT : Discat, ça m'a tout l'air de deux scripts qui s'auto-gène...
le lag : incompréhensible.
les minutes qui augmente : script de menu modifié ? Ou script de base ?
les secondes qui ne bouge pas : tu as lancé l'interrupteur au moins ?
Posté par
Newtiteuf le
22 Fév - 12:26 (2009)Darkange quand j'active l'interrupteur exterieur j'ai un tres joli:
???????????????????????
qui apparait ...
Posté par
Pαlвσlѕку le
22 Fév - 12:29 (2009)Un script qui tourne en boucle. Bien bizarre...
Je vais tester, je vous tiens au courant.
Posté par
Dark' le
22 Fév - 12:29 (2009)Au purée... Je me disais aussi, ça marche chez moi, mais c'était trop beau.
Il apparait durant le jeu ? Ou au lancement ? Tu l'as activé comment ?
Posté par
Newtiteuf le
22 Fév - 12:30 (2009)J'ai essayé d'activer l'interrupteur via F9 et via évent mais ca bug dés que je l'active (au bout de 5 secondes)
Posté par
Disccat le
22 Fév - 12:31 (2009)C'est ce que je pense aussi, 2 script qui se battent pour les variables.
C'est quand j'ai activé l'interrupteur extérieur que mon jeu s'est mis à ralentir.
Les secondes je n'ai peut-être pas fait gaffe si il y avait un autre interrupteur (ça aurait été mieux si tout était expliqué au premier post, mais bon pas grave c'est moi qui suis bidon aussi).
PS: 2 "c" à Disccat XD
Posté par
Dark' le
22 Fév - 12:32 (2009)Nt :As-tu touché aux variables ?
Normalement on devrait pouvoir, mais au cas ou, j'ai garder des bonnes vieilles variables immenses.
Disccat : scuse ^^"
Posté par
Newtiteuf le
22 Fév - 12:34 (2009)Ben oui que j'ai touché au variables, sinon ca me déregle tous mon jeu ><"
Posté par
Pαlвσlѕку le
22 Fév - 12:38 (2009)Même bug que NT.
Un beau message "??????????????" au bout de 10 secondes après avoir activé l'interrupteur Extérieur.
Posté par
Dark' le
22 Fév - 12:40 (2009)Ok... Je comprends, ça, ça va, mais alors je ne vois pas du tout pourquoi ça bug. les variables ne sont pas sensé changer quoi que ce soit.
J'ai retester chez moi, tout baigne. Je ne comprends pas.
As-tu tester sur un projet PokemonS basique ?
EDIT : J'ai essayé sur le projet de mon jeu, et encore une fois, pas de souci.
Et pourtant, je n'avais pas activer l'interrupteur Frames, moi qui pensait que ça viendrait peut être de là :S
Posté par
Newtiteuf le
22 Fév - 12:47 (2009)Dark, je crois que je vais abandonner l'utilisation de ton script !
Posté par
Dark' le
22 Fév - 12:49 (2009)Ca fait plaisir, au bout de 30 minute d'existence...
bah, tant que ça marche chez moi ^^
Posté par
Empire1601 le
22 Fév - 13:02 (2009)Pour le jour de la semaine, tu peux reprendre mon script si tu veux
>> Rechercher
Posté par
Pαlвσlѕку le
22 Fév - 13:07 (2009)
Voilà le problème, ne pas replacer le 1 par 40, car sinon ça fait 40 secondes par frames, soit 40 * 40 = 1600 secondes en 1 secondes réel.
On comprend pourquoi ça bug xD
NT, ça devrait marcher maintenant. Par contre ça lag puisque cela fait 40 secondes pour une seconde réel. Le temps se déroule 40 fois plus vite.
Autre chose, si un mois fait 28 jours alors, 28 * 12 = 336 jours par an, donc il manque 29 jours. Donc il faut tout de suite inclure le nombre de jours par mois, pour éviter tout décalage dans le temps.
Posté par
Dark' le
22 Fév - 13:25 (2009)Non. Le nombre equivaut au nombre de frames pour une seconde. 40 = tant réel, 1 = 40 fois plus vite.
Posté par
Pαlвσlѕку le
22 Fév - 19:16 (2009)Bon déjà, j'ai réglé le problème avec les secondes :
Code: |
while $game_variables[Seconde] < 60 |
Vous remplacez par :
Code: |
if $game_variables[Seconde] < 60 |
Normalement avec ça, les secondes devraient s'écouler normalement.
Posté par
Dark' le
23 Fév - 05:27 (2009)C'est vrai que le While était stupide. Je l'avais utilisé en test pour autre chose, et n'avait pas changé par la suite en changeant la méthode.
Peut-être à l'origine du bug des "????????????????"
Je corrige sur le script, c'est vrai que ça marche.
Posté par
Sphinx le
23 Fév - 09:11 (2009) dans vos boucles, collez un Graphics.update, comme ca vous éviterez les bugs "????????" and co
Posté par
Dark' le
23 Fév - 09:19 (2009)Un graphics update dans chaque condition ?
Posté par
Sphinx le
23 Fév - 09:24 (2009)nop, dans les boucles qui posent ce pb
Posté par
Pαlвσlѕку le
23 Fév - 11:21 (2009)Sphinx, j'ai déjà penser au "Graphics.update" mais je me suis dis que si l'ordinateur en a besoin, ça veut dire que ça va laguer.
Posté par
Sphinx le
23 Fév - 11:27 (2009)^o^ possible, mais c'est un mal pour un bien =)
>> n'oubliez pas que si Graphics.update n'est pas lancé toutes les 10 secondes, le jeu ne laggera plus, il plantera inévitablement
Posté par
Dark' le
23 Fév - 11:31 (2009)Je ne comprends pas... A quoi sert ce Graphics.update ?
Et encore une fois, chez moi, meme sans Graphics.update, je peut jouer, utiliser des téléporte, faire des combats etc... Sans aucun problème !
Et tu me dis de mettre Graphics.update dans les boucle qui bug... D'abord, y a pas de boucle ^^, ensuite, on ne sait justement pas laquelle bug, le seul message est ????????????
Enfin, d'après ce que les autres ont dit, puisque chez moi, aucun problème..
Posté par
Pαlвσlѕку le
23 Fév - 11:38 (2009)Le message ????????????? indique qu'un script tourne en boucle (là, c'est le tient). Cependant, sans Graphics.update, le jeu plante au bout de 10 secondes mais avec le Graphics.update, le temps est illimité.
C'est la solution pour laisser plus de temps à l'ordinateur pour charger. C'est quoi la configuration de ton ordinateur ?
Posté par
Dark' le
23 Fév - 11:51 (2009)Oulà, ne me parles pas de configuration de l'ordinateur, jamais rien pigé à ça.
Je dois comprendre quoi par là ?
Ce que je sais : Mac Pro, Vista 32bits edition familiale qui tourne sur Bootcamp...
Posté par
Pαlвσlѕку le
23 Fév - 11:54 (2009)Oki, donc rien à voir avec ça, je me demande bien pourquoi ça marche pas chez nous. Tu l'as fais sur quel version de PSP ?
Posté par
Dark' le
23 Fév - 12:05 (2009)PSP 0.7, c'est dit dans le sous-titre, comme demandé par NT.
Faut voir avec Graphics.update. Tu as testé ?
Posté par
Sphinx le
23 Fév - 12:11 (2009)>>
en fait, le plus "grave" ce n'est pas que le script boucle, mais juste que Graphics.update doit être appelé toutes les 10 secondes min (enfin 10 secondes, il plante ^o^ c'est donc avant qu'il faut l'appeler)
Posté par
Dark' le
24 Fév - 04:10 (2009)Je ne pige plus rien... Il n'y a pas une seule boucle dans ce script, et pourquoi devrait-il planté toute les 10 secondes ?
EDIT : j'ai mis les Graphics.update dans la partie Scene_Map à la fin du script. Pas de lag, mais le perso avance lentement.
==> Il suffit de créer un évent commun lancé par un interrupteur qui sera lui-même lancé par le script, et qui fait avancer le perso a vitesse "Rapide".
EDIT 2 : bon, lancé par la réussite relative du Graphics.update qui semble au moins changer quelque chose, puisqu'il fait réagir la vitesse du personnage... J'ai revu un peu le script. J'ai supprimer la gestion inutile des semaines, rajouté une variable contenant le nombre de jour dans un mois.
Donc, oui, désormais Janvier compte bien 31 jours, et Juin 30 (ce sont des exemples ^^ tous les autres sont programmés aussi.)
J'ai aussi rajouté un interrupteur servant à lancé le script, par souci technique. (Chouette, ça permet de geler le temps ^^)
Donc, MAJ du premier post avec ce nouveau script, j'espère qu'il marchera cette fois.
Posté par
Elric le
18 Déc - 16:04 (2010)Je suis complètement bouché moi... comment faire pour que l'heure avance svp ?