Pas besoin de vous inscrire pour télécharger / No need to register for downloading.
Une fois inscrit, vous devez m'envoyer un mail pour valider votre compte / Once registered, you must send me an email for validating your account.
 S'enregistrer  |  FAQ  |  Lexique  |  Rechercher  |  Liste des Membres  |  Groupes d'utilisateurs 

 Annuaire  |  Connexion 

 Ce forum en page de démarrage

 Informations pratiques 
 Merci de lire les règles ! 

   Télécharger le sujet
probleme de coup qui s'enchaine
zouh

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 26 Aoû 2006
Messages: 80
Karma: 2
plus / moins

Localisation: France
Répondre en citant
Salut à tous,
En fait pour mon kyo au yeux de demon je suis en train de faire le coups de sabre fort vers le bas le probleme s'est qu'il se fait en trois coup et je veux que par exemple si on appuie une fois il y en a qu'un qui se declenche, si j'appuie deux fois le deuxieme sort et si j'appuie trois fois les trois sorte s'est un combo mais le probleme s'est que je n'arrive pas bien a regler au niveau du temps car j'ai programmé le premier et le deuxieme coup de sabre et je suis obligé d'appuyer a un moment precis pour que le deuxieme se declenche alors que j'aimerai qu'il se declanche des que j'appuie deux ou trois fois sans moment precis voila.



"Samurai ma voie"
zouh est absent Kicker ce membre de ce sujet
Anji



Inscrit le: 11 Oct 2006
Messages: 101
Karma: 5
plus / moins

Localisation: Hungary
Répondre en citant
Quel trigger utilises-tu ?

De manière générale, un combo fonctionne de la façon suivante :
- tu appuies une première fois : le premier coup se déclenche ;
- tu appuies une deuxième fois pendant le premier coup : le second se déclenche immédiatement ;
- tu appuies une troisième fois pendant que le deuxième coup s'exécute : le troisième coup se déclenche immédiatement.

Qu'y a-t-il de différent dans ton combo ?
Anji est absent Kicker ce membre de ce sujet
Cybaster
Flying over you

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 05 Oct 2005
Messages: 90
Karma: 6
plus / moins

Localisation:
Répondre en citant
Ouais, normalement, il suffit d'un simple changestate dans le cmd, avec comme trigger un "stateno = le coup en cours".
Apres, tu peux regler les timings et tout en rajoutant des conditions comme movehit, time et trucs comme ca, mais apparemment, ce n'est pas ce que tu veux.


Truly, if there is evil in this world, it lies within the heart of Mankind.
Cybaster est absent Kicker ce membre de ce sujet
zouh

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 26 Aoû 2006
Messages: 80
Karma: 2
plus / moins

Localisation: France
Répondre en citant
Je veux faire comme anji le dis:
Citation:
De manière générale, un combo fonctionne de la façon suivante :
- tu appuies une première fois : le premier coup se déclenche ;
- tu appuies une deuxième fois pendant le premier coup : le second se déclenche immédiatement ;
- tu appuies une troisième fois pendant que le deuxième coup s'exécute : le troisième


et je veux que sa se fasse meme si je suis pas au corp a corp

moi je l'ai reglé dans le cns

[State 400, ChangeState]
type = ChangeState
trigger1 = AnimElem = 7, >= 0
trigger1 = Command = "y"
value = 410


j'ai mis sa mais je suis obligé d'apuier au bon moment pour que le deuxieme coup de sabre se declenche

apres je comprend pas bien comment le regler dans le cmd mais je vais faire des essaies



"Samurai ma voie"
zouh est absent Kicker ce membre de ce sujet
Mike Werewolf
Loup-garou

Site Admin


Inscrit le: 07 Oct 2004
Messages: 1676
Karma: 52
plus / moins

Localisation: France
Répondre en citant
Ton code semble correct. Ce qui limite au niveau du temps dont dispose l'utilisateur pour sortir le second coup, c'est ça :
Code:
trigger1 = AnimElem = 7, >= 0


En gros, on ne peut sortir le coup que lorsqu'on est au moins à l'élément 7 de l'anim en cours. Appuyer avant ne sert à rien.

Si tu veux pouvoir appuyer avant mais que le ChangeState ne soit pas immédiat, tu dois passer par une var pour mémoriser l'info et t'en resservir ensuite. Style :

Code:
[State 400, initialisation]
type = VarSet
trigger1 = !Time
trigger1 = var(0)
var(0) = 0

[State 400]
type = VarSet
trigger1 = !var(0)
trigger1 = command = "y"
var(0)=1


Avec ça, peu importe quand tu appuies sur Y : dès que tu le fais, ta var vaut 1. Ne reste plus ensuite qu'à la réutiliser au bon moment :

Code:
[State 400]
type = ChangeState
trigger1 = AnimElem = 7
trigger1 = var(0)
value = 410


Si tu n'as pas appuyé sur Y, ta var vaut 0, donc le ChangeState ne se déclenche pas. Si tu as appuyé sur Y, ta var vaut 1, donc le ChangeState se déclenchera.

Ca, c'est la base. Après, tu peux complexifier la chose, puisque que tu as 3 coups à enchaîner, potentiellement.

Le truc va être de comptabiliser le nombre de fois que tu appuies sur Y (sans dépasser 2, puisque au-delà, on s'en fout), en utilisant un VarAdd au lieu d'un VarSet :

Code:
[State 400, initialisation]
type = VarSet
trigger1 = !Time
trigger1 = var(0)

[State 400]
type = VarAdd
trigger1 = var(0) < 2
trigger1 = command = "y"
var(0)=1


Donc var(0) pourra valoir :
* 0 = tu n'as pas rappuyé sur Y
* 1 = tu as rappuyé 1 fois
* 2 = tu as rappuyé 2 fois

Si tu appuies 3, 4 ou 15 fois, ça n'a pas d'importance, ça restera bloqué sur 2.

Ensuite, pour le ChangeState, rien de changé :
Code:
[State 400]
type = ChangeState
trigger1 = AnimElem = 7
trigger1 = var(0)
value = 410


Ensuite, dans ton state 410, faudra que tu comptabilises encore les appuis sur Y, de la même façon :

Code:
[State 410]
type = VarAdd
trigger1 = var(0) < 2
trigger1 = command = "y"
var(0)=1


Mais les conséquences changent, puisqu'on a utilisé la valeur "1" pour venir en 410 :
* var(0) ne peut plus valoir 0 (sinon, on ne serait pas en state 410)
* var(1) peut valoir 1 (pour passer en state 410 et faire le second coup)
* var(2) peut valoir 2 : dans ce cas, on enchaînera avec le 3ème coup.

Mais tel que c'est fait, si tu as appuyé deux fois quand tu étais en state 400, tu n'auras rien à faire, le 3ème coup sortira tout seul (car la var vaudra déjà 2). Par contre, si tu n'as appuyé qu'une fois (la var vaut 1), faudra appuyer à nouveau pendant le state 410 pour passer la var à 2 et sortir le 3ème coup (donc en gros, tu peux appuyer pour le 3ème coup dans le state 400 ou dans le state 410).

Et donc, à la fin de ton state 410, tu as un ChangeState pour le dernier coup (state 420, par exemple) :

Code:
[State 410]
type = ChangeState
trigger1 = AnimElem = 7 ; par exemple
trigger1 = var(0) = 2
value = 420


Voilà ! Pour terminer, tu peux aussi vouloir un truc plus limité, par exemple, que l'appui sur la touche Y pour le 3ème coup ne soit pris en compte QUE lorsque tu es dans le state 410 (pour faire vraiment un style combo), ce qui oblige le joueur à bien synchroniser l'appui sur les touches (ne pas appuyer trop tôt ou trop tard). Dans ce cas, reprends juste ce que j'ai mis avant, et modifie juste le VarAdd du state 400 :
Code:
[State 400]
type = VarAdd
trigger1 = var(0) < 1
trigger1 = command = "y"
var(0)=1


Ou remplace-le par un VarSet, comme au départ :
Code:
[State 400]
type = VarSet
trigger1 = !var(0)
trigger1 = command = "y"
var(0)=1


Si bien que lorsque tu arrives en state 410, var(0) ne peut valoir que 1, ce qui oblige le joueur à rappuyer sur Y pour faire passer la valeur à 2 et ainsi permettre l'enchaînement avec le 3ème coup.

Tu pourras aussi trouver un exemple dans le tuto de Gouki, avec le coup Gouki Chain et la var(6).

Mike Werewolf.
Mike Werewolf est absent 
zouh

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 26 Aoû 2006
Messages: 80
Karma: 2
plus / moins

Localisation: France
Répondre en citant
Merci mike pour ses explications je comprend beaucoup mieux maintenant
je vais pouvoir bien le programmer comme je voulais s'est se que je voulais savoir.
Encore merci pour ses aides precieuses qui me permette d'avancer dans mon personnage



"Samurai ma voie"
zouh est absent Kicker ce membre de ce sujet
zouh

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 26 Aoû 2006
Messages: 80
Karma: 2
plus / moins

Localisation: France
Répondre en citant
j'ai fait se que tu m'as dis Mike mais maintenant s'est bizarre quand les trois coups s'enchaine il n'y a que le dernier coup qui est comptabilisé
du coup mon adversaire ne se prend qu'un coup et pas trois ou deux selon combien de fois que j'appui



"Samurai ma voie"
zouh est absent Kicker ce membre de ce sujet
Mike Werewolf
Loup-garou

Site Admin


Inscrit le: 07 Oct 2004
Messages: 1676
Karma: 52
plus / moins

Localisation: France
Répondre en citant
Tu dois avoir des problèmes au niveau des ChangeStates qui se déclenchent trop tôt. Impose un "Time = x" ou un "AnimElem = x, >=0" dans tes ChangeStates avec un "x" suffisamment élevé.

Mike Werewolf.
Mike Werewolf est absent 
zouh

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 26 Aoû 2006
Messages: 80
Karma: 2
plus / moins

Localisation: France
Répondre en citant
ok Mike je vais essayer sa



"Samurai ma voie"
zouh est absent Kicker ce membre de ce sujet
Anji



Inscrit le: 11 Oct 2006
Messages: 101
Karma: 5
plus / moins

Localisation: Hungary
Répondre en citant
Mike Werewolf a écrit:
Impose un "Time = x"

Ou bien la touche ">" de ton clavier a eu un problème, ou bien tu es incroyablement balèze !!! Mr. Green

Zouh, tu es passé(e) par une variable ?
Pourrais-tu poster ton code ?
Anji est absent Kicker ce membre de ce sujet
zouh

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 26 Aoû 2006
Messages: 80
Karma: 2
plus / moins

Localisation: France
Répondre en citant
comme sa marchait pas bien en attendant je suis revenu a mon ancien code mais je vais poster l'ancien tout entier

Citation:

;===========================================================================
;COUPS DE SABRE FORT VERS LE BAS (en appuyant 3 fois sur le bouton trois coups d'affilé)
;PREMIER COUPS
[Statedef 400]
type = C
movetype= A
physics = C
juggle = 8
velset = 0,0
ctrl = 0
anim = 400
poweradd = 20

[State 400, SOUND]
type = playsnd
trigger1 = Animelem = 2
value = S235,1
channel = 1

[State 400, trainée_1]
type = Explod
trigger1 = AnimElem = 4
anim = 401
sprpriority = 3

[State 400, trainée_2]
type = Explod
trigger1 = AnimElem = 6
anim = 402
sprpriority = 3

[State 400, trainée_3]
type = Explod
trigger1 = AnimElem = 7
anim = 403
sprpriority = 3

[State 400, Hit]
type = HitDef
trigger1 = AnimElem = 7
attr = C, NA
damage = 26,2
animtype = Heavy
hitflag = MAF
guardflag = HL
priority = 4, Hit
pausetime = 12,12
sparkno = 0
guard.sparkno = 0
sparkxy = -10,-63
hitsound = s235, 2
guardsound = 1
ground.type = Low
ground.slidetime = 14
ground.hittime = 14
ground.velocity = -6
air.velocity = -4,-3

[State 400, ChangeState]
type = ChangeState
trigger1 = AnimElem = 7, >= 0
trigger1 = Command = "y"
value = 410

[State 400, End]
type = ChangeState
trigger1 = animtime = 0
value = 405


;===========================================================================
;FIN DES DEUX PREMIER COUP DE SABRE BAS
[Statedef 405]
type = C
movetype= I
physics = C
velset = 0,0
ctrl = 0
anim = 405

[State 405, End]
type = ChangeState
trigger1 = AnimTime = 0
value = 11+(command != "holddown")
ctrl = 1

;===========================================================================
;DEUXIEME COUPS
[Statedef 410]
type = C
movetype= A
physics = C
juggle = 8
velset = 0,0
ctrl = 0
anim = 410
poweradd = 10

[State 410, SOUND]
type = playsnd
trigger1 = Time = 0
value = S220,1
channel = 1

[State 410, Hit]
type = HitDef
trigger1 = AnimElem = 2
attr = C, NA
damage = 26,2
animtype = Heavy
hitflag = MAFD
guardflag = HL
priority = 4, Hit
pausetime = 7,7
sparkno = 0
guard.sparkno = 0
sparkxy = -5,-35
hitsound = s220, 2
guardsound = 1
ground.type = Low
ground.slidetime = 14
ground.hittime = 14
ground.velocity = -6
air.velocity = -4,-3

[State 410, ChangeState]
type = ChangeState
trigger1 = AnimElem = 2, >= 0
trigger1 = Command = "y"
value = 415

[State 410, End]
type = ChangeState
trigger1 = animtime = 0
value = 405



;===========================================================================
;TROISIEME COUPS
[Statedef 415]
type = C
movetype= A
physics = C
juggle = 8
velset = 0,0
ctrl = 0
anim = 415
poweradd = 10

[State 415, SOUND]
type = playsnd
trigger1 = Time = 0
value = S230,0
channel = 1

[State 415, Hit]
type = HitDef
trigger1 = AnimElem = 2
attr = C, NA
damage = 26,2
animtype = Heavy
hitflag = MAF
guardflag = HL
priority = 4, Hit
pausetime = 7,7
sparkno = 0
guard.sparkno = 0
sparkxy = -5,-35
hitsound = s230, 2
guardsound = 1
ground.type = Low
ground.slidetime = 14
ground.hittime = 14
ground.velocity = -6
air.velocity = -4,-3

[State 415, End]
type = ChangeState
trigger1 = AnimTime = 0
value = 11+(command != "holddown")
ctrl = 1



Sa s'est l'action que j'avais avant pour les trois coups de sabres je l'ai remise comme sa en attendant donc dés que je la modifie à nouveau je reposterai le nouveau code



"Samurai ma voie"
zouh est absent Kicker ce membre de ce sujet
Anji



Inscrit le: 11 Oct 2006
Messages: 101
Karma: 5
plus / moins

Localisation: Hungary
Répondre en citant
Cf. la réponse de Mike ci-avant : tout semble correct puisque le HitDef a pour trigger AnimElem = 7 et que ton ChangeState a pour trigger AnimElem = 7, >0.

(Petite remarque au passage : tu devrais mettre un numéro d'AnimElem supérieur à 7 pour des raisons d'animation. En effet, il est plus logique d'attendre que le coup soit porté avant d'enchaîner sur le suivant donc laisse ton personnage terminer son mouvement un minimum.)

Si ce sont les bonnes animations qui sont jouées quand tu appuyes pendant le premier et le deuxième coup de sabre, alors ne problème n'est pas dans le CMD ; pour le vérifier, affiche le debug pendant les coups de sabre et vérifie dans quel numéro de State ton personnage se trouve.

Remarque, je ne comprends toujours pas ce qui clochait avec cet ancien code puisque, comme tu le disais toi-même : "je suis obligé d'appuyer au bon moment pour que le deuxieme coup de sabre se declenche" (ce qui est plutôt normal !).
Anji est absent Kicker ce membre de ce sujet
Mike Werewolf
Loup-garou

Site Admin


Inscrit le: 07 Oct 2004
Messages: 1676
Karma: 52
plus / moins

Localisation: France
Répondre en citant
Citation:
je ne comprends toujours pas ce qui clochait avec cet ancien code puisque, comme tu le disais toi-même : "je suis obligé d'appuyer au bon moment pour que le deuxieme coup de sabre se declenche" (ce qui est plutôt normal !).

Je pense que zouh veut un fonctionnement plus souple, où la pression sur le bouton est mise en mémoire. Avec son code :
1. soit il appuie trop tôt et la commande n'est pas prise en compte,
2. soit il appuie tard, et le changement de state est effectif immédiatement.

Je pense que ce qu'il veut, c'est conserver le 2. ET que si on appuie trop tôt, la commande soit mémorisée pour déclencher le changement de state au bon moment.

Mike Werewolf.
Mike Werewolf est absent 
zouh

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 26 Aoû 2006
Messages: 80
Karma: 2
plus / moins

Localisation: France
Répondre en citant
S'est tout a fait sa Mike en fait je veux que la memorisation au niveau du joystick soit immédiate j'appuie trois fois , les trois coups sortes directe meme si les persos ne sont pas à coté sans qu'il y ait un moment precis pour appuyer et faire les trois coups qui doivent donner trois hits



"Samurai ma voie"
zouh est absent Kicker ce membre de ce sujet
Anji



Inscrit le: 11 Oct 2006
Messages: 101
Karma: 5
plus / moins

Localisation: Hungary
Répondre en citant
Alors, à moins que tu ne souhaites passer par une commande spécifique depuis ton .cmd, c'est effectivement un système avec variable qu'il te faut (cf. explications détaillées de Mike un peu plus haut).

Maintenant, pourquoi le nouveau code que tu as mis ne fonctionne pas ? C'est là-dessus qu'il faut se pencher alors détaille ce que ton perso fait et qu'il ne devrait pas faire et poste ton nouveau code avec le système de variable implémenté pour qu'on regarde ça.

Zouh a écrit:
quand les trois coups s'enchaine il n'y a que le dernier coup qui est comptabilisé, du coup mon adversaire ne se prend qu'un coup et pas trois

Cela veut-il dire que ton personnage change d'animation trop tôt (il ne passe pas par les sprites avec boîte de colision d'attaque) ou bien qu'il passe par ces sprites mais que l'adversaire ne subit pas les coups ?
Anji est absent Kicker ce membre de ce sujet
probleme de coup qui s'enchaine
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Toutes les heures sont au format GMT + 2 Heures  
Page 1 sur 2  
Télécharger le sujet
  
  
 Poster un nouveau sujet