Partagez
Aller en bas
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu afficher une map

le Mar 11 Avr 2017 - 11:35
voila mon souci
je cherche a faire en sorte que quand le joueur appuie sur une touche particulière il se passe :

soit l'affichage de la map de l'endroit visité (avec position du perso sur cette map)

soit l'affichage d'un message "vous n'avez pas la carte de cet endroit"

le but c'est de ne pas avoir à créer un ev différent par map


j'utilise le plugin "Yep_ButtonCommonEvent" qui permet de déclencher un EV commun quand on presse une touche

l'idée c'est d'avoir un événement sur la map que le joueur active (en gros un cristal que le joueur doit trouver et activer). Si c'est activé un interrupteur se met sur ON (par exemple pour la map 18 ce sera l'interrupteur 1018)
au moment ou le joueur presse le bouton dédié à l'affichage de la map
Si interrupteur X est sur ON : on affiche une image (la map)
Si interrupteur est sur OFF : message "vous n'avez pas la carte"

seulement voila, comme c'est un EV commun pour toutes les map il faudrait que dans la condition le numéro de l'interrupteur soit variable et ça je ne trouve pas comment faire.


bref il me faudrait un plug in qui fasse les choses suivantes :
quand le joueur appuie sur une touche particulière
- recup le numéro de la map (X)
- X=X+1000
- branche conditionnelle
   - Si interrupteur (X) = ON
        -afficher l'image "map(X).png" (et une croix la ou se trouve le joueur)
   - Si interrupteur (X) = OFF
        - affiche message  "vous n'avez pas la carte"

est ce que c'est possible ?


Dernière édition par scottsummers le Jeu 13 Avr 2017 - 1:08, édité 1 fois
avatar
dricc
Membre

Nombre de messages : 2753
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: afficher une map

le Mar 11 Avr 2017 - 13:18
Alors ,

Pour récupérer le numéro de la map dans une variable , tu peux le faire directement en evenement .
Disons que tu met ça dans la variable 10 .

Pour activer le switch correspondant , appel de script :
Code:

$gameSwitches.setValue($gameVariables.value(10)+1000, true);

Pour faire un test , branche conditionnel (4iéme onglet , appel de script) :
Code:

$gameSwitches.value($gameVariables.value(10)+1000)

Enfin, afficher l'image , appel de script :
Code:

$gameScreen.showPicture(1, "map"+$gameVariables.value(10), 0, 0, 0, 100, 100, 255, 0)
(note : on ne met pas ".png" à la fin) .
Note qu'il ne faudra pas oublier de l'effacer .

Pour la croix , tu sais faire ?
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: afficher une map

le Mer 12 Avr 2017 - 15:28
alors là c'est royal !
un grand merci
je teste ça dès que possible Smile


EDIT

parfait ça marche
il ne me reste plus qu'a trouver comment afficher la position du joueur sur l'image, sachant que mes maps n'ont pas la même taille alors que les images à afficher auront elles la même taille (celle de la fenêtre de jeu)

encore merci

"Pour la croix , tu sais faire ?"
heu ... quelle croix ?
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: afficher une map

le Mer 12 Avr 2017 - 18:24
bon finalement c'est pas si simple que ça
y a t'il un moyen d'afficher la position du joueur sur une map à partir d'un EV commun sachant que ça doit marcher sur toutes mes maps et que celle-ci n'ont pas la même taille ?
avatar
dricc
Membre

Nombre de messages : 2753
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: afficher une map

le Mer 12 Avr 2017 - 18:39
Eh bien oui , ce n'est pas si simple Smile

Il te faut la taille de la map où tu es :
Code:

$dataMap.width
et
$dataMap.height
Met ça dans 2 variables . disons 20 et 21

La position X,Y du personnage , tu n'as pas besoin de script pour ça . (Controler variable : Personnage , Joueur , CarteX) . Hop, 2 autres variables . disons 22 et 23

Et puis là , tu peux faire un petit calcul ...
X = var22 / Var20 * (taille du ton .png) - 1
Y = var23 / var21 * (taille du ton .png) - 1

le "-1" , c'est en considérant que ton .png contenant la croix fait 3*3 . Si elle fait 5*5 , il faut mettre -2 .

Bon, je n'ai pas essayé . Je ne suis pas totalement sur ... si on est sur la case 10 et que la carte fait 20 , on n'est pas tout à fait au milieu . il faudrait peut-etre ajouter 1 à la longueur/largeur .
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: afficher une map

le Mer 12 Avr 2017 - 21:57
NICKEL
ça marche impeccablement bien
encore merci à toi

il me reste un seul pb c'est pour le bouton qui déclenche l'affichage de la map
comme je l'ai dit plus haut j'utilise le plugin "Yep_ButtonCommonEvent"
j'ai réglé ce plugin pour que la lettre Q qui est associée au bouton LB de la manette déclenche l'EV
dans la vrai vie "Q" déclenche bien l'EV mais pas "LB"

EDIT
PB résolu en changeant de plugin
HIME_CommonEventButtons
Contenu sponsorisé

Résolu Re: afficher une map

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum