Je vais vous montrer comment faire pour q'un personnage lance des bombes pouvant détruire des murs ou objets.
On va avoir besoin de 4 évènements communs, de quelques variables de ces ressource :
(prise
ici), de
(a rennomer $Sans titre-3) et d'interrupteurs.
Accrochez vous bien, c'est partit :
I La bombe
Pour commencez, Créez un évènement "Bombe" par map , avec comme condition l'interrupteur "bombe" (je vous conseille le 3, pour la suite ça sera plus simple...), comme apparence la bombe fraichement téléchargée & comme commandes :
- Code:
-
> Opération : Variable [0018:X'] = (valeur de la variable [0016:X])
> Opération : Variable [0019:Y'] = (valeur de la variable [0017:Y])
> Condition : Si le héros regarde vers le bas
-l> Opération : Variable [0017:Y] +=1
-l> Placer evènement: Cet évènement, X :[0016] Y: [0017]
-l>Jouer SE : 'Evasion', Volume 80, Tempo 150
-l>Deplacer évènement : Cet évènement (Ignorer action impossible, Attendre la fin) ----------------------------: Saut : +0 en X +2 en Y
-l>Attendre 5 frames
-l>Afficher une animation : Cible Cet évènement, [Neutre\ Simple]
-l> Opération : Interrupteur [ 0003 : Bombes] Désactivé
-l> Modifier Objet : [Bombe] -1
-l>Opération : Variable [0017:Y] -=1
-l>Opération : Variable [0019:Y'] +=3
-l> Opération : Interrupteur [0004 : Kab] Activé
-l> Fin Condition
> Condition : Si le héros regarde vers la gauche
-l> Opération : Variable [0018:X] -=1
-l> Placer évènement: Cet évènement, X :[0016] Y: [0017]
-l>Jouer SE : 'Evasion', Volume 80, Tempo 150
-l>Deplacer évènement :Cet évènement (Ignorer action impossible, Attendre la fin) ----------------------------: Saut : -2 en X +0 en Y
-l>Attendre 5 frames
-l>Afficher une animation : Cible : Cet évènement, [Neutre\ Simple]
-l> Opération : Interrupteur [ 0003 : Bombes] Désactivé
-l> Modifier Objet : [Bombe] -1
-l>Opération : Variable [0017:X] +=1
-l>Opération : Variable [0019:X'] -=3
-l> Opération : Interrupteur [0004 : Kab] Activé
-l> Fin Condition
> Condition : Si le héros regarde vers la droite
-l> Opération : Variable [0018:X] +=1
-l> Placer evènement: Cet évènement, X :[0016] Y: [0017]
-l>Jouer SE : 'Evasion', Volume 80, Tempo 150]
-l>Deplacer évènement :Cet évènement (Ignorer action impossible, Attendre la fin) ----------------------------: Saut : +2 en X +0 en Y
-l>Attendre 5 frames
-l>Afficher une animation : Cible Cet évènement, [Neutre\ Simple]
-l> Opération : Interrupteur [ 0003 : Bombes] Désactivé
-l> Modifier Objet : [Bombe] -1
-l>Opération : Variable [0017:X] -=1 -l
>Opération : Variable [0019:X'] +=3 -l
> Opération : Interrupteur [0004 : Kab] Activé
-l> Fin Condition
> Condition : Si le héros regarde vers le haut
-l> Opération : Variable [0017:Y] -=1
-l> Placer évènement : Cet évènement, X :[0016] Y: [0017]
-l>Jouer SE : 'Evasion', Volume 80, Tempo 150
-l>Deplacer évènement : Cet évènement (Ignorer action impossible, Attendre la fin) ----------------------------: Saut : +0 en X -2 en Y
-l>Attendre 5 frames
-l>Afficher une animation : Cible : Cet évènement, [Neutre\ Simple]
-l> Opération : Interrupteur [ 0003 : Bombes] Désactivé
-l> Modifier Objet : [Bombe] -1
-l>Opération : Variable [0017:Y] +=1
-l>Opération : Variable [0019:Y'] -=3
-l> Opération : Interrupteur [0004 : Kab] Activé
-l> Fin Condition
Puis mettez le où vous voulez sur la Map.
II L'objet
Créez un objet dans l'onglet objet
ayant pour nom Bombe, pour disponibilité "Menu uniquement" et qui appelle l'évènement Commun 1:Boom (voir en dessous)
III Les évènements communs
Commencez par créer un 1er Evènement Commun du nom que vous voulez ( moi j'ai mis Boom mais je ne suis pas un exemple... -_-") Cet évènement aura pour déclenchement: Aucun et pour commandes : (Voir spoiler)
- Code:
-
> Opération : Variable [0016:X] = Héros: Coordonées X
> Opération : Variable [0017:Y] = Héros: Coordonées Y
> Opération : Interrupteur [0003 : Bombes] Activé
Créez un 2e évènement commun du nom de Kab (ou autre) déclenchement par processus parallèle avec l'interrupteur [Kab]
Les commandes :
- Code:
-
>Opération: Interrupteur [0004 : Kab] Désactivé
> Opération : Variable [0018:X'] = (valeur de la variable [0016:X])
> Opération : Variable [0019:Y'] = (valeur de la variable [0017:Y])
↑ Important si vous voulez des objets se détruisant en 2 fois
Faites un 3e évènement commun du nom de Mur et en Déclenchement aucun comprenant les commandes :
- Code:
-
>Opération : Variable [0001: Xm] = Cet évènement : Coordonnées X
>Opération : Variable [0001: Ym] = Cet évènement : Coordonnées Y
>Condition : Si variable [0018 : X'] == Variable [0001 : Xm]
->Condition : Si variable [0019 : Y'] == Variable [0002 : Ym]
---->Déplacer un évènement : Cet évènement (attendre la fin )
----------------------------------: Passe-muraille On
----------------------------------:Modifier Charset : $Sans titre 3', 0
--> Interrupteur local A activé
----Fin Condition
Fin condition
Et enfin, le DERNIER évènement commun a créer, nous l'appellerons Trou et il aura comme mode de déclenchement AUCUN !
- Code:
-
Opération : Variable [0002:Ym] -=3
Opération : Variable [0001:Xm] = Cet évènement : Coordonées X
Opération : Variable [0003:ID] = ID de la map
Teleporter équipe : ID [0003], X [0001], Y[0002]
IV Le mur
Alors... (promis sa va être court) créez un évènement (normal) ayant dans son ventre :
( Je presise que pour que mon systeme marche les mur ne doivent pas être plus grand que 3 carreaux et la bombe doit être tirer dessu)
V La statue
Creer un nouvel évent de statue en 2 partie ( le bas et le haut )
[Je Précise que Les coordonnées X & Y sont a remplacer par celle du bas de votre statue] Bas de statue, Page 1{Apparence du bas de votre statue} Processus parallele, Même niveau que le héros
- Code:
-
>Condition : Si variable [0018:X']<= Coordonnées X de votre évènement +1
-->Condition : Si variable [0018:X']>= Coordonnées X de votre évènement -1
------> Condition : Si variable [0019:X']== Coordonnées Y
-------->Opération : Interrupteur [0002 : Kaboom] Activé
------> Fin Condition
-->Fin Condition
>Fin Condition
Bas de statue , Page 2 {Apparence du bas de votre statue, abimée}, Avec pour condition l'interrupteur Kaboom Processus parallele, Même niveau que le héros
- Code:
-
>Attendre 1 frame (peut éviter certain bugs)
->Condition : Si variable [0018:X']<= Coordonnées X de votre évènement +1
-->Condition : Si variable [0018:X']>= Coordonnées X de votre évènement -1
------> Condition : Si variable [0019:X']== Coordonnées Y
-------->Opération : Interrupteur local A activé
------> Fin Condition
-->Fin Condition
>Fin Condition
Bas de statue, Page 3{Apparence de cailloux}, Avec pour condition l'interrupteur local A, Processus parallele, Au dessous du héros.
- Code:
-
...
Haut de statue,{Apparence du haut de votre staue}, Processus parallele, Au dessus du héros.
- Code:
-
>Condition, interupteur [0002:Kaboom]Activé
-->Effacer cet évenement
->Fin Condition
Si vous utilisez ce systeme, merci de metre N3m0 dans vos crédits
( Je precise que le systême d'evenement commun peut être compressé )
Edit : Lien vers la démo :
http://rapidshare.com/files/336763382/Kaboom.exe.html
Ps : N'oubliez pas de créer un coffre donnant les objets Bombes !
Edit² : Suppretion des spoiler, modification système statue ( Possibilitée de lancer la bombe 1 carreau avant ou après)
Edit³: Résolution d'un problème MAJEUR qui ne permettait qu'une seule Map
Voila ! Si vous avez la moindre question ou problème, n'hésitez pas !
All by N3m0
- Code:
-