RPG Fusion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -23%
EVGA SuperNOVA 650 G6 – Alimentation PC 100% ...
Voir le deal
77.91 €

 

 Gestion de quêtes très simplifié

Aller en bas 
AuteurMessage
Invité
Invité
Anonymous



Gestion de quêtes très simplifié Empty
MessageSujet: Gestion de quêtes très simplifié   Gestion de quêtes très simplifié EmptyLun 05 Mai 2008, 23:07

Voici un nouveau script de gestion de quête très simplifié. La gestion de quête est l'un de mes premiers travaux sur RPGmakerXP. La première version était très complexe à mettre en place, légèrement buggée, et pas forcément esthétique. Corwin, a donc ensuite remodelé le systeme pour qu'il soit plus fonctionnel et surtout bien mieux visuellement. Hors, je me suis rendu compte, que beaucoup de gens avaient des difficultés à le mettre en place.
J'ai donc refait un systéme complet, plus intuitif, ressemblant à la gestion de quêtes sur WoW (Descriptif, objectif(s), récompense(s)). La seule chose a faire, contrairement à l'ancien systeme, et de copier les scripts au dessus du script main et vous avez un systeme fonctionnel. Il reste toujours à définir les quêtes, mais je fournis une page web qui permet de générer le code à copier.

Voici les scripts:
Définition de quêtes : http://tonyryu.free.fr/datas/scripts_rmxp/Def_Quete.txt
Gestion des quêtes : http://tonyryu.free.fr/datas/scripts_rmxp/Gestion_Quete.txt
et l'image à importer dans le dossier 'Picture' :
Gestion de quêtes très simplifié Grim1

Vous êtes parfaitement libre de choisir une autre image, du moment qu'elle à le nom de 'grim1'

Voici le lien qui vous permettra de générer le code correspondant à vous quêtes : http://tonyryu.free.fr/pages/RMXP/quete_gen.html

Je récapitule les commandes à utiliser pour intéragir avec la gestion de quête :

$scene = Scene_Quete.new # Ouvre le livre de quete
$game_party.quete_demarrer(id_quete) # Démarre une quete
$game_party.quete_echouer(id_quete) # Fait echouer la quete
$game_party.quete_finir(id_quete) # Fait réussir la quete et donne les récompenses
$game_party.quete_parler(nom) # Permet de valider l'objectif de parler, quelque soit les quetes
$game_party.quete_termine?(id_quete) # Vérifie si les objectifs sont terminé # Dans commande condition
$game_party.quete_trouve?(id_quete) # Vérifie si la quête est trouvé # Dans commande condition
$game_party.quete_en_cours?(id_quete) # Vérifie si la quête est en cours # Dans commande condition
$game_party.quete_reussie?(id_quete) # Vérifie si la quête est réussi # Dans commande condition
$game_party.quete_echoue?(id_quete) # Vérifie si la quête est échoué # Dans commande condition

Les monstres tués sont automatiquement comptabilisés

Pour ajouter une quête, allez dans le script de définition de quête, et vous y trouverez cette classe au début :
Code:
#==============================================================================
# ■ Data_Quete
#------------------------------------------------------------------------------
#  Contient la définition des quêtes
#  Version  Date          Auteur        Commentaires
#  1.00      12/09/2007    Tonyryu      Création
#
#==============================================================================
class Data_Quete
  attr_reader  :tab_def_quete
 
  #--------------------------------------------------------------------------
  # ● initialize
  #--------------------------------------------------------------------------
  def initialize
    # Création du tableau de quêtes
    @tab_def_quete = []
 
    # Définition des quêtes
    @tab_def_quete[0] = { "nom" => "Allégeance au roi de Flid",
                          "desc" => "Votre arrivée au sein du royaume ne sait"+
                                  "\npas faite sans remous."+
                                  "\nAller porter allégeance au roi de Flid."+
                                  "\n "+
                                  "\nIl serait bon de ne pas trainer.",
                          "but" => [["PARLER",0,"Roi de Flid"],["CHASSER",5,1]],
                          "gain" => [["EXP",2000,],["ARGENT",300,],["OBJ",1,10]]}

    @tab_def_quete[1] = { "nom" => "Force d'outre-tombe II",
                          "desc" => "Cela fait maintenant 2 semaines que les"+
                                  "\nfantomes envahissent nos plaines, il faut"+
                                  "\nles réexpédier d'où ils viennent. Usez"+
                                  "\nde tous les moyens nécessaires.",
                          "but" => [["CHASSER", 5, 1]],
                          "gain" => [["ARME",1,5],["OBJ",2,1],["EXP",200]]} 

  end
end
Si vous avez déjà généré une quête via la page web, vous pouvez constater que vous retrouver à peu de chose près les mêmes blocs :
Code:
    @tab_def_quete[1] = { "nom" => "Force d'outre-tombe II",
                          "desc" => "Cela fait maintenant 2 semaines que les"+
                                  "\nfantomes envahissent nos plaines, il faut"+
                                  "\nles réexpédier d'où ils viennent. Usez"+
                                  "\nde tous les moyens nécessaires.",
                          "but" => [["CHASSER", 5, 1]],
                          "gain" => [["ARME",1,5],["OBJ",2,1],["EXP",200]]} 
Les descriptifs de quêtes, fournis avec le script, sont des exemples, n'hésitez surtout pas à les remplacer par vos définitions.

Attention, il faut juste respecter une chose, l'ID (index) de la quête, utilisé pour le tableau '@tab_def_quete'. La première définition doit avoir l'ID égale à 0, et ensuite il faut incrémenter de 1 en 1.

Voici un petit exemple d'événement :
Code:
Map ID: 1, Nom: MAP001
Evènement ID: 004, Nom: EV004

------ PAGE 1 ------

Conditions de l'évènement :

Apparence:
- Character : 010-Lancer02, Ton : 0, Regarde en Bas, Modèle n°0, Opacité : 255, Transparence : Normal

Mode de déplacement:
- Type de déplacement : Fixe
- Vitesse de déplacement: Lent
- Fréquence de déplacement: Basse

Options:
- Animé lorsqu'il se déplace

Conditions de déclenchement:
- Par la touche action

Commandes d'évènement:

<>Condition : si Script : '$game_party.quete_trouve?(1)'
  <>Condition : si Script : '$game_party.quete_reussie?(1)'
    <>Message : Nous sommes heureux de te compter
    :        : parmis nous!!
    <>
  : Sinon
    <>Condition : si Script : '$game_party.quete_termine?(1)'
      <>Message : Je vois que tu as fait ce qu'il fallait,
      :        : prend ta récompense.
      <>Script : $game_party.quete_finir(1)
      <>
    : Sinon
      <>Message : Continue ainsi.
      <>
    : Fin
    <>
  : Fin
  <>
: Sinon
  <>Message : Quelques mort-vivants nous agace.
  :        : Veux tu nous aider à les renvoyer
  :        : d'où ils viennent?
  <>Proposer un choix : Oui, Non
  : Si [Oui] faire :
    <>Message : Merci pour ton aide!
    <>Script : $game_party.quete_demarrer(1)
    <>
  : Si [Non] faire :
    <>Message : Tampis, je t'aurais cru plus courageu.
    <>
  : Fin
  <>
: Fin
<>

Et pour finir, un petit screenshoot du rendu :
Gestion de quêtes très simplifié Quete3xq4

N'hésitez pas à poster des commentaires ou des demandes d'amélioration.
Revenir en haut Aller en bas
 
Gestion de quêtes très simplifié
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Gestion des Tilesets / Chipsets
» Bug avec la fontion : Gestion des variables.. ( :( )

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Antre des Scripts :: Système-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser