Sujet n°11300
Posté par Wosa le 16 Avr - 17:38 (2012)
Titre : [Résolu] Character jour/nuit
Bonjour,

Je vous explique mon soucis.
Je voudrais que les pnj que j'ai mis sur la plage de jour ne soit plus là de nuit mais, dans leurs maison parce-que je ne comprend pas très bien comment mettre tout ça en place.

Je suis sous psp4g+ merci d'avance.

Posté par Koya le 16 Avr - 17:47 (2012)
Dans tes events, tu as des "pages".
Tu fais une page 1 avec pour condition qu'il fasse jour, l'image de tes PNJ, les évents/dialogues associés.
Et une page 2 (clique sur "Nouvelle Page" tout en haut)avec pour condition qu'il fasse nuit, vide.

Le jour, la condition de la page 1 est vérifiée, les pnj apparaissent.
La nuit, c'est la page 2 qui s'exécute, les pnj ne sont pas là.

Et de même, dans les maisons tu fais des events en deux pages, mais cette fois c'est le jour que les pnj sont absents, et la nuit ils sont chez eux. ^^

Après, pour la condition (sur la gauche, soit la condition d'apparition de ton event et pas une condition "normale"), il faudrait utiliser un interrupteur ou une variable, suivant qu'il fasse jour ou nuit. Et pour ça je sais plus ce qu'il faut utiliser en revanche. x']
Quelqu'un pour répondre à cette question?

Voilà, j'espère que ça te servira. Clin d'œil foireux

Posté par Wosa le 16 Avr - 22:12 (2012)
Tout d'abord je te remercie pour ta réponse.

Mais, j'avoue ne pas trop comprendre tout ça j'ai vraiment du mal...

Posté par Koya le 16 Avr - 23:08 (2012)
Et zut, moi qui voulait éviter les images. -_-

Bon, mettons que tu as un interrupteur "JOUR", qui est activé quand il fait jour, et un second "NUIT" mais activé la nuit.
Tu vas faire 2 events, un dans la maison et un sur la plage.
L'un affichera le PNJ quand il fait jour (plage), l'autre quand il fait nuit(maison)

Voilà l'event SUR LA PLAGE. À gauche, la première page pour le JOUR (comme tu peux le voir avec la condition à gauche du cadre. À droite, le même event, la deuxième page qui est vide car la nuit, le PNJ est chez lui. Clin d'œil foireux
Spoiler


De même pour l'event DANS LA MAISON, en inversant jour/nuit :
Spoiler




Reste à trouver comment dire si c'est le jour ou la nuit, ça j'ai pas cherché pour le moment.
Et avec des images, ça va mieux maintenant? =)

Posté par Nuri Yuri le 16 Avr - 23:30 (2012)
Tu peux aussi ne pas mettre l'activation par interrupteur sur la première page et vérifier si c'est la nuit sur la deuxième page, c'est la même chose sauf que tu n'utilise pas inutilement un interrupteur.

Posté par Koya le 16 Avr - 23:34 (2012)
J'avais envisagé cette option aussi, mais évitons de le surcharger d'informations Yuki. Une condition claire pour chaque point, c'est plus compréhensible. =)
Sinon, quelqu'un pour ajouter comment connaître le moment de la journée pour que cet event puisse fonctionner? :O

Posté par Nuri Yuri le 16 Avr - 23:36 (2012)
Si t'es sous PSP 4G+ vas voir du coté des évent communs / scripts qui gèrent le jour et la nuit.

Posté par Koya le 16 Avr - 23:51 (2012)
#Mais j'ai la flemme parce que je me prends la tête sur un chara depuis 4 heures alors que trouver m'a pris 40 secondes? 42 #

Le trouver, c'est facile, l'expliquer clairement à Wosa...

#Mais il faudrait un petit event commun,
faire une condition, et écrire dans la zone de script $game_variable[4995]="Crépuscule" or $game_variable[4995]="Nuit", si je ne me trompe pas.
si condition vérifiée -> c'est la nuit, on active NUIT et on désactive JOUR
sinon -> on inverse

(la variable 4995 contient des caractères donc condition en script nécessaire je pense, et a pour valeur "Matin", "Jour", "Crépuscule" ou "Nuit" suivant l'heure.)#

Après, j'ai un doute sur mon script dans la condition, un  moment que j'ai pas fait une condition en script. :/


...Hum, si quelqu'un d'autre peut l'expliquer clairement, je ne l'ai jamais utilisé donc je préfère éviter de dire une bêtise à Wosa, et je doute que mon blabla soit clair. ^^'

Posté par Nuri Yuri le 17 Avr - 09:04 (2012)
Tu vas faire planter ton projet avec ça, c'est pas = qu'il faut mettre mais == sinon t'assigne et ta condition en plus de ça va être toujours vraie. (Ruby 1.9.3 nous engueule quand on fait ce genre de bêtise mais en 1.8.6 il faut certainement régler qqch pour qu'il le dise si il sait le faire.)
Sinon, les valeurs semble être les bonnes par contre ce qui me gène un peut, c'est l'obstination de l'utilisation de strings dans une variable c'est bête qu'il y en a pas une autre avec une valeur numérique c'est beaucoup mieux pour les conditions.

Aussi, pour le crépuscule, tu peux faire en sorte à ce que l'évent aie une autre réaction quand il est à la maison ça rendra ton jeu plus riche :b

Posté par Koya le 17 Avr - 10:26 (2012)
...Ohohoh, ce vieil oubli pourri du ==. Bien vu Yuki, j'aime pas ce ==. x']

Pour les strings dans les variables, surtout celles du jeu, je suis un peu d'accord, c'est assez pénible. 0=crépuscule, 1 = nuit, 2 = matin, 3 = jour, ou dans un ordre différent, c'est si compliqué? Enfin, je remplacerai par des chiffres dans mon coin plus tard. u___u

Aussi, c'est toujours plus sympa. :b

Posté par Wosa le 18 Avr - 12:23 (2012)
Oula oula il y a beaucoup de choses d'écrites je suis censé écouter qui et quoi^^' ?

Je n'arrive pas à faire fonctionner le tout ou alors je n'ai rien compris ou j'ai oublier quelque chose...

Posté par couga le 18 Avr - 15:29 (2012)
Avec la technique simple de Koya ça peu marcher mais... moi je ferais comme ça.

Il pourrais passer par un évènement parallèle qui déclencherais l'apparition ou la disparition des pnj. Par exemple son évènement parallèle :

(X = numéros de la variable - Y = Nom de la variable - W = Numéro de l'interrupteur - Z = Nom de l'interrupteur)

<>Condition : Si la variable [XXXX: YYYY] est supérieur ou égale à 19 (donc 19 heures)
    <>Interrupteur(s) [wwww:zzzz] activé
    <>
<>Condition : Si la variable [XXXX: YYYY] est supérieur ou égale à 8 (donc 8 heures)
    <>Interrupteur(s) [wwww:zzzz] activé
    <>
    Sinon
    <>Interrupteur(s) [wwww²:zzzz²] activé (le petit "²" signifie différent des valeurs précédente et ici c'est le jour)
    <>
    Fin
 <>
 Fin

Ensuite pour ses PNJ qui seront monter de la même façon :


Page 1 => Skin du pnj apparant + Cocher "l'interrupteur" choisir "[wwww²:zzzz²]". Ici il y dépose le texte, ou enfin ce qu'il souhaite faire faire au pnj.
Page 2 => Pas de skin + Cocher "l'interrupteur" choisir "[wwww:zzzz]". Ici la page reste vierge.

Pour faire apparaitre dans une maison il fait la même chose sauf dans le sens contraire.

Arrêtez-moi si je me suis tromper.

Posté par Wosa le 18 Avr - 23:31 (2012)
Avec la technique de Couga j'ai réussi mais, il y a un soucis sur la plage... le pnj que j'ai mis sur la chaise longue qui devrais ne plus être là la nuit laisse son message quand je clique sur la chaise donc comment faire pour supprimer le message ?

Je crois que je vous pose une colle là ^^'

Posté par Psykomatik le 19 Avr - 00:02 (2012)
Ta donné l'event à la chaise longue, donne le au chara.

Posté par Wosa le 19 Avr - 08:18 (2012)
Il s'agit bien du png qui possède l'event et non la chaise longue, en faite quand le png devient invisible je peux toujours lui parler.

Posté par Oshidawa le 19 Avr - 10:01 (2012)
Dans ta seconde page d'événements qui est censée êtres celle ou le pnj disparais donc la nuit enlève le texte

Posté par Koya le 19 Avr - 11:49 (2012)
Hum, désolée du retard.

couga, ta méthode est sensiblement la même hein. =)
Excepté que tu utilises un event qu'activera le héros pour le temps, alors que je pensais le mettre en evenement commun (ou direct dans le script ça peut le faire aussi).
Et que tu utilises une variable qui contient les heures. Sur le coup j'ai pas géré, j'ai trouvé la variable qui indique le moment de la journée, j'ai pas fait gaffe qu'on en avait une autre, juste en dessous, beaucoup plus facile à utiliser, désolée. %')

Pour l'event, comme dit Oshidawa vérifie que la page d'absence du pnj est bien vide. Si ça ne marche toujours pas, tu peux nous montrer tes deux pages d'event?

Posté par Wosa le 19 Avr - 14:15 (2012)
De jour, elle est présente je peux lui parler.
De nuit, le pnj disparaît et il n'y a plus de dialogue.
Cependant quand le jour revient le pnj ne reviens pas.
Je fais le changement d'heure avec l’horloge Windows.

Voici les capture d'écran:



Posté par Koya le 19 Avr - 18:35 (2012)
Tu actives les interrupteurs, mais tu ne les désactives pas!
Il faut que tu les désactives quand ils sont inactifs, sinon il arrive un moment où tous les interrupteurs sont actifs, et là tu n'auras pas ce que tu veux. Clin d'œil foireux

Posté par couga le 19 Avr - 19:04 (2012)
Ouaip je pensais que c'était logique je ne l'ai pas précisé c'est de ma faute :p

Edit: Au cas ou aussi, tu mets dans l’événement en parallèle les interrupteurs désactivé.

Posté par Wosa le 19 Avr - 19:50 (2012)
Et baaah voilà ça fonctionne parfaitement merci beaucoup !