Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

2 Pages V   1 2 >  
Reply to this topicStart new topic
> Submission: Custom Menu System, by Prexus
Prexus
post Oct 15 2005, 03:10 AM
Post #1


Level 3
Group Icon

Group: Member
Posts: 31
Type: Event Designer
RM Skill: Masterful




Okay: This is one big script but there are some VERY important things you must do!

Read the instructions very carefully (comments at top of script)

CODE
# Custom Menu System
# - Stylized with Dropdown Menus
# Includes:
# - Unlimited character support
# - Quest/Key Item Support (by rpgmaker)
# - Organized Menus by Items, Weapons, Armors, and Key Items
# - Advanced Equip Screen (by RPG-Advocate)
# - Reorganized Status Screen
# - Horizontal Menus
# - Transparent Windows
# - Single Scene interface [lag reduction]
# - Map Name Window
# - Support for Deke/Near Fantastica's day*night system
#
# Instruction Manual:
#
# Step 1 - copy and paste this line into Window_Base under def initialize
# self.back_opacity = 160
# You can remove this line if you do not wish for transparent menu windows.
#
# Step 2 - copy and paste these lines at the end of Window_Base before the
# last end:
# def draw_actor_face(actor,x,y)
# bitmap = RPG::Cache.picture(actor.name + ".png")
# self.contents.blt(x,y,bitmap,Rect.new(0,0,100,100))
# end
# This is for FaceSet support. You can remove this by searching for
# draw_actor_face and removing the line and the def draw_actor_face code.
# If you keep this code, you will require 100x100 png files in the Pictures
# directory named after the characters they correspond to.
# Example: Arshes' face image is called Arshes.png
#
# Step 3 - Add this line:
# @help_window.y = 0
# between these lines:
# @help_window = Window_Help.new
# and
# @help_window.set_text(@help_text)
# in Scene_File. This is mandatory.
#
# Step 4 - Add this to Game_Map at the end:
# def name
# $map_infos[@map_id]
# end
# Also add this to Scene_Title after $data_system in def main
# $map_infos = load_data("Data/MapInfos.rxdata")
# for key in $map_infos.keys
# $map_infos[key] = $map_infos[key].name
# end
# Thats for the map location window.
#
# Support for Deke/Near Fantastica's Day and Night System:
# Currently the script has this commented out, so that it doesn't interfere.
# If you wish to support this, run a search in this file for D&N Script
# Instructions will be there for you to follow.
# Also, make sure that the D&N system script is below this one in the list
#
# Support for the Key Items window is as follows:
# Create 4 new elements in the Database (system tab)
# Make them IDs 17, 18, 19, and 20 and name them:
# 0017: Items
# 0018: Weapons
# 0019: Armor
# 0020: Quest Items
# Now, in the database, give the corresponding items the corresponding elements
# You'll need to do this for every item and such. If one item has both ids it
# will show in both menus (Such as Items/Quest Items)
#
# Thats it. Enjoy ^^;
# - Prexus

class Window_Item < Window_Selectable
def initialize(wintype = 1, element_id = 17)
super(0, 64, 640, 352)
@element_id = element_id
@wintype = wintype
@column_max = 2
if $game_temp.in_battle
@column_max = 1
self.x = 308
self.y = 80
self.width = 316
self.height = 196
self.back_opacity = 160
end
self.index = 0
refresh
end
def item
return @data[self.index]
end
def setids(wintype, element_id)
@wintype = wintype
@element_id = element_id
refresh
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
if @wintype == 1
for i in 1...$data_items.size
if $game_party.item_number(i) > 0
if $data_items[i] != nil and ($data_items[i].element_set.include?(@element_id))
@data.push($data_items[i])
end
end
end
elsif @wintype == 2
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0
if $data_weapons[i] != nil and ($data_weapons[i].element_set.include?(@element_id))
@data.push($data_weapons[i])
end
end
end
elsif @wintype == 3
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0
if $data_armors[i] != nil
@data.push($data_armors[i])
end
end
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
for i in 0...@item_max
draw_item(i)
end
end
end
def draw_item(index)
item = @data[index]
case item
when RPG::Item
number = $game_party.item_number(item.id)
when RPG::Weapon
number = $game_party.weapon_number(item.id)
when RPG::Armor
number = $game_party.armor_number(item.id)
end
if item.is_a?(RPG::Item)
if $game_party.item_can_use?(item.id)
self.contents.font.color = normal_color
else
disabled_color
end
else
self.contents.font.color = normal_color
end
if $game_temp.in_battle
x = 4
y = index * 32
else
x = 4 + index % 2 * (288 + 32)
y = index / 2 * 32
end
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(item.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
self.contents.draw_text(x + 240, y, 16, 32, "x", 1)
self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end

class Window_MapName < Window_Base
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "Location")
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, $game_map.name.to_s, 2)
end
end


class Window_EquipLeft < Window_Base
attr_accessor :mode
attr_accessor :changes
def initialize(actor)
super(0, 64, 272, 352)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
self.z += 100
actor_num = actor.id
@actor = actor
refresh
end
def update_actor(actor)
@actor = actor
actor_num = actor.id
refresh
end
def refresh
self.contents.clear
draw_actor_name(@actor, 4, 0)
draw_actor_level(@actor, 4, 32)
draw_actor_parameter(@actor, 4, 64, 0)
draw_actor_parameter(@actor, 4, 96, 1)
draw_actor_parameter(@actor, 4, 128, 2)
draw_actor_parameter(@actor, 4, 192, 3)
draw_actor_parameter(@actor, 4, 224, 4)
draw_actor_parameter(@actor, 4, 256, 5)
draw_actor_parameter(@actor, 4, 288, 6)
if @new_atk != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 64, 40, 32, "?", 1)
self.contents.font.color = @actor.atk < @new_atk system_color :
@actor.atk > @new_atk disabled_color :
normal_color
self.contents.draw_text(200, 64, 36, 32, @new_atk.to_s, 2)
end
if @new_pdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 96, 40, 32, "?", 1)
self.contents.font.color = @actor.pdef < @new_pdef system_color :
@actor.pdef > @new_pdef disabled_color :
normal_color
self.contents.draw_text(200, 96, 36, 32, @new_pdef.to_s, 2)
end
if @new_mdef != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 128, 40, 32, "?", 1)
self.contents.font.color = @actor.mdef < @new_mdef system_color :
@actor.mdef > @new_mdef disabled_color :
normal_color
self.contents.draw_text(200, 128, 36, 32, @new_mdef.to_s, 2)
end
if @new_str != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 192, 40, 32, "?", 1)
self.contents.font.color = @actor.str < @new_str system_color :
@actor.str > @new_str disabled_color :
normal_color
self.contents.draw_text(200, 192, 36, 32, @new_str.to_s, 2)
end
if @new_dex != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 224, 40, 32, "?", 1)
self.contents.font.color = @actor.dex < @new_dex system_color :
@actor.dex > @new_dex disabled_color :
normal_color
self.contents.draw_text(200, 224, 36, 32, @new_dex.to_s, 2)
end
if @new_agi != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 256, 40, 32, "?", 1)
self.contents.font.color = @actor.agi < @new_agi system_color :
@actor.agi > @new_agi disabled_color :
normal_color
self.contents.draw_text(200, 256, 36, 32, @new_agi.to_s, 2)
end
if @new_int != nil
self.contents.font.color = system_color
self.contents.draw_text(160, 288, 40, 32, "?", 1)
self.contents.font.color = @actor.int < @new_int system_color :
@actor.int > @new_int disabled_color :
normal_color
self.contents.draw_text(200, 288, 36, 32, @new_int.to_s, 2)
end
end
def set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex,
new_agi, new_int)
flag = false
if new_atk != @new_atk || new_pdef != @new_pdef || new_mdef != @new_mdef
flag = true
end
if new_str != @new_str || new_dex != @new_dex || new_agi != @new_agi
flag = true
end
if new_int != @new_int
flag = true
end
@new_atk = new_atk
@new_pdef = new_pdef
@new_mdef = new_mdef
@new_str = new_str
@new_dex = new_dex
@new_agi = new_agi
@new_int = new_int
if flag
refresh
end
end
def draw_actor_parameter(actor, x, y, type)
case type
when 0
parameter_name = $data_system.words.atk
parameter_value = actor.atk
when 1
parameter_name = $data_system.words.pdef
parameter_value = actor.pdef
when 2
parameter_name = $data_system.words.mdef
parameter_value = actor.mdef
when 3
parameter_name = $data_system.words.str
parameter_value = actor.str
when 4
parameter_name = $data_system.words.dex
parameter_value = actor.dex
when 5
parameter_name = $data_system.words.agi
parameter_value = actor.agi
when 6
parameter_name = $data_system.words.int
parameter_value = actor.int
end
self.contents.font.color = system_color
self.contents.draw_text(x, y, 112, 32, parameter_name)
self.contents.font.color = normal_color
self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
end
end

class Window_EquipItem < Window_Selectable
def initialize(actor, equip_type)
super(0, 256, 640, 160)
@actor = actor
@equip_type = equip_type
@column_max = 2
refresh
self.active = false
self.index = -1
end
def item
return @data[self.index]
end
def update_actor(actor, equip_type)
@actor = actor
@equip_type = equip_type
refresh
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
if @equip_type == 0
weapon_set = $data_classes[@actor.class_id].weapon_set
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
@data.push($data_weapons[i])
end
end
end
if @equip_type != 0
armor_set = $data_classes[@actor.class_id].armor_set
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0 and armor_set.include?(i)
if $data_armors[i].kind == @equip_type-1
@data.push($data_armors[i])
end
end
end
end
@data.push(nil)
@item_max = @data.size
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
for i in 0...@item_max-1
draw_item(i)
end
end
def draw_item(index)
item = @data[index]
x = 4 + index % 2 * (288 + 32)
y = index / 2 * 32
case item
when RPG::Weapon
number = $game_party.weapon_number(item.id)
when RPG::Armor
number = $game_party.armor_number(item.id)
end
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
self.contents.font.color = normal_color
self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end

class Window_EquipItem < Window_Selectable
alias xrxs_mp1_initialize initialize
def initialize(actor, equip_type)
xrxs_mp1_initialize(actor, equip_type)
self.x = 272
self.width = 368
self.contents = Bitmap.new(width - 32, height - 32)
@column_max = 1
refresh
end
def item
return @data[self.index]
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
if @equip_type == 0
weapon_set = $data_classes[@actor.class_id].weapon_set
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
@data.push($data_weapons[i])
end
end
end
if @equip_type != 0
armor_set = $data_classes[@actor.class_id].armor_set
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0 and armor_set.include?(i)
if $data_armors[i].kind == @equip_type-1
@data.push($data_armors[i])
end
end
end
end
@data.push(nil)
@item_max = @data.size
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = "Arial"
self.contents.font.size = 24
for i in 0...@item_max-1
draw_item(i)
end
s = @data.size-1
self.contents.draw_text(4, s*32, 100, 32, "[Remove]")
end
def draw_item(index)
item = @data[index]
x = 4
y = index * 32
case item
when RPG::Weapon
number = $game_party.weapon_number(item.id)
when RPG::Armor
number = $game_party.armor_number(item.id)
end
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
self.contents.font.color = normal_color
self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
self.contents.draw_text(x + 288, y, 16, 32, ":", 1)
self.contents.draw_text(x + 304, y, 24, 32, number.to_s, 2)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end

class Window_Target < Window_Selectable
def initialize
super(0, 64, 336, 352)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
self.z += 10
@item_max = $game_party.actors.size
refresh
end
def refresh
self.contents.clear
for i in 0...$game_party.actors.size
x = 4
y = i * 84
actor = $game_party.actors[i]
draw_actor_name(actor, x, y)
draw_actor_state(actor, x + 144, y)
draw_actor_hp(actor, x, y + 32)
draw_actor_sp(actor, x + 152, y + 32)
end
end
def update_cursor_rect
self.cursor_rect.set(0, @index * 84, self.width - 32, 64)
end
end

class Window_MenuStatus < Window_Selectable
def initialize
super(0, 0, 128, $game_party.actors.size*32+32)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
self.active = false
self.index = 0
end
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 4
y = i * 32
actor = $game_party.actors[i]
draw_actor_name(actor, x, y)
end
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(0, @index * 32, self.width - 32, 32)
end
end
end

class Window_Status < Window_Base
def initialize(actor)
super(0, 64, 480, 416)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@actor = actor
refresh
end
def update_actor(actor)
@actor = actor
refresh
end
def refresh
self.contents.clear
draw_actor_face(@actor,0,32)
draw_actor_graphic(@actor, 24, 144)
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 4 + 144, 0)
draw_actor_level(@actor, 96, 32)
draw_actor_state(@actor, 180, 32)
draw_actor_hp(@actor, 96, 112-32, 172)
draw_actor_sp(@actor, 96, 144-32, 172)
draw_actor_parameter(@actor, 96, 224+16, 3)
draw_actor_parameter(@actor, 96, 256+16, 4)
draw_actor_parameter(@actor, 96, 288+16, 5)
draw_actor_parameter(@actor, 96, 320+16, 6)
self.contents.font.color = system_color
self.contents.draw_text(96, 160, 80, 32, "EXP")
self.contents.draw_text(96, 192, 80, 32, "NEXT")
self.contents.font.color = normal_color
self.contents.draw_text(96 + 80, 160, 84, 32, @actor.exp_s, 2)
self.contents.draw_text(96 + 80, 192, 84, 32, @actor.next_rest_exp_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(280, 32, 96, 32, "Equipment")
draw_item_name($data_weapons[@actor.weapon_id], 280, 64)
draw_item_name($data_armors[@actor.armor1_id], 280, 96)
draw_item_name($data_armors[@actor.armor2_id], 280, 128)
draw_item_name($data_armors[@actor.armor3_id], 280, 160)
draw_item_name($data_armors[@actor.armor4_id], 280, 192)
draw_actor_parameter(@actor, 280, 256+16, 0)
draw_actor_parameter(@actor, 280, 288+16, 1)
draw_actor_parameter(@actor, 280, 320+16, 2)
end
end

class Window_Skill < Window_Selectable
def initialize(actor)
super(0, 128, 640, 288)
@actor = actor
@column_max = 2
refresh
self.index = 0
if $game_temp.in_battle
@column_max = 1
self.x = 308
self.y = 80
self.width = 316
self.height = 196
self.back_opacity = 160
end
end
def skill
return @data[self.index]
end
def update_actor(actor)
@actor = actor
refresh
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 0...@actor.skills.size
skill = $data_skills[@actor.skills[i]]
if skill != nil
@data.push(skill)
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
for i in 0...@item_max
draw_item(i)
end
end
end
def draw_item(index)
skill = @data[index]
if @actor.skill_can_use?(skill.id)
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
if $game_temp.in_battle
x = 4
y = index * 32
else
x = 4 + index % 2 * (288 + 32)
y = index / 2 * 32
end
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(skill.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 204, 32, skill.name, 0)
self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
end
def update_help
@help_window.set_text(self.skill == nil ? "" : self.skill.description)
end
end

class Window_SkillStatus < Window_Base
def initialize(actor)
super(0, 64, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@actor = actor
refresh
end
def update_actor(actor)
@actor = actor
refresh
end
def refresh
self.contents.clear
draw_actor_name(@actor, 4, 0)
draw_actor_state(@actor, 140, 0)
draw_actor_hp(@actor, 284, 0)
draw_actor_sp(@actor, 460, 0)
end
end


class Window_Help < Window_Base
def initialize
super(0, 416, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
if $game_temp.in_battle
self.y = 0
self.back_opacity = 160
end
end
def set_text(text, align = 0)
if text != @text or align != @align
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, self.width - 40, 32, text, align)
@text = text
@align = align
@actor = nil
end
self.visible = true
end
def set_actor(actor)
if actor != @actor
self.contents.clear
draw_actor_name(actor, 4, 0)
draw_actor_state(actor, 140, 0)
draw_actor_hp(actor, 284, 0)
draw_actor_sp(actor, 460, 0)
@actor = actor
@text = nil
self.visible = true
end
end
def set_enemy(enemy)
text = enemy.name
state_text = make_battler_state_text(enemy, 112, false)
if state_text != ""
text += " " + state_text
end
set_text(text, 1)
end
end

class Window_EquipRight < Window_Selectable
def initialize(actor)
super(272, 64, 368, 192)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@actor = actor
refresh
self.index = 0
end
def item
return @data[self.index]
end
def update_actor(actor)
@actor = actor
refresh
end
def refresh
self.contents.clear
@data = []
@data.push($data_weapons[@actor.weapon_id])
@data.push($data_armors[@actor.armor1_id])
@data.push($data_armors[@actor.armor2_id])
@data.push($data_armors[@actor.armor3_id])
@data.push($data_armors[@actor.armor4_id])
@item_max = @data.size
self.contents.font.color = system_color
self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)
self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)
self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)
self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)
self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4)
draw_item_name(@data[0], 92, 32 * 0)
draw_item_name(@data[1], 92, 32 * 1)
draw_item_name(@data[2], 92, 32 * 2)
draw_item_name(@data[3], 92, 32 * 3)
draw_item_name(@data[4], 92, 32 * 4)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end


class Menu_Selectable < Window_Base
attr_reader :index
attr_reader :help_window
def initialize(x, y, width, height)
super(x, y, width, height)
@item_max = 1
@column_max = 1
@index = -1
end
def index=(index)
@index = index
if @help_window != nil
update_help
end
update_cursor_rect
end
def row_max
return (@item_max + @column_max - 1) / @column_max
end
def top_row
return self.oy / 32
end
def top_row=(row)
if row < 0
row = 0
end
if row > row_max - 1
row = row_max - 1
end
self.oy = row * 32
end
def page_row_max
return (self.height - 32) / 32
end
def page_item_max
return page_row_max * @column_max
end
def help_window=(help_window)
@help_window = help_window
if @help_window != nil
update_help
end
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
return
end
row = @index / @column_max
if row < self.top_row
self.top_row = row
end
if row > self.top_row + (self.page_row_max - 1)
self.top_row = row - (self.page_row_max - 1)
end
cursor_width = self.width / @column_max - 32
x = @index % @column_max * (cursor_width + 32)
y = @index / @column_max * 128
self.cursor_rect.set(y, x, 100, 32)
end
def update
super
if self.active and @item_max > 0 and @index >= 0
if Input.repeat?(Input::RIGHT)
if (@column_max == 1 and Input.trigger?(Input::LEFT)) or
@index < @item_max - @column_max
$game_system.se_play($data_system.cursor_se)
@index = (@index + @column_max) % @item_max
end
end
if Input.repeat?(Input::LEFT)
if (@column_max == 1 and Input.trigger?(Input::UP)) or
@index >= @column_max
$game_system.se_play($data_system.cursor_se)
@index = (@index - @column_max + @item_max) % @item_max
end
end
if Input.repeat?(Input::RIGHT)
if @column_max >= 2 and @index < @item_max - 1
$game_system.se_play($data_system.cursor_se)
@index += 1
end
end
if Input.repeat?(Input::LEFT)
if @column_max >= 2 and @index > 0
$game_system.se_play($data_system.cursor_se)
@index -= 1
end
end
if Input.repeat?(Input::R)
if self.top_row + (self.page_row_max - 1) < (self.row_max - 1)
$game_system.se_play($data_system.cursor_se)
@index = [@index + self.page_item_max, @item_max - 1].min
self.top_row += self.page_row_max
end
end
if Input.repeat?(Input::L)
if self.top_row > 0
$game_system.se_play($data_system.cursor_se)
@index = [@index - self.page_item_max, 0].max
self.top_row -= self.page_row_max
end
end
end
if @help_window != nil
update_help
end
update_cursor_rect
end
end

class Window_MenuCommand < Window_Selectable
def initialize(width, commands)
super(0, 0, width, commands.size * 32 + 32)
@item_max = commands.size
@commands = commands
self.contents = Bitmap.new(width - 32, @item_max * 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
self.index = 0
end
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i, normal_color)
end
end
def draw_item(index, color)
self.contents.font.color = color
rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index],1)
end
def disable_item(index)
draw_item(index, disabled_color)
end
end


class Menu_Command < Menu_Selectable
def initialize(width, commands)
super(0, 0, 700, 500)
@item_max = commands.size
@commands = commands
self.contents = Bitmap.new(width - 32, @item_max * 32)
self.contents.font.name = "Arial"
self.contents.font.size = 24
self.back_opacity = 0
refresh
self.index = 0
end
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i, normal_color)
end
end
def draw_item(index, color)
self.contents.font.color = color
rect = Rect.new(-16+128*index, 5, 128, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index],1)
end
def disable_item(index)
draw_item(index, disabled_color)
end
end

# D&N Script - If you are using the script, uncomment all of this.
# class Window_Time < Window_Base
# def initialize
#super(0, 0, 160, 64)
#self.contents = Bitmap.new(width - 32, height - 32)
#self.contents.font.name = "Arial" # "Time" window font
#self.contents.font.size = 24
#refresh
#end
#def refresh
#self.contents.clear
#@total_sec = Graphics.frame_count / Graphics.frame_rate
#@minute=$game_time.get_minute.floor
#hour = $game_time.get_hour
#pm_flag= hour >=12 ? true : false
#hour= hour >= 12 ? hour-12 : hour
#day=$game_time.get_day
#month=$game_time.get_month
#year=$game_time.get_year
#if hour.floor==0
#text=sprintf("%02d:%02d",12,@minute)
#else
#text=sprintf("%02d:%02d",hour,@minute)
#end
#if pm_flag
# text += " PM"
#else
#text += " AM"
#end
#self.contents.font.color = normal_color
#self.contents.draw_text(4, 0, 120, 32, text, 2)
#end
#def update
#if $game_time.get_minute.floor != @minute
#refresh
#end
#end
#end

class Scene_Menu
def initialize(menu_index = 0, actor_index = 0, equip_index = 0)
@menu_index = menu_index
@actor_index = actor_index
@equip_index = equip_index
end
def main
@sprite = Spriteset_Map.new
s1 = $data_system.words.item
s2 = $data_system.words.equip
s3 = $data_system.words.skill
s4 = "Status"
s5 = "Game"
@dummy_window = Window_Base.new(0, 0, 640, 64)
@command_window = Menu_Command.new(640, [s1, s2, s3, s4, s5])
@command_window.index = @menu_index
@command_window.width = 700
@command_window.height = 500
@command_window.y = -5
@command_window.x = -5
@command_window.opacity = 0
@command_window.z += 10
@dummy_window.z += 10
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
@playtime_window = Window_PlayTime.new
@playtime_window.x = 640-@playtime_window.width
@playtime_window.y = 64
@playtime_window.visible = false
@playtime_window.active = false
@mapname_window = Window_MapName.new
@mapname_window.x = 640-@mapname_window.width
@mapname_window.y = @playtime_window.y+@playtime_window.height
@mapname_window.visible = false
@mapname_window.active = false
@steps_window = Window_Steps.new
@steps_window.x = 640-@steps_window.width
@steps_window.y = @playtime_window.y+@playtime_window.height + 96
@steps_window.visible = false
@steps_window.active = false
@gold_window = Window_Gold.new
@gold_window.x = 640-@gold_window.width
@gold_window.y = @steps_window.y+@steps_window.height
@gold_window.visible = false
@gold_window.active = false
# D&N script
#This is for use with Deke/NearFantasticas day night system, uncomment it if
#you have this script.
#@time_window = Window_Time.new
#@time_window.x = 640-@time_window.width
#@time_window.y = @gold_window.y+@gold_window.height
#@time_window.visible = false
#@time_window.active = false
@help_window = Window_Help.new
@help_window.x = 0
@help_window.y = 416
@item_window = Window_Item.new(1, 17)
@item_window.help_window = @help_window
@item_window.visible = false
@item_window.active = false
@drop1 = Window_MenuCommand.new(128,["Basic", "Weapons", "Armor", "Quest"])
@drop1.x = 0
@drop1.y = 64
@drop1.visible = false
@drop1.active = false
@drop2 = Window_MenuStatus.new
@drop2.x = 128
@drop2.y = 64
@drop2.visible = false
@drop2.active = false
@drop3 = Window_MenuCommand.new(128,["Save","Quit"])
@drop3.x = 640-128
@drop3.y = 64
@drop3.visible = false
@drop3.active = false
@target_window = Window_Target.new
@target_window.visible = false
@target_window.active = false
@actor = $game_party.actors[@actor_index]
@equiphelp_window = Window_Help.new
@left_window = Window_EquipLeft.new(@actor)
@left_window.visible = false
@left_window.active = false
@right_window = Window_EquipRight.new(@actor)
@right_window.help_window = @equiphelp_window
@right_window.visible = false
@right_window.active = false
@item_window1 = Window_EquipItem.new(@actor, 0)
@item_window1.help_window = @equiphelp_window
@item_window1.visible = false
@item_window1.active = false
@item_window2 = Window_EquipItem.new(@actor, 1)
@item_window2.help_window = @equiphelp_window
@item_window2.visible = false
@item_window2.active = false
@item_window3 = Window_EquipItem.new(@actor, 2)
@item_window3.help_window = @equiphelp_window
@item_window3.visible = false
@item_window3.active = false
@item_window4 = Window_EquipItem.new(@actor, 3)
@item_window4.help_window = @equiphelp_window
@item_window4.visible = false
@item_window4.active = false
@item_window5 = Window_EquipItem.new(@actor, 4)
@item_window5.help_window = @equiphelp_window
@item_window5.visible = false
@item_window5.active = false
@equiphelp_window.active = false
@equiphelp_window.visible = false
@right_window.index = @equip_index
@skillstatus_window = Window_SkillStatus.new(@actor)
@skillstatus_window.visible = false
@skillstatus_window.active = false
@skill_window = Window_Skill.new(@actor)
@skill_window.help_window = @help_window
@skill_window.visible = false
@skill_window.active = false
@help_window.visible = false
@help_window.active = false
@skilltarget_window = Window_Target.new
@skilltarget_window.visible = false
@skilltarget_window.active = false
@playerstatus_window = Window_Status.new(@actor)
@playerstatus_window.visible = false
@playerstatus_window.active = false
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@help_window.dispose
@item_window.dispose
@target_window.dispose
@drop1.dispose
@drop2.dispose
@drop3.dispose
@dummy_window.dispose
@command_window.dispose
@playtime_window.dispose
@steps_window.dispose
@mapname_window.dispose
@gold_window.dispose
#You will also have to take out this comment for the D&N script
#@time_window.dispose
@equiphelp_window.dispose
@left_window.dispose
@right_window.dispose
@item_window1.dispose
@item_window2.dispose
@item_window3.dispose
@item_window4.dispose
@item_window5.dispose
@skillstatus_window.dispose
@skill_window.dispose
@skilltarget_window.dispose
@playerstatus_window.dispose
end
def equip_refresh
@item_window1.visible = (@right_window.index == 0)
@item_window2.visible = (@right_window.index == 1)
@item_window3.visible = (@right_window.index == 2)
@item_window4.visible = (@right_window.index == 3)
@item_window5.visible = (@right_window.index == 4)
item1 = @right_window.item
case @right_window.index
when 0
@eitem_window = @item_window1
newmode = 0
when 1
@eitem_window = @item_window2
newmode = 1
when 2
@eitem_window = @item_window3
newmode = 1
when 3
@eitem_window = @item_window4
newmode = 1
when 4
@eitem_window = @item_window5
newmode = 1
end
if newmode != @left_window.mode
@left_window.mode = newmode
@left_window.refresh
end
if @right_window.active
@left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil)
end
if @eitem_window.active
item2 = @eitem_window.item
last_hp = @actor.hp
old_atk = @actor.atk
old_pdef = @actor.pdef
old_mdef = @actor.mdef
old_str = @actor.str
old_dex = @actor.dex
old_agi = @actor.agi
old_int = @actor.int
old_eva = @actor.eva
@actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
new_atk = @actor.atk
new_pdef = @actor.pdef
new_mdef = @actor.mdef
new_str = @actor.str
new_dex = @actor.dex
new_agi = @actor.agi
new_int = @actor.int
new_eva = @actor.eva
@left_window.changes = [0, 0, 0, 0, 0, 0, 0, 0]
if new_atk > old_atk
@left_window.changes[0] = 1
end
if new_atk < old_atk
@left_window.changes[0] = -1
end
if new_pdef > old_pdef
@left_window.changes[1] = 1
end
if new_pdef < old_pdef
@left_window.changes[1] = -1
end
if new_mdef > old_mdef
@left_window.changes[2] = 1
end
if new_mdef < old_mdef
@left_window.changes[2] = -1
end
if new_str > old_str
@left_window.changes[3] = 1
end
if new_str < old_str
@left_window.changes[3] = -1
end
if new_dex > old_dex
@left_window.changes[4] = 1
end
if new_dex < old_dex
@left_window.changes[4] = -1
end
if new_agi > old_agi
@left_window.changes[5] = 1
end
if new_agi < old_agi
@left_window.changes[5] = -1
end
if new_int > old_int
@left_window.changes[6] = 1
end
if new_int < old_int
@left_window.changes[6] = -1
end

@actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
@actor.hp = last_hp
@left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str,
new_dex, new_agi, new_int)
end
end
def update
@help_window.update
@item_window.update
@target_window.update
@dummy_window.update
@mapname_window.update
@drop1.update
@drop2.update
@drop3.update
@command_window.update
@playtime_window.update
@steps_window.update
@gold_window.update
#You'll also have to take out this comment for the D&N script
#@time_window.update
@left_window.update
@right_window.update
@equiphelp_window.update
@skillstatus_window.update
@skill_window.update
@skilltarget_window.update
@playerstatus_window.update
if @playerstatus_window.active
update_playerstatus
return
end
if @skill_window.active
update_skill
return
end
if @skilltarget_window.active
update_skilltarget
return
end
if @eitem_window != nil
if @eitem_window.visible
equip_refresh
@eitem_window.update
end
end
if @right_window.active
update_right
return
end
if @eitem_window != nil
if @eitem_window.active
update_eitem
return
end
end
if @command_window.active
update_command
return
end
if @drop1.active
update_drop1
return
end
if @drop2.active
update_drop2
return
end
if @drop3.active
update_drop3
return
end
if @item_window.active
update_item
return
end
if @target_window.active
update_target
return
end
end
def update_playerstatus
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@playerstatus_window.active = false
@playerstatus_window.visible = false
@playtime_window.visible = false
@gold_window.visible = false
@steps_window.visible = false
@mapname_window.visible = false
# D&N Script - Uncomment this line:
#@time_window.visible = false
@command_window.active = true
return
end
end


+ MORE IN NEXT POST


__________________________
Go to the top of the page
 
+Quote Post
   
Prexus
post Oct 15 2005, 03:11 AM
Post #2


Level 3
Group Icon

Group: Member
Posts: 31
Type: Event Designer
RM Skill: Masterful




CODE
def update_skill
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@skill_window.active = false
@skill_window.visible = false
@skillstatus_window.visible = false
@help_window.visible = false
@command_window.active = true
return
end
if Input.trigger?(Input::C)
@skill = @skill_window.skill
if @skill == nil or not @actor.skill_can_use?(@skill.id)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
if @skill.scope >= 3
@skill_window.active = false
@skilltarget_window.x = (@skill_window.index + 1) % 2 * 304
@skilltarget_window.visible = true
@skilltarget_window.active = true
if @skill.scope == 4 || @skill.scope == 6
@skilltarget_window.index = -1
elsif @skill.scope == 7
@skilltarget_window.index = @actor_index - 10
else
@skilltarget_window.index = 0
end
else
if @skill.common_event_id > 0
$game_temp.common_event_id = @skill.common_event_id
$game_system.se_play(@skill.menu_se)
@actor.sp -= @skill.sp_cost
@skillstatus_window.refresh
@skill_window.refresh
@skilltarget_window.refresh
$scene = Scene_Map.new
return
end
end
return
end
end
def update_skilltarget
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@skill_window.active = true
@skilltarget_window.visible = false
@skilltarget_window.active = false
return
end
if Input.trigger?(Input::C)
unless @actor.skill_can_use?(@skill.id)
$game_system.se_play($data_system.buzzer_se)
return
end
if @skilltarget_window.index == -1
used = false
for i in $game_party.actors
used |= i.skill_effect(@actor, @skill)
end
end
if @skilltarget_window.index <= -2
target = $game_party.actors[@skilltarget_window.index + 10]
used = target.skill_effect(@actor, @skill)
end
if @skilltarget_window.index >= 0
target = $game_party.actors[@skilltarget_window.index]
used = target.skill_effect(@actor, @skill)
end
if used
$game_system.se_play(@skill.menu_se)
@actor.sp -= @skill.sp_cost
@skillstatus_window.refresh
@skill_window.refresh
@skilltarget_window.refresh
if $game_party.all_dead?
$scene = Scene_Gameover.new
return
end
if @skill.common_event_id > 0
$game_temp.common_event_id = @skill.common_event_id
$scene = Scene_Map.new
return
end
end
unless used
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
def update_right
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@right_window.visible = false
@right_window.active = false
@left_window.visible = false
@equiphelp_window.visible = false
@item_window1.visible = false
@item_window2.visible = false
@item_window3.visible = false
@item_window4.visible = false
@item_window5.visible = false
@eitem_window.visible = false
@command_window.active = true
return
end
if Input.trigger?(Input::C)
if @actor.equip_fix?(@right_window.index)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
@right_window.active = false
@eitem_window.active = true
@eitem_window.index = 0
return
end
end
def update_eitem
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@right_window.active = true
@eitem_window.active = false
@eitem_window.index = -1
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.equip_se)
item = @eitem_window.item
@actor.equip(@right_window.index, item == nil ? 0 : item.id)
@right_window.active = true
@eitem_window.active = false
@eitem_window.index = -1
@right_window.refresh
@eitem_window.refresh
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@drop1.visible = true
@drop1.active = true
return
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@drop2.x = 128
@drop2.visible = true
@drop2.active = true
return
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@drop2.x = 256
@drop2.visible = true
@drop2.active = true
return
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@drop2.x = 384
@drop2.visible = true
@drop2.active = true
return
when 4
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@drop3.visible = true
@drop3.active = true
return
end
return
end
end
def update_drop1
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@drop1.visible = false
@drop1.active = false
@drop1.index = 0
@command_window.active = true
return
end
if Input.trigger?(Input::C)
case @drop1.index
when 0
@item_window.setids(1,17)
when 1
@item_window.setids(2, 18)
when 2
@item_window.setids(3, 19)
when 3
@item_window.setids(1, 20)
end
@drop1.visible = false
@drop1.active = false
@drop1.index = 0
@item_window.visible = true
@item_window.active = true
@help_window.visible = true
return
end
end
def update_drop2
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@drop2.visible = false
@drop2.active = false
@drop2.index = 0
@command_window.active = true
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
$game_system.se_play($data_system.decision_se)
@actor = $game_party.actors[@drop2.index]
@right_window.update_actor(@actor)
@left_window.update_actor(@actor)
@item_window1.update_actor(@actor, 0)
@item_window2.update_actor(@actor, 1)
@item_window3.update_actor(@actor, 2)
@item_window4.update_actor(@actor, 3)
@item_window5.update_actor(@actor, 4)
@right_window.index = 0
@drop2.visible = false
@drop2.active = false
@drop2.index = 0
@right_window.visible = true
@right_window.active = true
@left_window.visible = true
@equiphelp_window.visible = true
@item_window1.visible = true
@item_window2.visible = true
@item_window3.visible = true
@item_window4.visible = true
@item_window5.visible = true
equip_refresh
return
when 2
$game_system.se_play($data_system.decision_se)
@actor = $game_party.actors[@drop2.index]
@skill_window.update_actor(@actor)
@drop2.visible = false
@drop2.active = false
@drop2.index = 0
@skill_window.visible = true
@skill_window.active = true
@skillstatus_window.visible = true
@skillstatus_window.update_actor(@actor)
@help_window.visible = true
return
when 3
$game_system.se_play($data_system.decision_se)
@actor = $game_party.actors[@drop2.index]
@playerstatus_window.update_actor(@actor)
@drop2.visible = false
@drop2.active = false
@drop2.index = 0
@playerstatus_window.visible = true
@playerstatus_window.active = true
@playtime_window.visible = true
@gold_window.visible = true
@mapname_window.visible = true
@steps_window.visible = true
# D&N Script - Uncomment this line.
@time_window.visible = true
return
end
end
end
def update_drop3
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@drop3.visible = false
@drop3.active = false
@drop3.index = 0
@command_window.active = true
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
case @drop3.index
when 0
$scene = Scene_Save.new
when 1
$scene = Scene_End.new
end
end
end
def update_item
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@item_window.active = false
@item_window.visible = false
@help_window.visible = false
@command_window.active = true
return
end
if Input.trigger?(Input::C)
@item = @item_window.item
unless @item.is_a?(RPG::Item)
$game_system.se_play($data_system.buzzer_se)
return
end
unless $game_party.item_can_use?(@item.id)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
if @item.scope >= 3
@target_window.x = (@item_window.index + 1) % 2 * 304
@target_window.visible = true
@target_window.active = true
@item_window.active = false
if @item.scope == 4 || @item.scope == 6
@target_window.index = -1
else
@target_window.index = 0
end
else
if @item.common_event_id > 0
$game_temp.common_event_id = @item.common_event_i
$game_system.se_play(@item.menu_se)
if @item.consumable
$game_party.lose_item(@item.id, 1)
@item_window.draw_item(@item_window.index)
end
$scene = Scene_Map.new
return
end
end
return
end
end
def update_target
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
unless $game_party.item_can_use?(@item.id)
@item_window.refresh
end
@item_window.active = true
@target_window.visible = false
@target_window.active = false
return
end
if Input.trigger?(Input::C)
if $game_party.item_number(@item.id) == 0
$game_system.se_play($data_system.buzzer_se)
return
end
if @target_window.index == -1
used = false
for i in $game_party.actors
used |= i.item_effect(@item)
end
end
if @target_window.index >= 0
target = $game_party.actors[@target_window.index]
used = target.item_effect(@item)
end
if used
$game_system.se_play(@item.menu_se)
if @item.consumable
$game_party.lose_item(@item.id, 1)
@item_window.draw_item(@item_window.index)
end
@target_window.refresh
if $game_party.all_dead?
$scene = Scene_Gameover.new
return
end
if @item.common_event_id > 0
$game_temp.common_event_id = @item.common_event_id
$scene = Scene_Map.new
return
end
end
unless used
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end


__________________________
Go to the top of the page
 
+Quote Post
   
Prexus
post Oct 15 2005, 03:12 AM
Post #3


Level 3
Group Icon

Group: Member
Posts: 31
Type: Event Designer
RM Skill: Masterful




Here are screenshots:






__________________________
Go to the top of the page
 
+Quote Post
   
snowstriker
post Oct 19 2005, 02:17 PM
Post #4


Level 8
Group Icon

Group: Revolutionary
Posts: 115
Type: Artist
RM Skill: Skilled




OK, I just finished putting in the IDs for items, key items, ... etc. but where does the huge part go? I;m dumb at scripting :\.

So where do the huge parts get pasted?

~Snow


__________________________


Game: Eternal Fantasy

Go to the top of the page
 
+Quote Post
   
Rpgx
post Oct 19 2005, 03:19 PM
Post #5


lolwut?
Group Icon

Group: Revolutionary
Posts: 924
Type: Event Designer
RM Skill: Undisclosed




Hi! I didn't use this, but I know how. The first codes you have to read the instructions. You'll get it if you read. The huge thing goes in....uh sorry this mightr take awhile. I'll try to contact Prexus about it.

Peace!


__________________________




I don't have a lot of userbars....
Go to the top of the page
 
+Quote Post
   
Prexus
post Oct 20 2005, 04:06 AM
Post #6


Level 3
Group Icon

Group: Member
Posts: 31
Type: Event Designer
RM Skill: Masterful




New script a above Main.


__________________________
Go to the top of the page
 
+Quote Post
   
Rpgx
post Oct 20 2005, 12:24 PM
Post #7


lolwut?
Group Icon

Group: Revolutionary
Posts: 924
Type: Event Designer
RM Skill: Undisclosed




Thanks Prexus! i was under a really tight situation there! Geese! I'll never promise anything I can't keep again!


__________________________




I don't have a lot of userbars....
Go to the top of the page
 
+Quote Post
   
snowstriker
post Oct 20 2005, 01:44 PM
Post #8


Level 8
Group Icon

Group: Revolutionary
Posts: 115
Type: Artist
RM Skill: Skilled




All I get is a TON of errors. :\

And I try to go to them to fix them but I just don't understand anymore... GYAH ><; this looked really cool too.


It says there is something wrong with my last line (end) >__>

~Snow

This post has been edited by snowstriker: Oct 20 2005, 01:47 PM


__________________________


Game: Eternal Fantasy

Go to the top of the page
 
+Quote Post
   
Rpgx
post Oct 20 2005, 02:07 PM
Post #9


lolwut?
Group Icon

Group: Revolutionary
Posts: 924
Type: Event Designer
RM Skill: Undisclosed




Maybe you have too many ends! Each comment or script sentence parts has the end at the bottom. Try deleting the script and re doing it!


__________________________




I don't have a lot of userbars....
Go to the top of the page
 
+Quote Post
   
snowstriker
post Oct 20 2005, 02:16 PM
Post #10


Level 8
Group Icon

Group: Revolutionary
Posts: 115
Type: Artist
RM Skill: Skilled




I get most of it to work, but I still don't have the same look as shown above, plus it isnt transparent.

Also, if I try to use it in the game, I get many errors like Scene_Equip errors (having to do with arguments).

~Snow


__________________________


Game: Eternal Fantasy

Go to the top of the page
 
+Quote Post
   
Rpgx
post Oct 20 2005, 02:22 PM
Post #11


lolwut?
Group Icon

Group: Revolutionary
Posts: 924
Type: Event Designer
RM Skill: Undisclosed




