Light RPG forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
-45%
Le deal à ne pas rater :
PC Portable LG Gram 17″ Intel Evo Core i7 32 Go /1 To
1099.99 € 1999.99 €
Voir le deal

 

 Advance Debug

Aller en bas 
AuteurMessage
Arkalion
Seigneur de la lumière
Seigneur de la lumière
Arkalion


Masculin Nombre de messages : 260
Age : 32
Localisation : Canada/Québec/...chez moi
Date d'inscription : 26/04/2006

Advance Debug Empty
MessageSujet: Advance Debug   Advance Debug EmptyDim 4 Juin - 5:07

Advance_Debug

Auteur: Slipknot



Infos: Un script très interressant, mais surtout créer pour faciliter le gestion de votre jeu. Normalement, en appuyant sur la touche F9 quand vous êtes en train de jouer, vous ouvrez une petite fenêtre où vous pouvez modifiez vos interrupteurs, ainsi que vos variables, mais la, grâce a ce script, vous modifierez aussi, l'or, les objets, les armes, armures, ... posséder. Vous pouvez aussi choisir si vous voulez des combats ou pas, c'est très utiles pour tester certaines conditions dans votre jeu, et bien sur, quand vous compilerez votre jeu, le joueur n'auras pas accès a ce menu, c'est pas génial ca.

SCREEN:
Advance Debug Advance_debug



Script a placer au dessus de Main, appellé le Advance_Debug :


Citation :

#===================================
# ** Advance Debug System
#------------------------------------------------------------------------------
# Slipknot
# 1.1
# 04.05.06
#===================================

#------------------------------------------------------------------------------
# Begin Scene_Debug Rewrite
#------------------------------------------------------------------------------
class Scene_Debug
#--------------------------------------------------------------------------
def main
spriteset = Spriteset_Map.new
vp = Viewport.new(0, 0, 640, 480)
vp.tone = Tone.new(-64, -64, -64)
@left_window = Window_DebugLeft.new
@right_window = Window_DebugRight.new
@help_window = Window_Base.new(192, 352, 448, 128)
@help_window.contents = Bitmap.new(406, 96)
@help_window2 = Window_Base.new(320, 352, 320, 128)
@help_window2.contents = Bitmap.new(288, 96)
@left_window.top_row = $game_temp.debug_top_row
@left_window.index = $game_temp.debug_index
@right_window.mode = @left_window.mode
@right_window.top_id = @left_window.top_id
@command = Window_Command.new(256, ['Interrupteurs et variables',
"Or", 'Objets, Armes et armures', 'Niveau', 'Activer/Désactiver combats',
'Quitter'])
@command.x = 192
@command.y = 112
@gold_window = Window_Debug_Gold.new
@items_window = Window_Debug_Items.new
@levels_window = Window_Debug_Levels.new
@items_back = Window_Base.new(0, 0, 320, 480)
@items_back.contents = Bitmap.new(288, 32)
@encounter_window = Window_Command.new(128, ["Activer", "Désactiver", 'Annuler'])
@encounter_window.x = 256
@encounter_window.y = 176
visact(@encounter_window, false)
@phase2_objects = [@left_window, @right_window, @help_window]
@phase2_objects.each { |x| x.visible = false }
@phase4_objects = [@items_window, @help_window2, @items_back]
@phase4_objects.each { |x| x.visible = false }
@phase = 1
Graphics.transition
while $scene == self
Graphics.update
Input.update
eval('update_phase_' + @phase.to_s)
end
$game_map.refresh
Graphics.freeze
@phase2_objects.each { |x| x.dispose }
@phase4_objects.each { |x| x.dispose }
[@gold_window, @command, @encounter_window,
spriteset, vp].each do |x|
x.dispose
end
end
#--------------------------------------------------------------------------
def visact(obj, val = true)
obj.visible = obj.active = val
end
#--------------------------------------------------------------------------
def self_close(sound)
$game_system.se_play(sound)
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
def update_phase_1
@command.update
if Input.trigger?(12)
self_close($data_system.cancel_se)
end
if Input.trigger?(13)
$game_system.se_play($data_system.decision_se)
case @command.index
when 0
visact(@command, false)
@help_window.contents.clear
@phase2_objects.each { |x|x.visible = true }
@phase = 2
return
when 1
visact(@command, false)
@gold_window.visible = true
text = ['Up : +1 Down : -1', 'Right : +10 Left : -10',
'R : +100 L : -100']
@help_window.contents.clear
for i in 0...text.size do
@help_window.contents.draw_text(4, 32 * i, 406, 32, text[i])
end
@help_window.visible = true
@phase = 3
return
when 2
visact(@command, false)
@items_window.visible = true
text = ['Right : +1 Left : -1', 'A: Change mode']
@help_window2.contents.clear
phase_4_mode_refresh
for i in 0...text.size do
@help_window2.contents.draw_text(4, 32 * i, 406, 32, text[i])
end
@phase4_objects.each { |x| x.visible = true }
@phase = 4
return
when 3
visact(@command, false)
@levels_window.visible = true
@phase = 5
return
when 4
visact(@command, false)
visact(@encounter_window)
@phase = 6
return
when 5 then self_close($data_system.decision_se)
end
end
end
#--------------------------------------------------------------------------
def update_phase_2
@phase2_objects.each { |x| x.visible = true }
@right_window.mode = @left_window.mode
@right_window.top_id = @left_window.top_id
@left_window.update
@right_window.update
$game_temp.debug_top_row = @left_window.top_row
$game_temp.debug_index = @left_window.index
if @left_window.active
update_left
return
end
if @right_window.active
update_right
return
end
end
#--------------------------------------------------------------------------
def update_phase_3
@gold_window.update
if Input.trigger? 12
$game_system.se_play($data_system.cancel_se)
@phase = 1
visact(@command)
@gold_window.visible = @help_window.visible = false
return
end
end
#--------------------------------------------------------------------------
def update_phase_4
@items_window.update
if Input.trigger?(12)
$game_system.se_play($data_system.cancel_se)
@phase = 1
@help_window2.visible = @items_back.visible = false
visact(@command)
@items_window.visible = false
return
end
if Input.trigger?(11)
$game_system.se_play($data_system.decision_se)
@items_window.mode = (@items_window.mode + 1) % 3
phase_4_mode_refresh
@items_window.refresh
end
end
#--------------------------------------------------------------------------
def phase_4_mode_refresh
mode = case @items_window.mode
when 0 then 'Items'
when 1 then 'Weapons'
when 2 then 'Armors' end
@items_back.contents.clear
@items_back.contents.draw_text(0, 0, 320, 32, "Mode: #{mode}")
end
#--------------------------------------------------------------------------
def update_phase_5
@levels_window.update
if Input.trigger?(12)
$game_system.se_play($data_system.cancel_se)
@phase = 1
visact(@command)
@levels_window.visible = false
return
end
end
#--------------------------------------------------------------------------
def update_phase_6
@encounter_window.update
if Input.trigger?(12)
$game_system.se_play($data_system.cancel_se)
exit = true
end
if Input.trigger?(13)
$game_system.se_play($data_system.decision_se)
if @encounter_window.index != 2
$game_system.encounter_disabled = (@encounter_window.index == 1)
end
exit = true
end
return if exit.nil?
@phase = 1
visact(@command)
visact(@encounter_window, false)
end
#--------------------------------------------------------------------------
def update_left
if Input.trigger? 12
$game_system.se_play($data_system.cancel_se)
@phase = 1
@phase2_objects.each { |x| x.visible = false }
visact(@command)
return
end
if Input.trigger? 13
$game_system.se_play($data_system.decision_se)
if @left_window.mode == 0
text1 = 'C (Enter) : ON / OFF'
@help_window.contents.draw_text(4, 0, 406, 32, text1)
else
text = ['Left : -1 Right : +1', 'L (Pageup) : -10', 'R (Pagedown) : +10']
for i in 0...text.size do
@help_window.contents.draw_text(4, 32 * i, 406, 32, text[i])
end
end
@left_window.active = false
@right_window.active = true
@right_window.index = 0
return
end
end
#--------------------------------------------------------------------------
def update_right
if Input.trigger?(12)
$game_system.se_play($data_system.cancel_se)
@left_window.active = true
@right_window.active = false
@right_window.index = -1
@help_window.contents.clear
return
end
current_id = @right_window.top_id + @right_window.index
if @right_window.mode == 0
if Input.trigger?(13)
$game_system.se_play($data_system.decision_se)
$game_switches[current_id] = (not $game_switches[current_id])
@right_window.refresh
return
end
end
max = 99_999_999
if @right_window.mode == 1
if Input.repeat?(6)
$game_system.se_play($data_system.cursor_se)
$game_variables[current_id] += 1
if $game_variables[current_id] > max
$game_variables[current_id] = max
end
@right_window.refresh
return
end
if Input.repeat?(4)
$game_system.se_play($data_system.cursor_se)
$game_variables[current_id] -= 1
if $game_variables[current_id] < -max
$game_variables[current_id] = -max
end
@right_window.refresh
return
end
if Input.repeat?(18)
$game_system.se_play($data_system.cursor_se)
$game_variables[current_id] += 10
if $game_variables[current_id] > max
$game_variables[current_id] = max
end
@right_window.refresh
return
end
if Input.repeat?(17)
$game_system.se_play($data_system.cursor_se)
$game_variables[current_id] -= 10
if $game_variables[current_id] < -max
$game_variables[current_id] = -max
end
@right_window.refresh
return
end
end
end
end
#------------------------------------------------------------------------------
# End Scene_Debug Rewrite
#------------------------------------------------------------------------------

class Window_Debug_Levels < Window_Selectable
#--------------------------------------------------------------------------
def initialize
super(0, 0, 280, 480)
@item_max = $game_party.actors.size
self.contents = Bitmap.new(248, @item_max * 32)
self.index = 0
self.visible = false
refresh true
end
#--------------------------------------------------------------------------
def visible=(val)
super
refresh(true) if val
end
#--------------------------------------------------------------------------
def refresh(change = false)
contents.clear if change
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
if change
contents.font.color = normal_color
contents.draw_text(4, i * 32, 32, 32, "#{i+1}:")
contents.draw_text(34, i * 32, 120, 32, actor.name)
contents.draw_text(160, i * 32, 54, 32, 'Level:')
end
contents.font.color = system_color
rect = Rect.new(212, i * 32, 32, 32)
contents.fill_rect(rect, Color.new(0, 0, 0, 0))
contents.draw_text(rect, actor.level.to_s, 2)
end
end
#--------------------------------------------------------------------------
def update
if Input.repeat?(2)
$game_system.se_play($data_system.cursor_se)
self.index = (@index + 1) % @item_max
end
if Input.repeat?(8)
$game_system.se_play($data_system.cursor_se)
self.index = (@index - 1 + @item_max) % @item_max
end
if Input.repeat?(6)
$game_system.se_play($data_system.cursor_se)
actor.level += 1
refresh
end
if Input.repeat?(4)
$game_system.se_play($data_system.cursor_se)
actor.level -= 1
refresh
end
update_cursor_rect
end
#--------------------------------------------------------------------------
def actor
$game_party.actors[@index]
end
#--------------------------------------------------------------------------
end

class Window_Debug_Gold < Window_Base
#--------------------------------------------------------------------------
def initialize
super(0, 0, 224, 96)
self.contents = Bitmap.new(192, 64)
@index = 0
self.visible = false
contents.draw_text(0, 0, 192, 32, 'Current gold:')
refresh
end
#--------------------------------------------------------------------------
def refresh
rect = Rect.new(0, 32, 192, 32)
contents.fill_rect(rect, Color.new(0, 0, 0, 0))
contents.draw_text(rect, $game_party.gold.to_s, 2)
end
#--------------------------------------------------------------------------
def update
if Input.repeat?(8)
$game_system.se_play($data_system.cursor_se)
$game_party.gain_gold(1)
refresh
end
if Input.repeat?(2)
$game_system.se_play($data_system.cursor_se)
$game_party.gain_gold(-1)
refresh
end
if Input.repeat?(6)
$game_system.se_play($data_system.cursor_se)
$game_party.gain_gold(10)
refresh
end
if Input.repeat?(4)
$game_system.se_play($data_system.cursor_se)
$game_party.gain_gold(-10)
refresh
end
if Input.repeat?(18)
$game_system.se_play($data_system.cursor_se)
$game_party.gain_gold(100)
refresh
end
if Input.repeat?(17)
$game_system.se_play($data_system.cursor_se)
$game_party.gain_gold(-100)
refresh
end
end
end

class Window_Debug_Items < Window_Selectable
#--------------------------------------------------------------------------
attr_accessor(:mode)
attr_writer(:index)
#--------------------------------------------------------------------------
def initialize
super(0, 32, 320, 448)
self.index = self.opacity = @mode = 0
@data = $data_items
refresh
end
#--------------------------------------------------------------------------
def refresh(change = true)
if change
@data = case @mode
when 0 then $data_items
when 1 then $data_weapons
when 2 then $data_armors
end
@item_max = @data.size - 1
self.contents = Bitmap.new(288, @item_max * 32)
end
for i in 1..@item_max
y = (i - 1) * 32
if change
item = @data[i]
contents.draw_text(4, y, 32, 32, "#{i.to_s}:")
draw_item_name(item, 32, y)
contents.draw_text(256, y, 32, 32, ':')
end
number = case @mode
when 0 then $game_party.item_number(i)
when 1 then $game_party.weapon_number(i)
when 2 then $game_party.armor_number(i)
end
rect = Rect.new(250, y, 32, 32)
contents.fill_rect(rect, Color.new(0, 0, 0, 0))
contents.draw_text(rect, "#{number}", 2)
end
end
#--------------------------------------------------------------------------
def update
if Input.repeat?(2)
$game_system.se_play($data_system.cursor_se)
@index = (@index + 1) % @item_max
end
if Input.repeat?(8)
$game_system.se_play($data_system.cursor_se)
@index = (@index - 1 + @item_max) % @item_max
end
gain(1) if Input.repeat?(6)
gain(-1) if Input.repeat?(4)
update_cursor_rect
end
#--------------------------------------------------------------------------
def gain(n)
$game_system.se_play($data_system.cursor_se)
case @mode
when 0 then $game_party.gain_item(@index + 1, n)
when 1 then $game_party.gain_weapon(@index + 1, n)
when 2 then $game_party.gain_armor(@index + 1, n)
end
refresh(false)
end
end


Revenir en haut Aller en bas
https://lightrpg.forumpro.fr
 
Advance Debug
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Light RPG forum :: Rpg Maker :: Scriptes-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser