Partagez
Aller en bas
avatar
therapie
Membre

Nombre de messages : 58
Age : 22
Localisation : Toulon
Distinction : aucune
Date d'inscription : 10/11/2009
http://therapie-rmvx.jimdo.com

Ajout d'une commande dans le script de quête [résolu]

le Mer 2 Mar 2011 - 15:15
Bonjours à tous Wink Bon d'abord merci de lire ce topic et désolé je savais pas trop où le mettre (c'est pas une demande de script mais c'est un bug sur un script car il n'est pas assez poussé enfin vous verrez).
J'utilise le script de quêtes suivant :
Spoiler:
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 = 29
@id_switch_qd2 = 37
@id_switch_qd3 = 40
@id_switch_qd4 = 43
@id_switch_qd5 = 45
@id_switch_qd6 = 48
@id_switch_qd7 = 50
@id_switch_qd8 = 52
@id_switch_qd9 = 57
@id_switch_qd10 = 59
@id_switch_qd11 = 61
@id_switch_qd12 = 69
@id_switch_qd13 = 72
@id_switch_qd14 = 74
@id_switch_qd15 = 78
@id_switch_qd16 = 91
@id_switch_qd17 = 999
@id_switch_qd18 = 999
@id_switch_qd19 = 999
@id_switch_qd20 = 999
#---- Switches quetes terminées ---#
@id_switch_q1 = 30
@id_switch_q2 = 38
@id_switch_q3 = 41
@id_switch_q4 = 44
@id_switch_q5 = 46
@id_switch_q6 = 49
@id_switch_q7 = 51
@id_switch_q8 = 53
@id_switch_q9 = 58
@id_switch_q10 = 60
@id_switch_q11 = 62
@id_switch_q12 = 70
@id_switch_q13 = 73
@id_switch_q14 = 75
@id_switch_q15 = 79
@id_switch_q16 = 92
@id_switch_q17 = 999
@id_switch_q18 = 999
@id_switch_q19 = 999
@id_switch_q20 = 999

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 = "Coupeur d'arbres"
else
  s1 = "Quête (vérouillée)"
end
#---- Quête 2 ----#
if $game_switches[@id_switch_qd2] == true
s2 = "Un jeu d'enfant"
else
  s2 = "Quête (vérouillée)"
end
#---- Quête 3 ----#
if $game_switches[@id_switch_qd3] == true
s3 = "Chasse aux ailes"
else
  s3 = "Quête (vérouillée)"
end
#---- Quête 4 ----#
if $game_switches[@id_switch_qd4] == true
s4 = "La devinette"
else
s4 = "Quête (vérouillée)"
end
#---- Quête 5 ----#
if $game_switches[@id_switch_qd5] == true
s5 = "Vole à Tercia"
else
s5 = "Quête (vérouillée)"
end
#---- Quête 6 ----#
if $game_switches[@id_switch_qd6] == true
s6 = "Le cadeau"
else
s6 = "Quête (vérouillée)"
end
#---- Quête 7 ----#
if $game_switches[@id_switch_qd7] == true
s7 = "Commande d'arme"
else
s7 = "Quête (vérouillée)"
end
#---- Quête 8 ----#
if $game_switches[@id_switch_qd8] == true
s8 = "Sale Champignon"
else
s8 = "Quête (vérouillée)"
end
#---- Quête 9 ----#
if $game_switches[@id_switch_qd9] == true
s9 = "Drôle d'ours"
else
s9 = "Quête (vérouillée)"
end
#---- Quête 10 ----#
if $game_switches[@id_switch_qd10] == true
s10 = "Drôle de lézards"
else
s10 = "Quête (vérouillée)"
end
#---- Quête 11 ----#
if $game_switches[@id_switch_qd11] == true
s11 = "Jeux d'enfants"
else
s11 = "Quête (vérouillée)"
end
#---- Quête 12 ----#
if $game_switches[@id_switch_qd12] == true
s12 = "Sauver le chat"
else
s12 = "Quête (vérouillée)"
end
#---- Quête 13 ----#
if $game_switches[@id_switch_qd13] == true
s13 = "La flemme"
else
s13 = "Quête (vérouillée)"
end
#---- Quête 14 ----#
if $game_switches[@id_switch_qd14] == true
s14 = "Griffonnier"
else
s14 = "Quête (vérouillée)"
end
#---- Quête 15 ----#
if $game_switches[@id_switch_qd15] == true
s15 = "Sacrifice ?"
else
s15 = "Quête (vérouillée)"
end
#---- Quête 16 ----#
if $game_switches[@id_switch_qd16] == true
s16 = "Mon arme"
else
s16 = "Quête (vérouillée)"
end
#---- Quête 17 ----#
if $game_switches[@id_switch_qd17] == true
s17 = "Quête 17"
else
s17 = "Quête (vérouillée)"
end
#---- Quête 18 ----#
if $game_switches[@id_switch_qd18] == true
s18 = "Quête 18"
else
s18 = "Quête (vérouillée)"
end
#---- Quête 19 ----#
if $game_switches[@id_switch_qd19] == true
s19 = "Quête 19"
else
s19 = "Quête (vérouillée)"
end
#---- Quête 20 ----#
if $game_switches[@id_switch_qd20] == true
s20 = "Quête 20"
else
s20 = "Quête (vérouillée)"
end
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8, s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20])
@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_6")
when 6
@image_b.bitmap = Cache.picture("Quete_7")
when 7
@image_b.bitmap = Cache.picture("Quete_8")
when 8
@image_b.bitmap = Cache.picture("Quete_9")
when 9
@image_b.bitmap = Cache.picture("Quete_10")
when 10
@image_b.bitmap = Cache.picture("Quete_11")
when 11
@image_b.bitmap = Cache.picture("Quete_12")
when 12
@image_b.bitmap = Cache.picture("Quete_13")
when 13
@image_b.bitmap = Cache.picture("Quete_14")
when 14
@image_b.bitmap = Cache.picture("Quete_15")
when 15
@image_b.bitmap = Cache.picture("Quete_16")
when 16
@image_b.bitmap = Cache.picture("Quete_17")
when 17
@image_b.bitmap = Cache.picture("Quete_18")
when 18
@image_b.bitmap = Cache.picture("Quete_19")
when 19
@image_b.bitmap = Cache.picture("Quete_20")
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
            when 9
if $game_switches[@id_switch_q10] == true
@image_c.bitmap = Cache.picture("Quete_ter")
end
            when 10
if $game_switches[@id_switch_q11] == true
@image_c.bitmap = Cache.picture("Quete_ter")
end
            when 11
if $game_switches[@id_switch_q12] == true
@image_c.bitmap = Cache.picture("Quete_ter")
end
            when 12
if $game_switches[@id_switch_q13] == true
@image_c.bitmap = Cache.picture("Quete_ter")
end
            when 13
if $game_switches[@id_switch_q14] == true
@image_c.bitmap = Cache.picture("Quete_ter")
end
            when 14
if $game_switches[@id_switch_q15] == true
@image_c.bitmap = Cache.picture("Quete_ter")
end
            when 15
if $game_switches[@id_switch_q16] == true
@image_c.bitmap = Cache.picture("Quete_ter")
end
            when 16
if $game_switches[@id_switch_q17] == true
@image_c.bitmap = Cache.picture("Quete_ter")
end
            when 17
if $game_switches[@id_switch_q18] == true
@image_c.bitmap = Cache.picture("Quete_ter")
end
            when 18
if $game_switches[@id_switch_q19] == true
@image_c.bitmap = Cache.picture("Quete_ter")
end
            when 19
if $game_switches[@id_switch_q20] == 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
            when 9
if $game_switches[@id_switch_qd10] == false
@image_c.bitmap = Cache.picture("Quete_cache")
@image_b.dispose
end
            when 10
if $game_switches[@id_switch_qd11] == false
@image_c.bitmap = Cache.picture("Quete_cache")
@image_b.dispose
end
            when 11
if $game_switches[@id_switch_qd12] == false
@image_c.bitmap = Cache.picture("Quete_cache")
@image_b.dispose
end
            when 12
if $game_switches[@id_switch_qd13] == false
@image_c.bitmap = Cache.picture("Quete_cache")
@image_b.dispose
end
            when 13
if $game_switches[@id_switch_qd14] == false
@image_c.bitmap = Cache.picture("Quete_cache")
@image_b.dispose
end
            when 14
if $game_switches[@id_switch_qd15] == false
@image_c.bitmap = Cache.picture("Quete_cache")
@image_b.dispose
end
            when 15
if $game_switches[@id_switch_qd16] == false
@image_c.bitmap = Cache.picture("Quete_cache")
@image_b.dispose
end
            when 16
if $game_switches[@id_switch_qd17] == false
@image_c.bitmap = Cache.picture("Quete_cache")
@image_b.dispose
end
            when 17
if $game_switches[@id_switch_qd18] == false
@image_c.bitmap = Cache.picture("Quete_cache")
@image_b.dispose
end
            when 18
if $game_switches[@id_switch_qd19] == false
@image_c.bitmap = Cache.picture("Quete_cache")
@image_b.dispose
end
            when 19
if $game_switches[@id_switch_qd20] == 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
when 9
@image_a = 9
texte_quete
image_c
image_d
when 10
@image_a = 10
texte_quete
image_c
image_d
when 11
@image_a = 11
texte_quete
image_c
image_d
when 12
@image_a = 12
texte_quete
image_c
image_d
when 13
@image_a = 13
texte_quete
image_c
image_d
when 14
@image_a = 14
texte_quete
image_c
image_d
when 15
@image_a = 15
texte_quete
image_c
image_d
when 16
@image_a = 16
texte_quete
image_c
image_d
when 17
@image_a = 17
texte_quete
image_c
image_d
when 18
@image_a = 18
texte_quete
image_c
image_d
when 19
@image_a = 19
texte_quete
image_c
image_d
end
end
end
end
Ce script marche comme je le désirerez mis à part un point assez problématique -_-" :
Une fois un certain nombre de quête débloqué la fenêtre continu mais pas normalement, enfaite elle continue comme si l'écran n'avait aucune limite ==" Voilà l'exemple en image :
Spoiler:
Ça ne ce voit pas mais mon curseur et sur la 18/19 quêtes à peu près xD
Donc j'aurais aimé que quelqu'un prenne le temps de rajouter le module dans le script car zang' m'avais passé un bout de code à mettre dans les RGSS2 de base mais sans résultats... Bref je ne sais pas si c'est très rapide ou ultra long (ni vraiment comment faire ~~J'espère qu'il ne vous faut pas refaire le script U_U)
Merci de ne pas me filer un lien en me disant "Nan mais tu t'en bas les stéches ! J'ai un meilleur script de quête -> lien" Car vous comprenez bien que je serez forcé de refaire tout mon système de quêtes dans mon projet.

Bye et merci d'avance


Dernière édition par therapie le Mer 2 Mar 2011 - 16:26, édité 1 fois
avatar
therapie
Membre

Nombre de messages : 58
Age : 22
Localisation : Toulon
Distinction : aucune
Date d'inscription : 10/11/2009
http://therapie-rmvx.jimdo.com

Re: Ajout d'une commande dans le script de quête [résolu]

le Mer 2 Mar 2011 - 16:26
Bon... Désolé du double post mais je suis obligé pour upper le topic xD
En faite j'ai posté ce problème sur plusieurs sites histoire d'être rapidement exaucé et puis nairda a trouvé la solution Wink
Il faut rajouté :
Code:
@command_window.height = 416
Juste après :
Code:
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8, s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20])
@command_window.index = @menu_index
Le problème est donc résolu (ça me fait bizarre de me répondre à moi même :/)

Bye et merci quand à tous !
avatar
dricc
Membre

Nombre de messages : 2756
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Re: Ajout d'une commande dans le script de quête [résolu]

le Mer 2 Mar 2011 - 16:33
Tiens, justement un des scripts que j'avais identifié pour le projet du forum :

http://www.rpgmakervx-fr.com/t10277-choix-du-script-de-quete

J'ai eu un peu de mal à tester vu que tu ne n'avais pas donné les images mais je me suis débrouillé .
Et j'avais trouvé exactement la meme solution Smile
Contenu sponsorisé

Re: Ajout d'une commande dans le script de quête [résolu]

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