I am not sure about this, but did the script require you to have a file saved into your game or anything? Idon't have time to check it out right now. Sorry...If it did make sure you did it. I''l try to find Prexus again!


__________________________




I don't have a lot of userbars....
Go to the top of the page
 
+Quote Post
   
snowstriker
post Oct 20 2005, 02:55 PM
Post #12


Level 8
Group Icon

Group: Revolutionary
Posts: 115
Type: Artist
RM Skill: Skilled




So my problems right now are:

I get erros when I try to Equip things (argument errors).
When I first hit ESC(menu key) it looks like this:
http://www.galaxiestarr.com/nicksthing1.JPG
When I hit a section (Tech, Status..) it looks like:
http://www.galaxiestarr.com/nicksthing2.JPG
Also, the menu is not transparent right now, and I did follow the instructions before the main bulk.

~Snow


__________________________


Game: Eternal Fantasy

Go to the top of the page
 
+Quote Post
   
Rpgx
post Oct 20 2005, 02:58 PM
Post #13


lolwut?
Group Icon

Group: Revolutionary
Posts: 924
Type: Event Designer
RM Skill: Undisclosed




hmmmmm......Stay on line for some time right now. I'll check this out...
Here's the code again. Try it>if it doesn't work I'll have to find out how to contact Prexus!

CODE
def update_skill
if Input.trigger?(Input::cool.gif
$game_system.se_play($data_system.cancel_se)
@skill_window.active = false
@skill_window.visible = false
@skillstatus_window.visible = false
@help_window.visible = false
@command_window.active = true
return
end
if Input.trigger?(Input::C)
@skill = @skill_window.skill
if @skill == nil or not @actor.skill_can_use?(@skill.id)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
if @skill.scope >= 3
@skill_window.active = false
@skilltarget_window.x = (@skill_window.index + 1) % 2 * 304
@skilltarget_window.visible = true
@skilltarget_window.active = true
if @skill.scope == 4 || @skill.scope == 6
@skilltarget_window.index = -1
elsif @skill.scope == 7
@skilltarget_window.index = @actor_index - 10
else
@skilltarget_window.index = 0
end
else
if @skill.common_event_id > 0
$game_temp.common_event_id = @skill.common_event_id
$game_system.se_play(@skill.menu_se)
@actor.sp -= @skill.sp_cost
@skillstatus_window.refresh
@skill_window.refresh
@skilltarget_window.refresh
$scene = Scene_Map.new
return
end
end
return
end
end
def update_skilltarget
if Input.trigger?(Input::cool.gif
$game_system.se_play($data_system.cancel_se)
@skill_window.active = true
@skilltarget_window.visible = false
@skilltarget_window.active = false
return
end
if Input.trigger?(Input::C)
unless @actor.skill_can_use?(@skill.id)
$game_system.se_play($data_system.buzzer_se)
return
end
if @skilltarget_window.index == -1
used = false
for i in $game_party.actors
used |= i.skill_effect(@actor, @skill)
end
end
if @skilltarget_window.index <= -2
target = $game_party.actors[@skilltarget_window.index + 10]
used = target.skill_effect(@actor, @skill)
end
if @skilltarget_window.index >= 0
target = $game_party.actors[@skilltarget_window.index]
used = target.skill_effect(@actor, @skill)
end
if used
$game_system.se_play(@skill.menu_se)
@actor.sp -= @skill.sp_cost
@skillstatus_window.refresh
@skill_window.refresh
@skilltarget_window.refresh
if $game_party.all_dead?
$scene = Scene_Gameover.new
return
end
if @skill.common_event_id > 0
$game_temp.common_event_id = @skill.common_event_id
$scene = Scene_Map.new
return
end
end
unless used
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
def update_right
if Input.trigger?(Input::cool.gif
$game_system.se_play($data_system.cancel_se)
@right_window.visible = false
@right_window.active = false
@left_window.visible = false
@equiphelp_window.visible = false
@item_window1.visible = false
@item_window2.visible = false
@item_window3.visible = false
@item_window4.visible = false
@item_window5.visible = false
@eitem_window.visible = false
@command_window.active = true
return
end
if Input.trigger?(Input::C)
if @actor.equip_fix?(@right_window.index)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
@right_window.active = false
@eitem_window.active = true
@eitem_window.index = 0
return
end
end
def update_eitem
if Input.trigger?(Input::cool.gif
$game_system.se_play($data_system.cancel_se)
@right_window.active = true
@eitem_window.active = false
@eitem_window.index = -1
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.equip_se)
item = @eitem_window.item
@actor.equip(@right_window.index, item == nil ? 0 : item.id)
@right_window.active = true
@eitem_window.active = false
@eitem_window.index = -1
@right_window.refresh
@eitem_window.refresh
return
end
end
def update_command
if Input.trigger?(Input::cool.gif
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@drop1.visible = true
@drop1.active = true
return
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@drop2.x = 128
@drop2.visible = true
@drop2.active = true
return
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@drop2.x = 256
@drop2.visible = true
@drop2.active = true
return
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@drop2.x = 384
@drop2.visible = true
@drop2.active = true
return
when 4
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@drop3.visible = true
@drop3.active = true
return
end
return
end
end
def update_drop1
if Input.trigger?(Input::cool.gif
$game_system.se_play($data_system.cancel_se)
@drop1.visible = false
@drop1.active = false
@drop1.index = 0
@command_window.active = true
return
end
if Input.trigger?(Input::C)
case @drop1.index
when 0
@item_window.setids(1,17)
when 1
@item_window.setids(2, 18)
when 2
@item_window.setids(3, 19)
when 3
@item_window.setids(1, 20)
end
@drop1.visible = false
@drop1.active = false
@drop1.index = 0
@item_window.visible = true
@item_window.active = true
@help_window.visible = true
return
end
end
def update_drop2
if Input.trigger?(Input::cool.gif
$game_system.se_play($data_system.cancel_se)
@drop2.visible = false
@drop2.active = false
@drop2.index = 0
@command_window.active = true
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
$game_system.se_play($data_system.decision_se)
@actor = $game_party.actors[@drop2.index]
@right_window.update_actor(@actor)
@left_window.update_actor(@actor)
@item_window1.update_actor(@actor, 0)
@item_window2.update_actor(@actor, 1)
@item_window3.update_actor(@actor, 2)
@item_window4.update_actor(@actor, 3)
@item_window5.update_actor(@actor, 4)
@right_window.index = 0
@drop2.visible = false
@drop2.active = false
@drop2.index = 0
@right_window.visible = true
@right_window.active = true
@left_window.visible = true
@equiphelp_window.visible = true
@item_window1.visible = true
@item_window2.visible = true
@item_window3.visible = true
@item_window4.visible = true
@item_window5.visible = true
equip_refresh
return
when 2
$game_system.se_play($data_system.decision_se)
@actor = $game_party.actors[@drop2.index]
@skill_window.update_actor(@actor)
@drop2.visible = false
@drop2.active = false
@drop2.index = 0
@skill_window.visible = true
@skill_window.active = true
@skillstatus_window.visible = true
@skillstatus_window.update_actor(@actor)
@help_window.visible = true
return
when 3
$game_system.se_play($data_system.decision_se)
@actor = $game_party.actors[@drop2.index]
@playerstatus_window.update_actor(@actor)
@drop2.visible = false
@drop2.active = false
@drop2.index = 0
@playerstatus_window.visible = true
@playerstatus_window.active = true
@playtime_window.visible = true
@gold_window.visible = true
@mapname_window.visible = true
@steps_window.visible = true
# D&N Script - Uncomment this line.
@time_window.visible = true
return
end
end
end
def update_drop3
if Input.trigger?(Input::cool.gif
$game_system.se_play($data_system.cancel_se)
@drop3.visible = false
@drop3.active = false
@drop3.index = 0
@command_window.active = true
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
case @drop3.index
when 0
$scene = Scene_Save.new
when 1
$scene = Scene_End.new
end
end
end
def update_item
if Input.trigger?(Input::cool.gif
$game_system.se_play($data_system.cancel_se)
@item_window.active = false
@item_window.visible = false
@help_window.visible = false
@command_window.active = true
return
end
if Input.trigger?(Input::C)
@item = @item_window.item
unless @item.is_a?(RPG::Item)
$game_system.se_play($data_system.buzzer_se)
return
end
unless $game_party.item_can_use?(@item.id)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
if @item.scope >= 3
@target_window.x = (@item_window.index + 1) % 2 * 304
@target_window.visible = true
@target_window.active = true
@item_window.active = false
if @item.scope == 4 || @item.scope == 6
@target_window.index = -1
else
@target_window.index = 0
end
else
if @item.common_event_id > 0
$game_temp.common_event_id = @item.common_event_i
$game_system.se_play(@item.menu_se)
if @item.consumable
$game_party.lose_item(@item.id, 1)
@item_window.draw_item(@item_window.index)
end
$scene = Scene_Map.new
return
end
end
return
end
end
def update_target
if Input.trigger?(Input::cool.gif
$game_system.se_play($data_system.cancel_se)
unless $game_party.item_can_use?(@item.id)
@item_window.refresh
end
@item_window.active = true
@target_window.visible = false
@target_window.active = false
return
end
if Input.trigger?(Input::C)
if $game_party.item_number(@item.id) == 0
$game_system.se_play($data_system.buzzer_se)
return
end
if @target_window.index == -1
used = false
for i in $game_party.actors
used |= i.item_effect(@item)
end
end
if @target_window.index >= 0
target = $game_party.actors[@target_window.index]
used = target.item_effect(@item)
end
if used
$game_system.se_play(@item.menu_se)
if @item.consumable
$game_party.lose_item(@item.id, 1)
@item_window.draw_item(@item_window.index)
end
@target_window.refresh
if $game_party.all_dead?
$scene = Scene_Gameover.new
return
end
if @item.common_event_id > 0
$game_temp.common_event_id = @item.common_event_id
$scene = Scene_Map.new
return
end
end
unless used
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end

*

[/quote]

Make sure not to copy anything outside the box!

This post has been edited by Rpgx: Oct 20 2005, 03:03 PM


__________________________




I don't have a lot of userbars....
Go to the top of the page
 
+Quote Post
   
snowstriker
post Oct 20 2005, 03:06 PM
Post #14


Level 8
Group Icon

Group: Revolutionary
Posts: 115
Type: Artist
RM Skill: Skilled




I did repaste it again, but still the same thing with the last end being an error and if I take it away, then same things happen like in my pics.

~Snow


__________________________


Game: Eternal Fantasy

Go to the top of the page
 
+Quote Post
   
Rpgx
post Oct 20 2005, 03:08 PM
Post #15


lolwut?
Group Icon

Group: Revolutionary
Posts: 924
Type: Event Designer
RM Skill: Undisclosed




Hey. Can you wait for awhile? I have to report this error to Prexus. Maybe he might have forgot something. I'll ask him. I think you might get an answer by sunday!

Peace!

Hey I just emailed Prexus! Maybe he'll help you out later!

Peace!

This post has been edited by Rpgx: Oct 20 2005, 03:13 PM


__________________________




I don't have a lot of userbars....
Go to the top of the page
 
+Quote Post
   
Prexus
post Oct 20 2005, 10:40 PM
Post #16


Level 3
Group Icon

Group: Member
Posts: 31
Type: Event Designer
RM Skill: Masterful




Uh.. lol.

Did you make sure to paste th contents of the second post here in the same script underneath the contents of the first post?

These are the last few lines of code from the first post:
CODE
     # D&N Script - Uncomment this line:
     #@time_window.visible = false
     @command_window.active = true
     return
   end
 end


CODE
 def update_skill
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)


These are the firs tlines of the second post. Make sure that the second part goes after the first. Also, you may be having trouble with smilies replacing things like B) in the line ...(Input::B), i'm disabling smilies in the first post so you can repaste it.


__________________________
Go to the top of the page
 
+Quote Post
   
Rpgx
post Oct 21 2005, 02:31 AM
Post #17


lolwut?
Group Icon

Group: Revolutionary
Posts: 924
Type: Event Designer
RM Skill: Undisclosed




Thanks! Maybe Snow won't have much trouble now. Thanks Prexus. By the way is it possible to contact another member without an E-mail?


__________________________




I don't have a lot of userbars....
Go to the top of the page
 
+Quote Post
   
Prexus
post Oct 21 2005, 06:07 AM
Post #18


Level 3
Group Icon

Group: Member
Posts: 31
Type: Event Designer
RM Skill: Masterful




Yeah, PM them? Or MSN/AIM/ICQ/YIM


__________________________
Go to the top of the page
 
+Quote Post
   
Rpgx
post Oct 21 2005, 06:10 AM
Post #19


lolwut?
Group Icon

Group: Revolutionary
Posts: 924
Type: Event Designer
RM Skill: Undisclosed




Thanks! Hey how did you become a staff memeber? Plus, are you going to continue that ruby tutorial. Ineed help with scripting. The reason I put my self as an advanced is because I can do everthing, but script. That's why I'm not masterful!


__________________________




I don't have a lot of userbars....
Go to the top of the page
 
+Quote Post
   
snowstriker
post Oct 21 2005, 02:11 PM
Post #20


Level 8
Group Icon

Group: Revolutionary
Posts: 115
Type: Artist
RM Skill: Skilled




It works almost perfectly now, a couple things:

It's still not transparent.

If I try to open the menu more than once, I get a "RMXP yadda yadda must close down" and it closes.

Also, if I teleport a map or two I get that close message too.....

><; Any clue what this is?

~Snow


*EDIT

Here's a pic of the error:





As for the transparent thing, I'm guessing it's because I forgot to uncomment the Step 1 Intructions. So I uncommented it and now I'm getting a script error and it wont let me go into test play.

~Snow

**EDIT

Also, how can I disable the save? I'm using save points, I disabled save on the old menu, but now with this new one it's enabled again.

Error is still happening at random >< New Game or Continued, still happens.

When trying to open a Map Key Item, I get a script error. (The Key Item opens a picture)

~Snow

This post has been edited by snowstriker: Oct 21 2005, 03:20 PM


__________________________


Game: Eternal Fantasy

Go to the top of the page
 
+Quote Post
   

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 25th May 2013 - 02:14 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker