AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  




Partagez
 

 Tutoriel pour bien manier le script "PushFront"

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
TaZ
Mamour d'Angellan
Mamour d'Angellan
TaZ


Masculin Age : 30
Inscrit le : 22/11/2008
Messages : 3382

Tutoriel pour bien manier le script "PushFront" Empty
MessageSujet: Tutoriel pour bien manier le script "PushFront"   Tutoriel pour bien manier le script "PushFront" Icon_minitimeJeu 19 Fév 2009 - 20:10

Tout d'abord, je tiens à remercier Jebbou qui m'a concocté ce script et qui m'a autorisé à faire un tuto dessus...
Quel est ce script ?

Le script Pushfront sert à pouvoir vérifier si le héros est à côté d'un évent.
A quoi cela sert-il ?
Cela sert à pouvoir créer des compétences comme "Déplacer un rocher" qui ne marchera que si le héros est à côté du rocher...
Et il n'y a aucune limite à votre imagination avec ce script Wink

Tout d'abord, placez ce script en dessous de "Matérials":

Code:
class Game_Map

  def activateEventPos(x, y, switchCode)

    eventsAtPos = events_xy(x, y) # Array
    if eventsAtPos.length > 0
      key = [ $game_map.map_id,eventsAtPos[0].id, switchCode]
      if $game_self_switches[key]  == false
          $game_self_switches[key] = true
          eventsAtPos[0].refresh
      end
    end
  end
 
  def  activateEventFrontChar (switchCode)
    x = $game_player.x
    y = $game_player.y
    direction = $game_player.direction

    case direction
      when 2
            y += 1
      when 4
        x -= 1
      when 6
        x+= 1
      when 8
        y -= 1
    end
    activateEventPos(x, y, switchCode)
  end

end

Tout d'abord...

Comment s'en servir ?

L'intérêt de ce script est de pouvoir forcer une action en activant l'interrupteur D, et à partir d'un évènement commun qui est en rapport avec un objet ou une compétence.

Vous aurez besoin de ce script, d'une variable et d'évènements communs qui se rattachent à des objets/compétences.

Vous devrez donc créer un évènement commun que vous rattacherez à l'objet/compétence voulu(e).
Dans cet évènement commun, vous mettrez ceci:
Cliquez sur "Insérer un script" et collez ceci:
Code:
$game_map.activateEventFrontChar("D")

Ceci sert à activer l'interrupteur D de l'évènement qui se trouve à côté du héros.

Cela créé donc un problème assez gênant si vous avez un évènement qui utilise l'interrupteur local D en condition...
Mais peu d'évènements sont assez complexes pour utiliser cet interrupteur local.

Puis vous créerez une variable.
Cette variable servira à déterminer quelle compétence ou objet est utilisé avant de forcer une action, ce qui permettra de ne pas limiter les choix.
Pour déterminer quelle compétence ou objet est utilisé, chaque évènement commun en rapport avec les deux choses précédentes aura un chiffre pour cette variable.
Soyons logique, pour le premier que vous créerez, réglez donc la variable sur 1.
( Gestion des variables, choisissez celle que vous souhaitez et réglez " =1".)

Et vu que cet évènement commun est rattaché à un objet ou une compétence, laissez "Aucun" dans la condition de déclenchement.

Voici donc un aperçu de l'évent commun "basique":

Tutoriel pour bien manier le script "PushFront" Screen11


Si je dis basique, c'est que vous pouvez rajouter des animations ou autres pour donner un meilleur effet à l'action que reproduira l'utilisation de l'objet ou de la compétence.

Ensuite...

Comment appliquer ceci sur l'évènement voulu ?

Et bien, c'est assez simple.
En première page, laissez l'évènement vide, avec bien entendu l'image que vous souhaitez.

Créez ensuite une deuxième page en condition principale Interrupteur local D activé.
Oui, car sans ceci, rien ne vous servira plus --"

Appliquez ensuite une condition dans l'évent:
Cette condition servira à distinguer par une variable quelle compétence est utilisée.

Vous avez donc remarqué que nous avons réglé la variable sur 1 avec le premier évènement commun.
Mais lorsque vous créerez de nouveaux évènements communs rattachés à d'autres objets.compétences, il faudra donc régler sur d'autres chiffres cette variable.

Si cet évènement est fait pour se dérouler uniquement si c'est votre premier objet/compétence qui est utilisé:
Restons dans la logique des choses, vous aurez réglé la variable de l'évènement commun sur 1 vu que c'est la première.

Réglez donc la condition comme ceci:

Condition:
Variable [Lenomdelavariable]: =1.


(Décochez le sinon, il ne servira à rien).

Réalisez ensuite l'action voulue.

C'est à dire que si vous souhaitez déplacer un évènement, cela ressemblera à ceci:

Page 1:

Spoiler:

Page 2:

Spoiler:

Ici, lors de l'utilisation de l'objet/compétence, vous devrez appuyer sur une des flèches directionnelles pour choisir dans quel sens se déplacera le rocher.
Voici donc l'utilité du premier type de condition, voici maintenant l'utilité du deuxième type:

Vous remarquerez qu'à chaque condition première, j'y ai ajouté une autre condition...

Effectivement, si le héros regarde à gauche et qu'il est à droite de l'évènement, sans la deuxième condition, il pourra déplacer le rocher vers la droite. En clair, le rocher viendra se déplacer sur la même case que le héros.
Non non, soyons réaliste, utilisez cette deuxième condition, qui vérifie dans quelle direction regarde le héros, et si il ne regarde pas dans cette direction, alors l'évènement peut se déclencher.

(Par exemple, si la touche droite est appuyée et que le héros regarde à gauche, alors l'évènement ne bougera pas pour éviter que celui-ci n'arrive sur le héros.)

Ce script est très utile pour les adeptes de Golden Sun (Comme moi Mad) qui utilisent des systèmes comme la Psynergie.

Vous pouvez donc aussi créer, pour donner quelques exemples, un système de creusage:

Evènement commun:

Spoiler:

Evènement pour creuser:

Page 1:

Spoiler:

Page 2:

Spoiler:

Voila, tout ceci est la base de l'évènement. Il marchera parfaitement comme ceci mais vous pouvez toujours ajouter des animations, ou alors faire sauter le héros, ajouter des sons,...
Je n'en ai pas mis pour vous montrer ce qui est essentiel au déroulement de l'évènement.

Quelques idées en plus

Voila, ici, je vous donnerai quelques idées d'évènements possibles à créer grâce à ce script...

Un système de remplissage (Exemples: Magie: Inonder / Objet: Bidon d'eau)

Créez donc un nouvel évènement commun, insérez le script et réglez la variable sur 3 (ou alors sur un autre chiffre si vous avez déjà un évènement commun réglé sur ce chiffre).

Créez un autre évènement qui aurait pour image un pot, un tonneau ou encore un puits vide.
Créez une deuxième page pour cet évènement avec la condition principale interrupteur local D activé et en image, mettez un tonneau, pot, puits, etc... rempli.
Vous pouvez, dans l'évènement commun, afficher une animation d'eau qui montre que l'évènement s'est rempli.
Ceci peut servir pour quelques missions comme un peuple qui meurt de soif, et grâce à votre objet "Bidon d'eau", vous pourrez les aider à survivre Very Happy

Un système de soulèvement (ça se dit soulèvement ? xD) (Exemples:Magie: Soulever/ Objet: Troisième bras)

Créez un nouvel évènement commun, et réglez la variable sur un chiffre différent de ceux déjà existants.

Créez ensuite un évènement avec l'image que vous souhaitez.
Mais restez dans la logique, ceci est un évènement que vous pourrez soulever par la magie, donc pas un éléphant --'

Vous devrez donc, dans la deuxième page de l'évènement, régler sur "Au dessus du héros" et en automatique.
Créez des conditions pour vérifier si la touche haut-bas-droite-gauche est appuyée.
Si la touche haut est appuyée, déplacez l'évènement d'un pas vers le haut et le héros de 2 pas vers le haut, puis l'évènement d'un pas vers le bas.
Cela créera donc un effet qui fera que l'objet se soulève, le héros passe en dessous et l'objet retombe à terre.

Créez ensuite les autres conditions dans la suite de la logique.
Pour vous aider, je vous montre la deuxième page de l'évènement en question:

Spoiler:

Voila, c'est tout pour l'instant ^^"

Lien vers la démo: http://www.megaupload.com/?d=Y8FC19EY

Bonne chance à ceux qui tenterons !


Flavii3n


Dernière édition par Flavii3n le Sam 21 Fév 2009 - 22:40, édité 2 fois
Revenir en haut Aller en bas
Elezia
Roi des Lapinous
Roi des Lapinous
Elezia


Masculin Age : 34
Inscrit le : 11/10/2008
Messages : 2292

Tutoriel pour bien manier le script "PushFront" Empty
MessageSujet: Re: Tutoriel pour bien manier le script "PushFront"   Tutoriel pour bien manier le script "PushFront" Icon_minitimeVen 20 Fév 2009 - 11:43

Bon tuto, et jolie script on peux le faire en event, comme pour le système d'arène que j'ai fait, mais c'est carrément plus pratique comme ça!
Revenir en haut Aller en bas
TaZ
Mamour d'Angellan
Mamour d'Angellan
TaZ


Masculin Age : 30
Inscrit le : 22/11/2008
Messages : 3382

Tutoriel pour bien manier le script "PushFront" Empty
MessageSujet: Re: Tutoriel pour bien manier le script "PushFront"   Tutoriel pour bien manier le script "PushFront" Icon_minitimeSam 21 Fév 2009 - 22:19

Et voila la démo pour finaliser ce tutoriel!
Je n'ai pas crypté les données pour que vous puissiez accéder librement aux évènements et voir leur composition.

http://www.megaupload.com/?d=Y8FC19EY

Bon jeu.

Flavii3n
Revenir en haut Aller en bas
Contenu sponsorisé




Tutoriel pour bien manier le script "PushFront" Empty
MessageSujet: Re: Tutoriel pour bien manier le script "PushFront"   Tutoriel pour bien manier le script "PushFront" Icon_minitime

Revenir en haut Aller en bas
 

Tutoriel pour bien manier le script "PushFront"

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Cherche Script pour effet "Glisser"
» Demande de script "menu changement de partenaire" pour avoir plus de 4 perso dans l'histoire
» Charas et Faceset pour des "indiens" ou "indigènes" pour Nomingar
» Un autre script de "Train de personnages"ou"chenille".
» Tutoriel pour Script

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Tutoriels :: Tutoriels VX :: Tutoriel d'événement (event) :: Divers-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit