Partagez
Aller en bas
voyo
voyo
Membre

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

Curseur sur une même commande Empty Curseur sur une même commande

le Ven 13 Fév 2009 - 18:57
[Surtout si je post trop dites le moi j'arreterais]
Je vous redis bonjour car j'ai rencontré un nouveau problème sur le script des quêtes, quand je clique à partir du menu sur la section quete, pas de problème ma page s'ouvre mais comment faire au retour pour que le curseur/selection reste sur la section quête et non remonte à la section objet.
J'ai regarder comment ça se passe sur les script officiels:

Code:
def return_scene
    $scene = Scene_Menu.new(n° x)
  end

Mais quand je l'insère dans mon script ça n'a absolument aucun effet, pouvez-vous m'aider ou m'expliquer rapido comment ça marche s'il vous plait ?
Dois-je poster le script pour que vous y voyez plus clair ??

Merci pour vos réponses.
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Curseur sur une même commande Empty Re: Curseur sur une même commande

le Ven 13 Fév 2009 - 19:12
en effet, normalement, pour repositionner le curseur d'une scene (pas toutes !) lors d'un transfert d'une scene à la scene_menu, par exemple, il faut mettre en argument l'index du choix, c'est a dire, la position de l'element dans la liste-1 (car tout tableau est indexé a 0 en ruby)
voyo
voyo
Membre

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

Curseur sur une même commande Empty Re: Curseur sur une même commande

le Ven 13 Fév 2009 - 19:46
Merci mais qu'est-ce-que je dois faire alors ?
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Curseur sur une même commande Empty Re: Curseur sur une même commande

le Ven 13 Fév 2009 - 22:44
ben:

Code:
$scene=Scene_Menu(4)

par exemple
voyo
voyo
Membre

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

Curseur sur une même commande Empty Re: Curseur sur une même commande

le Sam 14 Fév 2009 - 2:59
J'ai essayer un peu partout mais là je suis vraiment à court d'idée, voilà le script, peux-tu me dire ce que je dois placer et ou s'il te plait car là je galère vraiment.

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

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

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
end
end
  end
end
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Curseur sur une même commande Empty Re: Curseur sur une même commande

le Sam 14 Fév 2009 - 11:40
Ouille ! mes yeux, ca brule !
on pourrait réduire ce script de moitié déja !

ensuite, est il normal qu'il y ai un =begin au debut non reformé ? ca met tout le script en commentaire !

bon, pour ton curseur, a un moment, tu as:
Code:
#================================================
#---- Sélection ----#
#================================================
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Menu.new
...
remplace la ligne:
Code:
$scene = Scene_Menu.new
par
Code:
$scene = Scene_Menu.new(3) #par exemple
voyo
voyo
Membre

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

Curseur sur une même commande Empty Re: Curseur sur une même commande

le Sam 14 Fév 2009 - 11:58
Tu as vraiment l'oeil c'est incroyable comme tu me règle ça en 3 secondes, je te remercie beaucoup.
Sinon je trouvais aussi que le script était super long et je sens que si je continue à le travaille comme il a été conçu, à la fin de mon projet il fera au moins 2000 lignes (Pour l'ajout de chaque quête ça fait au moins 30 lignes en plus c'est abusé mais je fais comme ça car je connais pas le ruby donc je bidouille)
Mais c'est vrais qui doit surement exister des commandes qui raccourcissent tout ça mais je connais pas.

Encore merci pour ton aide
Contenu sponsorisé

Curseur sur une même commande Empty Re: Curseur sur une même commande

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