Partagez
Aller en bas
TaZ
TaZ
Membre

Nombre de messages : 42
Age : 25
Distinction : aucune
Date d'inscription : 17/04/2010

Tutoriel - Manier correctement le script "Pushfront" Empty Tutoriel - Manier correctement le script "Pushfront"

le Mar 20 Avr 2010 - 13:50
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 - Manier correctement 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:
Tutoriel - Manier correctement le script "Pushfront" Evanem10

Page 2:

Spoiler:
Tutoriel - Manier correctement le script "Pushfront" Correc10
Tutoriel - Manier correctement le script "Pushfront" Correc11

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 :x) 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:
Tutoriel - Manier correctement le script "Pushfront" Evanem13

Evènement pour creuser:

Page 1:

Spoiler:
Tutoriel - Manier correctement le script "Pushfront" Evanem14

Page 2:

Spoiler:
Tutoriel - Manier correctement le script "Pushfront" Correc15

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:
Tutoriel - Manier correctement le script "Pushfront" Correc13
Tutoriel - Manier correctement le script "Pushfront" Correc14

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

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

Bonne chance à ceux qui tenterons !


TaZ

Post copié depuis http://rpg-maker-vx.bbactif.com/tutoriels-de-script-f60/tutoriel-pour-bien-manier-le-script-pushfront-t3392.htm
ZangtherOld
ZangtherOld
Membre

Nombre de messages : 1711
Date d'inscription : 07/08/2009

Tutoriel - Manier correctement le script "Pushfront" Empty Re: Tutoriel - Manier correctement le script "Pushfront"

le Mar 11 Mai 2010 - 16:16
Un script sympa livré clé en main avec démo + tuto.
Merci du partage ( bien qu'encore une fois personne ne t'aie répondu xD, les gens ne t'aiment peut être pas ? XD )
TaZ
TaZ
Membre

Nombre de messages : 42
Age : 25
Distinction : aucune
Date d'inscription : 17/04/2010

Tutoriel - Manier correctement le script "Pushfront" Empty Re: Tutoriel - Manier correctement le script "Pushfront"

le Mar 11 Mai 2010 - 19:55
Un bon tuto, mais qui semble être passé inaperçu ... C'est quand même bien dommage.
Pourquoi ne pas ajouter une démo et des screens pour montrer le rendu in-game et un exemple de programmation ? Ça donnerait peut être l'occasion à des personne n'ayant pas le temps de reproduire ton tuto de voir ce que ça donne.

Merci du partage ^^

Un autre bon tuto encore une fois ignoré. Peut être tes tutos sont-ils trop longs ?
C'est vrai qu'a première vue, le texte ne donne pas vraiment envie d'être lu.

Merci quand même du partage ^^

Un script sympa livré clé en main avec démo + tuto.
Merci du partage ( bien qu'encore une fois personne ne t'aie répondu xD, les gens ne t'aiment peut être pas ? XD )

Etant donné qu'à chacun de tes messages, le tuto suivant enlevait une des solutions dues aux ignorances envers mes tutos, il n'en reste qu'une. En effet, je suis mal aimé 8D.
Coco'
Coco'
Staffeux retraité

Nombre de messages : 6577
Age : 26
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

Tutoriel - Manier correctement le script "Pushfront" Magikarpe Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
http://www.rpgmakervx-fr.com

Tutoriel - Manier correctement le script "Pushfront" Empty Re: Tutoriel - Manier correctement le script "Pushfront"

le Mar 18 Mai 2010 - 17:28
Déplacé dans les tutos Wink

Merci du partage Flavi' x)
Contenu sponsorisé

Tutoriel - Manier correctement le script "Pushfront" Empty Re: Tutoriel - Manier correctement le script "Pushfront"

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum