- voyoMembre
- Nombre de messages : 43
Age : 34
Localisation : Phalsbourg
Distinction : aucune
Date d'inscription : 28/01/2009
Amélioration d'un script de quête
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:
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:
Pour télécharger les ressources nécéssaires c'est ici
Screens:
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
- voyoMembre
- Nombre de messages : 43
Age : 34
Localisation : Phalsbourg
Distinction : aucune
Date d'inscription : 28/01/2009
Re: Amélioration d'un script de quête
Sam 14 Fév 2009 - 14:20
La suite:
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.
- 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.
- voyoMembre
- Nombre de messages : 43
Age : 34
Localisation : Phalsbourg
Distinction : aucune
Date d'inscription : 28/01/2009
Re: Amélioration d'un script de quête
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.
- voyoMembre
- Nombre de messages : 43
Age : 34
Localisation : Phalsbourg
Distinction : aucune
Date d'inscription : 28/01/2009
Re: Amélioration d'un script de quête
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.
Merci pour votre compréhension.
- JessStaffeux retraité
- Nombre de messages : 855
Age : 33
Localisation : Ma drums ou mon ordi !
Distinction : Dieu de Kipatord
Date d'inscription : 04/05/2008
Re: Amélioration d'un script de quête
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
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
- yakzawikStaffeux retraité
- Nombre de messages : 1845
Age : 33
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' ]
Date d'inscription : 31/05/2008
Re: Amélioration d'un script de quête
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 ^^
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 ^^
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|