| | Super script de gestion des quêtes ! | |
| | Auteur | Message |
---|
Jordinateur Blob
Nombre de messages : 260 Localisation : Devant mon ordinateur !(enfin sa dépend, peut-être avec ma copine aussi ^^) Humeur/Caractère : Aller a l'école T_T Date d'inscription : 12/05/2006
| Sujet: Super script de gestion des quêtes ! Sam 13 Mai - 21:36 | |
| Bon j'aimerais poster un super script...Mis a par le fait d'enlever des choses, commenr puis-je faire pour pouvoir poster un message trop long ? | |
| | | ziko Modo
Nombre de messages : 216 Date d'inscription : 02/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Sam 13 Mai - 21:54 | |
| Pour poster un message long, tu dois tout simplement copier et coller ce message long!!! (facile non!!!) | |
| | | GTK Painteur GTK
Nombre de messages : 3595 Age : 34 Humeur/Caractère : Fatigué Date d'inscription : 29/04/2006
Statut Expérience: (100/100) Pixel Point: ---
| Sujet: Re: Super script de gestion des quêtes ! Sam 13 Mai - 22:04 | |
| Non il veut dire que c'est trop long pour un seul postes . Ya pas moyen, tu doit faire des doubles paostes . Dans ce cas, les doubles postes sont totalement toléré . | |
| | | ziko Modo
Nombre de messages : 216 Date d'inscription : 02/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Sam 13 Mai - 23:23 | |
| Je croiq pas qu'un double post soit la solution, il sera donc obligé de terminer son script dans une deuxième page... Je crois que la meilleure solution c'est de copier ton script dans un logiciel de traitement de texte comme (microsoft word..)puis l'heberger dans un site d'hebergement gratuit voici un: www.rapidshare.deC'est tout!!! **GTK: je crois que tu dois modifier les options dans le panneau de configuration.... | |
| | | GTK Painteur GTK
Nombre de messages : 3595 Age : 34 Humeur/Caractère : Fatigué Date d'inscription : 29/04/2006
Statut Expérience: (100/100) Pixel Point: ---
| Sujet: Re: Super script de gestion des quêtes ! Dim 14 Mai - 10:44 | |
| Oui, c'est vrai ziko . J'y avais pas pensé, mais généralement, les gens poste sur plusieurs message leurs script car il est long . C'est une bonne idée . | |
| | | Jordinateur Blob
Nombre de messages : 260 Localisation : Devant mon ordinateur !(enfin sa dépend, peut-être avec ma copine aussi ^^) Humeur/Caractère : Aller a l'école T_T Date d'inscription : 12/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Mar 16 Mai - 23:15 | |
| ahhh !! D'(accord....très bien alors merci..Je me suis dit...Rien du tout je n'avais pas pensé à sa ! alors voilà : Super gestion des quêtes (Script By Tonyryu et modified By Corwin) : Ce qui veut dire : - liste des quêtes - attribution d'états intermédiaires aux quêtes - attribution des états échoué / résolu - couleur des états échoué et résolu en vert et rouge - texte dynamique pour les détails des quêtes - mise d'une image à choix comme fond - titre - choix de l'écriture - gestion des états des quêtes depuis les évènements Dans Window_Base, rajouter les lignes suivantes, après les différentes déclaration des couleurs (juste après la ligne 69) - Citation :
#-------------------------------------------------------------------------- def green_color return Color.new(74, 210, 74) end
#-------------------------------------------------------------------------- def gold_color return Color.new(240, 240, 0, 255) end
# -------------------------------- def red_color return Color.new(252, 36, 12, 255) end
Ensuite mettez ceci dans "main" a la ligne 9 juste après bigin - Citation :
# définition du type de police d'écriture pour l'affichage des Quêtes $fontfaceQuest = "Monotype Corsiva" $fontsizeQuest = 24
Créer un script Game_Quests : - Citation :
#============================================================================== # ■ Game_Quests # créé par Tonyryu, entièrement modifié et optimisé par Corwin #------------------------------------------------------------------------------
class Game_Quests #-------------------------------------------------------------------------- # ● intialize #-------------------------------------------------------------------------- def initialize @etat = [] @addr_quete = [] # nombre de quetes @nbre_quete = 4
@quete_declenche = 0
# données des quétes # format : [ nbreEtat, NomQuete, DescriptionEtat1,...,DescriptionEtat2] # @quete = [ #quete n°1 1,"Achats", "Aller en ville pour effectuer des achats divers.",
#quete n°2 2,"Recherche", "Il faut aller voir par-là bas si j'y suis et si j'y suis pas et bien tant pis... on va aller chercher ailleur", "et bien je dois chercher encore",
#quete n°3 4,"Pierres", "A récupérer les pierre Saintes", "les pierres sont dans les repaires des méchants pas bô", "Et bien... encore une seule pierre et j'ai tout un sac, cool !", "... et c'est vrai, c'est la 4ème partie de la quête !",
#quete n°... 2,"Liste des quêtes...","Il est possible de trouver dans le présent grimoire une liste des différentes quêtes à résoudre", "--"
# attention, la dernière quête ne doit pas avoir de virgule à la fin !
]
# initialisation du tableau de recherche rapide des données de quête @offset = 0 for i in 0..(@nbre_quete - 1 ) @etat[i] = 0 @addr_quete[i] = @offset
@offset += (@quete[@offset] + 2) end
end #-------------------------------------------------------------------------- # ● etatID # quest_id : ID de la quete dont on veut connaitre l'etat #-------------------------------------------------------------------------- def etatID(quest_id) quest_id -= 1 if quest_id <= @nbre_quete and @etat[quest_id] != nil return @etat[quest_id] else return 0 end end #-------------------------------------------------------------------------- # ● changer_etat # quest_id : ID de la quete dont on veut changer l'etat # neo_etat : nouvel etat de la quete #-------------------------------------------------------------------------- def changer_etat(quest_id, neo_etat) quest_id -= 1 if quest_id <= @nbre_quete @etat[quest_id] = neo_etat end end
#-------------------------------------------------------------------------- # ● nom # quest_id : ID de la quete dont on veut connaitre le nom #-------------------------------------------------------------------------- def nom(quest_id) quest_id -= 1 if quest_id <= @nbre_quete return @quete[ ( @addr_quete[quest_id] + 1 ) ] end end
#-------------------------------------------------------------------------- # ● etatNom # quest_id : ID de la quete dont on veut connaitre l'etat d'avancement #-------------------------------------------------------------------------- def etatNom(quest_id) quest_id -= 1 if quest_id <= @nbre_quete return @quete[ ( @addr_quete[quest_id] + 1 + @etat[quest_id] ) ] end end
#-------------------------------------------------------------------------- # ● nbreQuete # quest_id : ID de la quete dont on veut connaitre l'etat #-------------------------------------------------------------------------- def nbreQuete() return @nbre_quete end
#-------------------------------------------------------------------------- # ● set_etat # tout_etat : table des etats à rentrer (load) #-------------------------------------------------------------------------- def set_etat(tout_etat) @etat = tout_etat end
#-------------------------------------------------------------------------- # ● get_etat #-------------------------------------------------------------------------- def get_etat return @etat end
#-------------------------------------------------------------------------- # ● set_quete_declenche # quete_ID : #-------------------------------------------------------------------------- def set_quete_declenche( quest_id ) @quete_declenche = quest_id end
#-------------------------------------------------------------------------- # ● get_quete_declenche #-------------------------------------------------------------------------- def get_quete_declenche return @quete_declenche end
#-------------------------------------------------------------------------- # ● declencher #-------------------------------------------------------------------------- def declencher changer_etat(@quete_declenche, 1) end
#-------------------------------------------------------------------------- # ● b_quete_echoue #-------------------------------------------------------------------------- def b_quete_echoue(quest_id) return (etatID(quest_id) == -1 ) end
#-------------------------------------------------------------------------- # ● b_quete_reussi #-------------------------------------------------------------------------- def b_quete_reussi(quest_id) return (etatID(quest_id) == 99 ) end
#-------------------------------------------------------------------------- # ● b_quete_termine #-------------------------------------------------------------------------- def b_quete_termine(quest_id) return (b_quete_echoue(quest_id) or b_quete_reussi(quest_id) ) end
#-------------------------------------------------------------------------- # ● b_quete_commence #-------------------------------------------------------------------------- def b_quete_commence(quest_id) return (etatID(quest_id) != 0) end
#-------------------------------------------------------------------------- # ● b_quete_inconu #-------------------------------------------------------------------------- def b_quete_inconu(quest_id) return (etatID(quest_id) == 0) end
#-------------------------------------------------------------------------- # ● finir_quete #-------------------------------------------------------------------------- def finir_quete(quest_id) changer_etat(quest_id, 99) end
#-------------------------------------------------------------------------- # ● echouer_quete #-------------------------------------------------------------------------- def echouer_quete(quest_id) changer_etat(quest_id, -1) end
end # fin de la classe
Créer un script Window_Quests : - Citation :
- #==============================================================================
# ■ Window_Quests # créé par Tonyryu, entièrement modifié et optimisé par Corwin #------------------------------------------------------------------------------ # Permet de visualiser les quêtes en cours #==============================================================================
class Window_Quests < Window_Selectable #-------------------------------------------------------------------------- # ● initialize #-------------------------------------------------------------------------- def initialize
super(54, 104, 260, 330)
refresh
self.index = 0 self.active = true self.opacity = 0
end
#-------------------------------------------------------------------------- # ● refresh #-------------------------------------------------------------------------- def refresh if self.contents != nil self.contents.dispose self.contents = nil
end
@IDquest = [] @nbreQuestActive = 0
for i in 0...$game_quests.nbreQuete() if $game_quests.etatID(i) != 0 @IDquest[@nbreQuestActive] = (i) @nbreQuestActive += 1 end end
@item_max = (@nbreQuestActive == 0 ? 1 : @nbreQuestActive)
self.contents = Bitmap.new(width - 32, @item_max * 32) self.contents.font.name = $fontfaceQuest self.contents.font.size = $fontsizeQuest self.contents.font.color = normal_color
if @nbreQuestActive != 0 for i in 0...(@nbreQuestActive) if $game_quests.etatID(@IDquest[i]) == -1 self.contents.font.color = red_color else if $game_quests.etatID(@IDquest[i]) == 99 self.contents.font.color = green_color else self.contents.font.color = normal_color end end
self.contents.draw_text(4, i * 32, 600, 32, $game_quests.nom(@IDquest[i])) end
end end
#-------------------------------------------------------------------------- # ● update_help #-------------------------------------------------------------------------- def update_help if @nbreQuestActive != 0 if $game_quests.etatID(@IDquest[self.index]) == -1 text = "Quête lamentablement échouée." @help_window.contents.font.color = red_color
else if $game_quests.etatID(@IDquest[self.index]) == 99 text = "Quête terminée avec succés !" @help_window.contents.font.color = green_color
else text = $game_quests.etatNom(@IDquest[self.index]) @help_window.contents.font.color = normal_color end end else text = "Aucune quête en cours..." @help_window.contents.font.color = normal_color end
@help_window.set_text(text)
end end | |
| | | Jordinateur Blob
Nombre de messages : 260 Localisation : Devant mon ordinateur !(enfin sa dépend, peut-être avec ma copine aussi ^^) Humeur/Caractère : Aller a l'école T_T Date d'inscription : 12/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Mar 16 Mai - 23:17 | |
| et la suite : Créer un script Scene_Quests : - Citation :
- #==============================================================================
# ■ Scene_Quests # créé par Tonyryu, entièrement modifié et optimisé par Corwin #------------------------------------------------------------------------------ # Permet de gérer l'affichage des quêtes #==============================================================================
class Scene_Quests #-------------------------------------------------------------------------- # ● main #-------------------------------------------------------------------------- def main # Prèparation des fenêtre
@quest_book= Sprite.new @quest_book.bitmap = RPG::Cache.picture("quests") @quest_book.z = 9999 @quest_book.visible = true @quest_book.opacity = 120
# --- @help_window = Window_Help.new @help_window = Window_QuestsMsge.new @quest_window = Window_Quests.new # Définir une fenêtre d'aide @quest_window.help_window = @help_window @quest_details_window = Window_QuestDetails.new # Boucle de transition, mise à jour graphique et entré clavier Graphics.transition # boucle loop do # Mise à jour graphique Graphics.update # Mise à jour des entrées clavier Input.update # Mise à jour de la class update
# Si la scene n'existe plus, alors sortir de la boucle if $scene != self break end end # figer les graphiques Graphics.freeze # destruction des objets @help_window.dispose @quest_window.dispose @quest_details_window.dispose @quest_book.dispose end #-------------------------------------------------------------------------- # ● update #-------------------------------------------------------------------------- def update # Mise à jour de la fenêtre aide @help_window.update
# Mise à jour de la fenêtre quete @quest_window.update # Gestion des entrées clavier # Si B est appuyé if Input.trigger?(Input::B) # jouer le son d'annulation $game_system.se_play($data_system.cancel_se) # Revenir au menu sur l'élément 6 $scene = Scene_Menu.new(6) return end end end On crée un script Window_QuestsMsge : - Citation :
- #==============================================================================
# ■ Window_QuestsMsge # créé par Corwin #------------------------------------------------------------------------------ #==============================================================================
class Window_QuestsMsge < Window_Base def initialize #super(0, 0, 640, 64) super(330, 104, 270, 348) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontfaceQuest self.contents.font.size = $fontsizeQuest self.opacity = 0 end
def set_text(text, align = 0) # テキストとアラインメントの少なくとも一方が前回と違っている場合 if text != @text or align != @align # テキストを再描画 self.contents.clear # -- test check lgueur ligne
self.contents.font.size= $fontsizeQuest -4 height = contents.text_size("Pg").height #pour avoir une hauteur type line_length = 220 #longueur de la ligne line = 0 lgueur_text = text.length # for i in 0...lgueur_text pos = lgueur_text while contents.text_size(text).width > line_length
pos_nulle = 0 pos = 0 # on affiche tant que le texte n'est pas trop long...
while contents.text_size(text[0, pos]).width < line_length && pos < lgueur_text pos += 1 end # on cherche une position nulle à venir pos_nulle = pos while pos_nulle > 0 if text[pos_nulle] == 32 break end pos_nulle -= 1 end #on a trouvé une position nulle (space), on affiche le texte jusqu'à la pos. nulle if pos_nulle == 0 self.contents.draw_text(4, 2+line*height, self.width - 40,height, text[0,pos]) text = text[pos, lgueur_text] else self.contents.draw_text(4, 2+line*height, self.width - 40,height, text[0,pos_nulle]) text = text[pos_nulle+1, lgueur_text] end line += 1 # permet de descendre d'une ligne pour afficher la suite end if ( text.length > 0 ) self.contents.draw_text(4, 2+line*height, self.width - 40,height, text[0,pos]) line += 1 end line += 1 # end
# -- fin check lgeur ligne
# -- self.contents.draw_text(4, 0, self.width - 40, 32, text, align) @text = text @align = align @actor = nil
end self.visible = true end def set_actor(actor) if actor != @actor self.contents.clear draw_actor_name(actor, 4, 0) draw_actor_state(actor, 140, 0) draw_actor_hp(actor, 284, 0) draw_actor_sp(actor, 460, 0) @actor = actor @text = nil self.visible = true end end
def set_enemy(enemy) text = enemy.name state_text = make_battler_state_text(enemy, 112, false) if state_text != "" text += " " + state_text end set_text(text, 1) end end
On créé un script Window_QuestDetails (pour le titre) : - Citation :
#============================================================================== # ■ Window_QuestDetails # créé par Corwin #------------------------------------------------------------------------------
class Window_QuestDetails < Window_Base
def initialize #super(0, 0, 640, 64) super(0, 0, 640, 64) self.contents = Bitmap.new(width - 32, height - 32) self.opacity = 0 self.contents.font.name = $fontfaceQuest self.contents.font.size = $fontsizeQuest+12 self.contents.font.color = gold_color self.contents.draw_text(0, -8, self.width - 40, 36, "Grimoire des Quêtes...", 1) end
end
Il faut encore lancer la gestion des quêtes : dans le script Scene_Title, méthode main, puis ajouter "$game_quests = Game_Quests.new" comme ceci : - Citation :
- ...
$data_tilesets = load_data("Data/Tilesets.rxdata") $data_common_events = load_data("Data/CommonEvents.rxdata") $data_system = load_data("Data/System.rxdata") $game_system = Game_System.new # Création de l'objet de gestion des quêtes $game_quests = Game_Quests.new ... Ensuite il faut ajouter la progression des quêtes dans les sauvegardes. :star:Aller dans le script Scene_Save, à la méthode write_save_data(file). Ajouter "Marshal.dump($game_quests.get_etat, file)" à la suite des autres "Marshal.dump( .... , file)" :star:Aller dans le script Scene_Load, à la méthode read_save_data(file). Ajouter "$game_quests.set_etat( Marshal.load(file))" à la suite des autres " ... = Marshal.load(file))" Il est très important de respecter l'ordre des données écrites et lues dans les fichiers de sauvegarde, car les données sont écrites et lues dans l'ordre. La gestion de quête vient d'être mis en place dans votre projet, il faut pouvoir la consulter. Pour ça il suffit d'ajouter une entrée à votre menu principal... Comment fonctionne tout cela dans le jeu et les évènements : Tout d'abord, il faut ajouter des description de quête, par défaut il y a 4 quêtes dans l'exemple, elles sont conservé dans le tableau @quete initialisé dans le script Game_Quests, à la méthode initialize : - Citation :
- # données des quêtes
# format : [ nbreEtat, NomQuete, DescriptionEtat1,...,DescriptionEtat2] # @quete = [ #quete n°1 1,"Achats", "Aller en ville pour effectuer des achats divers.",
#quete n°2 3,"Recherche", "Il faut aller voir par-là bas si j'y suis et si j'y suis pas et bien tant pis... on va aller chercher ailleur", "et bien, je cherche encore", "toujours et encore je dois chercher...",
#quete n°3 2,"Pierres", "A récupérer les pierre ", "les pierres sont dans les repaires des méchants pas bô",
#quete n°... 1,"Liste des quêtes...","Il est possible de trouver dans le présent grimoire une liste des différentes quêtes à résoudre"
# attention, la dernière quête ne doit pas avoir de virgule à la fin !
]
A chaque ligne de quête, on a : -> en première valeur, le nombre d'état diférent que la quête pourra prendre, -> en deuxième, le nom de la quête, -> les états de la quête. Vous pouvez rajouter autant de quête que vous le voulez, mais il ne faut pas oublier de modifier la valeur du nombre de quête au début du même script. Dans le jeu, pour commencer des quêtes et les faire évoluer, il suffit d'utiliser les fonctions proposé dans le script Game_quests, la plus importante étant "changer_état(quest_id, neo_etat)". Voici les états particuliers d'une quête : 0 : pas commencé 99 : quête terminé -1 : quête échoué Par exemple, vous voulez commencer la premiére quête, donc la passer à l'état '1', dans un événement vous faites ceci : - Citation :
- <>script: $game_quests.changer_etat(1,1)
si vous voulez maintenant que la quête n°3 passe au 2ème stade, faites : - Citation :
- <>script: $game_quests.changer_etat(3,2)
Si la 2ème quête est ratée, faites: - Citation :
- <>script: $game_quests.changer_etat(2,-1)
Pour le grimoire, comme écrit, il faut que le fichier se nomme quests.png (sauf si vous le changez dans le script, eh!), puis il faut mettre le fichier en question dans le répertoire PICTURES des graphics. A vous de faire preuve d'imagination pour vos grimoires, écrans... vous pouvez trouvez passablement d'images sur google, altavista,... Pour visualiser les quêtes facilement, vous pouvez créer un objet "Livre", "PocketPC",... qui une fois activé lance l'évènement suivant : - Citation :
- <> script : $scene = Scene_Quests.new
Voilà, ce script marche parfaitement et si vous avez des prob, n'hésitez pas a m'en faire part ! A votre service ! Si vous voulez mon image de livre, dites le-moi je vous la donnerais mais la j'ai plus le temps, je risque la mort de par mon papa que j'adore( pas ) | |
| | | GTK Painteur GTK
Nombre de messages : 3595 Age : 34 Humeur/Caractère : Fatigué Date d'inscription : 29/04/2006
Statut Expérience: (100/100) Pixel Point: ---
| Sujet: Re: Super script de gestion des quêtes ! Mar 16 Mai - 23:29 | |
| Ton père veux te tuer !? COUUUUUUUURS !!!! | |
| | | ziko Modo
Nombre de messages : 216 Date d'inscription : 02/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Mer 17 Mai - 0:32 | |
| On doit éviter les doubles post dans les forums, mais pas deproblème cette fois!!! Ce que j'ai compris, c'est un système de quête comme dans la final fantasy X-2 En tout cas il est bien utile, merci pour ton effort jordinateur qui va donner ces fruits bientôt Je peux ajouter que ce script est fait pour les experts, pas pour les débutants!!! | |
| | | Jordinateur Blob
Nombre de messages : 260 Localisation : Devant mon ordinateur !(enfin sa dépend, peut-être avec ma copine aussi ^^) Humeur/Caractère : Aller a l'école T_T Date d'inscription : 12/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Mer 17 Mai - 22:44 | |
| c'est le meilleur script que je n'ai jamais trouvé alors merci de me remercier je posterais mon image plus tard sinon je vais me refaire tuer ! | |
| | | Final Fantasy Blob
Nombre de messages : 189 Age : 32 Date d'inscription : 13/07/2006
| Sujet: Re: Super script de gestion des quêtes ! Jeu 13 Juil - 14:34 | |
| | |
| | | Jordinateur Blob
Nombre de messages : 260 Localisation : Devant mon ordinateur !(enfin sa dépend, peut-être avec ma copine aussi ^^) Humeur/Caractère : Aller a l'école T_T Date d'inscription : 12/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Ven 14 Juil - 12:29 | |
| En fait nan...Sa servirais a rien, car c'est vous qui décidez de l'image que vous mettez en fond, et moi je veux faire la surprise pour mon nouveau système de gestion des quêtes dans ma nouvelle version rmxp pour la rentrée...Alors surprise... | |
| | | Final Fantasy Blob
Nombre de messages : 189 Age : 32 Date d'inscription : 13/07/2006
| Sujet: Re: Super script de gestion des quêtes ! Ven 14 Juil - 13:05 | |
| d'accord, c'est encore plus personnalisé. c'est cool. | |
| | | Gothor Blob Jaune
Nombre de messages : 856 Age : 31 Localisation : Yvelines Humeur/Caractère : Mauvais Date d'inscription : 11/06/2006
Statut Expérience: (0/25) Pixel Point: 30
| Sujet: Re: Super script de gestion des quêtes ! Mer 2 Aoû - 18:58 | |
| Moi je veux bien ton image de livre s'il te plait edit: c'est bon, j'ais trouvé une superbe image | |
| | | Zelda_PL Blob Jaune
Nombre de messages : 797 Age : 31 Localisation : En train d'éliminé les deadras de Cyrodiil Date d'inscription : 09/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Mer 12 Sep - 4:33 | |
| Salut, je compte utiliser ce genre de script dans mon jeu, mais la je trouve sa compliquer a comprendre, alors quelqu'un a-t-il une version plus simple... ou s'il prefere m'expliquer plus clairement les explication de jordinateur | |
| | | GTK Painteur GTK
Nombre de messages : 3595 Age : 34 Humeur/Caractère : Fatigué Date d'inscription : 29/04/2006
Statut Expérience: (100/100) Pixel Point: ---
| Sujet: Re: Super script de gestion des quêtes ! Mer 12 Sep - 12:57 | |
| Ben c'est pas compliqué. Tu ajoute les nouveaux scripts et les morceuax de code là où il faut. Puis, tu utilise les codes en event quand tu veux modifier l'état de ta quête. Je voit pas se que tu comprends pas ? | |
| | | Zelda_PL Blob Jaune
Nombre de messages : 797 Age : 31 Localisation : En train d'éliminé les deadras de Cyrodiil Date d'inscription : 09/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Jeu 13 Sep - 4:07 | |
| ben c'est comment faire en sorte que le joueur en pesant par exemple sur "Q" il accède aux quête puis il vois ou est-ce qu'il est rendu quêtes... exemple...
Le joueur a trouver l'objet, il passe au stade 2 de la quête... sois le porter Jake, puis stade 3 de la même quête... voler tel objet... et etc. | |
| | | Gothor Blob Jaune
Nombre de messages : 856 Age : 31 Localisation : Yvelines Humeur/Caractère : Mauvais Date d'inscription : 11/06/2006
Statut Expérience: (0/25) Pixel Point: 30
| Sujet: Re: Super script de gestion des quêtes ! Jeu 13 Sep - 21:28 | |
| Il faut lire - Jordinateur a écrit:
- Comment fonctionne tout cela dans le jeu et les évènements :
Tout d'abord, il faut ajouter des description de quête, par défaut il y a 4 quêtes dans l'exemple, elles sont conservé dans le tableau @quete initialisé dans le script Game_Quests, à la méthode initialize :
- Citation :
- # données des quêtes
# format : [ nbreEtat, NomQuete, DescriptionEtat1,...,DescriptionEtat2] # @quete = [ #quete n°1 1,"Achats", "Aller en ville pour effectuer des achats divers.",
#quete n°2 3,"Recherche", "Il faut aller voir par-là bas si j'y suis et si j'y suis pas et bien tant pis... on va aller chercher ailleur", "et bien, je cherche encore", "toujours et encore je dois chercher...",
#quete n°3 2,"Pierres", "A récupérer les pierre ", "les pierres sont dans les repaires des méchants pas bô",
#quete n°... 1,"Liste des quêtes...","Il est possible de trouver dans le présent grimoire une liste des différentes quêtes à résoudre"
# attention, la dernière quête ne doit pas avoir de virgule à la fin !
]
A chaque ligne de quête, on a :
-> en première valeur, le nombre d'état diférent que la quête pourra prendre, -> en deuxième, le nom de la quête, -> les états de la quête.
Vous pouvez rajouter autant de quête que vous le voulez, mais il ne faut pas oublier de modifier la valeur du nombre de quête au début du même script.
Dans le jeu, pour commencer des quêtes et les faire évoluer, il suffit d'utiliser les fonctions proposé dans le script Game_quests, la plus importante étant "changer_état(quest_id, neo_etat)".
Voici les états particuliers d'une quête :
0 : pas commencé 99 : quête terminé -1 : quête échoué
Par exemple, vous voulez commencer la premiére quête, donc la passer à l'état '1', dans un événement vous faites ceci : - Citation :
- <>script: $game_quests.changer_etat(1,1)
si vous voulez maintenant que la quête n°3 passe au 2ème stade, faites : - Citation :
- <>script: $game_quests.changer_etat(3,2)
Si la 2ème quête est ratée, faites: - Citation :
- <>script: $game_quests.changer_etat(2,-1)
Pour le grimoire, comme écrit, il faut que le fichier se nomme quests.png (sauf si vous le changez dans le script, eh!), puis il faut mettre le fichier en question dans le répertoire PICTURES des graphics.
A vous de faire preuve d'imagination pour vos grimoires, écrans... vous pouvez trouvez passablement d'images sur google, altavista,...
Pour visualiser les quêtes facilement, vous pouvez créer un objet "Livre", "PocketPC",... qui une fois activé lance l'évènement suivant : - Citation :
- <> script : $scene = Scene_Quests.new
Voilà, ce script marche parfaitement et si vous avez des prob, n'hésitez pas a m'en faire part ! A votre service ! Si vous voulez mon image de livre, dites le-moi je vous la donnerais mais la j'ai plus le temps, je risque la mort de par mon papa que j'adore( pas ) | |
| | | Zelda_PL Blob Jaune
Nombre de messages : 797 Age : 31 Localisation : En train d'éliminé les deadras de Cyrodiil Date d'inscription : 09/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Ven 14 Sep - 1:39 | |
| mais les quête faut les entrer via les events, ou via le scripts | |
| | | GTK Painteur GTK
Nombre de messages : 3595 Age : 34 Humeur/Caractère : Fatigué Date d'inscription : 29/04/2006
Statut Expérience: (100/100) Pixel Point: ---
| Sujet: Re: Super script de gestion des quêtes ! Ven 14 Sep - 13:14 | |
| Ben dans les events ya un bouton pour mettre un morceau de code, c'est ce bouton là pour modifier l'état des quêtes et les afficher. | |
| | | Zelda_PL Blob Jaune
Nombre de messages : 797 Age : 31 Localisation : En train d'éliminé les deadras de Cyrodiil Date d'inscription : 09/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Sam 15 Sep - 3:27 | |
| ouais, sa je sais, mais dernière question ( je dois vous ennuyez ^^ ) on rentre ou la définition de la quête... via le script ? | |
| | | Gothor Blob Jaune
Nombre de messages : 856 Age : 31 Localisation : Yvelines Humeur/Caractère : Mauvais Date d'inscription : 11/06/2006
Statut Expérience: (0/25) Pixel Point: 30
| Sujet: Re: Super script de gestion des quêtes ! Sam 15 Sep - 11:59 | |
| Je me répète... - Jordinateur a écrit:
- Tout d'abord, il faut ajouter des description de quête, par défaut il y a 4 quêtes dans l'exemple, elles sont conservé dans le tableau @quete initialisé dans le script Game_Quests, à la méthode initialize :
- Citation :
- # données des quêtes
# format : [ nbreEtat, NomQuete, DescriptionEtat1,...,DescriptionEtat2] # @quete = [ #quete n°1 1,"Achats", "Aller en ville pour effectuer des achats divers.",
#quete n°2 3,"Recherche", "Il faut aller voir par-là bas si j'y suis et si j'y suis pas et bien tant pis... on va aller chercher ailleur", "et bien, je cherche encore", "toujours et encore je dois chercher...",
#quete n°3 2,"Pierres", "A récupérer les pierre ", "les pierres sont dans les repaires des méchants pas bô",
#quete n°... 1,"Liste des quêtes...","Il est possible de trouver dans le présent grimoire une liste des différentes quêtes à résoudre"
# attention, la dernière quête ne doit pas avoir de virgule à la fin !
]
A chaque ligne de quête, on a :
-> en première valeur, le nombre d'état diférent que la quête pourra prendre, -> en deuxième, le nom de la quête, -> les états de la quête.
Vous pouvez rajouter autant de quête que vous le voulez, mais il ne faut pas oublier de modifier la valeur du nombre de quête au début du même script. C'est tout, tout est écrit... | |
| | | Zelda_PL Blob Jaune
Nombre de messages : 797 Age : 31 Localisation : En train d'éliminé les deadras de Cyrodiil Date d'inscription : 09/05/2006
| Sujet: Re: Super script de gestion des quêtes ! Sam 22 Sep - 8:09 | |
| | |
| | | Contenu sponsorisé
| Sujet: Re: Super script de gestion des quêtes ! | |
| |
| | | | Super script de gestion des quêtes ! | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |