Partagez
Aller en bas
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Interrupteurs locaux - Dialogues alternés Empty Interrupteurs locaux - Dialogues alternés

le Dim 24 Mai 2015 - 9:26
Coucou,

J'ai un petit souci concernant les dialogues avec les PNJs via les interrupteurs locaux. Pour faire comme dans les Final fantasy, j'ai utilisé des interrupteurs locaux pour switcher les phrases de dialogue de mes PNJs. C'est-à-dire que la première fois, le PNJ dit quelque chose, puis en lui reparlant, il dit autre chose. Et les deux dialogues s'alternent.

Mon problème se situe lorsque je sors de la map, les interrupteurs locaux ne se réinitialisent pas, ce qui est normal vu que ce sont des interrupteurs locaux. La solution serait d'utiliser des interrupteurs classiques, voire des variables mais ça m'embête de gaspiller tout ça alors que les interrupteurs locaux font l'affaire dans ce genre de situation. Avez-vous des suggestions à me faire ? Je me demandais aussi s'il n'était pas possible, via un script call, de changer l'état d'un interrupteur local avec l'ID d'un événement.
Subdigital
Subdigital
Membre

Nombre de messages : 73
Age : 25
Distinction : aucune
Date d'inscription : 15/08/2012

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Dim 24 Mai 2015 - 10:27
En ajoutant à ton event de tp (celui qui te téléporte vers la map cible)
- Modifier un interrupteur => Activer/Désactiver l'interrupteur ou la plage d'interrupteur désiré.

Il y a probablement d'autre moyens, mais avec cette méthode chaque interrupteur (des pnj en question) sera activé ou désactivé à chaque entré sur la map.

EDIT : il s'agit d'un méthode utiliser pour les interrupteur classique, mais la manip est possible via un event placer sur la map cible avec pour corps :
- Modifier un interrupteur local => activer/désactiver

Ou en utilisant les variable :
https://www.rpgmakervx-fr.com/t17638-empecher-vos-pnj-d-etre-ennuiyant
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Dim 24 Mai 2015 - 12:57
Je ne peux activer ou désactiver un interrupteur local d'un event dans cet event en question et non pas dans un autre event. Lorsque je sors de la map, ce n'est pas le même event que celui du PNJ.
Subdigital
Subdigital
Membre

Nombre de messages : 73
Age : 25
Distinction : aucune
Date d'inscription : 15/08/2012

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Dim 24 Mai 2015 - 15:06
Je bidouille pleins de choses depuis 2 heures et pas moyen d'y arriver...pour le coup je suis aussi intéressé par la solution si quelqu'un trouve un moyen. un script serait le bienvenue je pense.
Ti-Max
Ti-Max
Membre

Nombre de messages : 1096
Localisation : Canada/Québec
Distinction : Poisson 2018 [Amal']
Date d'inscription : 02/09/2009

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Dim 24 Mai 2015 - 16:59
Interrupteurs locaux - Dialogues alternés Texte_10

Désolé de la qualité, je sais pas si c'est servimg ou mon ordi...
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Dim 24 Mai 2015 - 17:55
T'as pas compris, je veux changer l'état d'un interrupteur local d'un event PNJ lors je sors d'une map via un event de téléportation.
Ti-Max
Ti-Max
Membre

Nombre de messages : 1096
Localisation : Canada/Québec
Distinction : Poisson 2018 [Amal']
Date d'inscription : 02/09/2009

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Dim 24 Mai 2015 - 18:37
C'est pas possible sauf avec L'Event Extender, l'as-tu pourras le faire depuis un autre Event.
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 9:05
J'ai trouvé grâce au module basique de Blackmorning que j'utilise :

$game_self_switches[[mapID, eventID, "A"]] = true or false
$game_map.refresh

J'ai testé, ça marche. Par contre, c'est quoi la fonction de $game_map.refresh ? Je dois l'utiliser ou pas ? Que je le mette ou non, ça a l'air de marcher.
Gelarto
Gelarto
Gelato Della Mamma

Nombre de messages : 2919
Age : 24
Distinction : Grand bêta-testeur de la communauté Curse
Personne avec du goût
Je ne suis pas une glace italienne, bordel de merde! [Gel']
Mon plus grand fan [Yama']
Mon ptit bichon [encore Yama']
Jeau-Paul II[Mist']
Saint-Gelato Le Frais [Mist']
Écrivain du dimanche [Amal']
FF IV Fanatic [LaCommu']
Collectionneur de distinctions de merde [Yama]
ModoGel [Un staffieux mais lequel?]
RNGel 2.0 [Zeal']
Date d'inscription : 31/07/2012

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 10:36
Si on se fie au nom, ça doit remettre à 0 tout les évènements de la map, comme si tu n'y étais jamais aller. A vérifier^^

_________________
Interrupteurs locaux - Dialogues alternés 1501028175-pantsu
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 10:57
Dans ce cas, il vaudrait mieux que je ne le mette pas.^^
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 12:00
Tu sais faire ça également avec ce script que j'utilise dans mon projet de plus il permet d'ajouter un nombre indéfini de self switch à un event.

Exemple :

Code:
$game_self_switches[[1, 2, "switch3"]] = true

Cette ligne active le self switch numéro 2 de la map 1 dont le nom est "switch3"

Code:
Switch:switch3

Interrupteurs locaux - Dialogues alternés 111

Cette ligne défini le nom du switch.
A mettre dans un event en commentaire et tu ne dois plus utiliser les interrupteur locaux

Code:
#===============================================================================
# More Self-Switches (VX Ace Edition)
# Version 1.0
# Author game_guy
#-------------------------------------------------------------------------------
# Intro:
# Ever need more than 4 self switches? With this small script, you can now
# have as many self switches you want. You aren't just limited to letters
# either. You can have names for them.
#
# Features:
# -More Self Switches
# -Name them whatever
#
# Instructions:
# -First, lets create a self switch for our event. Anywhere in the event, add
# a comment and type this,
# Switch:switch_name.
# switch_name can be whatever you want to name the switch. Thats all you have
# to do to create a self switch for that page.
# There cannot be any spaces between the colon and the switch name.
# e.g. Switch: switch - Does not work.
# e.g. Switch:switch - Does work.
#
# -Now to turn this switch of or on, call this in a script call.
# self_switch("switch", true/false)
# switch is the switch name, this must be in double " " or single ' ' quotes.
# true/false tells the script whether to turn it off or on. true = on,
# false = off.
#
# -If you want to see if a self switch is on/off, use this script in a
# condtional branch.
# self_switch_state("switch") == true/false
# switch is the switch name, this must be in double " " or single ' ' quotes.
# true = on, false = off
#
# Compatibility:
# Should work with anything.
#
# Credits:
# game_guy ~ For creating it.
#===============================================================================

class Game_Event < Game_Character
alias gg_init_more_switches_lat initialize
def initialize(map_id, event)
gg_init_more_switches_lat(map_id, event)
@event.pages.each {|page| page.list.each {|command|
if [108, 408].include?(command.code)
command.parameters.each {|p| check_custom_switch(page, p) }
end}}
refresh
end
def check_custom_switch(page, code)
a = code.split(':')
if !a[0].nil? && a[0].downcase == "switch" && a[1] != nil
page.condition.self_switch_ch = a[1]
page.condition.self_switch_valid = true
end
end
end

class Game_Interpreter
def self_switch(switch, state)
if @event_id > 0
key = [$game_map.map_id, @event_id, switch]
$game_self_switches[key] = state
end
$game_map.need_refresh = true
end
def self_switch_state(switch)
key = [$game_map.map_id, @event_id, switch]
return $game_self_switches[key]
end
end

Source : http://forums.rpgmakerweb.com/index.php?/topic/965-more-self-switches/

_________________
Interrupteurs locaux - Dialogues alternés 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Interrupteurs locaux - Dialogues alternés 344805
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 12:40
Ces interrupteurs ne sont pas attachés à un event alors, si ?
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 12:46
Qu'est ce que tu entends par attaché ?

Si tu met en commentaire en haut d'une page dans un event.

Switch:pomme

"Pomme" agira comme un interrupteur local et sera donc attaché a cet event.

Tu pourras ensuite l'activer ou le desactiver depuis la même map ou non via une ligne de code (voir au dessus).

_________________
Interrupteurs locaux - Dialogues alternés 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Interrupteurs locaux - Dialogues alternés 344805
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 14:34
D'accord, j'ai compris. Par contre, si je veux mettre en condition d'activation cet interrupteur, ce n'est pas possible. Je me trompe ? En temps normal, je créé des pages d'événement avec en condition un interrupteur local activé. Comment je peux procéder avec ce script ?
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 17:56
Regarde les explications en haut du script.

Code:
If you want to see if a self switch is on/off, use this script in a
# condtional branch.
# self_switch_state("switch") == true/false

Tu peux donc utiliser les conditions pour vérifier si un interrupteur local est actif ou non.

N'hésites pas si tu as encore des questions.

_________________
Interrupteurs locaux - Dialogues alternés 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Interrupteurs locaux - Dialogues alternés 344805
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 18:21
Oui mais en gros, tu es forcé d'utiliser une seule page d'event avec toutes les conditions dans les commandes. Tu ne peux pas créer des onglets en mettant une condition à chaque fois.
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 18:29
Non tu utilises autant de page que tu veux suffit de mettre le commentaire au dessus de chaque pages pour que ça fonctionne.

Comme ci-dessous pour le même event :

Interrupteurs locaux - Dialogues alternés Captur26

Interrupteurs locaux - Dialogues alternés 212

_________________
Interrupteurs locaux - Dialogues alternés 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Interrupteurs locaux - Dialogues alternés 344805
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 19:37
D'accord, et ça va lire de la même façon de l'onglet le plus à droite vers le plus à gauche ?
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 20:42
Ca va lire celui que tu demandes de lire via appel de script et le code.

_________________
Interrupteurs locaux - Dialogues alternés 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Interrupteurs locaux - Dialogues alternés 344805
Eekoun
Eekoun
Membre

Nombre de messages : 86
Distinction : aucune
Date d'inscription : 06/03/2014

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 22:39
Je t'invite à regarder ceci :
https://github.com/RMEx/RME/wiki

Peut être que cette page pourra te convaincre :
https://github.com/RMEx/RME/wiki/Interrupteurs-locaux-et-variables-locales

Et tu peux faire plein d'autre chose Smile

Si on se fie au nom, ça doit remettre à 0 tout les évènements de la map, comme si tu n'y étais jamais aller. A vérifier^^
Oui. En fait, ça permet a la carte de se modifier si un événement l'oblige.
Nérylis
Nérylis
Membre

Nombre de messages : 612
Age : 31
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 23:01
Pour en revenir au script de Blackmorning que j'ai cité plus haut, en fait, je n'utilisais pas le bon script call. Il faut utiliser : setSelfSwitch(map, id, A-D, true/false) et là on ne se pose plus la question du map refresh.^^

Cela résout mon problème, mais j'essaierai ton script spy. Wink
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Interrupteurs locaux - Dialogues alternés Empty Re: Interrupteurs locaux - Dialogues alternés

le Lun 25 Mai 2015 - 23:11
Pas de soucis je déplace Smile

_________________
Interrupteurs locaux - Dialogues alternés 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Interrupteurs locaux - Dialogues alternés 344805
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum