Partagez
Aller en bas
voyo
voyo
Membre

Nombre de messages : 43
Age : 29
Localisation : Phalsbourg
Distinction : aucune
Date d'inscription : 28/01/2009

Amélioration d'un script de quête Empty Amélioration d'un script de quête

le Sam 14 Fév 2009 - 14:12
Bonjour à tous, je me baladais sur le net quand j'ai trouvé ce super script de quête.
Pour télécharger les ressources nécéssaires c'est ici

Screens:

Amélioration d'un script de quête Inache10
Amélioration d'un script de quête Termin10
Amélioration d'un script de quête V-roui10


L'auteur n'est pas indiqué sur le site sur lequel je l'ai pris mais dans le script lui-même, il est écrit RPG-Man donc je le prendrais comme l'auteur de ce script.

Il faut savoir que ce script à beaucoup de petit problèmes, j'en ai corrigé certains mais je ne suis pas assez compétent en "scriptage" pour le rendre niquel c'est pourquoi je fais appel à vous tous pour qu'ensemble on puisse le rendre génial.

Voici le code:

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 = 95
@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
@id_switch_qd10 = 98
@id_switch_qd11 = 98
@id_switch_qd12 = 98
@id_switch_qd13 = 98
@id_switch_qd14 = 98
@id_switch_qd15 = 98
@id_switch_qd16 = 98
@id_switch_qd17 = 98
@id_switch_qd18 = 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
@id_switch_q10 = 100
@id_switch_q11 = 100
@id_switch_q12 = 100
@id_switch_q13 = 100
@id_switch_q14 = 100
@id_switch_q15 = 100
@id_switch_q16 = 100
@id_switch_q17 = 100
@id_switch_q18 = 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 = "1: Ankara (vérouillée)"
end
#---- Quête 2 ----#
if $game_switches[@id_switch_qd2] == true
  s2 = "Quête 2"
else
  s2 = "2: Ankara (vérouillée)"
end
#---- Quête 3 ----#
if $game_switches[@id_switch_qd3] == true
s3 = "Quête 3"
else
  s3 = "3: Ankara (vérouillée)"
end
#---- Quête 4 ----#
if $game_switches[@id_switch_qd4] == true
s4 = "Quête 4"
else
s4 = "4: Ankara (vérouillée)"
end
#---- Quête 5 ----#
if $game_switches[@id_switch_qd5] == true
s5 = "Quête 5"
else
s5 = "5: Ankara (vérouillée)"
end
#---- Quête 6 ----#
if $game_switches[@id_switch_qd6] == true
s6 = "Quête 6"
else
s6 = "6: Ankara (vérouillée)"
end
#---- Quête 7 ----#
if $game_switches[@id_switch_qd7] == true
s7 = "Quête 7"
else
s7 = "7: Ankara (vérouillée)"
end
#---- Quête 8 ----#
if $game_switches[@id_switch_qd8] == true
s8 = "Quête 8"
else
s8 = "8: Ankara (vérouillée)"
end
#---- Quête 9 ----#
if $game_switches[@id_switch_qd9] == true
s9 = "Quête 9"
else
s9 = "9: Ankara (vérouillée)"
end
#---- Quête 10 ----#
if $game_switches[@id_switch_qd10] == true
s10 = "Quête 10"
else
s10 = "10: Ankara (vérouillée)"
end
#---- Quête 11 ----#
if $game_switches[@id_switch_qd11] == true
s11 = "Quête 11"
else
s11 = "11: Ankara (vérouillée)"
end
#---- Quête 12 ----#
if $game_switches[@id_switch_qd12] == true
s12 = "Quête 12"
else
s12 = "12: Ankara (vérouillée)"
end
#---- Quête 13 ----#
if $game_switches[@id_switch_qd13] == true
s13 = "Quête 13"
else
s13 = "13: Ankara (vérouillée)"
end
#---- Quête 14 ----#
if $game_switches[@id_switch_qd14] == true
s14 = "Quête 14"
else
s14 = "14: Ankara (vérouillée)"
end
#---- Quête 15 ----#
if $game_switches[@id_switch_qd15] == true
s15 = "Quête 15"
else
s15 = "15: Ankara (vérouillée)"
end
#---- Quête 16 ----#
if $game_switches[@id_switch_qd16] == true
s16 = "Quête 16"
else
s16 = "16: Ankara (vérouillée)"
end
#---- Quête 17 ----#
if $game_switches[@id_switch_qd17] == true
s17 = "Quête 17"
else
s17 = "17: Ankara (vérouillée)"
end
#---- Quête 18 ----#
if $game_switches[@id_switch_qd18] == true
s18 = "Quête 18"
else
s18 = "18: Ankara (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])
@command_window.height = 416
@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")
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_ter1")
end
      when 1
if $game_switches[@id_switch_q2] == true
@image_c.bitmap = Cache.picture("Quete_ter2")
end
        when 2
if $game_switches[@id_switch_q3] == true
@image_c.bitmap = Cache.picture("Quete_ter3")
end
          when 3
if $game_switches[@id_switch_q4] == true
@image_c.bitmap = Cache.picture("Quete_ter4")
end
            when 4
if $game_switches[@id_switch_q5] == true
@image_c.bitmap = Cache.picture("Quete_ter5")
end
            when 5
if $game_switches[@id_switch_q6] == true
@image_c.bitmap = Cache.picture("Quete_ter6")
end
            when 6
if $game_switches[@id_switch_q7] == true
@image_c.bitmap = Cache.picture("Quete_ter7")
end
            when 7
if $game_switches[@id_switch_q8] == true
@image_c.bitmap = Cache.picture("Quete_ter8")
end
            when 8
if $game_switches[@id_switch_q9] == true
@image_c.bitmap = Cache.picture("Quete_ter9")
end
            when 9
if $game_switches[@id_switch_q10] == true
@image_c.bitmap = Cache.picture("Quete_ter10")
end
            when 10
if $game_switches[@id_switch_q11] == true
@image_c.bitmap = Cache.picture("Quete_ter11")
end
            when 11
if $game_switches[@id_switch_q12] == true
@image_c.bitmap = Cache.picture("Quete_ter12")
end
            when 12
if $game_switches[@id_switch_q13] == true
@image_c.bitmap = Cache.picture("Quete_ter13")
end
            when 13
if $game_switches[@id_switch_q14] == true
@image_c.bitmap = Cache.picture("Quete_ter14")
end
            when 14
if $game_switches[@id_switch_q15] == true
@image_c.bitmap = Cache.picture("Quete_ter15")
end
            when 15
if $game_switches[@id_switch_q16] == true
@image_c.bitmap = Cache.picture("Quete_ter16")
end
            when 16
if $game_switches[@id_switch_q17] == true
@image_c.bitmap = Cache.picture("Quete_ter17")
end
            when 17
if $game_switches[@id_switch_q18] == true
@image_c.bitmap = Cache.picture("Quete_ter18")
end

end
end
end
voyo
voyo
Membre

Nombre de messages : 43
Age : 29
Localisation : Phalsbourg
Distinction : aucune
Date d'inscription : 28/01/2009

Amélioration d'un script de quête Empty Re: Amélioration d'un script de quête

le Sam 14 Fév 2009 - 14:20
La suite:

Code:
#================================================
#---- 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

end
end
end
#================================================
#---- Sélection ----#
#================================================
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Menu.new(4)
@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
end
end
  end
end

ATTENTION:
J'ai changer quelques trucs si vous garder les images de bases, il faudra lire le code et remplacer les noms,
par exemple pour quand la quête est terminée,il vous faudra changer le nom "quete_ter"

Je suis parvenu à faire quelque changement grâce à l'aide de Berka mais il m'a dit qu'il pourrait être réduit de moitié, si vous avez une solution dites le moi, j'ai pensé aussi qu'il pourrait être sympas de mettre à côté du texte quête verrouillé, quete 1, quete terminée plutot un icone de verrou, une croix rouge, une encoche verte fluo (C'est plus esthétique)
De plus vous verrez que le menu de quête ne s'ouvre pas comme le menu des objets par exemple, comme si une fenêtre s'ouvrait enfin c'est dur à expliquer, il faut le voir.

Si je trouve d'autre améliorations possibles, je vous les ferais parvenir.

J'espère qu'on fera de ce script un grand car je m'obstine à penser qu'il pourrait devenir splendide

Merci tout le monde et je vous souhaite une très bonne journée.
voyo
voyo
Membre

Nombre de messages : 43
Age : 29
Localisation : Phalsbourg
Distinction : aucune
Date d'inscription : 28/01/2009

Amélioration d'un script de quête Empty Re: Amélioration d'un script de quête

le Mer 25 Fév 2009 - 19:03
Je suis désolé pour le double post enfin triple maintenant mais je ne peux pas avancer depuis que je suis confronté à ce problème donc je me permet de upper ce topic je m'en escuse.
voyo
voyo
Membre

Nombre de messages : 43
Age : 29
Localisation : Phalsbourg
Distinction : aucune
Date d'inscription : 28/01/2009

Amélioration d'un script de quête Empty Re: Amélioration d'un script de quête

le Mar 26 Mai 2009 - 11:18
Je me permet de faire un nécropost car j'aimerais bien que quelqu'un m'aide s'il vous plait, j'espère pas prendre d'averto pour cela mais ça bloque complètement mon projet ce qui m'embête légèrement.
Merci pour votre compréhension.
Jess
Jess
Staffeux retraité

Nombre de messages : 855
Age : 28
Localisation : Ma drums ou mon ordi !
Distinction : Dieu de Kipatord


Date d'inscription : 04/05/2008

Amélioration d'un script de quête Empty Re: Amélioration d'un script de quête

le Mar 26 Mai 2009 - 14:30
En fait tu devrais préciser ta demande, déjà que c'est super les doubles, les necros...
Au moins sois clair, parce que là personnellement je ne comprend rien du tout à ta demande.

Coco' : Double post et nécroposts, on s'en fout dans ce cas, car c'est son topic, et son dernier message que tu qualifies comme un double post est plutôt un message de up
yakzawik
yakzawik
Staffeux retraité

Nombre de messages : 1845
Age : 28
Localisation : Dans un trou perdu avec ma copine !
Distinction : Yakzawiki, l'encyclopédie libre !
[Elisa']
Force Zinzoline au fond de son coeur
Il est TROPDARKMECHAN
[Coco' Amélioration d'un script de quête 522164]
Date d'inscription : 31/05/2008

Amélioration d'un script de quête Empty Re: Amélioration d'un script de quête

le Mer 27 Mai 2009 - 15:35
Oh des screens de mon jeu ^^ Ca fait plaisir de me voir pris comme exemple ^^

Et oui, il a bien été écrit par RPG-Man, un bon pote à moi.
Je savais même pas qu'il était sur le net oO

Pour les ressources, faudra les modifier, sinon vous vous retrouverez avec les miennes ^^"
Et ça risque de ne pas le faire ^^"

Si vous avez un problème avec ce script, vous pourrez me demander bien évidemment ^^
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum