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
superpause et assertspecial
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
Salut a tous .
Voila , durant un super je veux voulais faire disparaitre les lifebars , powerbar , etc ... . Donc j ai utilise un assertspecial mais le probleme c est qu a la fin de ma superpause les lifesbars reapparaissent et dispparaissent le temps de 1 tick je pense . Je voudrais savoir comment je peux regler ca ? merci

Voila mon code :

Code:
[StateDef 12000, Shinku Hado X]
type = S
movetype = A
physics = S
anim = 12000
ctrl = 0
velset = 0,0
poweradd = 1000
juggle = 2


[State 12000, AftImg]
type = AfterImage
trigger1 = Time = 0
trans = add1
color = 0
time = 600

[State 12000, Voice1]
type = PlaySnd
trigger1 = AnimElem = 1, = 1
value = 0,3
channel = 0

[State 12000, no board]
type = AssertSpecial
trigger1 = Time = [0,81]
flag = nobardisplay
ignorehitpause = 1


[State 12000, SuperPause]
type = SuperPause
trigger1 = Time = 0
movetime = 30
time = 45
anim = -1

;[State 12000, noBG]
;type = AssertSpecial
;trigger1 = Time = [0, 81]
;flag = noBG
;ignorehitpause = 1


[State 12000, Helper1]
type = Helper
trigger1 = Time = 40
helpertype = normal
name = "Shinku Hadoken X"
ID = 12001
pos = 64,-67
postype = p1
bindtime = -1
stateno = 12001
ownpal = 1


[State 12000, EndAftImg]
type = AfterImageTime
trigger1 = AnimTime = 0
ignorehitpause = 1
time = 0

[State 12000, End]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
Mike Werewolf
Loup-garou

Site Admin


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

Localisation: France
Répondre en citant
OK, ce qui se passe en fait, c'est que la superpause bloque le "time" lorsqu'elle est active. Résultat : tant que le movetime (30 ticks) est actif, le perso l'est également, et le AssertSpecial se déclenche normalement. Mais au-delà de ces 30 ticks, le perso se fige, et ses sctrls ne sont plus vérifiés. Du coup, le AssertSpecial n'est plus déclenché et les lifebar apparaissent. Si tu actives le debug mode et que tu fais de l'image par image, en regardant le "time" du perso, c'est assez flagrant.

Pour y remédier, soit tu mets un movetime équivalent à la durée de la SuperPause (donc 45), soit tu crées un helper à Time = 0 avec un paramètre "supermovetime = 45" (ou plus) et qui pourra donc agir pendant que le perso est figé, et ainsi exécuter le AssertSpecial normalement.

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
merci de ta reponse , je vais aller tester ça . Sinon pour le debug et faire aller d image en image , je fais vomment ? Embarassed
Dark Saviour

Site Admin


Inscrit le: 29 Déc 2004
Messages: 47
Karma: 4
plus / moins

Localisation:
Répondre en citant
Autre solution plus simple: mettre ton movetime à l même valeur que ton time et ajuster ton animation en conséquence.

Pour activer le mode debug, fais CTRL+D. Ensuite, effectue la manipulation nécessaire pour que ton personnage effectue le coup à tester puis appuies sur la touches PAUSE de ton clavier. Pour passer au tick suivant, il suffit d'appuyer sur la touche Scroll Lock située à gauche de la touche PAUSE.


Dark Saviour est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
merci a vous 2 . Je viens de tester en mettant le movetime et le time a 45 tout les 2 et j ai changer le temps de l anim , ca marche nickel .

Sinon Mike ( ou quelqu 1 d autre ) peux tu m expliquer un peu plus ca stp :
Citation:
soit tu crées un helper à Time = 0 avec un paramètre "supermovetime = 45" (ou plus) et qui pourra donc agir pendant que le perso est figé, et ainsi exécuter le AssertSpecial normalement.


Car je viens de commencer avec les helpers et je vois pas comment je peux l integrer

merci d avance
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 pour le debug et faire aller d image en image , je fais vomment ?

Pas mieux que DS. Je te suggère aussi de voir le topic que j'avais fait sur le sujet dans "Apprentissage en ligne" ; même si la section est un peu morte, il y a des infos qui peuvent toujours servir :
http://mike.mugen.free.fr/Forum/viewtopic.php?t=138

Razz

Citation:
Sinon Mike ( ou quelqu 1 d autre ) peux tu m expliquer un peu plus ca stp :
Car je viens de commencer avec les helpers et je vois pas comment je peux l integrer

Pour resituer un peu : un helper, c'est une "entité" qui fonctionne comme un personnage. C'est une sorte de "sous-personnage", si tu veux. Il a des tonnes d'utilités diverses : ça peut être un striker, un projectile particulier, mais aussi simplement un élément qui va agir sur le combat de façon "tierce" (càd indépendamment des personnages).

Pour ce cas précis, c'est justement une "action tierce" dont je parle. On va créer un helper qui aura la possibilité d'agir pendant la superpause (alors que le perso, lui, sera bloqué), et qui pourra ainsi appliquer le AssertSpecial sans être gêné par les effets de la superpause.

Pour créer l'helper, ça donne ça :
Code:
[State 12000, Hlp]
type = Helper
trigger1 = !Time ; équivaut à "Time = 0"
name = "test" ; nom de l'helper pour l'identifier sur le debug
stateno = 12001 ; state de départ de l'helper
supermovetime = 45 ; temps qui correspond à ta superpause


Quelques explications :
* L'helper fonctionnant comme un perso, il va de state en state, et il lui faut donc un state de départ, qui sera le stateno
* Le paramètre supermovetime définit la durée pendant laquelle l'helper peut bouger durant une SuperPause. Comme on a besoin que l'helper puisse agir durant toute la superpause, on règle ce paramètre avec la durée de la SuperPause, soit 45 ticks.

Ensuite, il faut créer le state 12001, qui est le state de départ de l'helper. Vu que son action sera très limitée (juste activer l'AssertSpecial), l'helper n'utilisera que ce state et il sera très simple :

Code:
[Statedef 12001]
type = S ; le type n'a pas d'importance
physics = N ; le physics non plus, mais N est le mieux adapté
anim = 12001

[State 12001] ; ton AssertSpecial normal
type = AssertSpecial
trigger1 = Time = [0,81]
flag = nobardisplay

[State 12001] ; Destruction de l'helper lorsqu'on n'en a plus besoin
type = DestroySelf
trigger1 = Time = 82


NB : vu qu'ici, l'helper n'a pas une fonction "visuelle", on lui attribuera une anim "vide", qui se code ainsi dans le AIR :
Code:
[Begin Action 12001]
-1,0,0,0,-1

Le fait de mettre un sprite -1,0 (donc inexistant dans le SFF) fait que Mugen n'affichera rien. Si tu ne mets pas d'anim, Mugen reprendra l'anim 0 (stance) du perso, ce qui pourra afficher ton perso en double.

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
que dire d autre a part un grand merci . c est super .
Bon je vais etre embetant mais a quoi correspond le statedef -2 et le statedef -3 . Jai vu que certainne personnes mettent des explod dedans ou meme des helpers , donc je voulais savoir a aquoi ca sert exactement ( si ya un post qui en parle deja je l ai pas trouve dsl )

merci encore

EDIT : Ok je retire , je viens de trouver a l instant , jai du avoir du mal la premiere fois Razz
superpause et assertspecial
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