Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  




Partagez
 

 [VX] Menu de quête

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
axel4
Ancien staffeux
Ancien staffeux
axel4

Masculin
Messages postés : 684
Date d'inscription : 31/08/2008
Jauge LPC :
[VX] Menu de quête 891527140032 / 10032 / 100[VX] Menu de quête 8915271400


[VX] Menu de quête Empty
MessageSujet: [VX] Menu de quête   [VX] Menu de quête EmptySam 18 Juil 2009 - 13:51

Non plus de moi Very Happy

Script pour RMVX, la compatibilité avec RMXP n'est pas assurée.
Alors, que permet ce script? Et bien, de rajouter un menu de quêtes, dans le menu (bon, il faut modifier le script du menu, mais je vais l'expliquer là) tout simplement. Avec des options comme si la quête est réussie, si elle est vérouillée, inachevée...
LES IMAGES NECESSAIRES AU FONCTIONNEMENT DU SCRIPT SONT A TELECHARGER ICI: http://www.mediafire.com/file/fkmyihmytot/ImagesPack.zip

Alors, le script en lui même:



Portion de code:

=begin

#----Script créé par Josué Alvarez (RPG-Man)---#

Bon, quelques explications s'imposent :



=== Dans "def initialize" on doit avoir : ===

(Pour en rajouter)

@id_switch_qX = Y

Avec X : numéro de la quête

Avec Y : ID du switch qui fait que la quête est terminée



@id_switch_qdX = Y

Avec X : numéro de la quête

avec Y : ID du switch qui fait que la quête est débloquée



=== Dans "Def create_command_window", on doit avoir : ===

#---- Quête 1 ----#

if $game_switches[@id_switch_qd1] == true

s1 = "Nom quête 1"

else

s1 = "Quête_1 (vérouillée)"

end

#---- Quête 2 ----#

if $game_switches[@id_switch_qd2] == true

s2 = "Nom quête 2"

else

s2 = "Quête_2 (vérouillée)"

end

#---- Quête 3 ----#

if $game_switches[@id_switch_qd3] == true

s3 = "Nom quête 3"

else

s3 = "Quête_3 (vérouillée)"

end

@command_window = Window_Command.new(160, [s1, s2, s3])



Si vous rajoutez une quête, rajoutez pour que ça donne ça:

=== Dans "Def create_command_window", on doit avoir : ===

#---- Quête 1 ----#

if $game_switches[@id_switch_qd1] == true

s1 = "Nom quête 1"

else

s1 = "Quête_1 (vérouillée)"

end

#---- Quête 2 ----#

if $game_switches[@id_switch_qd2] == true

s2 = "Nom quête 2"

else

s2 = "Quête_2 (vérouillée)"

end

#---- Quête 3 ----#

if $game_switches[@id_switch_qd3] == true

s3 = "Nom quête 3"

else

s3 = "Quête_3 (vérouillée)"

end

#---- Quête 4 ----#

if $game_switches[@id_switch_qd4] == true

s4 = "Nom quête 4"

else

s4 = "Quête_4 (vérouillée)

end

@command_window = Window_Command.new(160, [s1, s2, s3, s4 ]) #(NE PAS OUBLIER DE RAJOUTER ICI!!)



=== Dans "texte_quete" : ===

A chaque fois qu'une quête est rajoutée, il faut rajouter (au bon endroit, mais ça se voir)

when (numero de la quete, SANS PARENTHESES!!)

@image_b.bitmap = Cache.picture("Nom de l'image")



== Dans "def image_c" ===

Si vous avez rajouté des quêtes :

when (numéro de la quete -1, vous verrez c'est à la suite)

if $game_switches[@id_switch_qX] == true #Avec X le n° de la quete

@image_c.bitmap = Cache.picture("Quete_ter")



=== Dans def image_d ===

Si vous avez rajouté des quêtes :

when (numéro de la quete -1, vous verrez c'est à la suite)

if $game_switches[@id_switch_qdX] == false # Avec X numéro de la quête

@image_c.bitmap = Cache.picture("Quete_cache")



=== Dans "def update_command_selection" :===

Si vous avez rajouté une quête, rajoutez :

when (numéro de la quete -1, vous verrez c'est à la suite)

@image_a = (Le même n° que dans when)

texte_quete

image_c

image_d

NE PAS OUBLIER LES IMAGES QUI VONT AVEC !!!!

=end

#================================================================

#Classe Scene_Quete par RPG-Man #================================================================

class Scene_Quete

def main

start

picture_back

perform_transition

Input.update

loop do

Graphics.update

Input.update

update

break if $scene != self

end

Graphics.update

pre_terminate

Graphics.freeze

terminate

end



def initialize(menu_index = 0)

@menu_index = menu_index

picture_back

texte_quete

image_c

#---- Switches quetes débloquées ---#

@id_switch_qd1 = 96

@id_switch_qd2 = 97

@id_switch_qd3 = 97

@id_switch_qd4 = 97

@id_switch_qd5 = 97

@id_switch_qd6 = 98

@id_switch_qd7 = 98

@id_switch_qd8 = 98

@id_switch_qd9 = 98

#---- Switches quetes terminées ---#

@id_switch_q1 = 96

@id_switch_q2 = 99

@id_switch_q3 = 99

@id_switch_q4 = 99

@id_switch_q5 = 99

@id_switch_q6 = 100

@id_switch_q7 = 100

@id_switch_q8 = 100

@id_switch_q9 = 100



end



def create_menu_background

@menuback_sprite = Sprite.new

@menuback_sprite.bitmap = $game_temp.background_bitmap

@menuback_sprite.color.set(16, 16, 16, 128)

update_menu_background

end



def dispose_menu_background

@menuback_sprite.dispose

end



def update_menu_background

end



def perform_transition

Graphics.transition(10)

end



def start

create_menu_background

create_command_window

picture_back

texte_quete

image_c

end



def pre_terminate

@command_window.close

@picture_back = nil

begin

@command_window.update

Graphics.update

end

end

def terminate

dispose_menu_background

@command_window.dispose



end



def update

update_menu_background

@command_window.update

texte_quete

if @command_window.active

update_command_selection

elsif @status_window.active

update_actor_selection

picture_back

end

end



#=============================================

#---- Image fond ----#

#=============================================

def picture_back

#~ @picture_back = Sprite.new

#~ @picture_back.bitmap = Cache.picture("Menu_quetes")

end

#=============================================

#---- Affichage des noms des quetes ----#

#=============================================

def create_command_window

#---- Quête 1 ----#

if $game_switches[@id_switch_qd1] == true

s1 = "Quête 1"

else

s1 = "Quête_1 (vérouillée)"

end

#---- Quête 2 ----#

if $game_switches[@id_switch_qd2] == true

s2 = "Quête 2"

else

s2 = "Quête_2 (vérouillée)"

end

#---- Quête 3 ----#

if $game_switches[@id_switch_qd3] == true

s3 = "Quête 3"

else

s3 = "Quête_3 (vérouillée)"

end

#---- Quête 4 ----#

if $game_switches[@id_switch_qd4] == true

s4 = "Quête 4"

else

s4 = "Quête_4 (vérouillée)"

end

#---- Quête 5 ----#

if $game_switches[@id_switch_qd5] == true

s5 = "Quête 5"

else

s5 = "Quête_5 (vérouillée)"

end

#---- Quête 6 ----#

if $game_switches[@id_switch_qd6] == true

s6 = "Quête 6"

else

s6 = "Quête_6 (vérouillée)"

end

#---- Quête 7 ----#

if $game_switches[@id_switch_qd7] == true

s7 = "Quête 7"

else

s7 = "Quête_7 (vérouillée)"

end

#---- Quête 8 ----#

if $game_switches[@id_switch_qd8] == true

s8 = "Quête 8"

else

s8 = "Quête_8 (vérouillée)"

end

#---- Quête 8 ----#

if $game_switches[@id_switch_qd8] == true

s8 = "Quête 8"

else

s8 = "Quête_8 (vérouillée)"

end

#---- Quête 9 ----#

if $game_switches[@id_switch_qd9] == true

s9 = "Quête 9"

else

s9 = "Quête_9 (vérouillée)"

end

@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8, s9])

@command_window.index = @menu_index

@command_window.openness = 0

@command_window.open

end

#=============================================

#---- Affichage de l'image de quête ----#

#=============================================

def texte_quete

if @image_b == nil

@image_b = Sprite.new

@image_b.opacity = 255

case @image_a

when 0

@image_b.bitmap = Cache.picture("Quete_1")

when 1

@image_b.bitmap = Cache.picture("Quete_2")

when 2

@image_b.bitmap = Cache.picture("Quete_3")

when 3

@image_b.bitmap = Cache.picture("Quete_4")

when 4

@image_b.bitmap = Cache.picture("Quete_5")

when 5

@image_b.bitmap = Cache.picture("Quete_5")

when 6

@image_b.bitmap = Cache.picture("Quete_5")

when 7

@image_b.bitmap = Cache.picture("Quete_5")

when 8

@image_b.bitmap = Cache.picture("Quete_5")

end

end

end

#=============================================

#---- Affichage de l'image lorsque la quête est réussie ----#

#=============================================

def image_c

if @image_c == nil

@image_c = Sprite.new

case @image_a

when 0

if $game_switches[@id_switch_q1] == true

@image_c.bitmap = Cache.picture("Quete_ter")

end

when 1

if $game_switches[@id_switch_q2] == true

@image_c.bitmap = Cache.picture("Quete_ter")

end

when 2

if $game_switches[@id_switch_q3] == true

@image_c.bitmap = Cache.picture("Quete_ter")

end

when 3

if $game_switches[@id_switch_q4] == true

@image_c.bitmap = Cache.picture("Quete_ter")

end

when 4

if $game_switches[@id_switch_q5] == true

@image_c.bitmap = Cache.picture("Quete_ter")

end

when 5

if $game_switches[@id_switch_q6] == true

@image_c.bitmap = Cache.picture("Quete_ter")

end

when 6

if $game_switches[@id_switch_q7] == true

@image_c.bitmap = Cache.picture("Quete_ter")

end

when 7

if $game_switches[@id_switch_q8] == true

@image_c.bitmap = Cache.picture("Quete_ter")

end

when 8

if $game_switches[@id_switch_q9] == true

@image_c.bitmap = Cache.picture("Quete_ter")

end



end

end

end

#================================================

#---- Affichage de l'image cachant la quête non débloquée ----#

#================================================

def image_d

if @image_d == nil

@image_d = Sprite.new

case @image_a

when 0

if $game_switches[@id_switch_qd1] == false

@image_c.bitmap = Cache.picture("Quete_cache")

@image_b.dispose

end

when 1

if $game_switches[@id_switch_qd2] == false

@image_c.bitmap = Cache.picture("Quete_cache")

@image_b.dispose

end

when 2

if $game_switches[@id_switch_qd3] == false

@image_c.bitmap = Cache.picture("Quete_cache")

@image_b.dispose

end

when 3

if $game_switches[@id_switch_qd4] == false

@image_c.bitmap = Cache.picture("Quete_cache")

@image_b.dispose

end

when 4

if $game_switches[@id_switch_qd5] == false

@image_c.bitmap = Cache.picture("Quete_cache")

@image_b.dispose

end

when 5

if $game_switches[@id_switch_qd6] == false

@image_c.bitmap = Cache.picture("Quete_cache")

@image_b.dispose

end

when 6

if $game_switches[@id_switch_qd7] == false

@image_c.bitmap = Cache.picture("Quete_cache")

@image_b.dispose

end

when 7

if $game_switches[@id_switch_qd8] == false

@image_c.bitmap = Cache.picture("Quete_cache")

@image_b.dispose

end

when 8

if $game_switches[@id_switch_qd9] == false

@image_c.bitmap = Cache.picture("Quete_cache")

@image_b.dispose

end





end

end

end

#================================================

#---- Sélection ----#

#================================================

def update_command_selection

if Input.trigger?(Input::B)

Sound.play_cancel

$scene = Scene_Menu.new

@picture_back = nil

@image_b = nil

@image_a = nil

@image_c = nil #Réussie

@image_d = nil #Cache image

elsif Input.trigger?(Input::C)

Sound.play_decision

if @image_b != nil and

@image_c != nil and

@image_d != nil

@image_b.dispose

@image_c.dispose

@image_d.dispose

end

@image_a = nil

@image_c = nil

@image_d = nil

@image_b = nil

case @command_window.index

when 0

@image_a = 0

texte_quete

image_c

image_d

when 1

@image_a = 1

texte_quete

image_c

image_d

when 2

@image_a = 2

texte_quete

image_c

image_d

when 3

@image_a = 3

texte_quete

image_c

image_d

when 4

@image_a = 4

texte_quete

image_c

image_d

when 5

@image_a = 5

texte_quete

image_c

image_d

when 6

@image_a = 6

texte_quete

image_c

image_d

when 7

@image_a = 7

texte_quete

image_c

image_d

when 8

@image_a = 8

texte_quete

image_c

image_d

end

end

end

end

Alors, la plupart des explications sont dans le script, mais, voici la méthode pour l'intégrer au menu (je ferais bien un copier coller de Scene_Menu, mais ça passerait pas à mon avis):
Allez dans Scene_Menu, ici :



Portion de code:

def create_command_window

s1 = Vocab::item

s2 = Vocab::skill

s3 = Vocab::equip

s4 = Vocab::status

s5 = Vocab::save

s6 = Vocab::game_end

@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])


remplacez cette portion de code par:



Portion de code:


def create_command_window

s1 = Vocab::item

s2 = Vocab::skill

s3 = Vocab::equip

s4 = Vocab::status

s5 = Vocab::save

s6 = "Quêtes"

s7 = Vocab::game_end

@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])


Ensuite, TRES IMPORTANT (sinon, ça va rien faire, voire si vous sélectionnez "quêtes" ça fera la fonction quitter à la place!):
Ici:



Portion de code:

case @command_window.index

when 0 # Item

$scene = Scene_Item.new

when 1,2,3 # Skill, equipment, status

start_actor_selection

when 4 # Save

$scene = Scene_File.new(true, false, false)

when 5 # End Game

$scene = Scene_End.new

end



Remplacez par:



Portion de code:


case @command_window.index

when 0 # Item

$scene = Scene_Item.new

when 1,2,3 # Skill, equipment, status

start_actor_selection

when 4 # Save

$scene = Scene_File.new(true, false, false)

when 5

$scene = Scene_Quete.new

when 6

$scene = Scene_End.new

end



Des screens? Parfait, voici ceux faits sur Ouroboros (de Yakzawik) :

[VX] Menu de quête Inache10

[VX] Menu de quête Termin10


[VX] Menu de quête V-roui10

Bien sûr, vous pouvez changer les images, MAIS ATTENTION AU NOM! Ou alors, si vous n'avez pas le bon nom, changez le dans le script.

Voilà, bon making! Si vous avez des questions, posez-les moi!
Revenir en haut Aller en bas
http://rpgmakerboss.idoo.com
Namor41
Ancien staffeux
Ancien staffeux
Namor41

Masculin
Messages postés : 721
Date d'inscription : 23/07/2008
Jauge LPC :
[VX] Menu de quête 8915271400100 / 100100 / 100[VX] Menu de quête 8915271400

[VX] Menu de quête Doyen10
[VX] Menu de quête Altrui10
[VX] Menu de quête Mythe_10
[VX] Menu de quête Travai10


[VX] Menu de quête Empty
MessageSujet: Re: [VX] Menu de quête   [VX] Menu de quête EmptySam 18 Juil 2009 - 16:32

Une petite démo serait je crois souhaité. Ça fait compliquer à comprendre juste d'avoir le script commenté. Les explications pourraient être mieux faites et plus simple à comprendre, car là j'y comprend pas grand chose. Je suis assez nul en script.

Merci.
Revenir en haut Aller en bas
axel4
Ancien staffeux
Ancien staffeux
axel4

Masculin
Messages postés : 684
Date d'inscription : 31/08/2008
Jauge LPC :
[VX] Menu de quête 891527140032 / 10032 / 100[VX] Menu de quête 8915271400


[VX] Menu de quête Empty
MessageSujet: Re: [VX] Menu de quête   [VX] Menu de quête EmptyDim 19 Juil 2009 - 12:40

Je copie ce que dit celui qui l'a posté.

Je comprends un peu mais une démo serait dur à mettre :s

Le script n'est pas ma tasse de thé.

( C'est mieux en Event =)
Revenir en haut Aller en bas
http://rpgmakerboss.idoo.com
cecile
Paysan (niveau 1)
Paysan (niveau 1)
avatar

Messages postés : 2
Date d'inscription : 06/12/2009
Jauge LPC :
[VX] Menu de quête 89152714000 / 1000 / 100[VX] Menu de quête 8915271400


[VX] Menu de quête Empty
MessageSujet: Re: [VX] Menu de quête   [VX] Menu de quête EmptyDim 6 Déc 2009 - 16:37

Jai rien compris une vidéo serai mieu aproprié mais merci quand mem pour ton aide Jé juste pas compris la fin *
Revenir en haut Aller en bas
Contenu sponsorisé




[VX] Menu de quête Empty
MessageSujet: Re: [VX] Menu de quête   [VX] Menu de quête Empty

Revenir en haut Aller en bas
 
[VX] Menu de quête
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Menu Parchemin 1.0 (Menu Principal personnalisé)
» Système de Quête
» Mon Projet : Sentinelles la Quête du Temps
» Système de quête très avancé
» Yggdrasil , la quête du Dragon de sang

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker VX :: Menu-
Sauter vers: