AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

Partagez
 

 Avoir plus de 4 interrupteurs locaux

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
MirainoHikari
Ex-Admin-Script
Ex-Admin-Script
MirainoHikari


Masculin Age : 42
Inscrit le : 26/05/2008
Messages : 2360

Avoir plus de 4 interrupteurs locaux Empty
MessageSujet: Avoir plus de 4 interrupteurs locaux   Avoir plus de 4 interrupteurs locaux Icon_minitimeJeu 26 Juin 2008 - 15:21

Nom du tutoriel : Avoir plus de 4 interrupteurs locaux

Notre objectif : Utiliser un nombre illimité d'interrupteurs locaux pour des conditions à l'intérieur des events. (Ne peut être utilisé comme condition d'affichage d'une page d'event)

Description du tutoriel : Vous allez avoir besoin de ce script au dessus de main. Si vous avez déjà le script des variables locales, présenté ICI, vous n'en avez pas besoin car vous l'avez déjà.

Spoiler:

Les autres ressources nécessaires sont déjà toutes présentes dans le kit de base de RMVX. Par contre, vous aurez besoin de vous faire un event et d'y mettre un peu de script.

Tutoriel : Bien qu'on ne peux malheureusement pas mettre ces interrupteurs comme condition d'affichage d'une page d'événement, on peut néanmoins s'en servir pour des conditions internes. Je prends l'exemple de possession d'event de Gothor où il utilisait déjà les 4 interrupteurs locaux pour le fonctionnement d'une seule page. Et bien maintenant, il pourra se servir de ses interrupteurs locaux comme condition pour les pages et utiliser d'autre interrupteurs locaux pour sa gestion interne.

Un peu de connaissances générales. Les interrupteurs locaux (que je nomerai self switches à partir de maintenant) sont en fait des éléments d'un tableau hash permanant du jeu. Ainsi, tous les self switches sont enregistrés dans la variables $game_self_switches (vous comprenez pourquoi je tennais à vous donner l'appellation anglaise Wink ) Les tableaux de hash ont besoin d'une clé et d'une valeur. La clé est simplement l'adresse et le nom complet de l'élément du tableau, un peu comme votre adresse postale. Si on veut ajouter une valeur, on a qu'a donner une adresse qui n'existe pas et de lui donner une valeur. Cette valeur sera alors ajoutée au tableau. Pour modifier une valeur, on donne une adresse existante et on affecte une valeur, ce qui met à jour la valeur.

