Partagez
Aller en bas
Diou
Diou
Membre

Nombre de messages : 23
Distinction : aucune
Date d'inscription : 27/07/2010

[Résolu] Interdire une comande du menu  Empty [Résolu] Interdire une comande du menu

le Sam 8 Juin 2013 - 20:27
Bonsoir,

j'aimerais interdire l'acces a une comande du menu tel que le menu quete de la meme façon que l'on peut bloquer le menu sauvegarder si possible
ou atravers d'un interupteur. J'ai beau farfouiller sur le forum je ne trouve rien sur le sujet.
Mon menu est celui de base.
si quelqu'un peut m'aider en m'expliquer ou quoi changer dans mon script scene_menu car je suppose que c'est la que le changement s'opère.

Merci par avance


Dernière édition par Diou le Dim 9 Juin 2013 - 15:55, édité 1 fois
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Sam 8 Juin 2013 - 20:31
Oui c'est possible mais il faut que tu nous dise ce que tu veux bloquer exactement et fournir les scripts que tu utilises dans ce cas.

_________________
[Résolu] Interdire une comande du menu  911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  [Résolu] Interdire une comande du menu  344805
crackerwood
crackerwood
Membre

Nombre de messages : 346
Age : 34
Localisation : Derrière son pc y parait
Distinction : aucune
Date d'inscription : 03/08/2008

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Sam 8 Juin 2013 - 20:59
Je suppose qu'il veut tout bloquer et pouvoir débloquer par un interrupteur le sous menu de son choix.
J'y connais pas grand chose mais je pense dans le script menu on peut ajouter une commande si interrupteur x activé puis ainsi de suite par catégories.
Diou
Diou
Membre

Nombre de messages : 23
Distinction : aucune
Date d'inscription : 27/07/2010

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Sam 8 Juin 2013 - 21:08
j'utilise le script de base du menu,et un script de quete qui se divise en deux partie:

Spoiler:
=begin
########################## Breadlord's Quets Script modifié par Skillo ############################
Ceci est un script pour quête vous permettant d'avoir une large description des quêtes et de multiples tâches
(entend par là plusieurs à truc à faire pour la même quête hein).
Tu met les quêtes sous forme d'evenement c'est à dire sous ce format :

$quests['nom de la quête'] = Quest.new([' ligne de description 1', 'ligne de description 2, ...],
['tâche 1 description', 'tâche 2 description',...])

Dans ce format 'nom de la quête' correspond au nom de la quête,
'ligne de description N' est la N ème ligne de la description de la quête et
'tâche N description' est la description de la N eme tâche

Pour completer une tâche dans un evenement utilisez $quests['nom de la quête'].complete_sub('tâche description'),
et pour échouer une tâche utilisez $quests['nom de la quête'].fail_sub('tâche description').
Si toutes les tâches sont complétées/échouées alors le status de la quête deviendra complétée/échouée.
Pour mettre une quête en complétée utilisez $quests['nom de la quête'].complete_all,
et échouée utilisez $quests['nom de la quête'].fail_all

Pour vérifier si une quête est complétée utilisez $quests['nom de la quête'].complete?,
et pour vérifier si elle est échouée utilisez $quests['nom de la quête'].failed?.
Pour vérifier si une tâche est complétée utilisez $quests['nom de la quête'].sub_complete?('tâche description')
et pour vérifier si elle est échouée utilisez $quests['nom de la quête'].sub_failed?('tâche description')

Pour definir une quete secondaire il suffit de rajouter true après les taches :
$quests['nom de la quête'] = Quest.new([' ligne de description 1', 'ligne de description 2, ...],
['tâche 1 description', 'tâche 2 description',...], true)

Enfin pour vérifier que la quête existe utilisez $quests['nom de la quête'] != nil
Pour appeler le menu de quête utilisez $scene = Scene_Quest.new
Et pour lancer le menu quête sur un onglet précis il suffit de $scene = Scene_Quest.new(index de l'onglet)
0<= index de l'onglet <= 3



################################################################################
################################################################################
=end

module QUEST_CONFIG

# Ici seront defini les 3 icones correspondant aux tri des quêtes
# QUEST_ICONS = [icone des quetes en cours, icone des quetes complétées, icone des quete echouées]
QUEST_ICONS = [2306, 2307, 2325, 2055]

# Ici sera defini l'image apparaissant dans le menu
# QUEST_PICTURE = "nom de l'image"
QUEST_PICTURE = "Quest"

# Ici sera defini la hauteur des fenêtre et par consequence la place laisser à l'image
# QUEST_WINDOWHEIGHT = hauteur
QUEST_WINDOWHEIGHT = 293 # 293

# Ici sera defini l'image apparaissant lorsqu'une quête est completée
# QUEST_COMPLETE = "nom de l'image"
QUEST_COMPLETE = "Complete"

# Ici sera defini l'image apparaissant lorsqu'une quête est échouée
# QUEST_FAILED = "nom de l'image"
QUEST_FAILED = "Failed"

# Ici sera defini le message apparaissant dans la fenetre de description lors d'une quête secondaire
# QUEST_SECOND = "message"
QUEST_SECOND = "Quête secondaire"
# Ici seront defini les 3 icones correspondant aux états des quêtes et des tâches principales
# VALIDATEICONS = [icone des taches en cours, icone des taches complétées, icone des taches echouées]
VALIDATEICONS = [3247, 3270, 3272]

# Ici seront defini les 3 icones correspondant aux états des quêtes et des tâches secondaires
# VALIDATEICONS = [icone des taches en cours, icone des taches complétées, icone des taches echouées]
VALIDATESECONDICONS = [3246, 3271, 3273]

#Ici sera defini le nom apparaissant dans le menu de base
# MENUNAME = nom du menu
MENUNAME = 'Quêtes'

#Ici sera defini le nom apparaissant dans la description de l'onglet des quêtes principales
# QUEST_NAMEPRINCIP = nom
QUEST_NAMEPRINCIP = "Quêtes Principales"

#Ici sera defini le nom apparaissant dans la description de l'onglet des quêtes secondaires
# QUEST_NAMESECOND = nom
QUEST_NAMESECOND = "Quêtes Secondaires"

#Ici sera defini le nom apparaissant dans la description de l'onglet des quêtes réussies
# QUEST_NAMECOMP = nom
QUEST_NAMECOMP = "Quêtes Réussies"

#Ici sera defini le nom apparaissant dans la description de l'onglet des quêtes échouées
# QUEST_NAMEFAIL = nom
QUEST_NAMEFAIL = "Quêtes Ratés"

# Ici sera defini à titre indicatif le numero du menu quête dans le menu de base (comptez à partir de 0)
# cela n'aura aucune influance sur sa position.
# MENU_NUMBER = umero du menu quête dans le menu de base
MENU_NUMBER = 4

# Ici sera defini l'interrupteur definissant si un tache échoué fais echoué la quête ou non.
# FAILSUB_FAILCOMPLETE = true/false
FAILSUB_FAILCOMPLETE = true

end

#==============================================================================
# ** Quest
#------------------------------------------------------------------------------
# Cette classe permet de definir des quêtes
# Elle est appelée par $quests
#==============================================================================
class Quest

attr_accessor :desc, :sub, :comp, :sub_text, :pic

#--------------------------------------------------------------------------
# * Quête Initialization
# desc : tableau des descriptions
# sub : tableau des tâches
# pic : window width
#--------------------------------------------------------------------------
def initialize(desc = [''], sub = [''], second = false)
@desc = desc
@sub = {}
@second = second
for i in 0..sub.size - 1 # pour chaque tache
@sub[sub[i]] = 'prog' #construit une clef du nom de la tache avec la valeur prog
end
@comp = 'prog'
@sub_text = []
for i in 0..sub.size - 1
@sub_text.push(sub[i]) # pour chaque tache
end
end

#--------------------------------------------------------------------------
# * Completer une Tâche
# sub : tâche
#--------------------------------------------------------------------------
def second?
return @second
end
#--------------------------------------------------------------------------
# * Completer une Tâche
# sub : tâche
#--------------------------------------------------------------------------
def complete_sub(sub)
@sub[sub] = 'comp'
test_complete
end
#--------------------------------------------------------------------------
# * Tester si la Quête est devenue complete
# sub : tâche
#--------------------------------------------------------------------------
def test_complete
@a = true
for i in 0..@sub.keys.size - 1
if @sub[@sub.keys[i]] == 'comp'
@a = (@a and true)
else
@a = (@a and false)
end
end
if @a == true
complete_all
end
end
#--------------------------------------------------------------------------
# * Echouer une Tâche
# sub : tâche
#--------------------------------------------------------------------------
def fail_sub(sub)
if QUEST_CONFIG::FAILSUB_FAILCOMPLETE
fail_all
else
@sub[sub] = 'fail'
end
end


#--------------------------------------------------------------------------
# *Compeleter toutes les Tâches
#--------------------------------------------------------------------------
def complete_all
@comp = 'comp'
for i in @sub.keys
@sub[i] = 'comp'
end
end

#--------------------------------------------------------------------------
# *Echouer à toutes les Tâches
#--------------------------------------------------------------------------
def fail_all
@comp = 'fail'
for i in @sub.keys
@sub[i] = 'fail'
end
end

#--------------------------------------------------------------------------
# *Tester si une Tâches est complete
#--------------------------------------------------------------------------
def sub_complete?(sub)
return @sub[sub] == 'comp'? true : false
end

#--------------------------------------------------------------------------
# *Tester si une Quête est complete
#--------------------------------------------------------------------------
def complete?
return @comp == 'comp'? true : false
end

#--------------------------------------------------------------------------
# *Tester si une Tâches est échouée
#--------------------------------------------------------------------------
def sub_failed?(sub)
return @sub[sub] == 'fail'? true : false
end

#--------------------------------------------------------------------------
# *Tester si une Quête est échouée
#--------------------------------------------------------------------------
def failed?
return @comp == 'fail'? true : false
end
end


#==============================================================================
# ** Window_Quest_Type
#------------------------------------------------------------------------------
# Cette fenetre affiche les differents états des quêtes.
#==============================================================================
class Window_Quest_Type < Window_Selectable

attr_accessor :active, :index
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0,352 - QUEST_CONFIG::QUEST_WINDOWHEIGHT,160,64)
@column_max = 4
@index = 0
@icons = QUEST_CONFIG::QUEST_ICONS
@spacing = 14
refresh
end

#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
create_contents
@item_max = @icons.size
for i in 0...@item_max
rect = item_rect(i)
rect.x -= 2
icon = @icons[i]
draw_icon(icon, rect.x, rect.y)
end
end
end

#==============================================================================
# ** Window_Quest_Title
#------------------------------------------------------------------------------
# Cette fenetre affiche les descriptions des quêtes.
#==============================================================================
class Window_Quest_Title < Window_Base

#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(index = QUEST_CONFIG::MENUNAME)
super( 160, 352 - QUEST_CONFIG::QUEST_WINDOWHEIGHT, 384, 64)
@pic_title = Sprite.new
@pic_title.bitmap = Cache.picture(QUEST_CONFIG::QUEST_PICTURE)
self.contents.draw_text(0, 0, self.width - 40, WLH, index, 1)
end
#--------------------------------------------------------------------------
# * Dispose
#--------------------------------------------------------------------------
def dispose
super
@pic_title.dispose
end
end

#==============================================================================
# ** Window_Quest_Desc
#------------------------------------------------------------------------------
# Cette fenetre affiche lee contenue des quêtes.
#==============================================================================
class Window_Quest_Desc < Window_Base

#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(index = nil)
super( 160, 416 - QUEST_CONFIG::QUEST_WINDOWHEIGHT, 384, QUEST_CONFIG::QUEST_WINDOWHEIGHT)
@status = Sprite.new
if index != nil
if $quests[index].complete?
@status.bitmap = Cache.picture(QUEST_CONFIG::QUEST_COMPLETE)
elsif $quests[index].failed?
@status.bitmap = Cache.picture(QUEST_CONFIG::QUEST_FAILED)
end
@status.z = 201
for i in 0..$quests[index].desc.size - 1
a = $quests[index].desc[i]
self.contents.draw_text(0, WLH*i, self.width - 40, WLH, a, 1)
end
a = $quests[index].sub_text
for i in 0..a.size - 1
b = a[i]
if $quests[index].sub[b] == 'prog'
if $quests[index].second?
ic = QUEST_CONFIG::VALIDATESECONDICONS[0]
else
ic = QUEST_CONFIG::VALIDATEICONS[0]
end
elsif $quests[index].sub[b] == 'comp'
if $quests[index].second?
ic = QUEST_CONFIG::VALIDATESECONDICONS[1]
else
ic = QUEST_CONFIG::VALIDATEICONS[1]
end
else
if $quests[index].second?
ic = QUEST_CONFIG::VALIDATESECONDICONS[2]
else
ic = QUEST_CONFIG::VALIDATEICONS[2]
end
end
draw_icon(ic, 4, WLH*(i + $quests[index].desc.size + 1))
self.contents.draw_text(0, WLH*(i + $quests[index].desc.size + 1), self.width - 40, WLH, b, 1)
end
if $quests[index].second?
self.contents.draw_text(0, QUEST_CONFIG::QUEST_WINDOWHEIGHT - 3*WLH, self.width - 40, WLH, QUEST_CONFIG::QUEST_SECOND, 1)
end
end
end
#--------------------------------------------------------------------------
# * Dispose
#--------------------------------------------------------------------------
def dispose
super
@status.dispose
end
end

#==============================================================================
# ** Window_Quest_Type
#------------------------------------------------------------------------------
# Cette fenetre affiche lee contenue des quêtes.
#==============================================================================
class Window_Select_Quest < Window_Selectable

attr_accessor :c_items

#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(type = 1)
super(0, 416 - QUEST_CONFIG::QUEST_WINDOWHEIGHT, 160, QUEST_CONFIG::QUEST_WINDOWHEIGHT)
@type = type
self.index = 0
self.active = false
@items = $quests.keys
a = @items
@c_items = []
for it in 0...@items.size
if include?(a[it])
@c_items.push(a[it])
end
end
@column_max = 1
@commands = @c_items
@item_max = @commands.size
create_contents
refresh
end

#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for it in 0...@item_max
draw_opt(it)
end
end

#--------------------------------------------------------------------------
# * Include ?
# key : nom d'une quête
#--------------------------------------------------------------------------
def include?(key)
case @type
when 1
if !$quests[key].complete? and !$quests[key].failed? and !$quests[key].second?
return true
end
when 2
unless $quests[key].complete? or $quests[key].failed?
return $quests[key].second?
end
when 3
return $quests[key].complete?
when 4
return $quests[key].failed?
end
end

#--------------------------------------------------------------------------
# * Draw Opt
# itemm : quête
#--------------------------------------------------------------------------
def draw_opt(itemm)
a = @c_items
rect = item_rect(itemm)
self.contents.clear_rect(rect)
if $quests[@c_items[itemm]].complete?
if $quests[@c_items[itemm]].second?
draw_icon(QUEST_CONFIG::VALIDATESECONDICONS[1],rect.x, rect.y)
else
draw_icon(QUEST_CONFIG::VALIDATEICONS[1],rect.x, rect.y)
end
elsif $quests[@c_items[itemm]].failed?
if $quests[@c_items[itemm]].second?
draw_icon(QUEST_CONFIG::VALIDATESECONDICONS[2],rect.x, rect.y)
else
draw_icon(QUEST_CONFIG::VALIDATEICONS[2],rect.x, rect.y)
end
else
if $quests[@c_items[itemm]].second?
draw_icon(QUEST_CONFIG::VALIDATESECONDICONS[0],rect.x, rect.y)
else
draw_icon(QUEST_CONFIG::VALIDATEICONS[0],rect.x , rect.y)
end
end
string = @c_items[itemm]
rect.width -= 4
self.contents.draw_text(rect.x, rect.y, rect.width, WLH, string, 2)
end
end


#==============================================================================
# ** Scene_Quest
#------------------------------------------------------------------------------
# Cette classe fere le menu de quêtes
#==============================================================================
class Scene_Quest < Scene_Base

#--------------------------------------------------------------------------
# * Object Initialization
#
#--------------------------------------------------------------------------
def initialize(index = 0, menu = false)
@menu = menu
@index = index
end

#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
@type = Window_Quest_Type.new
@type.visible = true
@type.active = true
@type.index = @index
@quests = Window_Select_Quest.new(@index +1)
@quests.active = false
@quests.index = -1
@desc_window = Window_Quest_Desc.new
@title = Window_Quest_Title.new
update_desc
end

#--------------------------------------------------------------------------
# * Return to Original Screen
#--------------------------------------------------------------------------
def return_scene
if @menu
$scene = Scene_Menu.new(QUEST_CONFIG::MENU_NUMBER)
else
$scene = Scene_Map.new
end
end

#--------------------------------------------------------------------------
# * Terminate
#--------------------------------------------------------------------------
def terminate
dispose_menu_background
@type.dispose
@quests.dispose
@title.dispose
@desc_window.dispose
end

#--------------------------------------------------------------------------
# * Update Frame
#--------------------------------------------------------------------------
def update
super
update_menu_background
@type.update
@quests.update
if @type.active
update_type_selection
elsif @quests.active
update_quests_selection
else
update_desc_selection
end
if Input.trigger?(Input::A)
Sound.play_cancel
return_scene
end
end

#--------------------------------------------------------------------------
# * Update Type Selection
#--------------------------------------------------------------------------
def update_type_selection
if Input.trigger?(Input::B)
Sound.play_cancel
return_scene
elsif Input.trigger?(Input::C)
a = @type.index
Sound.play_cursor
@type.active = false
@quests.dispose
@quests = Window_Select_Quest.new(a + 1)
@quests.active = true
@quests.index = 0
elsif Input.trigger?(Input::LEFT) or Input.trigger?(Input::RIGHT)
a = @type.index
@quests.dispose
@quests = Window_Select_Quest.new(a + 1)
@quests.index = -1
update_desc
end
end

#--------------------------------------------------------------------------
# * Update Quests Decription
#--------------------------------------------------------------------------
def update_desc
case @type.index
when 0
@title.dispose
@title = Window_Quest_Title.new(QUEST_CONFIG::QUEST_NAMEPRINCIP)
when 1
@title.dispose
@title = Window_Quest_Title.new(QUEST_CONFIG::QUEST_NAMESECOND)
when 2
@title.dispose
@title = Window_Quest_Title.new(QUEST_CONFIG::QUEST_NAMECOMP)
when 3
@title.dispose
@title = Window_Quest_Title.new(QUEST_CONFIG::QUEST_NAMEFAIL)
end
end
#--------------------------------------------------------------------------
# * Update Quests Selection
#--------------------------------------------------------------------------
def update_quests_selection
if Input.trigger?(Input::B)
Sound.play_cancel
Sound.play_cursor
@type.active = true
@quests.active = false
@quests.index = -1
update_desc
@desc_window.dispose
@desc_window = Window_Quest_Desc.new
elsif Input.trigger?(Input::C)
if @quests.c_items[@quests.index] == nil
Sound.play_buzzer
else
Sound.play_decision
@desc_window.dispose
@desc_window = Window_Quest_Desc.new(@quests.c_items[@quests.index])
@title.dispose
@title = Window_Quest_Title.new(@quests.c_items[@quests.index])
@quests.active = false
@type.active = false
end
end
end

#--------------------------------------------------------------------------
# * Update Desc Selection
#--------------------------------------------------------------------------
def update_desc_selection
if Input.trigger?(Input::B)
Sound.play_cancel
Sound.play_cursor
@quests.active = true
update_desc
@desc_window.dispose
@desc_window = Window_Quest_Desc.new
end
end
end



#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
# This class performs the title screen processing.
#==============================================================================
class Scene_Title < Scene_Base

alias startupquest command_new_game
#--------------------------------------------------------------------------
# * Command: New Game
#--------------------------------------------------------------------------
def command_new_game
startupquest
$quests = {}
end
end

#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
# This class performs the save and load screen processing.
#==============================================================================
class Scene_File < Scene_Base

alias savequest write_save_data
#--------------------------------------------------------------------------
# * Write Save Data
# file : write file object (opened)
#--------------------------------------------------------------------------
def write_save_data(file)
savequest(file)
Marshal.dump($quests, file)
end

alias loadquest read_save_data
#--------------------------------------------------------------------------
# * Read Save Data
# file : file object for reading (opened)
#--------------------------------------------------------------------------
def read_save_data(file)
loadquest(file)
$quests = Marshal.load(file)
end
end

script quete menu :
Spoiler:
## All this does is make the quest menu be accessible from the menu, you ##
## have to use this ##

#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# This class performs the menu screen processing.
#==============================================================================
class Scene_Menu < Scene_Base

#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = QUEST_CONFIG::MENUNAME
s6 = Vocab::save
s7 = Vocab::game_end
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
@command_window.index = @menu_index
if $game_party.members.size == 0 # If number of party members is 0
@command_window.draw_item(0, false) # Disable item
@command_window.draw_item(1, false) # Disable skill
@command_window.draw_item(2, false) # Disable equipment
@command_window.draw_item(3, false) # Disable status
end
if $game_system.save_disabled # If save is forbidden
@command_window.draw_item(6, false) # Disable save
end
end

#--------------------------------------------------------------------------
# * Update Command Selection
#--------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == save_index
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # Item
$scene = Scene_Item.new
when 1,2,3 # Skill, equipment, status
start_actor_selection
when 4 # Quetes
$scene = Scene_Quest.new
when 5 # Save
$scene = Scene_File.new(true, false, false)
when 6 # End Game
$scene = Scene_End.new
end
end
end
end

merci
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Sam 8 Juin 2013 - 21:51
Tu veux bloquer que le menu qui mène à la scene quête ?

_________________
[Résolu] Interdire une comande du menu  911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  [Résolu] Interdire une comande du menu  344805
Diou
Diou
Membre

Nombre de messages : 23
Distinction : aucune
Date d'inscription : 27/07/2010

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Sam 8 Juin 2013 - 22:00
oui! avec un interrupteur que je puisse débloquer par la suite.
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Sam 8 Juin 2013 - 23:56
Ligne 57 de ton deuxième script tu changes

Code:
$scene = Scene_Quest.new

par

Code:
$scene = Scene_Quest.new if $game_switches[1] == true

Changer le "1" par un autre switch si nécessaire.

Dans le cas présent si le switch n°1 est désactiver l'accès à la scene_quete devrait être désactivé désactivé.


Test ça et dis moi ça fonctionne Smile

_________________
[Résolu] Interdire une comande du menu  911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  [Résolu] Interdire une comande du menu  344805
crackerwood
crackerwood
Membre

Nombre de messages : 346
Age : 34
Localisation : Derrière son pc y parait
Distinction : aucune
Date d'inscription : 03/08/2008

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Dim 9 Juin 2013 - 0:22
En tout cas ca marche pour le menu de base sauf que ça n'assombri pas le texte comme si on désactiver la sauvegarde.
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Dim 9 Juin 2013 - 0:31
Ca doit également être faisable je regarde cella plus tard si tu en as besoin ?

_________________
[Résolu] Interdire une comande du menu  911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  [Résolu] Interdire une comande du menu  344805
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Dim 9 Juin 2013 - 14:35
A la place, y'a une commande faite pour ça, rajoute ce script au dessus de main :

Code:
class Scene_Menu < Scene_Base

alias m_disable_cmd create_command_window

def create_command_window

m_disable_cmd

# Début du segment de code à reproduire pour chaque interrupteur (si besoin est)
# Remplacer X par l'ID de la commande que l'on veut désactiver
if $game_switches[1] == false # Si l'iterrupteur 1 est désactivé
@command_window.draw_item(X, false) # Désactiver la commande d'ID X
end
# Fin du segment de code
end
end

Ce code modifie la méthode create_command_window en lui rajoutant une condition selon la valeur de l'interrupteur. Grâce à l'aliasing tu as simplement besoin de coller ce bout de code dans un nouveau script au dessus de main et pas de modifier le script du Scene_Menu.

Il te faudra modifier le X dans la ligne suivante :

Code:
@command_window.draw_item(X, false) # Désactiver la commande d'ID X

Par l'ID de la commande à griser et désactiver.

En espérant t'avoir aidé, bonne continuation! Wink
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Dim 9 Juin 2013 - 14:52
Merci pour ton intervention, c'est de suite réglé comme ça Smile

_________________
[Résolu] Interdire une comande du menu  911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  [Résolu] Interdire une comande du menu  344805
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Dim 9 Juin 2013 - 15:04
Pas de soucis, j'suis là pour ça. Wink
Diou
Diou
Membre

Nombre de messages : 23
Distinction : aucune
Date d'inscription : 27/07/2010

[Résolu] Interdire une comande du menu  Empty Re: [Résolu] Interdire une comande du menu

le Dim 9 Juin 2013 - 15:54
Parfait Merci beaucoup!!
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum