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 
 Avant toute question, consultez la FAQ en fin de forum !  

   Télécharger le sujet
Problème de Combo et de Variable
Chok

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 31 Déc 2004
Messages: 53
Karma: 2
plus / moins

Localisation: France
Répondre en citant
Bonjour,
Je voudrais crée des combos sur mes coups en stand (surtout en crouch).
Par exemple j'ai associer le crouch strong kick avec le air strong kick vel x!=0 (celui qui se fait avec le saut avant). Le combo s'exécute mais le crouch strong kick se fait en l'air. En fait dés que je l'active il s'exécute même quand c'est en l'air.

Voila le state -1 de mon CMD:
Citation:
;Crouch strong kick
[State -1]
type = ChangeState
value = 430
triggerall = command = "crouch strong kick"
trigger1 = statetype = C && ctrl
trigger2 = stateno = 430
trigger2 = time > 70
trigger3 = StateNo = 665 && MoveContact

Le state 665 c'est celui du air strong kick velx!=0.

J'ai éssayer d'ajouter:
trigger3 = StateType != A

Le problème n'était plus là mais le combo ne marchais plus.

---------------------------------------------------------------------------------

J'ai un autre problème: je voudrais crée un mode spécial pour mon perso, mais je sais pas vraiment comment m'y prendre avec les variable.

J'ai crée un state dans mon CNS:

Citation:
[Statedef 12000]
StateType = S
MoveType = A
Physics = S
sprpriority = 2
velset = 0,0
ctrl = 1
juggle = 1
poweradd = 0

[state 100, afterimage]
type = afterimage
trigger1 = time = 0
palbright = 40,40,40
palcontrast = 150,150,150
trans = add1
length = 12
time = 200

[State 200, var set]
type = VarSet
trigger1 = time = 0
v = 10
value = 1

[State 218, end state]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


Je sais pas quoi faire pour que le perso puisse donner plusieurs coups en même temps pendant 200 tick.
Chok 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
Pour ton premier problème, ça vient du fait que la condition du statetype (C) ne s'applique que sur un seul trigger (en l'occurrence, trigger1). Pour bien faire, il faudrait passer la vérif du statetype en triggerall, soit :
Citation:
;Crouch strong kick
[State -1]
type = ChangeState
value = 430
triggerall = command = "crouch strong kick"
triggerall = statetype = C
trigger1 = ctrl

trigger2 = stateno = 430
trigger2 = time > 70
trigger3 = StateNo = 665 && MoveContact


Mais bon, avec ça, tu risques de retomber sur le second problème (le combo qui ne se déclenche pas, car ton perso n'est pas au sol quand tu déclenches le second coup, alors que c'est une condition à remplir).

Pour y remédier, il faudrait garder ton state -1 tel qu'il est, et modifier ton state 430, de façon à détecter si ton perso est au sol ou pas au début du state, et le cas échéant, le remettre au niveau du sol :
Code:
[State 430]
type = PosSet
trigger1 = Pos Y != 0
trigger1 = !Time
y = 0


Citation:
Je sais pas quoi faire pour que le perso puisse donner plusieurs coups en même temps pendant 200 tick.

Tu veux dire, annuler n'importe quel coup par n'importe quel autre ? Ca se passe au niveau des states -1 du CMD, en te basant sur la valeur de ta var(10). Par exemple, pour sortir un crouch strong kick pendant n'importe quel coup au sol quand ton mode est activé, ça donnerait :
Citation:
;Crouch strong kick
[State -1]
type = ChangeState
value = 430
triggerall = command = "crouch strong kick"
trigger1 = statetype = C && ctrl
trigger2 = stateno = 430
trigger2 = time > 70
trigger3 = StateNo = 665 && MoveContact
[b]trigger4 = Statetype != A && var(10)

Donc, quand Mugen analyse ton trigger4, alors que tu es en train de faire un autre coup, vu que tu es sol, la partie "Statetype != A" est vraie, et vu que ta var(10), dans ce mode, est différente de 0, la partie "&& var(10)" est vraie aussi, donc le trigger4 se déclenche, et ton coup sort. A reproduire sur tous les coups que tu veux rendre disponibles dans ce mode.

Quant à la durée du mode : là, ça se passe d'abord dans le state qui initialise la var(10) : il faut que tu mettes une value de 200 (la durée voulue) et non de 1. Ensuite, il suffit de diminuer la var de 1 à chaque tick tant qu'elle vaut plus de 0, via un state -2 :
Code:
[state -2]
type = VarAdd
trigger1 = var(10)
value = -1

Dès que ta var(10) vaut plus de 0 (càd dès qu'elle est initialisée à 200), elle va se réduire de 1, jusqu'à atteindre 0, où le trigger ne se déclenchera plus, et la var restera à 0 jusqu'à la prochaine utilisation. Wink

Mike Werewolf.
Mike Werewolf est absent 
Chok

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 31 Déc 2004
Messages: 53
Karma: 2
plus / moins

Localisation: France
Répondre en citant
Citation:
[State 430]
type = PosSet
trigger1 = Pos Y != 0
trigger1 = !Time
y = 0

Ca résous à moitier le problème, en fait le perso peut faire son combo n'importe quand à partir du moment ou il touche P2 en l'air. J'ai mis un Pos Y >= -5 pour y résoudre mais ça reste assez bizarre. Je vais sûrement pas faire de combo en l'air (c'est pas très grave je pense).

Citation:
[state -2]
type = VarAdd
trigger1 = var(10)
value = -1


Pour le mode spécial, une fois enclencher il ne veux plus se désactiver. J'ai peut être mal placer le state -2 (je l'ai mis juste en dessous de mon VarSet et j'ai éssayer de le mettre sous un [Statedef -2]).
Chok 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:
J'ai mis un Pos Y >= -5 pour y résoudre mais ça reste assez bizarre.

Yep, forcément, ça "téléporte" ton perso au niveau du sol, donc le rendu peut être bizarre. Ton "Pos Y >= -5", tu l'as bien mis en trigger dans le state -1, pas dans le state 430 ?

Citation:
Pour le mode spécial, une fois enclencher il ne veux plus se désactiver. J'ai peut être mal placer le state -2 (je l'ai mis juste en dessous de mon VarSet et j'ai éssayer de le mettre sous un [Statedef -2]).

C'est moi, ça fait trop longtemps que je ne code plus... Sad Donc il faut que ce soit sous un [Statedef -2], mais surtout, j'ai oublié un truc essentiel : dire sur quelle var s'applique le VarAdd ; du coup, là, ta var ne décrémente pas, et reste à 200 (donc ça dure infiniment, logique).

Version corrigée :
Code:
[state -2]
type = VarAdd
trigger1 = var(10)
var(10) = -1


Wink

Mike Werewolf.
Mike Werewolf est absent 
Chok

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 31 Déc 2004
Messages: 53
Karma: 2
plus / moins

Localisation: France
Répondre en citant
Citation:
C'est moi, ça fait trop longtemps que je ne code plus... Donc il faut que ce soit sous un [Statedef -2], mais surtout, j'ai oublié un truc essentiel : dire sur quelle var s'applique le VarAdd ; du coup, là, ta var ne décrémente pas, et reste à 200 (donc ça dure infiniment, logique).

Version corrigée :
[state -2]
type = VarAdd
trigger1 = var(10)
var(10) = -1

Exact, cette fois ça marche. Smile

Citation:
Yep, forcément, ça "téléporte" ton perso au niveau du sol, donc le rendu peut être bizarre. Ton "Pos Y >= -5", tu l'as bien mis en trigger dans le state -1, pas dans le state 430 ?

J'ai essayer dans le state -1 mais c'est pareil.

J'ai mis mon Pos Y >= -7 et le perso se "téléporte" trop. Normalement je doit l'augmenter, mais le prob c'est que si je met -8, ça va trop diminuer la possibilité de faire le combo (ça va devenir impossible de le faire).

Voila ce que ça donne:


Je pense que je vais laisser tomber les air combo, parce que je crois pas qu'il y ai une soluce à ce problème, et c'est pas très important (enfin je pense).

Edit: J'ai un problème avec mon mode spécial, quand je met un PalFX a mon personnage il change aussi la couleur de mes fireballs, et je vois pas comment désactiver ça (je ne peux pas mettre de ownpal sur mes projectiles).
Chok 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:
J'ai mis mon Pos Y >= -7 et le perso se "téléporte" trop. Normalement je doit l'augmenter, mais le prob c'est que si je met -8, ça va trop diminuer la possibilité de faire le combo (ça va devenir impossible de le faire).

Tu ne dois pas l'augmenter, tu dois le réduire (si tu mets à -8, ça veut dire que ton perso pourra faire le combo en étant à 8 pixels au-dessus du sol, alors que si tu mets -5, le combo ne pourra se faire qu'à 5 pixels au-dessus du sol, ce qui réduira l'impression de téléportation).

Par contre, le problème final reste le même : réduire la distance par rapport au sol pour sortir le combo réduit le timing pour faire ce combo.

La seule possibilité que je verrai, ce serait de mémoriser le coup dans une var quand tu es dans le state du premier coup, et de déclencher automatiquement le state du second coup quand tu arrives à la hauteur voulue.

Un truc dans ce style :
Code:
[State 665] ; initialise la var en début de state
type = VarSet
trigger1 = Time = 0
trigger1 = var(0) != 0
var(0) = 0

[State 665] ; mémorise le second coup
type = VarSet
trigger1 = var(0) = 0
trigger1 = (Vel Y > 0 && (Pos Y >= {y})
trigger1 = command = "crouch strong kick"
var(0) = 1

[State 665] ; passe automatiquement dans le second coup s'il a été effectué
type = ChangeState
trigger1 = var(0) = 1
trigger1 = Pos Y >= -3
value = 430

Le trigger1,2 du deuxième VarSet sert à régler le "timing" du combo (faut pas non plus qu'on puisse le mémoriser trop tôt, style : alors qu'on est encore dans la phase montante du coup aérien). Du coup, on vérifie que la Vel Y est bien positive (donc le perso retombe) et qu'il soit à une certaine distance du sol (à déterminer en fonction du timing que tu veux, plus ta valeur sera élevée, plus tôt tu pourras "mémoriser" le combo).

Citation:
J'ai un problème avec mon mode spécial, quand je met un PalFX a mon personnage il change aussi la couleur de mes fireballs, et je vois pas comment désactiver ça (je ne peux pas mettre de ownpal sur mes projectiles).

La solution qui me vient tout de suite à l'esprit, c'est de remplacer tes Projectiles par des Helpers ; tu auras plus de contrôle sur tes fireballs (par contre, faut tout coder : le déplacement, les changements d'animations, etc.), et tu pourras appliquer un ownpal.

Mike Werewolf.
Mike Werewolf est absent 
Chok

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 31 Déc 2004
Messages: 53
Karma: 2
plus / moins

Localisation: France
Répondre en citant
Citation:
Tu ne dois pas l'augmenter, tu dois le réduire (si tu mets à -8, ça veut dire que ton perso pourra faire le combo en étant à 8 pixels au-dessus du sol, alors que si tu mets -5, le combo ne pourra se faire qu'à 5 pixels au-dessus du sol, ce qui réduira l'impression de téléportation).

Le problème c'est que si je met -7 par exemple, le combo devient impossible à faire, si je met -8 ya trop de téléportation, et si je met -9 c'est pire. Ca vient peut être aussi des clns1 qui sont assez grands mais je peux pas vraiment modifier ça. Sinon pour le code que tu m'a donner, ça ne marche pas, il y a une erreur avec le trigger 1,2 d'un state 665 (je sais pas lequel). Mais je vais laisser tomber les combos aériens (pas très important).

Citation:
La solution qui me vient tout de suite à l'esprit, c'est de remplacer tes Projectiles par des Helpers ; tu auras plus de contrôle sur tes fireballs (par contre, faut tout coder : le déplacement, les changements d'animations, etc.), et tu pourras appliquer un ownpal.

Ok. J'ai finalement désactiver mon PalFX, je trouve que ça fait mieux sans.

Merci.
Chok 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:
Le problème c'est que si je met -7 par exemple, le combo devient impossible à faire, si je met -8 ya trop de téléportation, et si je met -9 c'est pire.

Yep, c'est ce que je disais avant :
* soit tu autorises le combo loin du sol, dans ce cas, le timing est bon mais ça fait un effet de téléportation,
* soit tu n'autorises le combo que près du sol, et dans ce cas, tu n'as plus d'effet de téléportation, mais le timing est trop serré pour être réalisable.

D'où ma suggestion d'utiliser une var qui va enregistrer l'exécution du combo dans un timing jouable, mais ne déclencher le passage au coup suivant que lorsque le perso sera suffisamment près du sol.

C'est le principe qu'on retrouve un peu dans le Gouki Chain, le coup inédit que j'ai rajouté à Neo Gouki SVC (cf. tuto correspondant). Wink

Citation:
Sinon pour le code que tu m'a donner, ça ne marche pas, il y a une erreur avec le trigger 1,2 d'un state 665 (je sais pas lequel)

Yep, ça vient d'ici :
Code:
trigger1 = (Vel Y > 0 && (Pos Y >= {y})

Il manque une fermeture de parenthèse après Vel Y > 0 : "(Vel Y > 0) &&" au lieu de "(Vel Y > 0 &&". Wink

Mike Werewolf.
Mike Werewolf est absent 
Chok

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 31 Déc 2004
Messages: 53
Karma: 2
plus / moins

Localisation: France
Répondre en citant
Ça me fait la même erreur.
Chok 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
Euh, juste pour être sûr :
Citation:
trigger1 = (Vel Y > 0) && (Pos Y >= {y})

Tu as bien remplacé {y} par une valeur ? En réel, ça doit ressembler à ça :
Code:
trigger1 = (Vel Y > 0) && (Pos Y >= -10)

Par exemple.

Mike Werewolf.
Mike Werewolf est absent 
Chok

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 31 Déc 2004
Messages: 53
Karma: 2
plus / moins

Localisation: France
Répondre en citant
Non j'avais pas mis de valeur, je savais pas qu'il fallait en mettre une là.
Sinon j'ai essayer, le problème est le même. Mais je vient de vérifier dans SSF2T, il y a la même téléportation. En fait je pense que ça vient du Clns1 de mon "air strong kick" qui est assez grands (j'ai essayer en le mettant a ras, et ça donne mieux, mais je pense pas modifier mes clns1). Je vais laisser tomber ces combos (c'est pas très important à mon avis).

Merci pour l'aide. Smile
Chok 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:
Sinon j'ai essayer, le problème est le même.

Dans ce cas, faut adapter les valeurs suivantes en rouge pour que ça corresponde à ce que tu veux.

Citation:
[State 665] ; initialise la var en début de state
type = VarSet
trigger1 = Time = 0
trigger1 = var(0) != 0
var(0) = 0

[State 665] ; mémorise le second coup
type = VarSet
trigger1 = var(0) = 0
trigger1 = (Vel Y > 0) && (Pos Y >= -10)
trigger1 = command = "crouch strong kick"
var(0) = 1

[State 665] ; passe automatiquement dans le second coup s'il a été effectué
type = ChangeState
trigger1 = var(0) = 1
trigger1 = Pos Y >= -3
value = 430


1ère valeur : plus la valeur est élevée dans les négatifs, plus tôt tu pourras mémoriser le coup. Cette valeur règle donc le timing du combo.
2ème valeur : plus la valeur est faible dans les négatifs, plus le changement de state se déclenchera près du sol. Cette valeur règle donc l'effet de téléportation (plus ton perso sera près du sol, moins on aura l'impression qu'il est téléporté).

Mike Werewolf.
Mike Werewolf est absent 
Problème de Combo et de Variable
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 1  
Télécharger le sujet
  
  
 Poster un nouveau sujet