Donc, si on veut des self switches de plus, bien on invente une nouvelle adresse. Les adresse sont très strictes par contre. Elles sont constituées d'un tableau d'index à trois valeur. C'est valeur respecte un format et un ordre précis. L'ID de la carte où se trouve l'événement, l'ID de l'événement et le nom du self switch. C'est un peu à l'envers de nos adresse postal. Voyez ça comme si on écrivait la ville, la rue puis le numéro de porte Wink. Donc disons que nous voulons créer le self switch G dans l'événement 72 de la carte 25 (on se dit que nous avons des cartes immenses pour un projet immense Wink ), et bien la clé (ou l'adresse) du self switch sera [25,72,"G"]. Si on veut créer le self switch 134 dans l'événement 34 de la carte 199, et bien la clé sera [199,34,134]. Vous voyez le principe?

Les selfs switches peuvent avoir seulement 2 valeur, ON ou OFF. Par contre, nous ne les activons pas par l'interface, mais par un script. ON et OFF se traduisent en script respectivement par true et false. Donc, si on veut mettre notre self switch G à ON, on doit faire ceci : $game_self_switches[25,72,"G"]=true. Ah c'est cool, on peut activer les self switches d'un autre event alors. Oui. Pour les détail sur ce phénomène, allez voir un tuto fait exprès pour ça ICI.

Oui mais si je fais une erreur, ça ne marchera pas. En effet. Pour éviter de faire des erreurs (un copier coller, on oublie de modifier le script, c'est l'horreur), on va utiliser le même principe que l'interface, c'est-à-dire, prendre la carte courante de l'événement courant pour la clé. Il faut savoir que les pages des events font partie de l'interpréteur du jeu, ce qui nous permet d'utiliser les fonctions de l'interpréteur directement dans le code des events (ce qui n'est pas possible directement dans les scripts de jeu). Donc pour avoir les informations sur l'événement courant, la fonction get_character(0) est tout indiquer puisque c'est déjà celle qu'utilise les événements pour retrouver les informations des events lors du déplacements et autre. Ensuite, puisque nous avons en main un event, son numéro de carte et son identifiant sont disponible par les fonction get_map et get_id (ces fonctions ont été rajoutées par votre humble Hikari dans le script présenté au début du tutoriel). Ensuite vous devez lui donner un nom. Continuons avec G. Avec ces informations, ont peut construire la clé @cle qui nous servira beaucoup. Donc voici le script de création de la clé.

Code:
event = get_character(0)
map = event.get_map
id = event.get_id
@cleG = [map,id,"G"]

Donc pour tous les événements qui auront besoin des selfswitches, chaque page devra commencer par ce code. Si vous voulez encore plus de clé, vous pouvez les créer d'un seul coup en modifiant le nom de la variables. Exemple, si vous voulez créer les switches E,F,G,H,1,2,3, vous pouvez faire ainsi :

Code:
event = get_character(0)
map = event.get_map
id = event.get_id
@cleE = [map,id,"E"]
@cleF = [map,id,"F"]
@cleG = [map,id,"G"]
@cleH = [map,id,"H"]
@cle1 = [map,id,1]
@cle2 = [map,id,2]
@cle3 = [map,id,3]

Remaquez que les clés numériques ne prennent pas les apostrophes mais que celles-ci sont obligatoires pour les clés alphabétiques. Remarquez également les noms des variables. Vous devez prendres des noms différents et faciles à vous rappeler. Ainsi, vous éviterez d'effacer vos variables par accidents. Ensuite, c'est simple. Pour affecter le ON ou OFF, vous n'avez qu'à appeler $game_self_switches[@cleG]=true ou peut importe le nom de votre clé pour l'activer. Ensuite, dans les condition, vous utilisez l'option script et vous écrivez simplement $game_self_switches[@cleG]. Voilà c'est aussi simple que ça.

Donc voilà un exemple d'event avec toutes les possibilités. Cet event tel que présenté ne servirait à rien puisqu'il ne fait rien. C'est juste pour vous montrer comment utiliser les self switches. Je laisse libre cours à votre imagination pour faire quelque chose d'utile avec ça.

Avoir plus de 4 interrupteurs locaux Self_s11

Un monde de possibilité s'ouvre à vous maintenant Wink.

Auteur : Hmm... Moi. Hikari Wink


Dernière édition par MirainoHikari le Ven 27 Juin 2008 - 2:15, édité 2 fois (Raison : correction de l'orthographe et des coquilles)
Revenir en haut Aller en bas
http://mirainohikari.deviantart.com
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Avoir plus de 4 interrupteurs locaux Empty
MessageSujet: Re: Avoir plus de 4 interrupteurs locaux   Avoir plus de 4 interrupteurs locaux Icon_minitimeJeu 26 Juin 2008 - 15:31

Wouaw ! Super tuto !!!
Revenir en haut Aller en bas
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 31
Inscrit le : 27/04/2008
Messages : 1835

Avoir plus de 4 interrupteurs locaux Empty
MessageSujet: Re: Avoir plus de 4 interrupteurs locaux   Avoir plus de 4 interrupteurs locaux Icon_minitimeJeu 26 Juin 2008 - 15:33

ça va tellement m'aider à finir le système de possession d'évent Avoir plus de 4 interrupteurs locaux 959580 merci
Revenir en haut Aller en bas
MirainoHikari
Ex-Admin-Script
Ex-Admin-Script
MirainoHikari


Masculin Age : 42
Inscrit le : 26/05/2008
Messages : 2360

Avoir plus de 4 interrupteurs locaux Empty
MessageSujet: Re: Avoir plus de 4 interrupteurs locaux   Avoir plus de 4 interrupteurs locaux Icon_minitimeJeu 26 Juin 2008 - 15:35

Gothor a écrit:
ça va tellement m'aider à finir le système de possession d'évent Avoir plus de 4 interrupteurs locaux 959580 merci

C'est dans cette optique que j'ai fait ce tuto. Ça m'a fait plaisir de contribuer à ton projet Wink.
Revenir en haut Aller en bas
http://mirainohikari.deviantart.com
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Avoir plus de 4 interrupteurs locaux Empty
MessageSujet: Re: Avoir plus de 4 interrupteurs locaux   Avoir plus de 4 interrupteurs locaux Icon_minitimeJeu 26 Juin 2008 - 15:35

Ben pas moi car il me le faudrait dans la page de déclenchement Avoir plus de 4 interrupteurs locaux 588830
Revenir en haut Aller en bas
MirainoHikari
Ex-Admin-Script
Ex-Admin-Script
MirainoHikari


Masculin Age : 42
Inscrit le : 26/05/2008
Messages : 2360

Avoir plus de 4 interrupteurs locaux Empty
MessageSujet: Re: Avoir plus de 4 interrupteurs locaux   Avoir plus de 4 interrupteurs locaux Icon_minitimeJeu 26 Juin 2008 - 15:44

La Meche a écrit:
Ben pas moi car il me le faudrait dans la page de déclenchement Avoir plus de 4 interrupteurs locaux 588830

Pour ça désolé, on est limité par l'interface. Mais utilise des combinaisons avec des conditions + des activations... Les gens ont tendance à sur-utiliser les self-switches pour l'activation. Souvent, une simple condition fait la job. Exemple. Quand tu n'as pas besoin de modifier l'apparance de l'event, ne fait pas une autre page, fait juste mettre une condition SI interrupteur G alors {...} SINON {...} FIN Ainsi tu peux multiplier les events. Garde le A,B,C,D pour les changement de page et essaie de multiplexer tes pages avec les surplus que j'ai proposé.
Revenir en haut Aller en bas
http://mirainohikari.deviantart.com
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Avoir plus de 4 interrupteurs locaux Empty
MessageSujet: Re: Avoir plus de 4 interrupteurs locaux   Avoir plus de 4 interrupteurs locaux Icon_minitimeJeu 26 Juin 2008 - 15:49

Ben en faite si t'as lu mon tuto (jardinier) tu comprendrais pourquoi je dois mettre des condtions de déclenchement !
Revenir en haut Aller en bas
MirainoHikari
Ex-Admin-Script
Ex-Admin-Script
MirainoHikari


Masculin Age : 42
Inscrit le : 26/05/2008
Messages : 2360

Avoir plus de 4 interrupteurs locaux Empty
MessageSujet: Re: Avoir plus de 4 interrupteurs locaux   Avoir plus de 4 interrupteurs locaux Icon_minitimeJeu 26 Juin 2008 - 15:53

Je l'ai lu. Mais tu dois avoir moyen de multiplexé quand même... Il y a moyen en plus de modifier l'apparence de l'event directement par l'interface...
Mais bon... C'est à toi de voir.
Revenir en haut Aller en bas
http://mirainohikari.deviantart.com
Kamachi-Kuno
Seigneur Lv.18
Seigneur Lv.18
Kamachi-Kuno


Masculin Age : 31
Inscrit le : 06/06/2008
Messages : 2005

Avoir plus de 4 interrupteurs locaux Empty
MessageSujet: Re: Avoir plus de 4 interrupteurs locaux   Avoir plus de 4 interrupteurs locaux Icon_minitimeJeu 26 Juin 2008 - 16:22

Merci beaucoup du tuto !
Revenir en haut Aller en bas
Contenu sponsorisé




Avoir plus de 4 interrupteurs locaux Empty
MessageSujet: Re: Avoir plus de 4 interrupteurs locaux   Avoir plus de 4 interrupteurs locaux Icon_minitime

Revenir en haut Aller en bas
 

Avoir plus de 4 interrupteurs locaux

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Interrupteurs, Interrupteurs Locaux, Variables... [Résolu]
» Les interrupteurs (Débutant)
» Problème avec les interrupteurs locaux
» Probleme event ( intérupteurs locaux)
» Interrupteurs

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Tutoriels :: Tutoriels VX :: Tutoriel d'événement (event) :: Divers-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit