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 
 Retrouvez la doc d'Elecbyte en français, mise en page et regroupée dans le Mugen Doc ! 

   Télécharger le sujet
aide pour le parade svp
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
Salut , je voulais savoir si quelqu un sait coder une sorte de block a la sf3 ( en appuyant sur le direction avant juste avant de prendre le hit )
J ai trouvé un tuto sur le net mais ca demande de coder dans le cns en statedef -2 alors que je voudrais une partie dans le cmd et l autre dans le cns .
voila le code que j utilise ( ca se rapproche de ce que je veux faire mais c est pas encore ca ) :

cmd :
Code:
[State -1, Sparry]
type = hitoverride
triggerall = command = "fwd"
trigger1 = ctrl && statetype!=A
trigger2 = stateno = [150,151]
trigger3 = stateno = 750
attr = SA,NA,NP,SP
stateno = 750
time = ifelse ((stateno = 750),4,8)
ignorehitpause = 1


cns :
Code:
[Statedef 750] ; Parry
type = S
movetype = I
physics = S
ctrl = 0
anim = 750
sprpriority = 8

[State 750, Pause]
type = Pause
trigger1 = (!Time)
time = 8
movetime = 1

[State 750, not hit]
type = NotHitBy
trigger1 = 1
value = SCA

[State 750, end]
type = ChangeState
trigger1 =! AnimTime
value = 0
ctrl = 1



Donc j ai fait ca a partir du tuto que j ai trouver ( ca correspond a la parade en stand ) . Mais le probleme c est que le stand LK par expemple mon perso a beaucoup de mal a le parer . De plus mon perso avance et je voudrais qu il reste sur place et je sais pas comment faire

si quelqu un a une solution pour completer ce code ou en a un autre ce serait super Mr. Green

merci
Mike Werewolf
Loup-garou

Site Admin


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

Localisation: France
Répondre en citant
Ce système s'appelle le "Parry". Il est impossible à réaliser dans le CMD, et ceci à cause de la nature même du CMD et de son fonctionnement.

Le CMD repose sur des states -1, qui fonctionne selon le principe suivant : les states -1 sont vérifiés à tout moment du jeu, dans l'ordre, et dès que l'un d'entre eux est réalisé, alors tous les suivants sont ignorés. Donc ton state -1 pourrait être ignoré s'il est "devancé" par un autre state -1, ce qui est probable.

Alors qu'avec le state -2, pas de souci, puisque là aussi, les states -2 sont vérifiés à tout moment, mais le déclenchement d'un state -2 n'entraîne pas la "non vérification" des state -2 suivants.

Citation:
De plus mon perso avance et je voudrais qu il reste sur place et je sais pas comment faire

"velset = 0,0" à rajouter dans le statedef 750.

Les persos SF3 utilisent tous (normalement) le parry, donc en t'inspirant du code des persos SF3 convertis pour Mugen, tu pourrais te faire une idée de comment créer ton propre parry. Perso, à la base, j'opterais pour un ReversalDef (avec Clsn1 sur l'anim, donc) plutôt que pour un HitOverride. Maintenant, à voir en pratique ce que ça donne...

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
merci de ta reponse . En effet en regardant d autre perso et en les testant j ai remarque que le parry ce faisait mieux au niveau du gameplay si il ce tropuve en state -2 . Par contre je n ai pas vu de reversalDef encore donc je vais etudier ca Wink
tombston
tombston

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 14 Déc 2005
Messages: 303
Karma: 2
plus / moins

Localisation: Algeria
Répondre en citant
salut


moi j'ai codé le parry en modifiant les state du guard (l'ajout d'un changestate) mais mon perso n'est pas fidele a sf3 donc j'ai un resultat un peus diffirant

Citation:
Par contre je n ai pas vu de reversalDef encore donc je vais etudier ca


c'est bien faisable avec un nothitby

un reversaldef et utile si tu veux contre attacké sur un coup mais dans ton cas tu contre le coups c'est tout


merci


tombston est absent 
Mike Werewolf
Loup-garou

Site Admin


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

Localisation: France
Répondre en citant
Citation:
un reversaldef et utile si tu veux contre attacké

Yep, mais pas seulement. Il reprend des paramètres de HitDef comme le P2stateno qui peut servir à "contrôler" l'adversaire plus facilement pendant le blocage du coup.

Citation:
c'est bien faisable avec un nothitby

Le NotHitBy permet juste d'éviter certains types de coups, pas de les bloquer. Le HitOverride semble en effet assez indiqué, sinon.

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
Bon apres certains tests sur le reversaldef , je peux dire que ce n'est pas le mieux car comme l' a dit tombston je ne veux pas contre attaquer . Avec le reversaldef , la parade marche mais a cause des clns 1 le perso le prend comme un coup qu il donne donc ca arrive qu il part dans le vide ( surtout l'AI qui fait ca quand le pserso recoit un projectil , en plus elle utilise la parade comme un coup ) .Donc au final j opte pour un hitoveride en state-2
Mr. Green . Merci a vous 2

EDIT : J ai un autre probleme , j essais de coder le power charge pour L AI du perso mais je ne vois pas comment faire car quand je suis en watch le perso charge anormalment ( j ai l impression qu il saccade en changeant de statedef tout le temps ) . Pour le code j ai suivis le tuto de mike pour l AI j ai mis ca :
Code:
[State -1, AI charge]
type = changestate
triggerall = var(3) = 1
triggerall = ctrl = 1 && statetype = S
triggerall = power < 5000
triggerall = stateno != 1000
triggerall = P2movetype != A
triggerall = P2bodydist X >= 100
triggerall = movetype != A && movetype !=H
trigger1 = (stateno != [0,870]) && (stateno != [2000,99999])
trigger1 = Random <= 900
trigger1 = P2movetype = I
value = 1000

[State -1, AI charge2]
type = changestate
triggerall = var(3) = 1
triggerall = ctrl = 0 && statetype = S
triggerall = prevstateno = 1000
trigger1 = stateno != [0,9999999]
trigger1 = (prevstateno != [0,870]) && (prevstateno = [1001,999999])
value = 1001


Pour la partie AI charge2 , j ai pensé qu il fallait que j indique aussi ce statedef car je savais plus comment faire Embarassed et la var(3) c est pour le declanchement de l AI et le roundstate

Donc voila si quelqu un peut m aider a regler le power charge dans L AI ce serait cool Mr. Green

PS : Sinon pour la Parry c est bon , j ai utiliser un hitoverride et ca marche nickel , plus aucun probleme Mr. Green
Mike Werewolf
Loup-garou

Site Admin


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

Localisation: France
Répondre en citant
Je pense que le problème vient du CNS ; en fait, l'IA peut déclencher le power charge, ça, c'est le boulot du CMD, mais tout le problème, c'est qu'elle y reste.

La solution, ce serait donc de distinguer si le state est utilisé par l'IA ou par le joueur, en ayant un ChangeState spécifique au joueur, et un autre spécifique à l'IA :

Code:
[State 1000, PC-End Joueur]
type = ChangeState
triggerall = var(3) = 0
trigger1 = command != "hold_b"
trigger2 = command != "hold_y"
trigger3 = power >= 3000
value = 1001

[State 1000, PC-End IA]
type = ChangeState
triggerall = var(3) = 1
trigger1 = power >= 3000
trigger2 = random > 800 ; par exemple
trigger3 = {autre cas éventuel}
value = 1001


Afin que ton IA ne reste pas stupidement à charger son power alors que l'adversaire l'attaque, les triggers suivants devraient prévoir les réactions face aux actions de l'adversaire. Wink

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
merci , mais j' avais juste oublier de mettre la var pour differencier LAI du joueur . En fait ja vais AI mais pas la joueurs donc l AI utilisee aussi les autres statedef ( 2 x le power charge par exemple Razz )

. Sinon je vais t embeter mais je n arrive pas a coder en combo le dragon punch d apres ton tuto . Vu que les variables utilise sont specifiques au statedef .

la j ai refait mon code de l AI ca donne ca :
Code:
[State -1, Activation]
type = VarSet
triggerall = var(59) != 1
trigger1 = command = "CPU_1"
trigger2 = command = "CPU_2"
trigger3 = command = "CPU_3"
trigger4 = command = "CPU_4"
trigger5 = command = "CPU_5"
trigger6 = command = "CPU_6"
trigger7 = command = "CPU_7"
trigger8 = command = "CPU_8"
trigger9 = command = "CPU_9"
trigger10 = command = "CPU_10"
v = 59
value = 1

[state -1, AI LP]
type = changestate
triggerall = var(59) = 1
triggerall = statetype != A
triggerall = p2bodydist x <= 40
trigger1 = ctrl
value = 200

[state -1, AI MP]
type = changestate
triggerall = var(59) = 1
trigger1 = stateno = 200 && movecontact
value = 210


;[state -1, AI Jump fwd]
;type = varset
;trigger1 = var(59) = 1
;sysvar(1) = 1

[State -1, AI MK]
type = Changestate
triggerall = var(59) = 1
trigger1 = stateno = 210 && movehit
value = 240

[State -1, AI Hado Y]
type = Changestate
triggerall = var(59) = 1
trigger1 = Random <= 300
trigger1 = stateno = 240 && movehit
value = 2001

[State -1, AI Teleport]
type = Changestate
triggerall = var(59) = 1 && Roundstate = 2 && ctrl
trigger1 = Statetype != A && P2Bodydist X >= 100
trigger2 = P2Movetype = A && P2Bodydist X <= 30 && Statetype != A && Stateno = 3000
value = 3000

[State -1, AI Huricane Kick]
type = Changestate
triggerall = var(59) = 1
trigger1 = Random <= 600
trigger1 = stateno = 240 && movehit
value = 6000


Et juste apres l huricane kick je voudrais le DP ( enfin choisir si je fais le fait avec LP/MP ou HP ) . Mais la je vois pas encore une fois Mr. Green Mr. Green
Mike Werewolf
Loup-garou

Site Admin


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

Localisation: France
Répondre en citant
Je comprends pas trop ; tu voudrais que le DP sorte automatiquement après l'Hurricane Kick ?

Si c'est bien ça, l'Hurricane étant un coup aérien, et le DP, un coup qui débute au sol, il n'y a qu'à l'atterrissage de l'Hurricane que tu pourrais créer un enchaînement cohérent. Or le truc, c'est qu'il n'y a pas un state spécifique d'atterrissage pour l'Hurricane Kick (j'ai utilisé le state standard d'atterrissage).

Mike Werewolf.
Mike Werewolf est absent 
Val

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

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

Localisation:
Répondre en citant
Avec un prevstateno se serai pas jouable? En triggerall avec un And sur la state de l'atterrissage... Bon je suis vraiment rouillé coté prog mais a tout hasard^^
Val 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:
Avec un prevstateno se serai pas jouable?

Mouais, effectivement, c'est jouable. Voire directement dans le CMD, sur le state -1 du DP, avec StateNo = 47 && PrevStateNo = 6000 en trigger.

Comme quoi, t'es pas si rouillé ! ^^

Le seul truc, c'est que Elecbyte précise à propos du PrevStateNo :
Citation:
The results of this trigger are not guaranteed to be accurate.

Confused

Mais bon, ça vaut la peine de tenter.

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
oki merci de vos reponse , je vais tenter ca et je vous tiens au courant Mr. Green

EDIT :
Citation:
Je comprends pas trop ; tu voudrais que le DP sorte automatiquement après l'Hurricane Kick ?


Oui pour que dans certaine condition (que j aurais programme )L AI effectue l huricane kick puis enchaine avec le dragon punch . ( car quand j ai le control j arrive a le sortir , mais ca ne coupe pas l huricane kick , ca vient juste en combo apres que le perso soit retombé ) . Je sais pas si j ai ete plus clair la
Mike Werewolf
Loup-garou

Site Admin


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

Localisation: France
Répondre en citant
Si, c'est plus clair. Et donc ce qu'on a dit plus haut correspond à ça. Wink

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
cool ca marche . Mais bon je vais etre casse pied Embarassed . Maitenant si je veux choisir quel DP va sortir apres huricane kick ( genre MP ) , comment je peux faire , car la le DP sort bien apres l huricane kick mais il est aleatoire parmis les 3 poings differents (D ailleurs idem pour l hurican kick Confused ) ?
Mike Werewolf
Loup-garou

Site Admin


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

Localisation: France
Répondre en citant
Regarde dans le tuto comment on détermine la puissance du coup : ça repose sur l'utilisation d'une var, dont la valeur change selon la commande utilisée :
Code:
triggerall = var(1):=(command = "DP_x") + 2*(command = "DP_y") + 3*(command = "DP_z")


Si on décortique, ça donne, de façon "théorique" :
Code:
triggerall = var(1):=({cas faisant appel au DP faible}) + 2*({cas faisant appel au DP moyen}) + 3*({cas faisant appel au DP fort})


A toi d'adapter ça selon ce que tu veux.

Tu peux aussi découper la formule en 3. Du style, si tu veux qu'après un Hurricane Kick, ce soit forcément un DP moyen, ça donnera :
Code:
trigger1 = StateNo = 47 && PrevStateNo = 6000
trigger1 = var(1):= 2


Mike Werewolf.
Mike Werewolf est absent 
[Résolu] aide pour le parade svp
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 3  
Télécharger le sujet
  
  
 Poster un nouveau sujet