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
un nouvau personage=des nouvau probleme..j'ai besoin d'aide
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
apres que j'ai fait un stage et un lifde bare (meme si il est pas completement pret Rolling Eyes ) je passe a les essye pour faire un personage

pour la premiere etape de ton tutorial ca c tres bien passe
mais pour la 2 etap (j'ai pas compris les code mais j'essye avec mugen doc et mugen help) j'ai un probleme meme si robert garcia n'as pas un super jump mais je veux faire un robert a moi et j'ai un probleme



tu vois dans l'image robert va faire un saut mais le probleme c que ce super jump quand je le lance il reste que sur un seul animation l'animation du saut (41)et l'animation se repete et empeche le joueure de bouger
je pence que c un probleme de variable mais a toi de voire le probleme dans mon code

Citation:
[Statedef 41]
type = S
physics = S
anim = 41
ctrl = 0
sprpriority = 1

[State 41, 1]
type = VarSet
trigger1 = Time = 0
sysvar(1) = 0

[State 41, Mark]
type = VarSet
trigger1 = Time = 0
var(0) = 1

[State 41, Train]
type = AfterImage
trigger1 = Time = 0
time = 30
palbright = 60,60,60
palcontrast = 256,256,256
trans = add1


alors que faire


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
Rajouter les states qui manquent :

Code:
[State 41, DirFwd]
type = VarSet
trigger1 = command = "holdfwd"
sysvar(1) = 1

[State 41, DirBack]
type = VarSet
trigger1 = command = "holdback"
sysvar(1) = -1

Détermine si tu fais un saut vers l'arrière ou l'avant.

Code:
[State 41, Vel]
type = VelSet
trigger1 = AnimTime = 0
x = ifelse(sysvar(1)=0, const(velocity.jump.neu.x), ifelse(sysvar(1)=1, const(velocity.jump.fwd.x), const(velocity.jump.back.x)))*1.2
y = const(velocity.jump.y)*1.2

Règle les vitesses en X (saut avant ou arrière) et en Y pour que ton perso décolle !

Code:
[State 41, End]
type = ChangeState
trigger1 = AnimTime = 0
value = 50
ctrl = 1

Permet à ton perso de passer dans le state de saut proprement dit, sans quoi il reste bloquer en state 41, et joue l'anim correspondante en boucle.

Mike Werewolf.
Mike Werewolf est absent 
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
c bon ca marche mais moi je veux que les comande soit ~$U,U
alors j'ai changer la comande du super jumpe mais le resulta reste le meme avec bas et haut

================
autre question mnt je suis sur le run et j'ai pas de probleme sauf que le resulta obtenu n'es pas bon
quand le personage cours il avance un distance precie avec l'animation puis il s'arrette un peux puis il refet la meme animation avec une autre distance.bref il avance animation pa animation
voici le code

Code:
[Statedef 100]
type = S
physics = S
anim = 100
sprpriority = 1

[State 100, 1]
type = VelSet
trigger1 = AnimElem = 6
;trigger2 =  1
x = const(velocity.run.fwd.x)*3.3

[State 100, 2] ;Prevent run from canceling into walk
type = AssertSpecial
trigger1 = 1
flag = NoWalk

[State 100, 3] ;Prevent from turning
type = AssertSpecial
trigger1 = 1
flag = NoAutoTurn

[State 100, 4]
type = ChangeState
trigger1 = command != "holdfwd"
value = 0



et autre chose...je veux change l'anim quand le joueure l'achera le FF PARCEQUE JE PEUX PAS LES METTRE dans l'anim 100 sino le joueure coure puis s'arrette meme si le joueur na pas lache le FF
alors esque il ya un code poure ca
merci


Dernière édition par tombston le Samedi 18 Février 2006 22:40; édité 1 fois


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
Fais voir ton state -1.

Mike Werewolf.
Mike Werewolf est absent 
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
voila mon state -1

Code:
[State -1]
type = ChangeState
trigger1 = command = "FF"
trigger1 = StateType != A
trigger1 = ctrl
value = 100


je prici que robert garcia dans un run il cour et il s'arrette pas sauf si en lache la commande contrairement a gouki qui fait un seul glisse puis en dois refaire notre rune


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:
autre question mnt je suis sur le run et j'ai pas de probleme sauf que le resulta obtenu n'es pas bon
quand le personage cours il avance un distance precie avec l'animation puis il s'arrette un peux puis il refet la meme animation avec une autre distance.bref il avance animation pa animation

Ton problème est normal. En fait, un perso peut avoir deux types de run : un run "course" (cas de ton perso), ou un run "bond avant" (cas de Gouki) et les deux ne se gèrent pas de la même façon.

Voici les problèmes que tu as :
Citation:
[Statedef 100]
type = S
physics = S
anim = 100
sprpriority = 1

=> Le physics S réduit progressivement la vitesse horizontale du perso pour la ramener à zéro. Dans le cadre d'une course où la vitesse doit être constante, on utilisera physics = N (aucun changement apporté aux vitesses).

Citation:
[State 100, 1]
type = VelSet
trigger1 = AnimElem = 6
;trigger2 = 1
x = const(velocity.run.fwd.x)*3.3

Ce controller se déclenche à chaque fois que l'anim arrive sur l'élément 6. Donc comme l'anim tourne en boucle dans une course, il se déclenche plusieurs fois. Dans le cadre d'une course, il est inutile de mettre un tel controller. En général, on se contente de préciser "velset = Const(velocity.run.fwd.x),0" dans la partie StateDef.

Citation:
voila mon state -1

Je demandais le state -1 de ton super saut, pas du run.

Mike Werewolf.
Mike Werewolf est absent 
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
Very Happy un peux de casse tete et en regle le probleme lool
j'ai meme ajoute un MakeDust que j'ai trouvai dans ton mugen doc(tres efficase)

pour le state de super jumpe le voila

Code:
[State -1]
type = ChangeState
trigger1 = command = "super jump"
trigger1 = StateType != A
trigger1 = ctrl
value = 41


et j'espere que jairai pas de probleme dans le Hop back
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:
j'ai changer la comande du super jumpe mais le resulta reste le meme avec bas et haut

Juste pour être sûr que j'ai bien compris :
* Tu as toujours le problème
* Le problème, c'est que même en ayant changé la commande, ça marche toujours avec l'ancienne version de la commande.
C'est bien ça ?

Si oui : je vois rien d'anormal dans ce state -1... Fais voir la commande elle-même.

A part ça, je pense que ta commande "~$U,U" va poser problème, car telle qu'elle est, tu ne pourras la réaliser que dans un saut sur place (car le second "U" est "strict" : il ne sera réalisé que si on fait "haut" sans mettre de direction "avant" ou "arrière").

Mike Werewolf.
Mike Werewolf est absent 
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
voici la comande

Code:
[command]
name = "super jump"
command = ~$U
time = 10


voilà le resultat des run et hol back (j'ai mis des after image c cool cette effet)









et mnt j'ai un problem de palette elle s'applique pas au personnage
coment je fais


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:
voici la comande

T'as pas répondu à mes autres questions. De plus, ta commande ne sera pas prise en compte, à mon avis, du fait qu'elle est déjà utilisée pour le saut normal (mais avec un time = 1).

Citation:
et mnt j'ai un problem de palette elle s'applique pas au personnage

Concrètement, t'as fait quoi ? Tu as créé un fichier ACT ? Tu l'as déclaré dans le DEF du perso ? Tu as bien utilisé le bouton de sélection correspondant ?

Mike Werewolf.
Mike Werewolf est absent 
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
j'avai edite mon message pour te dire que j'ai su ou est le problem ...de pres ce que j'ai fait je peux pas faire une autre comande dans le jump parceque le ctrl = 0 (nespas Smile )mais je sais pas pour quoi il na pas ete affichier (surment des probleme de conexion) sino c moi qui as fait une erreure en lisant ton tutorial c pour ca que j'avai ce probleme mais mnt c bon pour les comande

sino la palellet elle s'aplique mais je sais pas si je sauvguarde mon sff sur
palette partage ( et c la mon probleme)
ou une palette individuelle

j'ai mis les deux (j'ai essye les deu ) et reguarde le resultat
et voila mes images





j'ai meme essye avec winmugen mais ca na pas marché endirai que chaque sprite a ses propre couleures Confused
alors quesque je fait


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:
de pres ce que j'ai fait je peux pas faire une autre comande dans le jump parceque le ctrl = 0 (nespas Smile )

Si, tu peux, mais il ne faut pas que la réalisation de la commande soit liée au ctrl. Autrement dit :
- Soit tu prévois dans ton state -1 un trigger2 pour cette commande sans avoir "trigger2 = ctrl"
- Soit tu mets un ChangeState directement dans le state de saut (state 40) basé sur la commande.

Citation:
sino la palellet elle s'aplique mais je sais pas si je sauvguarde mon sff sur
palette partage ( et c la mon probleme)
ou une palette individuelle

Vu ce que ça affiche, tu n'as pas créé de palettes ; là, tu as modifié directement l'image et la structure de la palette initiale, du coup, les couleurs sont forcément faussées.

Quand tu veux créer une palette, tu ne dois absolument pas toucher à l'image. La seule chose que tu dois modifier, ce sont les couleurs des index de la palette.

Mike Werewolf.
Mike Werewolf est absent 
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
c'est vrai que j'ai modifié la palette d'une seule image et j'ai appliqué cette palette aux personnages , t'as vu le résultat que ça a donné avec mon personnage mais avec ton goki la palette s'applique correctement (est-ce -que j'ai le droit de montrer le résultat) ,...j'ai même essayer tes palettes sur mon personnage mais l'effet est le même

les palettes que j'ai creé sont faite avec fighter factory

===================================

je suis en période d'examens ,je serai donc absent pendant une periode de 2 semaines (déjà que j'ai eu des notes moyennes aux devoirs mais satisfesante dans mugen Mr. Green n'est ce pas Wink )


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:
j'ai même essayer tes palettes sur mon personnage mais l'effet est le même

C'est normal, les sprites de Gouki sont prévus pour utiliser ces palettes, mais pas tes sprites.

Citation:
c'est vrai que j'ai modifié la palette d'une seule image et j'ai appliqué cette palette aux personnages

Vu le résultat, tu n'as pas modifié simplement la palette, tu as modifié également les couleurs des pixels directement dans l'image (avec des outils pinceaux ou remplissage, certainement).

Citation:
(est-ce -que j'ai le droit de montrer le résultat)

Si tu veux, mais comme c'est un perso différent, ça ne changera rien à ton problème.

A moins que... Ne serais-tu pas parti d'une palette de Gouki pour créer les tiennes ? Si oui, ton problème est normal, car comme je l'ai dit avant, les sprites de Gouki sont prévus pour utiliser cette "structure" de palette, ce qui n'est pas le cas de ton perso (chaque perso utilise une "structure" de palette qui lui est propre, c'est pourquoi la palette d'un perso ne fonctionnera pas sur un autre).

Je te suggère de lire mes tutos sur les palettes, dispo ici :
http://mike.mugen.free.fr/Forum/viewtopic.php?t=65
-> Créer des fichiers ACT
-> Tutorial sur les palettes et index de palettes

Wink

M*rde pour tes exams...

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
t'as dis que t'utilisait fighter factory pour faire tes palettes
est ce que ta telecharger la video d'aide

si non vas sur http://virtualltek.mgbr.net/inicial.php?page=tutos
telecharge le truc qui s'appelle :

Criando um personagem básico com Fighter Factory (Animado)

normalement ça devrait t'aidez[/url]
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 a tous

c bien de terminer ses examain je vais consacrer tout mon temps a mugen Mr. Green Mr. Green

merci skillo pour le lien je vais voire ses tuto

pour mon personage j'ai ajouter les coups de base (et oui ca avance Very Happy )
et pour le probleme des palette j'ai pris 2 image difirante de mon perso et j'ai vu que les indexe ne sont pas les meme

Citation:
Vu le résultat, tu n'as pas modifié simplement la palette, tu as modifié également les couleurs des pixels directement dans l'image (avec des outils pinceaux ou remplissage, certainement).


et non j'ai modifier que la l'index (blan je lai rendu rouge)

sino je pense que je vais laisser ca en dernier

et j'ai une autres question esque je peux presenter ce personage et mon life bare en wip????


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
Bien sûr, cette section est là pour ça, et elle ne m'est pas exclusivement réservée. Wink

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
ah ouais au fait la video est en espagnole ta du t'en douter mais ça change pas grand chose t'as juste à regarder ce que fais le gars, sinon si ta des prob avec fighter factory j'ai commencé un trad donc si ça t'interesse
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
jai vu la video et je fait pareille et ca a marche le seul probleme c aue je doit reconstruire mon sff et ca va prendre du temp (520 images c long)

sino pour la traduction si tu fait une traduction de la video et ben oui ca m'intersse

merci et au prochain probleme Very Happy


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:
sinon si ta des prob avec fighter factory j'ai commencé un trad donc si ça t'interesse

Si tu parles du logiciel proprement dit, il y a déjà une version française (faite par Byakko, il me semble).

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
a bon je savais pas tu pourrai me dire ou la trouver.
Mike Werewolf
Loup-garou

Site Admin


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

Localisation: France
Répondre en citant
Désolé, je me suis trompé. En fait, il y en avait une, mais dans la première version de fighter factory (en fait, je crois que FF proposait plus d'une dizaine de langues différentes). Razz

EDIT : J'ai fait ma propre traduction. Y a peut-être quelques erreurs, mais je pense que c'est correct dans l'ensemble. Wink

Télécharger (clic droit, enregistrer la cible sous).
Pour l'installer : mettez le fichier dans le dossier "Languages" du programme, puis, une fois dans le programme lui-même, faites Ctrl+I, et choisissez Français (FR).

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
tu as laquelle version de FF moi c la beta 2 fix
Mike Werewolf
Loup-garou

Site Admin


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

Localisation: France
Répondre en citant
Idem, je l'ai téléchargée & installée cet après-midi. Wink

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
en tous cas moi je trouve que ce log est vachement pratique pour les debutant il m'a beaucoup aidez pour mon perso
Mike Werewolf
Loup-garou

Site Admin


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

Localisation: France
Répondre en citant
C'est vrai qu'il a l'air assez intuitif, et idéal pour débuter. Mais je pense quand même qu'ensuite, mieux vaut passer aux outils traditionnels (bloc-notes, SprMaker), qui permettent d'avoir un résultat plus "propre".

FF automatise pas mal de choses, et si l'automatisation simplifie pas mal de choses, elle conduit aussi à moins de souplesse.

Mike Werewolf.
Mike Werewolf est absent 
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
Citation:
Si tu parles du logiciel proprement dit, il y a déjà une version française


non je parler de la video

Citation:
En fait, il y en avait une, mais dans la première version de fighter


oui c vrai et j'ai ff beta2 en francais
jai copier le fichier langue de ff1 et je les coller dans ff2 et ca a marcher
sino ff2 je rencotre quelque probleme sino si je sumprime le ff1 j'aurai pas de probleme sur mon perso?????????


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:
sino si je sumprime le ff1 j'aurai pas de probleme sur mon perso?????????

Je peux pas être sûr à 100%, mais je dirai qu'il n'y aura pas de problème, vu que le programme reste indépendant des fichiers du perso.

Mike Werewolf.
Mike Werewolf est absent 
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
pas de probleme mnt

vila ce que j'ai ajouter

1-j'ai mis 2 intro
2-j'ai mis un hado
3-des palettes (et oui j'ai refet mon sff pour le fair)









j'aimerai bien avoir des comantatair

;==============================

salut

j'ai un nouvu probleme
quand je fait une attack en air (un coup de poing) mon perso reste avec cette animation jusque son atirissage mais moi je veux fair un coup de poing court alors quesque je fait

c bon j'ai regler le probleme avec un change anim

:==========================================

je me suis apercu que j'ai soter les win et les lose dans ton tutorial alors j'ai riper les image et j'ai cree les state mais je ne peux lancer que 2 win alors que moi j'ai 4 voila mon code (enfin le tien Razz )

Code:
[Statedef 180]
type = S
ctrl = 0
anim = 180+random/500

;facing = 1
;pos = 0,0
;postype = p1
velset = 0,0

[State 180, 1]
type = NotHitBy
trigger1 = 1
value = SCA
time = 0


alors quesque je dois fair


tombston est absent 
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
Confused bizar personne ne me repond

je pence que c un probleme de conexion c pour ca j'ai doubler mon message pour dire que j'ai trouver la solution pour mon probleme

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
Salut,

Désolé, les messages édités n'apparaissent pas comme nouveau message ici...

Donc :
Citation:
salut

j'ai un nouvu probleme
quand je fait une attack en air (un coup de poing) mon perso reste avec cette animation jusque son atirissage mais moi je veux fair un coup de poing court alors quesque je fait

c bon j'ai regler le probleme avec un change anim

Ce problème ne se résoud pas avec un ChangeAnim (enfin, c'est pas la meilleure solution). La solution est donné dans le tuto Gouki, partie 3, les coups aériens :
Citation:
Découlant de là, on ne sait pas combien de temps notre personnage va passer dans ce state, et il se peut tout à fait que ce temps soit supérieur à la durée de l'animation du coup. Comme on reste dans notre state jusqu'à l'atterrissage, si on utilise une animation normale, celle-ci va repartir au début, pour tourner en boucle (et donc notre personnage va refaire son coup). Pour éviter cela, on va devoir mettre un "looptime infini" sur ces anims (je rappelle que le "looptime" est la durée d'une animation).

Concrètement, on utilisera donc soit un "loopstart" pour bloquer l'anim sur une série d'éléments, soit on mettra un temps de -1 sur le dernier élément de l'animation pour bloquer l'anim sur cet élément
.


Il faut donc que l'anim de ton coup ne soit pas "finie" (qu'elle contienne un loopstart ou un temps de -1 sur le dernier élément).

Wink

Citation:
j'ai cree les state mais je ne peux lancer que 2 win alors que moi j'ai 4 voila mon code (enfin le tien Razz)
alors quesque je dois fair

Le code que j'ai donné n'est valable que pour deux anims. Pour l'adapter à quatre anims, il faut modifier le code en adaptant le principe de base que j'ai donné, à savoir :
Citation:
La seule différence, c'est que cette fois, nous allons laisser le choix de l'anim au hasard. Pour cela, nous utilisons un trigger "random" qui choisit un nombre entre 0 et 999. Nous allons simplement diviser ce nombre par 500 (entier). Le résultat de cette division (entier/entier) ne pourra qu'être un entier. Si le nombre random est inférieur à 500 alors random/500 vaudra 0 et sinon, random/500 vaudra 1. Il n'y a plus qu'à ajouter 180 pour obtenir le numéro d'anim à jouer.

Concrètement : Random/500 ne peut donner que 2 résultats : 0 (si Random est inférieur à 500) ou 1 (dans les autres cas). Ce qui convenait parfaitement à Gouki puisqu'il n'a que 2 anims de Win possibles.

Dans ton cas, on en a 4 : il faut donc élever le champ des possibles à 4. Pour cela, il suffit simplement de diminuer le diviseur de random, en l'amenant à la valeur voulue, qui sera ici de 250.
* Random/250 = 0 si random est inférieur à 250.
* Random/250 = 1 si random est compris entre 250 et 499.
* Random/250 = 2 si random est compris entre 500 et 749.
* Random/250 = 3 si random est supérieur ou égal à 750.

En conséquence, le paramètre anim du StateDef donnera :
Code:
anim = 180+random/250

Et les 4 anims des winpose seront 180, 181, 182 et 183.

De ce cas, on peut tirer deux généralités.
* Comment trouver le diviseur de random selon le nombre de cas à prévoir ?
-> On prend la valeur maximale que peut prendre random (soit 999), on lui ajoute 1 (on arrive donc à 1000), et on divise par le nombre de cas voulu. Pour Gouki, j'avais deux cas, donc on faisait (999+1)/2 = 500. Pour toi, on a quatre cas, donc on fait (999+1)/4 = 250.

Si on ne tombe pas sur un entier, on arrondit au supérieur. Par exemple, pour 3 cas, on a (999+1)/3 = 333.333333... On prendra alors 334 comme diviseur. Pourquoi ? Parce qu'avec 3 possibilités, les résultats possible seront 0, 1 et 2. Si on prenait 333 en diviseur, et si Random retournait 999, alors on aurait Random/333 = 3, ce qui sort de notre intervalles de valeurs. Alors qu'avec 334, 999/334 = 2.99... que Mugen arrondira à 2. On reste alors dans notre intervalle de valeurs.

* De façon beaucoup plus générale : lorsqu'on réduit la valeur d'un diviseur, le résultat d'une division augmente, si bien que :
- N/{un nombre très proche de zéro} tend vers l'infini
- N/{un nombre qui tend vers l'infini} se rapproche de 0

Et en développant la première idée, on comprend que
- N/0 donne l'infini, et l'infini n'étant pas une valeur évaluable, la division par 0 est une opération interdite.

Wink

Mike Werewolf.
Mike Werewolf est absent 
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
merci pour l'explecation (c un peu un derangement du faite qu'il est explique de ton tuto excuse)


Citation:
Désolé, les messages édités n'apparaissent pas comme nouveau message ici...


Twisted Evil ah alors je vais double les poste a chaque ocasion Twisted Evil(lol)

Citation:
Ce problème ne se résoud pas avec un ChangeAnim


ce que je voulais c que mon personnage jou son anim puis il revien dans l'anim jump to stand

j'ai fait -1 dans le dernier element de l'anim mais ca na pas servie a grand chose car l'animation s'arrette et elle reste jusque ce que le joueur touche le sol alors j'ai mis un stat ou j'ai ajouter le change anim pour change l'animation en air

Citation:
Random/500 ne peut donner que 2 résultats


je pris une calculatrice et j'ai diviser ces numero alors j'ai eu 1.99 alors j'ai cherche le nombre qui me donne =3 et c 333

et ca a bien marche du moment que
0+180=180
1+180=181
2+181=183

alors j'ai utiliser cette methode jusqu'a haujordui ........je vais utiliser ta methode
j'ai vu dans un cns d'un autre personnage quil yavait pas de random mais une var()........coment en se sere Confused

et une question un peux en d'hors de mon personnage...c pour fighter factory et ta traduction .....esque tu la fait avec un editeur de texte ou un programe parceque je veux traduire ca en arabe car j'ai des amis qui sont interaisser par ca (et en veux cree nos propre personnages c pour ca que je comance avec robert Razz )


et en fin jamais un nouvau message son nouvau probleme
cette fois c les enchainement de strong kick voila son code

Code:
light kick + avant et strong kick
[State -1 strong kick pres du perso]
type = ChangeState
trigger1 = command = "c"
trigger1 = statetype = S
trigger1 = ctrl
value = 320+30 *(P2BodyDist X < 30) ;ici pres du personnage


si je mes un enchaainement voila ce que je met

Code:
;sk pres du perso et strong kick
[State -1 strong kick pres du perso]
type = ChangeState
trigger1 = command = "c"
trigger1 = statetype = S
trigger1 = ctrl
value = 320+30 *(P2BodyDist X < 30) ;ici pres du personnage
trigger2=StateType=A                                                                           
trigger2 = (StateNo = 200) || (StateNo = [220,230])                        trigger2 = movecontact                                                       
trigger2 = command != "holddown"   


alors les enchainement ce declanche tous seul
par ex : ici c le strong kick si je me met en stat 200 ou les autres state indique dans le code alors l'enchainement ce lance tous seul sans que je le declanche mon personage fait un light punche puis un stong kick sans que je touche le strong kick Confused Confused bizar non??

alors c quoi la solution et merci de m'avoire repondu


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:
ah alors je vais double les poste a chaque ocasion

Je tolère les double-post "judicieux" (ceux qui apportent vraiment quelque chose). Par contre, si c'est juste pour préciser un truc, rajouter quelque chose qu'on a oublié au message qu'on vient juste de poster, là, l'édition du message s'impose. Wink

Citation:
ce que je voulais c que mon personnage jou son anim puis il revien dans l'anim jump to stand

En général, on inclus le sprite voulu directement dans l'anim du coup. Wink

Citation:
j'ai vu dans un cns d'un autre personnage quil yavait pas de random mais une var()........coment en se sere

On utilise un "VarRandom". C'est un controller qui permet d'attribuer une valeur aléatoire à une variable, et en précisant l'intervalle. Par exemple si on veut que la var(7) ait une valeur aléatoire entre 1 et 4, on aura :

Code:
[State X]
type = VarRandom
trigger1 = Time = 0
v = 7
range = 1,4


Cependant, si c'est juste pour avoir une valeur aléatoire, ça monopolise une variable pour rien, je trouve. L'intérêt n'existe réellement que si on est amené à réutiliser la variable.

Par exemple, j'utilise un VarRandom dans Link, pour déterminer combien de rupees sont générés sur un coup (entre 1 et 3), et j'utilise ensuite cette variable en la réduisant de 1 à chaque fois qu'un rupee est généré, jusqu'à ce que la variable atteigne 0 (= on ne doit plus générer de rupee).

Mais dans le cadre d'une utilisation "instantannée" comme l'attribution d'une animation à un instant donné, le Random reste plus simple.

Citation:
esque tu la fait avec un editeur de texte ou un programe parceque je veux traduire ca en arabe

J'ai fait ça avec un éditeur de textes, en partant de la version anglaise.

Citation:
bizar non??

Non, c'est tout à fait normal, vu ton code. Very Happy
Si on sépare les triggers par couleurs, et qu'on remet tout dans l'ordre :
Citation:
[State -1 strong kick pres du perso]
type = ChangeState
trigger1 = command = "c"
trigger1 = statetype = S
trigger1 = ctrl

trigger2=StateType=A
trigger2 = (StateNo = 200) || (StateNo = [220,230])
trigger2 = movecontact
trigger2 = command != "holddown"

value = 320+30 *(P2BodyDist X < 30) ;ici pres du personnage


Et maintenant, une question toute bête : dans le trigger2, où est la condition qui dit qu'on doit déclencher le coup uniquement si on exécute la commande ? Razz

Eh oui, nulle part, du coup, Mugen peut déclencher ce trigger tout seul, sans que tu aies eu à appuyer sur le bouton.

Comment résoudre ça ? Tout simplement en passant ce trigger1 :
Code:
trigger1 = command = "c"

en triggerall (qui s'appliquera alors au trigger1 et au trigger2).

Mike Werewolf.
Mike Werewolf est absent 
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
Citation:
En général, on inclus le sprite voulu directement dans l'anim du coup


Shocked Shocked que suis-je bete j'ai pas pencer a ca Embarassed

Citation:
dans le trigger2, où est la condition qui dit qu'on doit déclencher le coup uniquement si on exécute la commande ?


Embarassed Embarassed oh la honte ( Razz lol)

et moi qui a passe 30 minute a verifier.. pffffffffffffffffff

pour ton link (phenomenal Very Happy ) j'ai une question esque les graphisme sont original parceque je ne conais aucun zelda de combat Confused

et une question pour mon personnage

coment fair pour enlever le palfx de mon personage des que son power demimnu a 3000.?


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:
pour ton link (phenomenal Very Happy ) j'ai une question esque les graphisme sont original parceque je ne conais aucun zelda de combat

Cf. le readme de Link. Les graphismes sont tous de RMX ou presque (quelques effets). Sinon, il existe des jeux de combat avec Link, mais tous sont en 3D : les Super Smash Bros Melee, et Soul Calibur II, où Link apparaît en "guest star" dans la version GameCube.

Citation:
coment fair pour enlever le palfx de mon personage des que son power demimnu a 3000.?

Pas compris. Confused Quel palfx ?

Mike Werewolf.
Mike Werewolf est absent 
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
Citation:
Sinon, il existe des jeux de combat avec Link, mais tous sont en 3D


ca je le sais sino je serai pas un fan de zelda Very Happy

Citation:
Pas compris. Quel palfx ?



[StateDef 1001] ; End of Power Charge
type = S
movetype = I
physics = S
ctrl = 0
anim = 1001

Code:

[State 0, PalFXWiz]
type = PalFX
trigger1 =  power >= 3000
time = 3000
add = 101,100,150
mul = 160,170,120
sinadd = 100,100,100,14
invertall = 0
color = 248
;ignorehitpause = 0
;persistent = 1


c quand le personnage arive en power=3000 (come dans ton tutorial)
mais moi je veux pas le fair come le tien mais je veux avoir une briance jusqua ce que mon power deminue (moin de 3000) alors coment je fait mon code

Very Happy j'ai reussi a fair un projection sans erreur.................. Mr. Green (monteur) Mr. Green

he ben non j'ai eu vraiment des probleme mais c bon pour l'instant c satisfesant pour le moment (malgree que ce n'es pas une tres bon projection)

et la le probleme a poser c quand je fait un hp ou hk et j'enchain avec la projection le p2 tombe (suposer etre en state 820) sans jouer l'animation
de 820 alors j'ai mis ca

Code:
[State 820, IfDrop]
type = SelfState
trigger1 = AnimElem = 3, < 0
trigger1 = P2StateNo != 810
value = 0


et ca a marche mais j'ai pas compris(j'ai mis ca en testant )si value=0
alors en envoi p2 dans le state du stand non?? alors comment ca ce peux qu'il va en state 820 et il joue l'anim 820???


et autre chose j'ai pas pu pratique ton code pour ma 2 projection qui est



mon joueure doit taper le p2 et il s'envole jusque au dernier bou de l'ecron et apres il descen ...........et p2 doit rester dans son anim de touche ( pas projeter)puis quand mon personnage s'envole il joue le reste de son anim


alors c quoi le code a taper pour ca..........sino je vais laisser qu'une seul projection (come neogeo battelle....enfain esque ce jeux a ete emulé Neutral )


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:
c quand le personnage arive en power=3000 (come dans ton tutorial)
mais moi je veux pas le fair come le tien mais je veux avoir une briance jusqua ce que mon power deminue (moin de 3000) alors coment je fait mon code

T'as pas le choix : comme ton PalFX doit s'appliquer sur plusieurs states, et indépendamment du state dans lequel se trouve le perso, il faut passer par un state -2 ou -3, du style :
Code:
[State -2]
type = PalFX
trigger1 = Power = 3000
time = 1
add = 50,50,50


Le State -2 fera que la "brillance" s'appliquera tout le temps, alors qu'avec un State -3, elle ne s'appliquera pas si ton perso est projeté par l'adversaire.

Citation:
alors comment ca ce peux qu'il va en state 820 et il joue l'anim 820???

Je peux pas te répondre avec aussi peu de code. Faudrait que je vois le state de la projection, le state 810 et le state 820. Pour moi, ton SelfState ne se déclenche pas (sinon, P2 se retrouverait effectivement en stand).

Citation:
et p2 doit rester dans son anim de touche

Tu as deux solutions :
1. Tu fais deux anims pour P2, une où il est touché, et qui tourne en boucle, et une autre pour le reste de son anim. Tu restes sur la première anim le temps désiré, puis tu passes à la seconde avec un ChangeAnim2.
2. Tu fais tout en une seule animation, mais tu "bloques" l'anim sur l'élément voulu tant que tu ne dois pas jouer la suite.

Pour le 1er, ça te donnera un truc du style :
Code:
[State X]
type = ChangeAnim2
trigger1 = {condition pour passer à la suite de l'anim}
value = {2ème animation}


Pour le 2ème, ça te donnera un truc du style :
Code:
[State X]
type = ChangeAnim2
trigger1 = {condition vérifiant qu'on ne doit pas passer à la suite de l'anim}
value = Anim ; pour rester dans la même anim. Tu peux aussi mettre le n° de l'anim
elem = AnimElemNo(0) ; pour placer l'anim à l'élément en cours.


Le "elem" empêche l'anim de se poursuivre, et elle est donc bloquée sur l'élément voulu selon la condition que tu veux.

Mike Werewolf.
Mike Werewolf est absent 
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
merci

mais voila un autre probleme
le state de hadoken ne se declanche pas (c dans les comande) voila mon cmd

Code:
[Command]
name = "hadoken_x"
command = ~D,DF,F,x

[Command]
name = "hadoken_y"
command = ~D, DF, F, y

[Command]
name = "hadoken_z"
command = ~D, DF, F, z


il est place avant les projection (le premier)

et voila son state -1

Code:
;              les hoken (yuditchine)
;===============================================
[State -1,hoken]
type = ChangeState
triggerall = command = "hoken_x"
trigger1 = StateType = S
trigger1 = ctrl
trigger2 = StateNo = 200 ||
trigger2 = MoveContact
value = 2000


;===============================================================================
[Statedef -1]

[State -1 ,super jump]
type = ChangeState
trigger1 = command = "super jump"
trigger1 = StateType != A
trigger1 = ctrl
value = 41

[State -1 ,run]
type = ChangeState
trigger1 = command = "FF"
trigger1 = StateType != A
trigger1 = ctrl
value = 100

[State -1 ,run en ariere]
type = ChangeState
trigger1 = command = "BB"
trigger1 = StateType != A
trigger1 = ctrl
value = 105


et voila le state dans le cns

Code:
[StateDef 2000] ; Fireball x
type = S
movetype = A
physics = S
ctrl = 0
anim = 2000
velset = 0,0
juggle = 3

[State 2000, Proj]
type = Projectile
trigger1 = AnimElem = 5
; Projectile parameters ---------------
projanim = 2005
projhitanim = 2006
velocity = 2.5,0
projpriority = 1
offset = 87,-66
; HitDef parameters -------------------
attr = S, SP
hitflag = MAF
guardflag = MA
animtype = Light
damage = 100,10
pausetime = 5,5
sparkno = S700
guard.sparkno = S705
sparkxy = 0,0
hitsound = 5,0
guardsound = 6,0
ground.type = Low
ground.slidetime = 9
ground.hittime = 12
ground.velocity = -5
air.velocity = -3,-4

[State 2000, End]
type = ChangeState
trigger1 = Animtime = 0
value = 0
ctrl = 1


mais quand je fait la comande hoken_x rien ne se declanche ...pour quoi ?

pour presice
j'ai un state 222 qui se declanche en appyant sur x+f et chaque fois que je fais d,df,f,x j'ai le state 222 Confused

j'ai meme mis tes cmd et tes cns mais ca na pas servis a quelque chose

je vien dessye quelque chose
j'ai change le nom de "hadoken_x" en "z" et j'ai garder les meme comande (~D,DF,F,x)
et la quand je fait ~D,DF,F,x mugen m'envoi dans le state de la comande "z" qui est 220 et si je fait z tout seul mugen m'envoi au state 220
si je remer le nom hadoken x alors rien ne se passe

===============================================
==============================================

Shocked Shocked la solution est tout bete je me suis casse la tete pour une chose bete come d'habitude Embarassed

regarde mon code

Code:
[State -1,hoken]
type = ChangeState
triggerall = command = "hoken_x"
trigger1 = StateType = S
trigger1 = ctrl
trigger2 = StateNo = 200 ||
trigger2 = MoveContact
value = 2000

[Statedef -1]

[State -1 ,super jump]
type = ChangeState
trigger1 = command = "super jump"
trigger1 = StateType != A
trigger1 = ctrl
value = 41


tu dois remarque la bêtise que j'ai fait Mr. Green Mr. Green
et j'ai remarque que mugn ignore ma comande de hadoken meme si je mettais n'importe quoi come nom et j'ai trouver la faille Mr. Green


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
Plusieurs choses à dire :
1. Forcément, si tu n'utilises pas les bons noms de commande, ça ne risque pas de marcher ! Razz

Citation:
[Command]
name = "hadoken_x"
command = ~D,DF,F,x

[State -1,hoken]
type = ChangeState
triggerall = command = "hoken_x"
...


2. Ce trigger-là ne fait pas planter Mugen ? Shocked
Code:
trigger2 = StateNo = 200 ||

Ca me surprend parce que là, tu as un opérateur OU (le "||") mais sans argument derrière. C'est pas logique.

3. Fais gaffe à l'ordre de tes commandes :
Citation:
j'ai un state 222 qui se declanche en appyant sur x+f et chaque fois que je fais d,df,f,x j'ai le state 222

* state 222 = F, x
* hadoken = D, DF, F, x

Note la partie commune aux deux commandes, que j'ai mise ici en rouge. Si le state -1 pour ton state 222 est placé avant le state -1 de ton hadoken, Mugen va juste vérifier que tu as réaliser F, x, et comme cette partie est commune aux deux commandes, Mugen considérera la commande comme réalisée, et déclenchera le state 222 sans aller voir le hadoken situé après. Wink

Mike Werewolf.
Mike Werewolf est absent 
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
Citation:
Ce trigger-là ne fait pas planter Mugen ?

bien sur que si mais moi j' ai mal copier c tout

Citation:
Forcément, si tu n'utilises pas les bons noms de commande, ça ne risque pas de marcher !

d'apres ce que j'ai fait mugen ce lance malgre l'eureur dans le nom des comande et voila pour quoi

Citation:
[State -1,hoken]
type = ChangeState
triggerall = command = "hoken_x"
trigger1 = StateType = S
trigger1 = ctrl
trigger2 = StateNo = 200 ||
trigger2 = MoveContact
value = 2000

[Statedef -1]

[State -1 ,super jump]
type = ChangeState
trigger1 = command = "super jump"
trigger1 = StateType != A
trigger1 = ctrl
value = 41


alors mugen ignore la comande

et mnt mon hadoken n'es pas come celui de gouki robert lace son hado mais il reste en position (le hado reste entre ces main jor un bouclier)
et chaque fois que le personage essye de fraper robert le bouclier reste
mais avec ton code je peux touche le personnage qu'une seul foi(meme avecle projhits=5 il le touche 5 fois dans une seul action) ce que je veux c que quand mon personage touche le p2 et le p2 revien encore alors il sera touche une 2 fois??

pour bien comprendre voici quelque shoot



c c la position du hado


c le hado



deja la il ya erreur et j'ai pas su coment la coriger


pareille avec cette erreur


c un peux clair....mais moi je veux que p2 reste sur les bord du feu


Dernière édition par tombston le Vendredi 17 Mars 2006 15:21; édité 1 fois


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:
d'apres ce que j'ai fait mugen ce lance malgre l'eureur dans le nom des comande et voila pour quoi

Yep. Les states négatifs fonctionnent sur le même principe que les states normaux : le [StateDef] indique le début du state, et les controllers sont situés après. Dans ton cas, comme il était situé avant, il n'était pas pris en compte.

Citation:
et mnt mon hadoken n'es pas come celui de gouki robert lace son hado mais il reste en position (le hado reste entre ces main jor un bouclier)
et chaque fois que le personage essye de fraper robert le bouclier reste
mais avec ton code je peux touche le personnage qu'une seul foi(meme avecle projhits=5 il le touche 5 fois dans une seul action) ce que je veux c que quand mon personage touche le p2 et le p2 revien encore alors il sera touche une 2 fois??

Fais voir le CNS du Projectile.

Mike Werewolf.
Mike Werewolf est absent 
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
voici mon cns


Code:
[StateDef 2000]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 2000
poweradd = 20

[State 2000, 1]
type = Projectile
trigger1 = AnimElem = 7
projanim = 2005
projhitanim = 2006
projpriority = 1
projheightbound = 0, 0
projedgebound = -100
projscreenbound = 100
projshadow = -1
offset = -27,0
velocity = 3
projhits =5
attr = S, SP
damage   = 30
animtype = up
guardflag = MA
hitflag = MAFDP
pausetime = 10,10
hitsound   = 5,2
sparkxy = 500,500
guardsound = S6,0
ground.type = Low
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -10,-30
air.animtype = Back
air.velocity = -4,-6
air.juggle = 3
air.fall = 1
down.velocity = -4,-6
down.hittime = 30
down.bounce = 0




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


d'une certain facon il marche bien mais il ya plusieur defaut (reguarde les shoot)


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
Lis la documentation avant d'utiliser des paramètres au hasard.

Citation:
projheightbound = lowbound, highbound (entier)
Indique les valeurs y maximale et minimale que le projectile peut atteindre. Si le projectile sort de ces limites, il est effacé. NB : puisque les valeurs y décroissent en montant dans l'écran, lowbound indique actuellement la hauteur maximale que le projectile peut atteindre. Ces paramètres sont de -240,1 par défaut, si omis.

Fatalement, si lowbound = highbound, ton projectile ne peut pas exister.

Citation:
projedgebound = value (entier)
C'est la distance (en pixels) au-delà du bord de l'écran que peut parcourir le projectile avant d'être effacé. 40 par défaut.

Si tu mets -100, ton projectile disparaîtra à 100 pixels du bord à l'intérieur de l'écran (avec 40, il disparaît après avoir parcouru 40 pixels hors de l'écran).

Citation:
velocity = 3

Je suis pas sûr que ça change quelque chose, mais je rajouterai quand même la valeur y :
velocity = 3,0

En outre :
* Il serait plus logique qe le projpriority soit en adéquation avec le projhits.
* Vu que ton projectile fait plusieurs coups, ce paramètre me semble indispensable :
Citation:
projmisstime = miss_time (entier)
Si le projectile fait des coups multiples, indique le nombre minimum de ticks qui doivent s'écouler entre les coups. 0 par défaut, mais la plupart du temps, vous aurez besoin d'une valeur différente de 0.

Avec une valeur différente de 0, donc.
* Dans le hitflag, faudra que tu m'expliques à quoi correspond le "P".
* Je crois que je te l'avais déjà dit :
Citation:
sparkxy = 500,500

Ca place inutilement ton spark à l'extérieur de l'écran. Si tu ne veux pas de spark, mais un paramètre "sparkno = -1".

EDIT : Par rapport aux shots :
* pour le 1) (où l'adversaire n'est pas touché) : ça se produit parce que le perso se trouve entre le "width" de ton perso et la Clsn1 de ton projectile. Il ne peut donc pas être touché (fais un Ctrl+C deux fois dans Mugen pour afficher les Clsn, ça sera plus parlant).

* Pour le 2) et 3), c'est le même problème, à savoir que ton width n'est pas assez grand.

Pour résoudre ça, tu dois utiliser un sctrl Width (paramètre value = 0,N ; où N correspond à la valeur voulue) pour agrandir la barre de width de ton perso. La conséquence, c'est que si P2 est collé à toi, il va être repoussé, pour arriver au placement que tu veux par rapport à ton projectile. Pour trouver la bonne valeur de N, faut faire des essais, ou voir le nombre de pixels nécessaires en activant les Clsn et en prenant un screenshot, puis en détaillant l'image.

Mike Werewolf.
Mike Werewolf est absent 
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
Citation:
projheightbound = lowbound, highbound (entier)
projedgebound = value (entier)


j'ai mis -1000 et 1000 mais rien ne change

Citation:
* Dans le hitflag, faudra que tu m'expliques à quoi correspond le "P".


desoler c une erreur

merci de m'avoire explique mais il reste quelque chose que je sais pas coment fair....c le sctrl Width

voici mon code

Code:
[StateDef 2000]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 2000
poweradd = 20

[State 2000, 1]
type = Projectile
trigger1 = AnimElem = 9
projanim = 2005
projhitanim = 2005
projpriority = 3
projheightbound = 0, 0
projedgebound = -10
projscreenbound = -10
projshadow = -1
offset = -20,0
velocity = 0.1
projhits =2
attr = S, SP
damage   = 100
animtype = up
hitflag = MAFDP
guardflag = MA
pausetime = 5,5
hitsound   = 5,2
sparkxy = 500,500
guardsound = S6,0
ground.type = trip
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -4,-3
air.animtype = Back
air.velocity = -4,-6
air.juggle = 3
air.fall = 1
down.velocity = 0
down.hittime = 30
down.bounce = 0

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


si j'ai bien compris je fais ca

Code:
[StateDef 2000]
type = S
movetype= A
physics = S
juggle  = 1
velset = 0,0
ctrl = 0
anim = 2000
poweradd = 20

[State 2000, 1]
type = Projectile
trigger1 = AnimElem = 9
projanim = 2005
projhitanim = 2005
projpriority = 3
projheightbound = 0, 0
projedgebound = -10
projscreenbound = -10
projshadow = -1
offset = -20,0
velocity = 0.1
projhits =2
attr = S, SP
damage   = 100
animtype = up
hitflag = MAFDP
guardflag = MA
pausetime = 5,5
hitsound   = 5,2
sparkxy = 500,500
guardsound = S6,0
ground.type = trip
ground.slidetime = 25
ground.hittime  = 25
ground.velocity = -4,-3
air.animtype = Back
air.velocity = -4,-6
air.juggle = 3
air.fall = 1
down.velocity = 0
down.hittime = 30
down.bounce = 0

[State 0, Width]
type = Width
trigger1 =  animelem = 3
edge = 0,0
player = 40,50
;ignorehitpause = 0
;persistent = 1


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


car j'ai jamais utiliser ce sctrl....d'un autres cas j'ai ajoute des clsn2 pour mon anim et la le p2 quand il reste coller a moi il sera touché

et encore une question

robet n'as qu'un seul hado alors j'ai pris le hado du robert 95 pour hadoken_y et j'ai cree une animation (melange de sprite) pour le hadoken_z......... dans cette animation robert lance un hado avec son pied (jore il le laisse tomber puis il le tirs)mais il me manque un animation du toucher entre le personnage (p1) et la boule de feux qu'il lance
j'ai essye de metre sparkno mais ca marche pas et j'ai essye de mettre un make dust mais ca il cree une poussiere et pas une etaincelle alors si c possible avec les code sino je vais refaire mon animation

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:
j'ai mis -1000 et 1000 mais rien ne change

Tu as aussi fait les autres corrections que j'ai indiqué ?

Citation:
si j'ai bien compris je fais ca

Non. Y a une doc, faut s'en servir. En plus, j'ai un peu expliquer ce qu'il fallait faire.

Citation:
Change la taille de la largeur du joueur pour 1 tick.


Il ne faut donc pas le déclencher une seule fois, mais à chaque tick, sur toute la durée voulue.

En outre, ton code devrait plutôt ressembler à ça :
Code:
[State 2000]
type = Width
trigger1 = AnimElem = 3, > 0 ; pour déclencher à partir du 3ème élément...
trigger1 = AnimElem = 10, < 0 ; ... jusqu'à la fin du 9ème (s'il y a bien 10 éléments)
value = 0,20 ; pour agrandir la barre de width vers l'avant de 20 pixels


Je te renvoie également au tuto de Gouki, sur la partie 3, sur le deuxième HP en stand.

Pour ton anim de "toucher" :
* le sparkno n'est valable que pour un hitdef
* le makedust, comme son nom l'indique (make = faire, dust = poussière) crée de la poussière

Pour ce que tu veux faire, il te faut un Explod, tout simplement, pour jouer l'anim voulue. Et si tu veux jouer une anim depuis le fightfx.air, il faut mettre un F devant le n° d'anim ("anim = F5" par exemple).

Mike Werewolf.
Mike Werewolf est absent 
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
oui j'ai corigé ce que tu ma dis saufe le velocity car la valeur y ne change rien et n'as aucun effet
pour le p du guarde flague c pas moi qui la fait ....... vu que j'etulise fighter factory (pour mon premier essye de personnage)alors quand je met un guarde flague dans les projectil il ya MAFDP

sino c bon pour le hadoken (je vais faire des shoot)

voici les shoot de hodo







et merci pour l explod ca a donner un peux de realisme a mon coup (j'ai utiliser 2 explod une pour une animation du fighterx et une pour l'animation du feu qui desced) regarde



c n'es pas tres bien anime car j'ai pas pris des bone shoot

dis moi ton avis Very Happy


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:
oui j'ai corigé ce que tu ma dis saufe le velocity car la valeur y ne change rien et n'as aucun effet

Non, j'ai dit :
Citation:
Je suis pas sûr que ça change quelque chose

= faut tester pour être sûr.

Citation:
vu que j'etulise fighter factory (pour mon premier essye de personnage)alors quand je met un guarde flague dans les projectil il ya MAFDP

Une bonne raison de jeter ce type de programme à la poubelle pour ne garder que ce bon vieux bloc-notes et SprMaker. Au moins, on est sûr de ce qu'on écrit.

Pour l'anim, ça n'a pas l'air mal, mais si je regarde les pieds du perso, au moment où il s'apprête à shooter, sa jambe d'appui recule brutalement d'une bonne dizaine de pixels, ce qui me laisse croire que l'axe des sprites n'est pas bon...

Mike Werewolf.
Mike Werewolf est absent 
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
Citation:
= faut tester pour être sûr.


pas besion mnt car c bon pour les hado c fini (merci pour tes explication Wink )

Citation:
Une bonne raison de jeter ce type de programme à la poubelle


tu as reson saufe que moi c la premiere fois que j'essye de cree un personnage...pour bien conaitre les base Laughing ....pour mon prochain personnage (ryo sakazaki) je travaillerai avec les outils de elecbyte(saufe aireditw..le systeme de fighter facotory fais rapidement les clsn lol) c promi

Citation:
sa jambe d'appui recule brutalement d'une bonne dizaine de pixels, ce qui me laisse croire que l'axe des sprites n'est pas bon...


tu n'as pas tort....mais cette anim est composé de 2 goupe diffirant et j'essye toujour de regler mes axes (mais la plupar des sprite son bien axes a par le light punche que j'arrive pas a bien le reglé)

et voila mnt j'ai regler les axes de mon anim


(un peux mieux Mr. Green

J'ai une autres question
je suis dans les dragon punche........vu que ton gouki fait le dp exactement come robert alors esque je peux copier directement ton code
en le modifiant un peu??
et pour les hado j'ai pas utiliser des variable ca marche bien mais esque c correcte?
et esque il ya un code pour fair monter p2 dans le dragon punche plus haut ou je dois faire come avec les projection??

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:
vu que ton gouki fait le dp exactement come robert alors esque je peux copier directement ton code en le modifiant un peu??

Oui. Mon code est libre d'utilisation. La seule chose que j'apprécierai, c'est d'être mentionné dans les crédits du perso. Wink

Citation:
et pour les hado j'ai pas utiliser des variable ca marche bien mais esque c correcte?

Oui. La version avec variable n'est qu'une possibilité pour tout regrouper en un seul coup tout en ayant des différences selon la version utilisée.

Citation:
et esque il ya un code pour fair monter p2 dans le dragon punche plus haut ou je dois faire come avec les projection??

Augmente la valeur négative Y des velocity dans le HitDef. Par exemple :
Code:
ground.velocity = -3,-10

fera que P2 ira plus haut dans les airs qu'avec :
Code:
ground.velocity = -3,-8


Mike Werewolf.
Mike Werewolf est absent 
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
Citation:
c'est d'être mentionné dans les crédits du perso.


je l'avais en tete avant que tu le dis.........parceque apres moi c toi qui ma apris mugen Wink et tu as repondu a tout mes message en tout 91 Mr. Green ......sans rasisme (je dis ca parceque il ya des forum ou je suis completement ignore....c pas dans les forum de mugen mais de rpg maker)

(merci boucoup)

et pour le code ca marche a merveille Mr. Green Mr. Green

et coment faire pour que chaque dp aura un domage diffirant...c le meme principe de projectil??


tombston est absent 
cerisier
origami master

Site Admin


Inscrit le: 09 Jan 2005
Messages: 269
Karma: 20
plus / moins

Localisation: Switzerland
Répondre en citant
tombston a écrit:
Citation:
c'est d'être mentionné dans les crédits du perso.


je l'avais en tete avant que tu le dis.........parceque apres moi c toi qui ma apris mugen Wink et tu as repondu a tout mes message en tout 91 Mr. Green ......sans rasisme (je dis ca parceque il ya des forum ou je suis completement ignore....c pas dans les forum de mugen mais de rpg maker)

(merci boucoup)

et pour le code ca marche a merveille Mr. Green Mr. Green

et coment faire pour que chaque dp aura un domage diffirant...c le meme principe de projectil??


tu sais tombston, comme tu pose essentiellement des questions techniques, la plupart des gens ne peuvent pas te répondre...


il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes. devise shaddock.
cerisier 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
Pour le DP, ça dépend de ce que tu fais ; si tu fais plusieurs versions, tu peux attribuer à chacune des dommages qui lui sont propres, en modifiant le paramètre "damage" du HitDef. Si tu fais une version avec variable, là, il te faudra jouer sur la valeur de cette variable pour faire varier les dégâts.

C'est donc bien le même principe que le Projectile. A noter d'ailleurs que le Projectile n'est qu'un HitDef avec des paramètres supplémentaires, propres au projectile. Wink

Mike Werewolf.
Mike Werewolf est absent 
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
Citation:
tu sais tombston, comme tu pose essentiellement des questions techniques, la plupart des gens ne peuvent pas te répondre...


ca je le sais mais si j'ai un probleme et j'ai pas trouve la solution et le forum ou je pose mes question et sence m'aide (come celui la qui ma toujour aidé) et en m'aide pas mes se que je voulai dire par rasisme c pas de repondre ou pas........c que il me repond pas mais il me quritique en plus Crying or Very sad


sino merci cerisier c simpa de voir quelqu'un d'autres a par mike et moi dans les topic que je poste


tombston est absent 
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 a tous

je suis revenu de la compagne et je des nouvau probleme avec mugen lol Very Happy

voila je veux fair un djin spouden a la kof 95 (le j L'HURRICANE KICK )
mais ce coup a quelque chose de special
il ya 3 cas

1- quand p2 se met en position de guarde
2-quand p1 ne touche pas p2
3-quand p1 touche p2

ce coup ce compose de deux action la premiere p1 se lance avec son
pied et la deuxiem c quand p1 touche p2 alors il ajoute un nouvau coup de pied

en tout si p1 touche p2 l'animation ce joue completement mais si il ne le touche pas il ya qu'une partie qui se joue

alors avec le code que j'ai fait l'animation ce joue completement meme si je touche meme pas p2

coment fair et 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
Il faut jouer avec les trigger Move* :

* MoveContact :
- vaut 0 si le coup n'a rien touché
- vaut 1 si le coup a touché l'adversaire (frappé ou bloqué)

* MoveGuarded :
- vaut 0 si le coup n'a pas été bloqué
- vaut 1 si le coup a été bloqué

* MoveHit :
- vaut 0 si le coup n'a pas frappé l'adversaire
- vaut 1 si le coup a frappé l'adversaire

Donc :
* Si le coup frappe dans le vide :
    
MoveContact = 0
    
MoveGuarded = 0
    
MoveHit = 0

* Si le coup est bloqué par l'adversaire :
    
MoveContact = 1
    
MoveGuarded = 1
    
MoveHit = 0

* Si le coup frappe l'adversaire :
    
MoveContact = 1
    
MoveGuarded = 0
    
MoveHit = 1

Utilise ces triggers pour changer d'anim ou de state pendant ton coup.

Mike Werewolf.
Mike Werewolf est absent 
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
Citation:
Il faut jouer avec les trigger Move* :


esque je fais quelque chose come ca

[
Code:
State 7000, 2]
type = ChangeState
triggerall = var(1) <=1
trigger1 = Moveguarded = 1
value = 1313


et je fais un autre statedef pour que je le remet a l'action 43 (retourner en ariere

c juste ca ou il ya une milleure methode

et merci pour l'astuce


tombston est absent 
Dark Saviour

Site Admin


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

Localisation:
Répondre en citant
Tout dépend de ce que tu veux faire. Si on reprend la logique des anciens KOF, les 2 parties du coup seront jouées dès qu'il y a contact, c'est-à-dire quand le coup de P1 entre en contact avec P2, qu'il soit en garde ou non.
D'après le descriptif que tu donnes, la deuxième partie du coup ne doit être jouée que si le premier touche. Avant de te donner une solution, je voudrais être certain que je ne me trompe pas, peux-tu confirmer?
Dark Saviour est absent 
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
tout dabor je tien a te remercie pour le site que tu ma donne l'autre fois il est super meme si j'ai pas tout compris (c en anglais Sad ) il ya plain de nouvelle idé que j'ai mis a mon personage

Citation:
je voudrais être certain que je ne me trompe pas, peux-tu confirmer?


oui c vrai tu serai pas un fan de kof Confused
je sais que dans kof 95 robert joue tout son anim mais moi je voulai mettre une tache personelle

avec le code que j'ai donne j'ai fait un saut arriere si le coup et baré

et autres chose je voulai mettre l'action de dizzy dans mon personage alors coment et le systeme de code


tombston est absent 
Dark Saviour

Site Admin


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

Localisation:
Répondre en citant
En effet, je suis un fan de KOF depuis des années Wink

Tu fais donc la distinction entre les 3 cas. Voici une solution toute simple qui utilise les Move* et le p1stateno.

Le p1stateno est un paramètre facultatif du hitdef qui permet de spécifier le numéro de state dans lequel P1 doit se rendre si le coup du hitdef a touché son adversaire (=> MoveHit = 1, MoveContact = 1 et MoveGuarded = 0). Cela implique qu'en cas de hit, tout le code qui se situe en dessous de ton HitDef ne sera pas joué puisque P1 changera immédiatement de State pour aller à celui que tu as désigné avec p1stateno.

Ce qui nous donne donc la structure suivante:

Citation:
[Statedef XXX, Première partie]
...

[State XXX, Premier Coup]
type = HitDef
...
p1stateno = YYY

Où XXX est le State de la première partie du coup et YYY est le State de la deuxième partie du coup à jouer en cas de succès du premier. Il ne te reste plus qu'à faire la différence entre un coup barré et un coup dans le vide.

Citation:
[State XXX, Coup barré]
type = ChangeState
trigger1 = MoveGuarded
value = ZZZ

Où ZZZ est le numéro du state à jouer si le coup est barré par P2. Et enfin, il ne te reste plus qu'à écrire le code de détection de coup dans le vide.

Citation:
[State XXX, Coup dans le vide]
type = ChangeState
trigger1 = !MoveContact
value = III

Où III est le numéro du State à jouer si le coup a été fait dans le vide.

Si jamais tu décides que le State à jouer est le même quand le coup est barré ou quand il est fait dans le vide, tu remplaces les 2 dernières partie de code que je t'ai données par

Citation:
[State XXX, Coup raté]
type = ChangeState
trigger1 = 1
value = JJJ

Où JJJ est le numéro de State à jouer si le coup ne touche pas P2.

En ce qui concerne le système de dizzy, celui-ci n'est pas du tout géré par Mugen, il faut le coder entièrement soi-même. Il me semble que Mike avait expliqué comment y arriver, si je retrouve ca, je te fais signe Wink
Dark Saviour est absent 
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
Citation:
n effet, je suis un fan de KOF depuis des années


Mr. Green Mr. Green ravi de le lire

et juste par curiosité quelle est ton kof preferé moi c le 97 et 98

merci pour ton code ca marche bien

mais pour le dizzy je sais quil faut codé mais esque en fait un hit def ou un changestate ou quelle code ....... Crying or Very sad je suis un debutant et je conai pas bien les codes de mugen


tombston est absent 
Vil1

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 15 Mar 2005
Messages: 143
Karma: 10
plus / moins

Localisation: France
Répondre en citant
Citation:
mais pour le dizzy je sais quil faut codé mais esque en fait un hit def ou un changestate ou quelle code .......

Tu trouveras des éléments de réponse ici:
http://mike.mugen.free.fr/Forum/viewtopic.php?t=430
Citation:
Et enfin, il ne te reste plus qu'à écrire le code de détection de coup dans le vide.

A priori cette partie est superflue: si le coup a touché l'adversaire ou a été paré, le state est interrompu, si ça n'est pas le cas, il continue à jouer l'anim en cours jusqu'au retour au stand. Wink
Vil1 est absent Kicker ce membre de ce sujet
Dark Saviour

Site Admin


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

Localisation:
Répondre en citant
Vil1 a écrit:
A priori cette partie est superflue: si le coup a touché l'adversaire ou a été paré, le state est interrompu, si ça n'est pas le cas, il continue à jouer l'anim en cours jusqu'au retour au stand. Wink

Tout à fait, merci pour cette correction Smile
Note que pour le deuxième cas, le ChangeState est également superflu.
Dark Saviour est absent 
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
merci les mec pour cette aide Wink


tombston est absent 
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

je voulai savoir coment en fais un dizzy j'ai essye de le fair tout seul mais j'ai pas pu (j'aime pas tros les var et je sais mem plus par quoi comancé)

si en peux me donné un exemple ou une explication c cool

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
Ca dépend de ce que tu veux faire. Si c'est juste avoir une anim de dizzy, il suffit de créer l'anim 5300. Si en revanche tu veux avoir un "mode dizzy" (que ton perso tombe KO après avoir encaissé plusieurs coups, par exemple), là, la var est inévitable (elle servira à stocker l'information voulu pour déclencher le dizzy : nombre de coups reçus, temps passé en état "Hit", etc.).

Mike Werewolf.
Mike Werewolf est absent 
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
ce que je veux fair c avoir un mode dizzy

si j'utilise une var esque je fais quelque chose du jors

si var et egale a un nombre aller dans le state 5300

si c ca alors coment faire pour avoir une variable que augmente avec des hit

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
Il faut utiliser les states -2. Mettons que tu utilises la var(0) pour stocker cette info (nombre de hits reçus) et que tu déclenches le dizzy au bout de 10 coups.

Code:
[State -2]
type = VarAdd
trigger1 = StateNo = [5000,5999] ; dans un state de "hit"
trigger1 = StateNo != 5300 ; autre que le state de dizzy
trigger1 = Time = 0 ; au tout début du state
var(0) = 1 ; la var augmente de 1

[State -2]
type = ChangeState
trigger1 = var(0) >= 10
value = 5300


Le VarAdd va ajouter 1 à ta var à chaque fois que tu encaisses un coup. On suppose qu'un coup est reçu à chaque fois que tu te trouves sur le premier tick d'un state de "hit".

Il faudra également écrire le state 5300 (car il n'existe pas) en incluant une réinitialisation de la variable :

Code:
[State 5300, ResetDizzyVar]
type = VarSet
trigger1 = Time = 0
trigger1 = var(0) >= 10
var(0) = 0


Le 2ème trigger a pour but de ne pas réinitialiser la var si le perso ne se retrouve en dizzy à cause du nombre de coups reçus.

Ceci n'est qu'une ébauche, il faudrait l'affiner, pour que, par exemple, si on reste un certain temps sans prendre de coup, la valeur de la var se réduise, avec par exemple :

Code:
[State -2]
type = VarAdd
trigger1 = GameTime%300 = 0
var(0) = -1


Ceci fera que toutes les 5 secondes de jeu, la var se réduit de 1. Ca oblige l'adversaire qui veut te mettre KO à te porter 10 coups en moins de 5 secondes (ou 11 en moins de 10, 12 en moins de 15, etc.).

Mike Werewolf.
Mike Werewolf est absent 
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
merci pour l'explication

je vous informe des resultat obtenue des que j'ai fini


tombston est absent 
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

j'ai fais ceque tu ma expliqué et ca marche

mais j'ai fais un jors de saut quand mon takuma a la var(0)=10
et apres il va au state 5300

mais quand il tombe son anim se jour au ralenti (j'ai mis un velset et j'ai ajouté un veladd mais ca na pas marche)

coment fair pour que mon takuma tombe directement sans avoir une ralenti dans l'anim


merci (le nouveau acceuil et cool)


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
Fais voir le state du \"saut\" en question. Est-ce que c'est tout le jeu qui est ralenti, ou juste l'anim elle-même ?

Mike Werewolf.
Mike Werewolf est absent 
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
c seulement l'anim qui est en ralenti et mon state ce presque identique a celui de link mais je vais le mettre une autre fois


tombston est absent 
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
j'ai un nouvau probleme et desolé pour toute cette mal organisation (c pas facile si ont na pas internet chez soi)

enfin voila mon probleme je veux fair des winpose diffirant

pour ca il faut mettre un random mais je veux aussi metrre le sond a chaque winpose alors coment fair

et surtout coment fair pour que chaque winpose soit attribué a un boutton

par exemple :

* winpose 1 avec bouton x
* winpose 2 avec bouton a+x

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:
je veux aussi metrre le sond a chaque winpose alors coment fair

Chaque winpose = 1 state, donc il suffit de mettre un PlaySnd dans chacun des state. Ou si le son est le même et que tu peux le déclencher dès le début, dans ce cas, tu peux mettre le PlaySnd dans le state 180 (celui qui redirige le perso vers un des states de winpose), juste avant le ChangeState :

Code:
[State 180]
type = PlaySnd
trigger1 = Time = 0
value = 180,0 ; si 180,0 est le son des winposes

[State 180]
type = ChangeState
trigger1 = Time = 0
value = 181+(random>500) ; par exemple


Citation:
et surtout coment fair pour que chaque winpose soit attribué a un boutton
par exemple :
* winpose 1 avec bouton x
* winpose 2 avec bouton a+x

Ca dépend comment tu veux le faire. Le plus simple à mon avis :
* Tu crées une anim "d'attente" pour le perso, à jouer en state 180 (anim à jouer tant que le perso n'a pas choisi son anim avec un bouton).
* Tu crées un ChangeState avec les triggers « command != "a" » et « command = "x" » pour la première WinPose
* Tu crées un second ChangeState avec les triggers « command = "a" » et « command = "x" » pour la seconde winpose.

Mike Werewolf.
    
Mike Werewolf est absent 
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
pour les bouton c fais mais pour le sound si je fais come tu mas dis

Citation:
[State 180]
type = PlaySnd
trigger1 = Time = 0
value = 180,0 ; si 180,0 est le son des winposes

[State 180]
type = ChangeState
trigger1 = Time = 0
value = 181+(random>500) ; par exemple


alors le mem son sera joué pour tout les state
m'ai j'ai fais u truc mais je sais pas si c correcte ou pas

Code:
[State 180]
type = ChangeState
trigger1 = 1
value =  181||182||183

[State 180]
type = ChangeState
trigger1 = command = "hold_x"
value =  182
....


ca marche asser bien mais dans le premier state esque je peux fair un trigger pour fair que une anim sois souvant joué par a pore a l'autre

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:
value = 181||182||183

Non, ça ne marchera pas. En fait, c'est une erreur assez classique quand on débute (je l'ai faite aussi, rassure-toi ! Laughing). Il ne faut pas voir le || comme un "OU" dans le sens "c'est ça OU ça", mais comme un opérateur, exactement comme +, -, x, etc.

Dès lors que tu as un opérateur, tu as un résultat. Donc 181 || 182 || 183 est une opération qui retourne un résultat, et ce résultat sera la valeur attribuée au paramètre "value".

Dans le cas de 181 || 182 || 183, Mugen retournera 1. Tu as donc un ChangeState vers le state 1, qui a priori n'existe pas, donc tu restes dans le state en cours.

Pour rappel : x || y =
* 0 si x ET y valent tous les deux 0,
* 1 si x OU y est différent de 0
* 1 si x ET y sont tous les deux différents de 0.

Pour ce que tu veux faire :
Code:
[State 180]
type = ChangeState
trigger1 = 1
value = 181+(random>500)+(random>500)

Par exemple (random est évalué à chaque fois qu'on l'appelle, donc le premier random sera différent du second).

Pour le reste :
Citation:
alors le mem son sera joué pour tout les state

C'est ce que j'avais dit ! Wink Pour avoir un son différent pour chaque state, il te faut un PlaySnd dans chaque state de winpose.

Citation:
fair un trigger pour fair que une anim sois souvant joué par a pore a l'autre

Tu veux dire, faire en sorte qu'une winpose revienne plus souvent que les autres ? Oui, c'est possible, il suffit de jouer sur le trigger "random". Sachant que celui-ci retourne un nombre entre 0 et 999, un trigger qui se déclenche sur "random > 100" se déclenchera statistiquement plus souvent qu'un trigger "random > 500". Mais ça oblige à avoir 2 ChangeState (1 pour la winpose fréquente, 1 ^pour les autres).

Dès lors, on peut envisager ceci :
Code:
[State 180] ; winpose fréquente
type = ChangeState
trigger1 = Time = 0
trigger1 = random > 100 ; se déclenchera 9 fois sur 10
value = 181

[State 180] ; autres winposes
type = ChangeState
trigger1 = Time = 0
value = 182+(random>500)

Dans le second sctrl, on ne met pas de trigger basé sur random, car Mugen ne lira ce second sctrl que s'il n'a pas déclenché le 1er. En effet, s'il déclenche le premier ChangeState, le perso n'est plus dans le state 180, et les sctrl suivants sont donc ignorés. Donc si le second sctrl est lu, c'est que le premier n'a pas été déclenché, et donc, qu'on est dans le cas random < 100.

Mike Werewolf.
Mike Werewolf est absent 
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
merci j'ai compris Very Happy

mais il reste un dernier souci

moi avant j'ai un seul state pour les winpose et il a une valeur 180+(random/500)

dans ce qua esque c possible que un sont sois joué pour chaque anim 181 et 182 car c pas des state mais, des anim

sino merci boucaup je regle quelque detail et je tenvoi mon takuma


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
Yep, c'est possible. Il te faudra un sctrl de ce type pour chaque anim, en adaptant le n° de l'anim et les références du son :
Code:
[State 180]
type = PlaySnd
trigger1 = Anim = 181
trigger1 = Time = 0 ; ou ce que tu veux d'autres (animelem = 2, par ex.)
value = 180,1 ; son de la winpose désiré


Wink

Mike Werewolf.
Mike Werewolf est absent 
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

j'ai reglé le problemedes axes et j'ai presque terminé de refair le fichier air

je suis entrain de fair un nouvau coup il s'agisd'un megahoken
se coup je l'ai fais en projectile mais il a quelque chose de speial

quand j'exsecute la comande il ya 2 cas

sois je fais la commande normalement
sois je fais lacomande et je ne lache pas le boutton

et dans ce 2iem cas mon takuma va vibré et son mega hoken devien plus grand et puissance

mais coment fair pour que quand je fais un hold surle boutton mon takuma se met dan cette situation en sachant que dans kof 98 en peux laché le boutton a n'importe quelle moment et le coup sera difini par le temps du boutton pressé

c difficile pour moi de bien expliqué si c le cas je ferai des shot pour bien expliqué

si tu veux voir ca ressemble a quoi va dans mon takuma et reguarde les sprite et le state 1000 ou 1100

sino merci et a la prochain


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:
mais coment fair pour que quand je fais un hold surle boutton mon takuma se met dan cette situation en sachant que dans kof 98 en peux laché le boutton a n'importe quelle moment et le coup sera difini par le temps du boutton pressé

J'utiliserai une variable en tant que "timer" (ou "chrono" si tu préfères).

Code:
[State X] ; initialisation de la var
type = varset
trigger1 = Time = 0
var(0) = 0

[State X] ; tant qu'on reste appuyé sur "a" (exemple), la var augmente
type = varadd
trigger1 = command = "hold_a"
var(0) = 1

 ; exemple simple de changements de state en fonction du temps

[State X]
type = ChangeState
trigger1 = command != "hold_a"
trigger1 = var(0) < 60
value = Y

[State X]
type = ChangeState
trigger1 = command != "hold_a"
trigger1 = var(0) = [60,119]
value = W

[State Y]
type = ChangeState
trigger1 = command != "hold_a"
trigger1 = var(0) >= 120
value = Z


Ici, la var(0) augmente de 1 à chaque tick où le bouton "a" est maintenu.
* Si on le maintient moins de de 60 ticks (1 seconde de jeu), alors var(0) vaut moins de 60 et du coup, le perso sera envoyé en state Y.
* Si on le maintient entre 60 et 119 ticks (entre 1 et 2 secondes de jeu), alors var(0) vaut entre 60 et 119, et le perso ira en state W.
* Si on le maintient plus de 2 secondes de jeu, alors le perso sera envoyé en state Z.

Mike Werewolf.
Mike Werewolf est absent 
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

j'ai reussi a fair correctement mon mega hoken
et je veux savoir un autre truc

mon takuma dans kof98 quand il fais un coup (exemple hp)
il ya 2 cas

1- soit le son du bras qui se joue
2- le son du bras et le cris de takuma

pour le cas 2 c fais mais ce que je veux c que le son du takuma devien aleatoir (defois il se joue avec le son des bras defois non le son de bras se joue seul)

j'ai essyé de fair un random mais j'ai oublier la technique pour que ca sois aleatoire


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
Suffit de rajouter un trigger basé sur le random. Sachant que random retourne une valeur entre 0 et 999, ça donne :
Code:
trigger1 = random >  499

pour que ça sorte environ 1 fois sur 2, ou
Code:
trigger1 = random > 249

pour que le son soit joué environ 3 fois sur 4 ou encore
Code:
trigger1 = random > 799

pour que le son soit joué environ 1 fois sur 5, etc.

Mike Werewolf.
Mike Werewolf est absent 
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

mnt je suis sur le personnage iori yagami un melange de kof 98 et xi

et j'ai besoin d'aide

il ya un coup composé de 3 chose

1-en fais a chaque fois la meme comande pour passe a le prochain state

2- le coup 1 et normal et le coup 2 dois fair volé p2 du sol (un peux y=-4)

3- le coup trois il dois frappé p2 en volan

mais quand je mis dans le coups 2 fall=1 p1 ne peux plus le touché
et je metrise pas encore les change anim de p2 dans le state de p1

alors il ya une solution 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
Pour que le 3ème coup touche, il faut que de ton hitdef, tu aies :
Code:
attr = MAF

Le "F" est pour "Fall", et indique donc que tu peux toucher un personnage qui chute.

Si ça ne touche pas alors que tu as "F", dans ce cas, faut plutôt se tourner vers le juggle. Il est possible qu'après les deux premiers coups, il ne reste plus assez de juggle pour que le 3ème coup touche.

Mike Werewolf.
Mike Werewolf est absent 
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

je pose une question

coment en peux fair des super cancel ou des dream cancel a la kof xi

merci


tombston est absent 
Anji



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

Localisation: Hungary
Répondre en citant
Tu pourrais décrire ces "super cancels" et "dream cancels" dont tu parles ?
Anji est absent Kicker ce membre de ce sujet
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
c tout simplement

dream cancel
quand tu fais un hyper tu peux le coupe par un autres hyper plus puissant

super cancel

c facile a fair car c un coup quand coup pour fair un hyper ,mais je sais pas coment affiché les explod pour avoir le meme effet que kof xi
c jors avoir une image ou c ecri super ou dream cancel

si no regarde quelque info sur kof xi et tu vera de quoi je parle


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
Les cancels se programment au niveau du CMD, grâce aux triggers. Je te renvoies à Gouki.

En général, il faut un double trigger :
Code:
trigger1 = MoveContact
trigger1 = StateNo = 1000


En admettant que le state 1000 soit celui qui contienne le premier HitDef.

Pour l'explod, j'imagine qu'il faut utiliser les state -2 ou -3, plus une var qui détectera la réalisation des triggers (le plus simple, c'est carrément d'utiliser un opérateur associatif dans un 3ème trigger) :
Code:
trigger1 = MoveContact
trigger1 = StateNo = 1000
trigger1 = var(0):=1

Le troisième trigger sert juste à dire que si les deux autres sont bons, alors la var doit être mise à 1.

En state -2 ou -3 :
Code:
[State -2]
type = Explod
trigger1 = var(0)
{les paramètres de ton explod}

[State -2]
type = VarSet
trigger1 = var(0)
var(0) = 0

Le premier sctrl déclenchera l'affichage, et juste après, la var est remise à zéro pour éviter que l'explod soit redéclenché, et pour que la détection de cancel puisse à nouveau se faire.

Mike Werewolf.
Mike Werewolf est absent 
Anji



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

Localisation: Hungary
Répondre en citant
Un francophone (?) a écrit:
super cancel
c facile a fair car c un coup quand coup pour fair un hyper
Euh... d'accord... Confused
Outre la méthode préconisée par Mike (intervention dans le .cmd de l'attaque utilisée pour annuler l'attaque en cours), ne peut-on pas envisager intervenir dans le .cns de l'attaque annulée, en ajoutant un sctrl de type ChangeState avec, entre autres, un trigger concernant la commande entrée par le joueur ?
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
Anji a écrit:
ne peut-on pas envisager intervenir dans le .cns de l'attaque annulée, en ajoutant un sctrl de type ChangeState avec, entre autres, un trigger concernant la commande entrée par le joueur ?

Si, c'est faisable, sauf que c'est plus lourd. Pour un hyper, qui ne peut vraisemblablement être annulé que par un nombre restreint de commande, pas de souci, mais pour un coup basique ou même spécial, on risque d'avoir une liste de triggers à rallonge.

La méthode CNS permet de concevoir le cancel en analysant, pour un coup, quelles sont les attaques qui peuvent annuler ce coup.

La méthode CMD permet de concevoir le cancel en analysant, pour un coup, quelles sont les attaques que ce coup peut annuler.

L'autre avantage du CMD, c'est qu'on peut "grouper". Par exemple, si mes punchs sont les states 200, 210, et 220, sans intermédiaire, alors je peux utiliser :
Code:
trigger1 = stateno = [200,220]


En revanche, pour le CNS, comme on se base sur la réalisation de la commande, on doit entrer les commandes une à une, et donc pour annuler un coup avec n'importe quel punch, ça donnera :
Code:
trigger1 = command = "x"
trigger2 = command = "y"
trigger3 = command = "z"


Mike Werewolf.
Mike Werewolf est absent 
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

merci pour ta repance mais :

le super cancel je le code come un combo (reguarde iori) sauf que j'ai pas su placé les explod mais tu ma expliqué

par contre cette methode ne marche pas si je fais un dream cancel car il ya pas de contact et p2 et dans le state de p1 j'ai essye de le fair mais ca donne rien et une fois j'ai reussi mais p2 reste dans une seul anim et ca bloque

que doi je fair

merci


tombston est absent 
Anji



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

Localisation: Hungary
Répondre en citant
Concernant le Dream Cancel :

Tombston a écrit:
cette methode ne marche pas [...] car il n'y a pas de contact
Il faut adapter les triggers en conséquence. Commence par supprimer le MoveContact et refais le test : ton personnage devrait pourvoir changer de StateDef sans problème.

Un peu plus loin, Tombston a écrit:
P2 reste dans une seul anim et ca bloque.
Il faudrait peut-être modifier le Sctrl "ChangeState" du StateDef dans lequel P2 se trouve afin de lui dire que si P1 est en train de faire un Dream Cancel, alors ce State doit s'arrêter, non ?
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
Anji a écrit:
Il faut adapter les triggers en conséquence. Commence par supprimer le MoveContact et refais le test : ton personnage devrait pourvoir changer de StateDef sans problème.

Exactement. Par contre, mieux vaut, en général, éviter que tu puisses déclencher le cancel n'importe quand pendant l'attaque précédente, sans quoi on pourrait l'annuler dès le début (ça peut être chiant si c'est ça le fait quand le perso est contrôlé par l'ordi). L'idéal, c'est de repérer dans l'anim du state à partir de quel élément tu veux pouvoir faire ton cancel. Les triggers deviennent ainsi :
Code:
trigger1 = AnimElem = 3, >0
trigger1 = StateNo = 1000

En admettant que tu veuilles pouvoir faire le cancel à partir du 3ème élément de l'anim du state 1000.

Pour P2 qui reste bloqué : a priori, peu importe le state dans lequel se trouve P2 (que ce soit dans le CNS de P1 ou non), à moins que tu n'aies mis des conditions relatives au state de P1.

Mike Werewolf.
Mike Werewolf est absent 
Anji



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

Localisation: Hungary
Répondre en citant
Mike a écrit:
peu importe le state dans lequel se trouve P2
Enfin c'est relativement important si P2 est dans un State dont il ne peut sortir ! Mr. Green
Deux petites vérifications :

    1. Quels sont les triggers des StateControllers de type ChangeState dans le StateDef que subit P2 ?
    2. P2 peut-il être touché ? (A-t-il des boîtes de colision au moment ou tu essaies de le frapper ? A-t-il un StateController de type NothitBy ? etc.)
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
Anji a écrit:
Enfin c'est relativement important si P2 est dans un State dont il ne peut sortir !

Normalement, pour sortir P2 d'un custom state, on utilise un Self State directement dans le state de P2 (en général, avec des triggers qui détectent si P2 touche le sol => renvoi en state 5100). Du coup, le retour de P2 dans son CNS est indépendant de ce que fait P1. Wink

Renvoyer P2 dans son CNS en se basant sur le StateNo de P1 est risqué car si on combat une équipe, le partenaire de P2 peut très bien frapper P1 alors que P2 est dans un custom state. P1 est alors envoyé dans un state 5000 (ou pire, dans un custom state du partenaire de P2...).

Mike Werewolf.
Mike Werewolf est absent 
Anji



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

Localisation: Hungary
Répondre en citant
Mike a écrit:
en général, avec des triggers qui détectent si P2 touche le sol
Oui, c'est pour cela que je voulais jeter un coup d'oeil aux triggers de ChangeState/SelfState car il n'est pas dit que le State dans lequel P2 est coincé correspond à une chute : pour certaines projections, P1 soulève P2 en l'attrapant par le cou et le frappe, donc P2 est figé à une hauteur définie et ne tombe pas.
Un peu plus loin, Mike a écrit:
Renvoyer P2 dans son CNS en se basant sur le StateNo de P1 est risqué
Et si on fonctionne par exception ?
Exemple : P2 est envoyé dans un Custom State quand P1 est dans le State 2000 donc on pourrait dire que si, par le plus grand des hasards, P1 n'est plus dans le State 2000 (imaginons qu'il se fasse frapper par le coéquipier de P2), alors P2 retourne à ses propres States, non ?
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
Anji a écrit:
Exemple : P2 est envoyé dans un Custom State quand P1 est dans le State 2000 donc on pourrait dire que si, par le plus grand des hasards, P1 n'est plus dans le State 2000 (imaginons qu'il se fasse frapper par le coéquipier de P2), alors P2 retourne à ses propres States, non ?

Le plus simple, dans ce cas, c'est de rendre P1 intouchable pendant la durée de sa chope. (pas de Clsn ou via un NotHitBy). C'est ce qu'on fait les 3/4 du temps. Dès lors, P1 ne peut plus "perdre le contrôle" de P2, et ça évite toute mauvaise surprise.

Sinon, on peut envisager d'autres solutions : déclencher un selfstate dans le custom state avec divers triggers, style : "Enemy, MoveType = H" ou "Time = X", basé sur la durée que devrait normalement durer la chope.

L'idéal, c'est carrément la solution dispo sous Linux, à savoir utiliser le nouveau trigger !gethitvar(isbound), mais il est inutilisable sous DOS et fera même planter le perso.

Mike Werewolf.
Mike Werewolf est absent 
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
Citation:
P1 n'est plus dans le State 2000 (imaginons qu'il se fasse frapper par le coéquipier de P2), alors P2 retourne à ses propres States, non ?


dapres ce que j'ai essyé p2 reste dans le state de p1 tant qu'il ya pas un self state
mais pour evité ca je fais sois nohitby ou je mais pas de cnsl

pour le dream cancel je l'ai fais un trigger =time=[10,30]
pour que ca s'exsecute dans un moment precis

le probleme que j'ai eu c que j'ai reussi a fair un change state mais seulement pour p1 alors p2 (qui est dans le state dee p1) reste dans le state de p1 car il ya pas un change state

il ya pas une astuce avec des variable jore pour que p2 change ded state en meme temps que p1

Code:
type=changestate
trigger1=var(0)=1 ;var qui detecte la comand du hyper
value = xxx



merci


tombston est absent 
Anji



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

Localisation: Hungary
Répondre en citant
Tu pourrais copier le Custom State dans lequel P2 se trouve histoire de voir à quoi il ressemble actuellement ?

tombston a écrit:
il n'y a pas une astuce pour que P2 change de state en même temps que P1 ?
Pourquoi pas :
Code:
triggerX = enemy,command = "[nom de la commande de l'hyper]"
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:
il ya pas une astuce avec des variable jore pour que p2 change ded state en meme temps que p1

Surtout pas de variables, malheureux !!! Si tu utilises une var dans un custom state de P2, ce ne sont pas tes variables que tu vas modifier, mais celles de P2.

Anji > Ton ChangeState devrait marcher dans 90% des cas, mais si P2 affronte une équipe, il y a le risque que Mugen s'emmêle un peu les pinceaux entre P1 et son partenaire, lorsqu'il devra interpréter la redirection "ennemy".

Ce que je pense être le plus sûr, ce serait :
* Utiliser un opérateur d'assignation pour régler une var dans le state -1 du CMD, au moment où on réalise le Dream Cancel.
* Utiliser cette var dans un state -2 avec un sctrl TargetState.

Style :
* CMD :
Code:
[State -1, DreamCancel]
type = ChangeState
trigger1 = command = "[commande de l'hyper]"
{tes autres triggers}
trigger1 = var(0):=1
value = {nouveau state}

Le dernier trigger fait que si tous les triggers précédents sont remplis, var(0) passera à 1 (un peu comme si y avait un VarSet var(0) = 1 inclus dans le ChangeState). Donc si var(0) vaut 1, c'est que tu viens de réussir ton Dream Cancel ; on peut donc utiliser cette var pour changer le state de P2, via le CNS

* CNS :
Code:
[State -2, BasculeP2]
type = TargetState
trigger1 = var(0)
trigger1 = target, stateno = {state n°1 de P2}
value = {state n°2 de P2}

[State -2, EndVar]
type = VarSet
triggerall = var(0)
trigger1 = !NumTarget
trigger2 = Target, stateno != {state n°1}
var(0) = 0

Le premier state -2 envoie P2 dans le nouveau state, a priori en même temps que P1 change de state grâce au Dream Cancel (peut-être à 1 tick près), et le second state -2 remet la var(0) à 0 pour une prochaine utilisation.

Mike Werewolf.
Mike Werewolf est absent 
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
merci pour cette soulution je l'essyeré de que possible et je vous donne des resultat

encore merci


tombston est absent 
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 a tous

les astuce que vous mavez donné ont bien marché Very Happy a par l'explod (j'ai quelque problem avec)

testé ma MAJ de iori et dit moi ce que vous pensez Mr. Green

a un autre problem


tombston est absent 
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

tous le monde

je voulai savoir comment fair pour crée un short jumps

car j'ai essyé de crée un state semblan au state 40 mais quand je fais la comande up p1 se derige vers le state 40 au lieu de 60(state de short jumps)
mais quand j'ai changé de command (b) p1 va normalement dans le state 60


pouvai vous m'aidez


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
Tu parles du système de saut SNK, où si on appuie une fois rapidement sur "haut", le perso fait un petit saut, et si on laisse appuyé plus longtemps, il va plus haut ?

Si oui, voici ce que je ferai :
* Je coderai le "mini saut" dans le state 40, avec un ChangeState dans ce state 40 si "up" est maintenu, qui mènerait au state 60.
* Coder le saut normal en state 60.

Ou alors, y a peut-être moyen de coder tout dans le state 40 en faisant varier la vitesse du saut (ou la force de la gravité, au choix) selon le temps durant lequel on garde la direction "haut"...

Mike Werewolf.
Mike Werewolf est absent 
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
oui je parle bien du system de snk

coment je fais pour que mugen reconai que j'ai appuyé vite sur up ou le contraire esque c'est par une nouvelle command ou par le time=


merci


tombston est absent 
Vil1

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 15 Mar 2005
Messages: 143
Karma: 10
plus / moins

Localisation: France
Répondre en citant
Une possibilité très simple est de modifier légèrement un des blocs du state 40, en l'occurence le bloc 40, 4:
Code:
[State 40, 4]
type = VelSet
trigger1 = AnimTime = 0
x = ifelse(sysvar(1)=0, const(velocity.jump.neu.x), ifelse(sysvar(1)=1, const(velocity.jump.fwd.x), const(velocity.jump.back.x)))
y = const(velocity.jump.y)

Si tu veux détecter de quelle manière tu as a appuyé sur up, tu peux utiliser la commande "holdup". Ce qui donne:
Code:
[State 40, 4]
type = VelSet
trigger1 = AnimTime = 0
x = ifelse(sysvar(1)=0, const(velocity.jump.neu.x), ifelse(sysvar(1)=1, const(velocity.jump.fwd.x), const(velocity.jump.back.x)))
y = ifelse(command != "holdup", nouvelle_valeur ,const(velocity.jump.y))

Il y a plusieurs méthodes possibles mais celle-ci est vraiment facile à utiliser. Wink
Vil1 est absent Kicker ce membre de ce sujet
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


voila ce que j'ai utilisé


Code:
[State 40, 4]
type = VelSet
trigger1 = AnimTime = 0
x = ifelse(sysvar(1)=0, const(velocity.jump.neu.x), ifelse(sysvar(1)=1, const(velocity.jump.fwd.x), const(velocity.jump.back.x)))
y = ifelse(command="holdup",const(velocity.jump.y),const(velocity.jump.y)*0.5)


et ca marche merci pour votre aide


tombston est absent 
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


je trouve un autres probleme

coment fair pour gardé une variable pour tout le jeu ca veu dire quelle c'éfface pas a chaque round et en dois modifier quoi dans le state 5900(celui ou les variable sont effacé)

c'est pour mettre un mode experiance

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
Pour toutes les directions, il y a une commande de "direction maintenue". Pour haut, c'est "holdup".

Tu peux croiser ça avec une var qui te servira de timer pour savoir pendant combien de temps "holdup" est réalisé (en ajoutant 1 à la var tant que command = "holdup" est vrai), pour déterminer la hauteur du saut à appliquer.

Mike Werewolf.
Mike Werewolf est absent 
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
merci mike mais j'ai deja resolu le probleme avec la command hold up (tu as dis dans un de tes messaeges quon doit economisé les variable lol)

mais mnt je cherche a savoir comment en fais pour ne pas initialisation une variable ..quesque je dois changé dans le state 5900


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:
merci mike mais j'ai deja resolu le probleme avec la command hold up (tu as dis dans un de tes messaeges quon doit economisé les variable lol)

Economiser quand c'est possible, oui. Mais quand ça ne l'est pas, faut bien utiliser une var.

En l'occurrence, la commande "holdup" te permet de savoir si on maintient la flèche "haut" appuyée, mais pas pendant combien de temps elle reste appuyée. Une var te permettrait de le savoir, et de régler la hauteur du saut en fonction de ce temps (donc pas juste "petit saut" ou "grand saut", mais avec des niveaux intermédiaires).

Citation:
je cherche a savoir comment en fais pour ne pas initialisation une variable ..quesque je dois changé dans le state 5900

Ca dépend de ce que tu veux. En fait, il y a deux niveaux de contrôle : entre les rounds, et entre les matchs.

Entre les matchs, c'est effectivement géré par le state 5900. Si tu ne veux pas que les vars se réinitialisent entre les matchs, il suffit de virer cette partie :

Code:
[State 5900, 1] ;Clear all int variables
type = VarRangeSet
trigger1 = roundno = 1
value = 0

[State 5900, 2] ;Clear all float variables
type = VarRangeSet
trigger1 = roundno = 1
fvalue = 0


Mais si tu fais juste cette modif, ça ne suffit pas, car un nouveau match, c'est aussi un nouveau round, et donc le contrôle au niveau des rounds s'applique, ce qui remettra tes vars à 0.

Pour maintenir les valeurs entre les rounds, ça se passe au niveau du CNS, dans les constantes, dans [Data], il y a deux paramètres : IntPersistIndex et FloatPersistIndex. Commençons par IntPersistIndex, qui se rapportent aux variables entières (var) :
* Tu as 60 variables, allant de var(0) à var(59),
* IntPersistIndex vaut en général 60.

La valeur du IntPersistIndex indique que la variable ayant ce numéro ou un numéro supérieur ne sera pas réinitialisée entre les rounds. Autrement dit, toutes les variables dont le numéro est inférieur à cette valeur seront réinitialisées à 0. Ou encore : si IntPersistIndex vaut X, alors les X premières variables seront réinitialisées. Donc si IntPersistIndex vaut 60, toutes les variables sont réinitialisées, puisque :
* Aucune variable n'a un numéro égal ou supérieur à 60 (var(60) n'existe pas),
OU, vu autrement :
* Toutes les variables ont un numéro inférieur à 60 (var(59) étant la dernière variable),
OU, encore vu autrement :
* Les 60 premières variables (c'est à dire toutes, puisqu'il y en a 60) sont réinitialisées.

Conclusion sur la gestion des variables :
* Pour les variables classiques qu'on garde uniquement sur un round, on utilisera les variables à partir de 0 (var(0), var(1), etc.).
* Pour les variables utilisées sur plusieurs rounds, on partira avec les dernières variables, en remontant : var(59) puis var(58), etc. et on réduira la valeur de IntPersistIndex en conséquence (on le mettra à 59 pour conserver la valeur de la var(59), à 58 pour conserver la valeur des var(58) et var(59), à 57 pour conserver les valeurs de var(57) à var(59), etc.).

Le FloatPersistIndex fonctionne de la même façon, mais pour les variables flottantes (fvar). Il y en a 40, allant de fvar(0) à fvar(39).

Mike Werewolf.
Mike Werewolf est absent 
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
c'est clair merci

--

salut a tous

he voulai savoir coment fair pour rendre mon personnage intraversable quand il est pres des coin et en lie down (come dans les jeux de kof)

en ma deja proposé une astuce des boite de colission mais ca marche pas bien

il ya til une autre astuce ?

merci

Modération de Mike Werewolf:
Evite les double posts, 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
La solution Clsn est la seule envisageable.

Elle ne fonctionnera pas avec les persos qui désactivent leurs Clsn, évidemment (donc Gouki sur le Maku Shihai par exemple, et tout déplacement en téléportation).

Mike Werewolf.
Mike Werewolf est absent 
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

j'ai trouvé un robert (celui de iron ) qui n'utilise pas cette methode enfin j'ai pas vu de Clsn dans ses animation

sino je vais essyé et voir le resultat

pour le double poste je savai pas (une fois tu m'a dis que les messages edité n'aprai pas come nouvau message c'est pour ca que j'ai refait le message excuse moi)

merci


tombston est absent 
un nouvau personage=des nouvau probleme..j'ai besoin d'aide
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