the Script for player to be able to put in cheats
There probably is a script.
But you can do it by using Events.
Variables and switches...mainly.
Plus, ya gotta use conditional branches. (duh ;8 )
Quote from: SirJackRex on June 25, 2007, 05:29:52 AM
There probably is a script.
But you can do it by using Events.
Variables and switches...mainly.
Plus, ya gotta use conditional branches. (duh ;8 )
??? could you tell me how cuz i got lost after there probably is a script
All you have to do is use variables and conditional branches to detect and activate the cheat.
Say, use a conditional branch to see if a button is being pressed, and you can do more than one button, and if it is, you can change the gold or what ever to what ever.
I think my friend made a cheats script once :P
I'll try and weed it outta him ;)
#==============================================================================
# Cheats Input Script - v1.2 - by BudsieBuds
#------------------------------------------------------------------------------
# NOTE: Start editing at line 68 and stop editing at '# STOP EDITING \\'.
#------------------------------------------------------------------------------
#To call script:
#$scene = Scene_Cheats.new
#------------------------------------------------------------------------------
#Questions:
#
#Q:How would I go in and set it up to give the player extra points to his stats,
#say I want the player to use a cheat that sets his strength to 999. How would I
#go about that?
#
#[Actor Healing]
#$game_actors[actorIDhere].hp +=
#$game_actors[actorIDhere].sp +=
#
#[Actors Stats]
#$game_actors[actorIDhere].str +=
#$game_actors[actorIDhere].agi +=
#$game_actors[actorIDhere].dex +=
#$game_actors[actorIDhere].int +=
#
#[Actors MaxHP & MaxSP]
#$game_actors[actorIDhere].maxhp +=
#$game_actors[actorIDhere].maxsp +=
#
#Offcourse, insert a number after the ''='', and [actorIDhere] i'm sure you
#know what that means.
#
#
#==============================================================================
#==============================================================================
# ** Scene_Cheats
#------------------------------------------------------------------------------
# by BudsieBuds
#==============================================================================
class Scene_Cheats
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# Make windows
@edit_window = Window_CheatsEdit.new
@input_window = Window_CheatsInput.new
# Execute transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of windows
@edit_window.dispose
@input_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Update windows
@edit_window.update
@input_window.update
# If B button was pressed
if Input.repeat?(Input::B)
# If cursor position is at 0
if @edit_window.index == 0
return
end
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Delete text
@edit_window.back
return
end
# If C button was pressed
if Input.trigger?(Input::C)
# If cursor position is at [OK]
if @input_window.character == nil
@cheat_word = @edit_window.cheat.downcase
=begin
# START EDITING //
===============================================================================
The cheat that you have to input:
elsif @cheat_word == "Put the cheat you want to use here."
-------------------------------------------------------------------------------
For item(s):
$game_party.gain_item(Item ID, How many)
For gold:
$game_party.gain_gold(How many)
For weapon(s):
$game_party.gain_weapon(Weapon ID, How many)
For armor(s):
$game_party.gain_armor(Armor ID, How many)
For skill(s):
$game_party.actors[Actor ID].learn_skill(Skill ID)
For adding (an) actor(s):
$game_party.add_actor(id)
-------------------------------------------------------------------------------
This is the verification sound
$game_system.se_play($data_system.decision_se)
-------------------------------------------------------------------------------
Your cheat can have a maximum of 17 letters.
The first cheat has to start with 'if'.
The cheates coming after that have to start with 'elsif'.
===============================================================================
=end
if @cheat_word == "iamrich"
$game_party.gain_gold(500)
$game_system.se_play($data_system.decision_se)
elsif @cheat_word == "iamarealfighter"
$game_party.gain_weapon(1, 1)
$game_party.gain_armor(21, 1)
$game_system.se_play($data_system.decision_se)
elsif @cheat_word == "iloveitems"
for i in 1...$data_items.size
$game_party.gain_item(i, 10)
$game_system.se_play($data_system.decision_se)
end
elsif @cheat_word == "somehelpplease"
$game_party.add_actor(2)
$game_system.se_play($data_system.decision_se)
# STOP EDITING \\
else
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
end
# Switch to map screen
$scene = Scene_Map.new
return
end
# If text character is empty
if @input_window.character == ""
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Add text character
@edit_window.add(@input_window.character)
return
end
end
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# by BudsieBuds
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# * Draw Graphic
# icon : icon
# x : draw spot x-coordinate
# y : draw spot y-coordinate
#--------------------------------------------------------------------------
def draw_icon_graphic(icon, x, y)
bitmap = RPG::Cache.icon(icon)
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
#==============================================================================
class Window_CheatsEdit < Window_Base
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :cheat # cheat
attr_reader :index # cursor position
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 128)
self.contents = Bitmap.new(width - 32, height - 32)
@max_char = 17
@index = 0
@cheat = ""
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# * Add Character
# character : text character to be added
#--------------------------------------------------------------------------
def add(character)
if @index < @max_char and character != ""
@cheat += character
@index += 1
refresh
update_cursor_rect
end
end
#--------------------------------------------------------------------------
# * Delete Character
#--------------------------------------------------------------------------
def back
if @index > 0
# Delete 1 text character
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
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
# Draw cheat
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 graphic
draw_icon_graphic("cheat", 16, 60)
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
x = (@index + 1) * 32
self.cursor_rect.set(x, 32, 28, 32)
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
update_cursor_rect
end
end
#==============================================================================
# ** Window_CheatsInput
#------------------------------------------------------------------------------
# by BudsieBuds
#==============================================================================
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"," "," "," "," ",
"+","-","*","/","!",
"1","2","3","4","5",
"" ,"" ,"" ,"" ,"" ,
"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"," "," "," "," ",
"#","$","%","&","@",
"6","7","8","9","0",
"" ,"" ,"" ,"" ,"" ,
]
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 128, 640, 352)
self.contents = Bitmap.new(width - 32, height - 32)
@index = 0
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# * Text Character Acquisition
#--------------------------------------------------------------------------
def character
return CHARACTER_TABLE[@index]
end
#--------------------------------------------------------------------------
# * 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
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
# If cursor is positioned on [OK]
if @index >= 90
self.cursor_rect.set(428, 9 * 32, 48, 32)
# If cursor is positioned on anything other than [OK]
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
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
# If cursor is positioned on [OK]
if @index >= 90
# Cursor down
if Input.trigger?(Input::DOWN)
$game_system.se_play($data_system.cursor_se)
@index -= 90
end
# Cursor up
if Input.repeat?(Input::UP)
$game_system.se_play($data_system.cursor_se)
@index -= 90 - 40
end
# If cursor is positioned on anything other than [OK]
else
# If right directional button is pushed
if Input.repeat?(Input::RIGHT)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the right edge
if Input.trigger?(Input::RIGHT) or
@index / 45 < 3 or @index % 5 < 4
# Move cursor to right
$game_system.se_play($data_system.cursor_se)
if @index % 5 < 4
@index += 1
else
@index += 45 - 4
end
if @index >= 90
@index -= 90
end
end
end
# If left directional button is pushed
if Input.repeat?(Input::LEFT)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the left edge
if Input.trigger?(Input::LEFT) or
@index / 45 > 0 or @index % 5 > 0
# Move cursor to left
$game_system.se_play($data_system.cursor_se)
if @index % 5 > 0
@index -= 1
else
@index -= 45 - 4
end
if @index < 0
@index += 90
end
end
end
# If down directional button is pushed
if Input.repeat?(Input::DOWN)
# Move cursor down
$game_system.se_play($data_system.cursor_se)
if @index % 45 < 40
@index += 5
else
@index += 90 - 40
end
end
# If up directional button is pushed
if Input.repeat?(Input::UP)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the upper edge
if Input.trigger?(Input::UP) or @index % 45 >= 5
# Move cursor up
$game_system.se_play($data_system.cursor_se)
if @index % 45 >= 5
@index -= 5
else
@index += 90
end
end
end
# If L or R button was pressed
if Input.repeat?(Input::L) or Input.repeat?(Input::R)
# Move capital / small
$game_system.se_play($data_system.cursor_se)
if @index < 45
@index += 45
else
@index -= 45
end
end
end
update_cursor_rect
end
end
Fair enough O_o
this would be nice...i would use it in the game like after you beat it
so how whould it work
explain to me please
Quote from: Trenzer on June 25, 2007, 07:30:31 PM
#==============================================================================
# Cheats Input Script - v1.2 - by BudsieBuds
#------------------------------------------------------------------------------
# NOTE: Start editing at line 68 and stop editing at '# STOP EDITING \\'.
#------------------------------------------------------------------------------
#To call script:
#$scene = Scene_Cheats.new
#------------------------------------------------------------------------------
#Questions:
#
#Q:How would I go in and set it up to give the player extra points to his stats,
#say I want the player to use a cheat that sets his strength to 999. How would I
#go about that?
#
#[Actor Healing]
#$game_actors[actorIDhere].hp +=
#$game_actors[actorIDhere].sp +=
#
#[Actors Stats]
#$game_actors[actorIDhere].str +=
#$game_actors[actorIDhere].agi +=
#$game_actors[actorIDhere].dex +=
#$game_actors[actorIDhere].int +=
#
#[Actors MaxHP & MaxSP]
#$game_actors[actorIDhere].maxhp +=
#$game_actors[actorIDhere].maxsp +=
#
#Offcourse, insert a number after the ''='', and [actorIDhere] i'm sure you
#know what that means.
#
#
#==============================================================================
#==============================================================================
# ** Scene_Cheats
#------------------------------------------------------------------------------
# by BudsieBuds
#==============================================================================
class Scene_Cheats
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# Make windows
@edit_window = Window_CheatsEdit.new
@input_window = Window_CheatsInput.new
# Execute transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of windows
@edit_window.dispose
@input_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Update windows
@edit_window.update
@input_window.update
# If B button was pressed
if Input.repeat?(Input::B)
# If cursor position is at 0
if @edit_window.index == 0
return
end
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Delete text
@edit_window.back
return
end
# If C button was pressed
if Input.trigger?(Input::C)
# If cursor position is at [OK]
if @input_window.character == nil
@cheat_word = @edit_window.cheat.downcase
=begin
# START EDITING //
===============================================================================
The cheat that you have to input:
elsif @cheat_word == "Put the cheat you want to use here."
-------------------------------------------------------------------------------
For item(s):
$game_party.gain_item(Item ID, How many)
For gold:
$game_party.gain_gold(How many)
For weapon(s):
$game_party.gain_weapon(Weapon ID, How many)
For armor(s):
$game_party.gain_armor(Armor ID, How many)
For skill(s):
$game_party.actors[Actor ID].learn_skill(Skill ID)
For adding (an) actor(s):
$game_party.add_actor(id)
-------------------------------------------------------------------------------
This is the verification sound
$game_system.se_play($data_system.decision_se)
-------------------------------------------------------------------------------
Your cheat can have a maximum of 17 letters.
The first cheat has to start with 'if'.
The cheates coming after that have to start with 'elsif'.
===============================================================================
=end
if @cheat_word == "iamrich"
$game_party.gain_gold(500)
$game_system.se_play($data_system.decision_se)
elsif @cheat_word == "iamarealfighter"
$game_party.gain_weapon(1, 1)
$game_party.gain_armor(21, 1)
$game_system.se_play($data_system.decision_se)
elsif @cheat_word == "iloveitems"
for i in 1...$data_items.size
$game_party.gain_item(i, 10)
$game_system.se_play($data_system.decision_se)
end
elsif @cheat_word == "somehelpplease"
$game_party.add_actor(2)
$game_system.se_play($data_system.decision_se)
# STOP EDITING \\
else
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
end
# Switch to map screen
$scene = Scene_Map.new
return
end
# If text character is empty
if @input_window.character == ""
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Add text character
@edit_window.add(@input_window.character)
return
end
end
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# by BudsieBuds
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# * Draw Graphic
# icon : icon
# x : draw spot x-coordinate
# y : draw spot y-coordinate
#--------------------------------------------------------------------------
def draw_icon_graphic(icon, x, y)
bitmap = RPG::Cache.icon(icon)
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
#==============================================================================
class Window_CheatsEdit < Window_Base
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :cheat # cheat
attr_reader :index # cursor position
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 128)
self.contents = Bitmap.new(width - 32, height - 32)
@max_char = 17
@index = 0
@cheat = ""
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# * Add Character
# character : text character to be added
#--------------------------------------------------------------------------
def add(character)
if @index < @max_char and character != ""
@cheat += character
@index += 1
refresh
update_cursor_rect
end
end
#--------------------------------------------------------------------------
# * Delete Character
#--------------------------------------------------------------------------
def back
if @index > 0
# Delete 1 text character
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
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
# Draw cheat
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 graphic
draw_icon_graphic("cheat", 16, 60)
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
x = (@index + 1) * 32
self.cursor_rect.set(x, 32, 28, 32)
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
update_cursor_rect
end
end
#==============================================================================
# ** Window_CheatsInput
#------------------------------------------------------------------------------
# by BudsieBuds
#==============================================================================
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"," "," "," "," ",
"+","-","*","/","!",
"1","2","3","4","5",
"" ,"" ,"" ,"" ,"" ,
"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"," "," "," "," ",
"#","$","%","&","@",
"6","7","8","9","0",
"" ,"" ,"" ,"" ,"" ,
]
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 128, 640, 352)
self.contents = Bitmap.new(width - 32, height - 32)
@index = 0
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# * Text Character Acquisition
#--------------------------------------------------------------------------
def character
return CHARACTER_TABLE[@index]
end
#--------------------------------------------------------------------------
# * 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
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
# If cursor is positioned on [OK]
if @index >= 90
self.cursor_rect.set(428, 9 * 32, 48, 32)
# If cursor is positioned on anything other than [OK]
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
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
# If cursor is positioned on [OK]
if @index >= 90
# Cursor down
if Input.trigger?(Input::DOWN)
$game_system.se_play($data_system.cursor_se)
@index -= 90
end
# Cursor up
if Input.repeat?(Input::UP)
$game_system.se_play($data_system.cursor_se)
@index -= 90 - 40
end
# If cursor is positioned on anything other than [OK]
else
# If right directional button is pushed
if Input.repeat?(Input::RIGHT)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the right edge
if Input.trigger?(Input::RIGHT) or
@index / 45 < 3 or @index % 5 < 4
# Move cursor to right
$game_system.se_play($data_system.cursor_se)
if @index % 5 < 4
@index += 1
else
@index += 45 - 4
end
if @index >= 90
@index -= 90
end
end
end
# If left directional button is pushed
if Input.repeat?(Input::LEFT)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the left edge
if Input.trigger?(Input::LEFT) or
@index / 45 > 0 or @index % 5 > 0
# Move cursor to left
$game_system.se_play($data_system.cursor_se)
if @index % 5 > 0
@index -= 1
else
@index -= 45 - 4
end
if @index < 0
@index += 90
end
end
end
# If down directional button is pushed
if Input.repeat?(Input::DOWN)
# Move cursor down
$game_system.se_play($data_system.cursor_se)
if @index % 45 < 40
@index += 5
else
@index += 90 - 40
end
end
# If up directional button is pushed
if Input.repeat?(Input::UP)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the upper edge
if Input.trigger?(Input::UP) or @index % 45 >= 5
# Move cursor up
$game_system.se_play($data_system.cursor_se)
if @index % 45 >= 5
@index -= 5
else
@index += 90
end
end
end
# If L or R button was pressed
if Input.repeat?(Input::L) or Input.repeat?(Input::R)
# Move capital / small
$game_system.se_play($data_system.cursor_se)
if @index < 45
@index += 45
else
@index -= 45
end
end
end
update_cursor_rect
end
end
thank
your welcome
or if you don't like scripts:
Try making a unused actor, (i.e. Actor #1000 Name: <nothing>), then make an event where you put that characters name in, then right after the name input processor, put a conditional branch, under the actor tab, actor 1000 :blank and name ->whatever you want them to type in for cheat. then put the cheats you want, and for else you could add another conditional branch with same thing, so that you can have different cheats