Bah vla un copier coller du tuto d´un ami 
- *********************************************
Je préviens que ce système est assez complexe. Il a le mérite d´être fiable et d´ouvrir la porte à de nombreuses applications et améliorations. C´est une simplification du système que j´ai mis au point et que j´utilise dans mes projets actuels.
Bon courage^^
Avant toute chose, faire un événement fréquent en processus parrallèle dans lequel vous mettez :
Var «hérosX» = coordonée X du héros
Var «hérosY» = coordonée Y du héros
Var «épéeX» = coordonée X du héros
Var «épéeY» = coordonée Y du héros
frkoptn héros tourne vers le haut
Var Yépée -1
end
frkoptn héros tourne vers le bas
Var Yépée +1
end
frkoptn héros tourne vers la gauche
Var Xépée -1
end
frkoptn héros tourne vers le haut
Var Xépée +1
end
Voilà : grace à cela, l´ordinateur sait à tout moment où se trouve le héros et où pointe son épée.
Faisons maintenant l´animation de l´épée :
Faire un événement fréquent en processus parrallèle.
Dans cet événement :
frkoptn interrupteur 0001 «kombaktif» off [note : mettre cet interrupteur on dans les zones de combat et off lorsque le héros ne doit pas pouvoir utiliser son arme]
entrer code 0001 «combat»
frkoptn var 0001 «combat» = 5
> frkoptn épée équipée [possibilité de mettre ensuite des else pour d´autres armes]
>> jouer ES sword1
>> changer img héros ( mettre img du héros donnant un coup)
>end
>turn switch 0002 « kombat » on
>attendre 0.6 s [vous pouvez modifier cette valeur. + elle est élevée, + le héros frappe > >longuement > > + le combat est facile]
> changer img héros ( remettre img du héros normal)
>turn switch 0002 « kombat » off
end
end
Voilà. Le héros peut maintenant frapper. Ce système est largement simplifié par rapport à celui que j´utilise. J´ai par exemple enlevé le système de calcul de la rapidité d´après les points d´agilité et je n´ai mis que l´épée. Voius pouvez ajouter autant d´armes que vous voulez.
Ensuite je conseille de faire un autre event fréquent dans lequel vous calculerez la variable « coup » en fonction de l´arme équipée et des points d´attaque du héros.
Nous allons bientôt utiliser cette variable car nous attaquons à présent le programme de l´ennemi. Chaque ennemi nécessite un programme identique mais avec ses propres variables «enemy», «X» et «Y» et ses propres boutons «monstre» et «objet».
Voilà le programme de l´ennemi 0001 :
Il s´agit d´un événement sur la carte.
En première page, mettez l´img d´un rubis ou de ce que vous voulez, en position sous le héros et immobile. C´est l´objet qui se trouve à terre lorsque l´ennemi est mort.
Dans cette page, qui doit être en condition « au contact du héros » :
Jouer effet sonore «success 2»
message «3Po ! »
modif monnaie : ajouter 3
[bien sûr, le choix de l´effet sonore comme la quantité d´argent obtenu est modifiable à volonté. Vous pouvez aussi ajouter un objet :]
jouer ES «trésor»
message «obtenu vieux slip»
change objet : ajouter slip
[en revanche la ligne suivante est indispensable pour que l´objet ne puisse être pris à volonté :]
change switch «objet0001» on
[Je rappelle que chaque ennemi doit avoir son propre interrupteur «objet»]
Passons à présent à la 2è page.
condition de l´évènement : switch «monstre0001 on» [là encore, switch propre à chaque monstre]
Mettez l´img d´un monstre. Déplacement = «marche vers le héros» ou «fait une route» ( à vous de lui faire faire un chemin selon l´intelligence du monstre)
Dans cette page, qui doit être en processus parallèle :
Var «X0001» = cet événement > coordonnée X
Var «Y0001» = cet événement > coordonnée Y
Var «X0001» - var «hérosX»
Var «Y0001» - var «hérosY»
frkoptn var «X0001 < ou = 1
frkoptn var «X0001 > ou = -1
>frkoptn var «Y0001 < ou = 1
>>frkoptn var «Y0001 > ou = -1
>>> frkoptn switch 0002 «kombat» on
>>>>frkoptn var «X0001 = -1
>>>>> frkoptn héros tourne vers gauche
>>>>>> jouer es «roar»
>>>>>> événement flash > cet event > flash rouge de 0.1 s sans attendre
>>>>>> afficher anim de combat «suce-sang» sur cet event pendant 0.1s en «attendre fin»
>>>>>>var enemy0001 - var coup
>>>>>end
>>>>else
>>>>>frkoptn var «X0001 = 1
>>>>>> frkoptn héros tourne vers droite
>>>>>>> jouer es «roar»
>>>>>>> événement flash > cet event > flash rouge de 0.1 s sans attendre
>>>>>>> afficher anim de combat «suce-sang» sur cet event pendant 0.1s en «attendre fin»
>>>>>>>var enemy0001 - var coup
>>>>>>end
>>>>>else
>>>>>>frkoptn var «Y0001 = -1
>>>>>>>frkoptn héros tourne vers haut
>>>>>>>> jouer es «roar»
>>>>>>>> événement flash > cet event > flash rouge de 0.1 s sans attendre
>>>>>>>> afficher anim de combat «suce-sang» sur cet event pendant 0.1s en «attendre fin»
>>>>>>>>var enemy0001 - var coup
>>>>>>>end
>>>>>>else
>>>>>>>frkoptn var «Y0001 = 1
>>>>>>>> frkoptn héros tourne vers bas
>>>>>>>>> jouer es «roar»
>>>>>>>>> événement flash > cet event > flash rouge de 0.1 s sans attendre
>>>>>>>>> afficher anim de combat «suce-sang» sur cet event pendant 0.1s en «attendre fin»
>>>>>>>>>var enemy0001 - var coup
>>>>>>>>end
>>>>>>>end
>>>>>>end
>>>>>end
>>>>end
>>>else [au cas ou vous seriez perdu, ce else correspond à la frkoptn «switch kombat on»]
>>>>frkoptn var «X0001 = -1
>>>>> frkoptn cet évènement tourne vers droite
>>>>>> jouer es «blow»
>>>>>> événement flash > héros > flash rouge de 0.1 s sans attendre
>>>>>> afficher anim de combat «suce-sang» sur héros pendant 0.1s en «attendre fin»
>>>>>> chge HP diminue var «enemy01 coup» [puissance de l´ennemi que nous définierons plus tard]
>>>>>end
>>>>else
>>>>>frkoptn var «X0001 = 1
>>>>>> frkoptn cet évènement tourne vers gauche
>>>>>>> jouer es «blow»
>>>>>>> événement flash > héros > flash rouge de 0.1 s sans attendre
>>>>>>> afficher anim de combat «suce-sang» sur héros pendant 0.1s en «attendre fin»
>>>>>>> chge HP diminue var «enemy01 coup»
>>>>>>end
>>>>>else
>>>>>>>frkoptn var «Y0001 = -1
>>>>>>>> frkoptn cet évènement tourne vers bas
>>>>>>>>> jouer es «blow»
>>>>>>>>> événement flash > héros > flash rouge de 0.1 s sans attendre
>>>>>>>>> afficher anim de combat «suce-sang» sur héros pendant 0.1s en «attendre fin»
>>>>>>>>> chge HP diminue var «enemy01 coup»
>>>>>>>>end
>>>>>>>else
>>>>frkoptn var «Y0001 = 1
>>>>> frkoptn cet évènement tourne vers haut
>>>>>> jouer es «blow»
>>>>>> événement flash > héros > flash rouge de 0.1 s sans attendre
>>>>>> afficher anim de combat «suce-sang» sur héros pendant 0.1s en «attendre fin»
>>>>>> chge HP diminue var «enemy01 coup»
>>>>>end
>>>>end
>>>end
>>end
>end
end
frkoptn var «enemy0001» < 1
modifier exp + 3 ( ou n´importe quelle autre valeur au choix)
jouer ES breast
chge switch «monstre 0001» off
chge switch «objet 001» off
Le plus dur est fait. Ouf !
3è et dernière page :
Mettre en apparence des ossements ou laisser vide.
immobile ; sous le héros.
condition = switch «objet0001» on
processus parallèle
Ne rien mettre en commandes : l´ennemi est mort et l´objet a été pris.
Voilà. Il ne nous reste plus qu´à initialiser les ennemis sinon ils sont morts par défaut.
Dans le téléporteur de la 1è carte, mettre : appeler événement «map 01init».
idem pour chaque carte ( avec «map02init, map03init...)
Puis créer les événements fréquents en processus parrallèle «map01init», «map02init» etc.
Dans l´évènement «map01init», si vous avez sur cette carte les ennemis001, 002 et 003 ( par exemple):
switch «monstre001» on
switch «objet001» off
var «ennemy001» = 25 ( ou une autre valeur : ce sont les hp de l´ennemi)
switch «monstre002» on
switch «objet002» off
var «ennemy002» = 25 ( ou une autre valeur : ce sont les hp de l´ennemi)
switch «monstre003» on
switch «objet003» off
var «ennemy003» = 25 ( ou une autre valeur : ce sont les hp de l´ennemi)
et ainsi de suite pour chaque ennemi présent sur la map.
même chose pour les init de chaque map sur laquelle se trouvent des ennemis.
Reste à configurer la puissance de l´ennemi.
Dans un événement fréquent en processus parallèle ( le dernier^^) :
var «enemy01 coup» = 33 [mettre la valeur qui convient... moi je la calcule en fonction des points de défense du héros ( je fais var = 100/défense)]
var «enemy02 coup» = 50
Il n´est pas nécessaire de faire une variable «enemy coup» pour chaque ennemi : plusieurs ennemis peuvent avoir la même puissance. Je conseille de faire une variable pour chaque classe d´ennemi ( lézard, squelette...)
Voilà. J´éspère que ce n´était pas trop compliqué. J´ai simplifié au max par rapport à mon système initial. A partir de là, vous pouvez ajouter des armes ( y compris des armes de jet), des magies, calculer chaque variable en fonction des abilités du héros. Ce tuto montre comment faire avec un héros. Dans la version complète, j´utilise 5 personnages. Ceci est déjà un bon point de départ.
Non, je crois pa qu´il vienne ici, il aime pas trop mais bon...