20-04-2011, 06:46 PM
(Questo messaggio è stato modificato l'ultima volta il: 22-04-2011, 08:06 PM da Johnny 97.)
Salve a tutti... Qualche mese fa avevo adattato uno script per xp al vx, e adesso che l'ho trovato, ho voluto contribuire alla crescita del forum
DESCRIZIONE:
Lo script permette di creare una cheat window nel proprio gioco, con cui il giocatore, potrà scrivere un determinato codice, settato da voi, che sbloccherà determinate cose, sempre tramite il vostro settaggio...
AUTORE/I:
BudsieBuds per lo script
Alex'94 & mew2 per aver apportato modifiche
Johnny 97 per averlo adattato al VX
ISTRUZIONI:
Inserire sotto Materials. Le altre istruzioni per impostare lo script le troverete nello script stesso, nei vari commenti...
SCRIPT:
[SPOILER]
[/SPOILER]
DEMO:
DOWNLOAD
BUG E CONFLITTI NOTI:
Nessuno
AGGIORNAMENTI:
Nessuno
Per qualsiasi problema basta scrivere!
DESCRIZIONE:
Lo script permette di creare una cheat window nel proprio gioco, con cui il giocatore, potrà scrivere un determinato codice, settato da voi, che sbloccherà determinate cose, sempre tramite il vostro settaggio...
AUTORE/I:
BudsieBuds per lo script
Alex'94 & mew2 per aver apportato modifiche
Johnny 97 per averlo adattato al VX
ISTRUZIONI:
Inserire sotto Materials. Le altre istruzioni per impostare lo script le troverete nello script stesso, nei vari commenti...
SCRIPT:
[SPOILER]
Codice:
#===============================================================================
#===========================
# Con questo script potrete aggiungere dei cheats al vostro gioco. Inserite
# nel Call Script $scene = Scene_Cheats.new per chiamare la finestra di
# inserimento. Alla 51° riga troverete altre istruzioni.
#===============================================================================
#===========================
#------------------------------------------------------------------------------
# by BudsieBuds Modificato da Alex'94 & mew2 Adattato per VX da Johnny 97
#==============================================================================
class Scene_Cheats
#--------------------------------------------------------------------------
# def main
#--------------------------------------------------------------------------
def main
@edit_window = Window_CheatsEdit.new
@input_window = Window_CheatsInput.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@edit_window.dispose
@input_window.dispose
end
#--------------------------------------------------------------------------
# def update
#--------------------------------------------------------------------------
def update
@edit_window.update
@input_window.update
if Input.repeat?(Input::B)
if @edit_window.index == 0
return
end
Audio.se_play("Audio/SE/" + "Cancel", 100, 50)
@edit_window.back
return
end
if Input.trigger?(Input::C)
if @input_window.character == nil
@cheat_word = @edit_window.cheat.downcase
# START EDITING //
#===============================================================================
#===========================
#
# elsif @cheat_word == "Per iniziare a mettere nuovi trucchi nel gioco." #Queste sono le combinazioni
# $game_party.gain_item(Item ID, How many) #per inserire altri oggetti
# $game_party.gain_gold(How many) # Per inserire altro oro
# $game_party.gain_weapon(Weapon ID, How many) #Per inserire nuove armi
# $game_party.gain_armor(Armor ID, How many) # Per inserire nuove armature
# $game_party.actors[Actor ID].learn_skill(Skill ID) # Per inserire nuove magie
# $data_system.sounds[1].play # Questo è il suono di verifica
#
# Il primo codice deve iniziare con 'if' invece che con 'elsif'!
#
#===============================================================================
#===========================
if @cheat_word == "iamrich"
$game_party.gain_gold(9999) # 9999 Gold
$data_system.sounds[1].play
elsif @cheat_word == "ivegoteverything"
$game_party.gain_weapon(1, 2) # 2x Bronze Sword
$game_party.gain_armor(21, 1) # 1x Cotton Robe
$data_system.sounds[1].play
# STOP EDITING
else
Audio.se_play("Audio/SE/" + "Buzzer2", 100, 50)
end
$scene = Scene_Map.new
Graphics.resize_screen(544, 416)
return
end
if @input_window.character == ""
Audio.se_play("Audio/SE/" + "Buzzer2", 100, 50)
return
end
Audio.se_play("Audio/SE/" + "Decision2", 100, 50)
@edit_window.add(@input_window.character)
return
end
end
end
#==============================================================================
# Window_Base
#------------------------------------------------------------------------------
# by BudsieBuds Modificato da Alex'94 & mew2 Adattato per VX da Johnny 97
#==============================================================================
class Window_Base < Window
def draw_icon_graphic(icon, x, y)
bitmap = Cache.system("")
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
end
#==============================================================================
# Window_CheatsEdit
#------------------------------------------------------------------------------
# by BudsieBuds Modificato da Alex'94 & mew2 Adattato per VX da Johnny 97
#==============================================================================
class Window_CheatsEdit < Window_Base
#--------------------------------------------------------------------------
# def ?!
#--------------------------------------------------------------------------
attr_reader :cheat
attr_reader :index
#--------------------------------------------------------------------------
# def initialize
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 128)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = $fontsize == nil ? Font.default_size : $fontsize
self.contents.font.name = $fontface == nil ? Font.default_name : $fontface
@max_char = 17
@index = 0
@cheat = ""
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# def add(character)
#--------------------------------------------------------------------------
def add(character)
if @index < @max_char and character != ""
@cheat += character
@index += 1
refresh
update_cursor_rect
end
end
#--------------------------------------------------------------------------
# def back
#--------------------------------------------------------------------------
def back
if @index > 0
name_array = @cheat.split(//)
@cheat = ""
for i in 0...name_array.size-1
@cheat += name_array[i]
end
@index -= 1
refresh
update_cursor_rect
end
end
#--------------------------------------------------------------------------
# def refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
name_array = @cheat.split(//)
for i in 0...@max_char
c = name_array[i]
if c == nil
c = "_"
end
x = (i + 1) * 32
self.contents.draw_text(x, 32, 28, 32, c, 1)
end
draw_icon_graphic("cheat", 16, 60)
end
#--------------------------------------------------------------------------
# def update_cursor_rect
#--------------------------------------------------------------------------
def update_cursor_rect
x = (@index + 1) * 32
self.cursor_rect.set(x, 32, 28, 32)
end
#--------------------------------------------------------------------------
# def update
#--------------------------------------------------------------------------
def update
super
update_cursor_rect
end
end
#==============================================================================
# Window_CheatsInput
#------------------------------------------------------------------------------
# by BudsieBuds Modificato da Alex'94 & mew2 Adattato per VX da Johnny 97
#==============================================================================
class Window_CheatsInput < Window_Base
CHARACTER_TABLE =
[
'A','B','C','D','E', 'F','G','H','I','J',
'K','L','M','N','O', 'P','Q','R','S','T',
'U','V','W','X','Y', 'Z','@','"','!','£',
'$','%','&','/','(', '<','>','|','[',']',
'#','{','}','©','®', 'a','b','c','d','e',
'f','g','h','i','j', 'k','l','m','n','o',
'p','q','r','s','t', 'u','v','w','x','y',
'z',')','=','?','^', ',','.','-','_','€',
'1','2','3','4','5', '6','7','8','9','0',
]
#--------------------------------------------------------------------------
# def initialize
#--------------------------------------------------------------------------
def initialize
Graphics.resize_screen(640, 480)
super(0, 128, 640, 352)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = $fontsize == nil ? Font.default_size : $fontsize
self.contents.font.name = $fontface == nil ? Font.default_name : $fontface
@index = 0
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# def character
#--------------------------------------------------------------------------
def character
return CHARACTER_TABLE[@index]
end
#--------------------------------------------------------------------------
# def refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0...90
x = 140 + i / 5 / 9 * 180 + i % 5 * 32
y = i / 5 % 9 * 32
self.contents.draw_text(x, y, 32, 32, CHARACTER_TABLE[i], 1)
end
self.contents.draw_text(428, 9 * 32, 48, 32, "OK", 1)
end
#--------------------------------------------------------------------------
# def update_cursor_rect
#--------------------------------------------------------------------------
def update_cursor_rect
if @index >= 90
self.cursor_rect.set(428, 9 * 32, 48, 32)
else
x = 140 + @index / 5 / 9 * 180 + @index % 5 * 32
y = @index / 5 % 9 * 32
self.cursor_rect.set(x, y, 32, 32)
end
end
#--------------------------------------------------------------------------
# def update
#--------------------------------------------------------------------------
def update
super
if @index >= 90
if Input.trigger?(Input::DOWN)
Audio.se_play("Audio/SE/" + "Cursor", 100, 50)
@index -= 90
end
if Input.repeat?(Input::UP)
Audio.se_play("Audio/SE/" + "Cursor", 100, 50)
@index -= 90 - 40
end
else
if Input.repeat?(Input::RIGHT)
if Input.trigger?(Input::RIGHT) or
@index / 45 < 3 or @index % 5 < 4
Audio.se_play("Audio/SE/" + "Cursor", 100, 50)
if @index % 5 < 4
@index += 1
else
@index += 45 - 4
end
if @index >= 90
@index -= 90
end
end
end
if Input.repeat?(Input::LEFT)
if Input.trigger?(Input::LEFT) or
@index / 45 > 0 or @index % 5 > 0
Audio.se_play("Audio/SE/" + "Cursor", 100, 50)
if @index % 5 > 0
@index -= 1
else
@index -= 45 - 4
end
if @index < 0
@index += 90
end
end
end
if Input.repeat?(Input::DOWN)
Audio.se_play("Audio/SE/" + "Cursor", 100, 50)
if @index % 45 < 40
@index += 5
else
@index += 90 - 40
end
end
if Input.repeat?(Input::UP)
if Input.trigger?(Input::UP) or @index % 45 >= 5
Audio.se_play("Audio/SE/" + "Cursor", 100, 50)
if @index % 45 >= 5
@index -= 5
else
@index += 90
end
end
end
if Input.repeat?(Input::L) or Input.repeat?(Input::R)
Audio.se_play("Audio/SE/" + "Cursor", 100, 50)
if @index < 45
@index += 45
else
@index -= 45
end
end
end
update_cursor_rect
end
end
DEMO:
DOWNLOAD
BUG E CONFLITTI NOTI:
Nessuno
AGGIORNAMENTI:
Nessuno
Per qualsiasi problema basta scrivere!