Partagez
Aller en bas
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Sam 8 Juil 2017 - 13:30
Bonjour,
Je cherche un moyen de désactiver les déplacements par défaut du héros lorsqu'un interrupteur est activé (ou désactivé) pour que celui-ci ne soit contrôlable uniquement par un événement que j'ai créé.
J'ai pensé à rajouter une condition d'interrupteur sur le script, mais je suis nul en programmation Crying or Very sad
Masouf,


Dernière édition par Masouf le Lun 10 Juil 2017 - 18:00, édité 1 fois
avatar
Mist'
Staffeux retraité

Nombre de messages : 3311
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Sam 8 Juil 2017 - 13:58
Au hasard, un évènement qui, si l'interrupteur est activé, checke les entrées claviers et force un mouvement ayant pour cible le héros en "Ne bouge pas"? Après, tu peux développer un peu ce que tu voudrais faire? Quelle est la façon dont tu souhaites contrôler le héros via ton évènement?

_________________
avatar
Kingdommangas
Membre

Nombre de messages : 1170
Localisation : Ma tête
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Sam 8 Juil 2017 - 14:01
Pour cela, tu créer un event qu'on va nommé "Cinématique 1" et dans le déclencher tu met "automatique".

Dans un event tu as 5 déclencher:
-touche action: lorsque le joueur appuie sur la touche, ex un coffre
-touche joueur: lorsque l'event est en contact avec le joueur, un monstre qui te poursuit par exemple.
-touche event: lorsque le joueur est sur l'event
-Automatique: s'active tous seul lorsque les condition sont remplis et empeche les autres event de s'exécuter.
-parallèlle: Idem qu'automatique mais peut etre applicable en parrallèle avec un automatique.

N'oublie pas d'activer un intérrupteur local (A,B,C ou D) à la fin de ta cinématique ou ton joueur restera bloquer pour toujours ^^.
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Dim 9 Juil 2017 - 11:29
Je contrôle le héros avec un évènement commun
En image:
C'est pour un projet dans lequel on contrôle 2 players.
Le problème c'est que le héros et l'évènement "player 2" (qui se contrôle par un event commun) ne se comporte pas comme le player 1, du coup j'ai décidé de contrôler le player 1 par un même type d'évènement, cependant en jeu, cela crée un effet d'amplification sur les déplacements du player 1 (le héros), c'est pourquoi je cherche à désactiver le contrôle par défaut (ou juste de l'inactiver par un interrupteur si possible).

PS: j'utilise les scripts "XAS" et "Input Ultimate 2.3" (qui me donne accès à toutes les touches du clavier et d'une manette).
avatar
Mist'
Staffeux retraité

Nombre de messages : 3311
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Dim 9 Juil 2017 - 12:04
Ca doit bien être possible à réaliser, du coup.
Faudrait fouiller un peu dans le XAS, pour voir ce qui a été rajouté. Spy' gérait bien avec XAS, je vais lui filer le lien du topic, s'il a un moment il devrait peut-être pouvoir te filer un coup de main en attendant que je cherche de mon côté. Wink

_________________
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 10:55
Merci d'avance Smile
avatar
Mist'
Staffeux retraité

Nombre de messages : 3311
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 12:13
De mon côté, j'ai cherché un poil, et je peux te proposer ça à insérer dans un nouveau script au dessus de Main (et en dessous du XAS) :

Code:
class Game_Player < Game_Character
# Override de la méthode originelle
  def move_by_input
    return if !movable? || $game_map.interpreter.running?
  end
end

En gros, ça réécrit la méthode qui permet le déplacement via l'appui des touches. Je sais pas si ça fonctionnera avec le XAS, étant donné qu'il touche au Game_Player.
Etant donné que tu sais déplacer le joueur via appel de script, je pense que tu devrais arriver à te débrouiller.

Pour faire un deuxième joueur, le mieux aurait été de faire une sorte de "Game_Player2" afin de pouvoir identifier le deuxième joueur différemment d'un évènement, et de conserver les déplacements actuels de ton joueur 1.
Je suis curieux de voir comment tu comptes faire, ta solution semble possible également.

Fais nous savoir si ça fonctionne!


Dernière édition par Mist' le Lun 10 Juil 2017 - 15:42, édité 1 fois

_________________
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 12:30
J'ai retiré tous mes scripts sauf "XAS" pour tester, cependant j'ai reçu ce message d'erreur :
Spoiler:

Je ne suis pas doué en programmation, d'autant plus pour concevoir un "Game_Player2" qui fonctionnerait avec XAS.

PS : j'ai déjà réalisé une démo (tuto) de mon projet "Best Warrior" à ce lien.
avatar
Mist'
Staffeux retraité

Nombre de messages : 3311
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 15:43
J'avais oublié un end à la fin du code, désolé, c'est corrigé é_è
Pour le Game_Player2, ça doit se faire ou exister.

EDIT : http://www.rpgmakercentral.com/topic/4128-simple-2-player-script-development/
Bon, bah ça existe.
Ca devrait pouvoir t'aider, je pense, et ça doit être possible de greffer ça au XAS. Pour ce faire, il suffirait d'implémenter les fonctionnalités du XAS qui concernent la classe Game_Player dans celle-ci aussi.

_________________
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 17:43
Merci, ton script fonctionne parfaitement
Par contre j'aimerais savoir s'il est possible de rajouter une condition dessus tel que "si l'interruteur 10 est activé (ou désactivé), les mouvements par défaut son désactiver".

Pour le Game_Player2 greffer au XAS, ça me semble une idée brillante mais mes capacités en programmation son asse limité, du coup je vais me contenter de ce que tu m'as fait.
avatar
Mist'
Staffeux retraité

Nombre de messages : 3311
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 19:07
Tu veux rajouter l'interrupteur sur le bout de code qui bloque les mouvements?

Normalement, avec ça à la place :

Code:
   class Game_Player < Game_Character
    # Override de la méthode originelle
      def move_by_input
        return if !movable? || $game_map.interpreter.running?
        move_straight(Input.dir4) if Input.dir4 > 0 && $game_switches[10]
      end
    end

Je vais étudier le XAS pour voir ce qui est faisable, si j'ai pas trop la flemme j'essaierai de te faire un truc. x)

RE-EDIT : Etant donné qu'en fait, dans le script que j'ai linké plus haut (http://www.rpgmakercentral.com/topic/4128-simple-2-player-script-development/), la classe Game_Multiplayer hérite de Game_Player, y'a des chances que ça fonctionne à peu près avec le XAS. Je pense qu'il peut y avoir des bugs m'enfin, faudrait vérifier.

RE-RE-EDIT : Bon, j'ai testé sous XAS, sans grosse bidouille, ça fonctionne, j'arrive à faire apparaître un second héros jouable.
Y'a des trucs à revoir comme le lancer d'attaque, téléportations, et la sortie du champ de la caméra, mais ça semble carrément faisable comme truc. J'aurais pas cru. xD

_________________
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 21:00
Merci pour la condition sur ton script (par contre ça enlève les déplacements en diagonale de XAS).

J'ai essayé le script multiplayer que tu m'as envoyé, mais je n'arrive pas à faire apparaître le player 2. Tu pourrais envoyé la démo de ce que tu as pu faire avec XAS s'il te plaît?
avatar
Mist'
Staffeux retraité

Nombre de messages : 3311
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 21:29
Je vais te faire un truc plus propre.
Pour ce qui est de l'affichage du player 2, faut travailler le script, en l'état, il affiche le joueur 2 mais sans lui attribuer de chara. Je vais bricoler quelque chose de compatible, du coup, maintenant que j'ai le XAS sous la main. Wink

Je te donne des news quand j'ai quelque chose de plus concret!

_________________
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 21:31
Ok j'ai hate de voir ça Smile
avatar
Spytje
Administrateur

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

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 21:56
Coucou

J'ai regardé hier soir mais sans trouver de solution à ton problème le soucis, comme je l'expliquais à Mist, c'est que ça risque de créer de sérieux bugs si ce n'est pas fait correctement.

XAS est un script vraiment difficile à comprendre dans certain cas.
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Lun 10 Juil 2017 - 22:24
Oui c'est bien ce que je me disais, c'est pourquoi je me suis contenté de créer un player2 sous forme d'ennemi. Toutefois, j'ai bien envie de voir ce qu'on peut faire à partir des travaux de Mist' (multiplayer + XAS).
avatar
Mist'
Staffeux retraité

Nombre de messages : 3311
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Mar 11 Juil 2017 - 0:01
J'ai recodé un peu pour le J2, y'a moyen de bricoler un minimum, mais pour adapter au XAS, je plussoie Spy', ça crée quelques petits bugs, donc j'ai vite arrêté de mettre le bazar.
Voici une démo avec juste le J2 qui peut se déplacer grâce au pavé numérique avec les touches 1, 2, 3, et 5, et qui avance vers le J1 s'il y a un trop grand décalage de cases entre J1 et J2.

J'ai aussi compris dedans le script du blocage de déplacement de héros via interrupteur, y'a juste à décommenter le code si y'a besoin de l'utiliser.

Bref, c'est quelque chose qui mériterait d'être complété, et adapté au XAS, je laisse cette base pour le moment, j'ai pas la foi de m'y attaquer maintenant, mais s'il y a une âme courageuse, ou que je suis motivé un peu plus tard... x)

http://www.sendbox.fr/18c912858d0fca86/XAS_ACE_2P.rar

_________________
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Mar 11 Juil 2017 - 0:24
J'ai pas compris ta phrase "J'ai aussi compris dedans le script du blocage de déplacement de héros via interrupteur, y'a juste à décommenter le code si y'a besoin de l'utiliser." C'est pour inactiver les déplacements par défaut du personnage? C'est bon j'ai vu de quoi tu parlais dans la demo que tu as envoyé.
Il se fait tard, je testerais ça demain, merci ! Very Happy

PS : tu as trouvé pourquoi ton code désactive le déplacement en diagonale de XAS ?
avatar
Mist'
Staffeux retraité

Nombre de messages : 3311
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Mar 11 Juil 2017 - 8:24
Yep. C'est parce que j'écrasais la fonction de déplacement. Là, je l'ai aliasée plutôt, et j'ai greffé l'interrupteur par dessus.

_________________
avatar
Masouf
Membre

Nombre de messages : 284
Age : 24
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

le Mar 11 Juil 2017 - 9:42
En tout cas bon boulot, je te remercie bounce
Contenu sponsorisé

Résolu Re: Désactiver le contrôle (touches) par défaut du héros (Résolu)

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