Krótki opis:
Dodaje nam nowe, ładniejsze menu. Gdzie możemy ujrzeć char'a bohatera, ikonę,stan HP i MP,Poziom bohatera, nasz stan pieniędzy,ilość przebytych kroków,nazwę mapy oraz czas gry.
Autor:
Crazyninjaguy
Tłumaczenie:
Brak tłumaczenia
Skrypt:
Spoiler:
Kod:
#===============================================================================
# * Main Menu Evo II *Version 3*
# * Successor to Main Menu EVO
# * By Crazyninjaguy
# * http://www.planetdev.co.uk
# * Part of CNG Engine Evolution
# ---------------------------------------------------------------------------
# * Version 3 Changelog
# ---------------------------------------------------------------------------
# * Added support for 640 x 480 resolution
#===============================================================================
# * Compatible With:
# ---------------------------------------------------------------------------
# * Battle/Map BGM Selector Evo
#===============================================================================
$imported = {} if $imported == nil
$imported["CEE-MainMenuEvoII"] = true
module CngEvo
module Menu
#===========================================================================
# * Load System data to prevent errors when loading Vocab terms
#===========================================================================
$data_system = load_data("Data/System.rvdata")
#===========================================================================
# * Menu Commands, seperate each value with a comma.
# * To add new commands, either use a Vocab entry (See the Vocab Module),
# Or use a text string in quotes, example: "Quests"
#===========================================================================
COMMANDS = [
Vocab::item,
Vocab::skill,
Vocab::equip,
Vocab::status,
Vocab::save,
Vocab::game_end]
#===========================================================================
# * These are the icons that display next to the command option in the menu.
# * The best way to find the number of the icon is to use Yanfly's
# YEM IconView Melody, and look for the ID number.
# * Seperate each number with a comma.
#===========================================================================
ICONS = [
144,
128,
32,
106,
141,
142]
#===========================================================================
# * These are the scenes to call for each menu command.
# * Copy the existing examples to add new ones.
# * The last value (True/False) is whether or not you need to select an
# an actor to continue onto that scene.
# * True = Select an Actor.
# * False = Don't select one.
#===========================================================================
SCENES = [
[Scene_Item, false],
[Scene_Skill, true],
[Scene_Equip, true],
[Scene_Status, true],
[Scene_File, false],
[Scene_End, false]]
#===========================================================================
# * These are the Playtime, Steps, Map Name and Gold icons.
# * As with the others, seperate with a comma
#===========================================================================
INFO_ICONS = [
188,
48,
153,
205]
end # Menu
end # CngEvo
#===============================================================================
# * Scene_Menu Class, Processes the main menu.
#===============================================================================
class Scene_Menu < Scene_Base
#=============================================================================
# * Include the Menu module and initialize the command_window index
#=============================================================================
include CngEvo::Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end # initialize
#=============================================================================
# * Start the scene by creating windows etc
#=============================================================================
def start
super
create_menu_background
create_command_window
@status_window = Window_MenuEvoStatus.new
@menuinfo = Window_MenuInfo.new
end # start
#=============================================================================
# * End the scene and dispose windows etc
#=============================================================================
def terminate
super
dispose_menu_background
@command_window.dispose
@status_window.dispose
@menuinfo.dispose
end # terminate
#=============================================================================
# * Update the scene's windows
#=============================================================================
def update
super
@menuinfo.update
if @command_window.active
@command_window.update
update_command
elsif @status_window.active
@status_window.update
update_actor_selection
end
end # update
#=============================================================================
# * Create the main command window
#=============================================================================
def create_command_window
@command_window = Window_IconCommand.new(164, COMMANDS)
@command_window.index = @menu_index
if COMMANDS.size > 7
@command_window.height = (Graphics.height - 192)
end
end # create_command_window
#=============================================================================
# * Update the command window, and process choices
#=============================================================================
def update_command
if Input.trigger?(Input::C)
Sound.play_decision
if SCENES[@command_window.index][1] == false
if SCENES[@command_window.index][0] == Scene_File
$scene = SCENES[@command_window.index][0].new(true, false, false)
else
$scene = SCENES[@command_window.index][0].new
end
else
start_actor_selection
end
elsif Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
end
end # update_command
end # Scene_Menu
#===============================================================================
# * Window_MenuEvoStatus, this window is a Window_MenuStatus Replacement
#===============================================================================
class Window_MenuEvoStatus < Window_Selectable
#=============================================================================
# * Initialize the window, ans setup values
#=============================================================================
def initialize
super(0, (Graphics.height - 192), Graphics.width, 192)
refresh
self.active = false
self.index = -1
end # initialize
#=============================================================================
# * Draw window contents
#=============================================================================
def refresh
self.contents.clear
@item_max = $game_party.members.size
@facesprites = []
for actor in $game_party.members
x = actor.index * 128 + 16
draw_actor_evoface(actor, x, 64)
draw_actor_graphic(actor, x + 14, 158)
draw_actor_name(actor, x - 12, 0)
draw_actor_level(actor, x - 12, 32)
draw_actor_state(actor, x + 80, 0)
draw_actor_hp(actor, x - 12, 64)
draw_actor_mp(actor, x - 12, 96)
end
end # refresh
#=============================================================================
# * Update cursor
#=============================================================================
def update_cursor
if @index < 0 # No cursor
self.cursor_rect.empty
elsif @index < @item_max # Normal
self.cursor_rect.set((@index * ((Graphics.width - 32) / 4)), 0, ((Graphics.width - 32) / 4), 160)
elsif @index >= 100 # Self
self.cursor_rect.set((@index * ((Graphics.width - 32) / 4)), 0, ((Graphics.width - 32) / 4), 160)
else # All
self.cursor_rect.set(0, 0, contents.width, 160)
end
end # update_cursor
#=============================================================================
# * Add support for horizontal scrolling
#=============================================================================
def update
super
if cursor_movable?
last_index = @index
if Input.repeat?(Input::RIGHT)
if @index == 0
if $game_party.members.size > 1
@index = 1
end
elsif @index == 1
if $game_party.members.size > 2
@index = 2
end
elsif @index == 2
if $game_party.members.size > 3
@index = 3
end
elsif @index == 3
if $game_party.members.size >= 4
@index = 0
end
end
elsif Input.repeat?(Input::LEFT)
if @index == 0
if $game_party.members.size >= 4
@index = 3
end
elsif @index == 1
@index = 0
elsif @index == 2
@index = 1
elsif @index == 3
@index = 2
end
end
if @index != last_index
Sound.play_cursor
end
end
update_cursor
call_update_help
end # update
end # Window_MenuEvoStatus
#===============================================================================
# * Window_MenuInfo class, this window draws Playtime, Steps etc.
#===============================================================================
class Window_MenuInfo < Window_Base
#=============================================================================
# * Include the Menu module and setup window size
#=============================================================================
include CngEvo::Menu
def initialize
super((Graphics.width - 260), 0, 260, 128)
refresh
end # initialize
#=============================================================================
# * Draw Window contents
#=============================================================================
def refresh
self.contents.clear
draw_icon(INFO_ICONS[1], 0, 24) # Steps
draw_icon(INFO_ICONS[2], 0, 48) # Map Name
draw_icon(INFO_ICONS[3], 0, 72) # Area
draw_time
self.contents.draw_text(0, 24, width - 32, WLH, $game_party.steps, 2)
@map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name
self.contents.draw_text(0, 48, width - 32, WLH, @map_name, 2)
self.contents.draw_text(0, 72, width - 32, WLH, $game_party.gold, 2)
end # refresh
#=============================================================================
# * Check if Playtime is different from last check
#=============================================================================
def update
if @text != (Graphics.frame_count / Graphics.frame_rate)
draw_time
end
super
end # update
#=============================================================================
# * Draw playtime info
#=============================================================================
def draw_time
self.contents.clear_rect(Rect.new(0, 0, (260 - 32), 24))
draw_icon(INFO_ICONS[0], 0, 0) # Playtime
@total_sec = Graphics.frame_count / Graphics.frame_rate
@hour = @total_sec / 60 / 60
@min = @total_sec / 60 % 60
@sec = @total_sec % 60
@text = sprintf("%02d:%02d:%02d", @hour, @min, @sec)
self.contents.draw_text(0, 0, width - 32, WLH, @text, 2)
end # draw_time
end # Window_MenuInfo
#===============================================================================
# * Window_Base Edits to allow for face opacity changing
#===============================================================================
class Window_Base < Window
#=============================================================================
# * Draw the character's face graphic
#=============================================================================
def draw_evoface(face_name, face_index, x, y, size = 96)
opacity = 100
bitmap = Cache.face(face_name)
rect = Rect.new(0, 0, 0, 0)
rect.x = face_index % 4 * 96 + (96 - size) / 2
rect.y = face_index / 4 * 96 + (96 - size) / 2
rect.width = size
rect.height = size
self.contents.blt(x, y, bitmap, rect, opacity)
bitmap.dispose
end # draw_evoface
#=============================================================================
# * Call the draw_evoface method with the relevant arguments
#=============================================================================
def draw_actor_evoface(actor, x, y, size = 96)
draw_evoface(actor.face_name, actor.face_index, x, y, size)
end # draw_actor_evoface
end # Window_Base
#===============================================================================
# * Scene_File edit for returning to the right menu option
#===============================================================================
class Scene_File < Scene_Base
#=============================================================================
# * Return to the previous scene
#=============================================================================
def return_scene
if @from_title
$scene = Scene_Title.new
elsif @from_event
$scene = Scene_Map.new
else
$scene = Scene_Menu.new(5)
end
end # return_scene
end # Scene_File
#===============================================================================
# * Window_Command clone to support icon drawing and scrolling with commands
#===============================================================================
class Window_IconCommand < Window_Selectable
#=============================================================================
# * Include the menu module, and initialize the window
#=============================================================================
include CngEvo::Menu
attr_reader :commands # command
def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
if row_max == 0
row_max = (commands.size + column_max - 1) / column_max
end
super(0, 0, width, row_max * WLH + 32, spacing)
@commands = commands
@item_max = commands.size
@column_max = column_max
refresh
self.index = 0
end # initialize
#=============================================================================
# * Draw window options
#=============================================================================
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i)
end
end # refresh
#=============================================================================
# * Draw the text, and icon.
#=============================================================================
def draw_item(index)
icon = ICONS[index]
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
self.contents.font.color.alpha = true ? 255 : 128
self.contents.draw_text(rect.x + 24, rect.y, rect.width, rect.height, @commands[index])
draw_icon(icon, rect.x - 2, rect.y)
end # draw_item
end # Window_IconCommand
Pomógł: 1 raz Dołączył: 12 Lut 2012 Posty: 7 Skąd: Z nieba,,,
Wysłany: Sro 05 Gru, 2012 21:06
Genialny skrypt! Wykorzystam go w moim projekcie! Jest tylko pewien tyci problem...
Otóż mam również zainstalowany skrypt *Bestiarusz* i nie widać jego opcji w Menu Głównym, mimo iż zaznaczyłem w skrypcie owego Bestiarusza:
Pomógł: 1 raz Dołączył: 12 Lut 2012 Posty: 7 Skąd: Z nieba,,,
Wysłany: Czw 06 Gru, 2012 17:10
Dzięki Nex ! Teraz mam tylko jeszcze jeden problem, otóż nie wiem jaką nazwę (lub to jak to się nazywa) zapisać Bestiaruszowi w powyższych poleceniach, jestem zielony jeśli chodzi o skrypty, siedziałem nad tym parę dobrych godzin ale bez rezultatów, więc mógłby ktoś mi wytłumaczyć jak to zrobić? Jak coś, tutaj link do skryptu:
http://www.ultimateam.pl/viewtopic.php?t=2048
Z góry dziękuję.
________________________
Obecny projekt: "Return Of Heroes". Ukończenie: 76%.
Pomógł: 16 razy Dołączył: 05 Lis 2009 Posty: 359 Skąd: spytaj innych
Wysłany: Pią 07 Gru, 2012 15:09
Masz tutaj instrukcję jak dodać bestiariusz
[code]ZNAJDŹ
Vocab::save,
DODAJ PO
"Bestiariusz",
ZNAJDŹ
141,
DODAJ PO
153,
ZNAJDŹ
[Scene_File, false],
DODAJ PO
[Scene_MonsterBook, false],
[code]
________________________ po co to kopiujesz? ;d
Spoiler:
Fakty:
1.Widzisz mój podpis
2.Jesteś w internecie
3.Czytasz
4.Siedzisz przy komputerze
5.Jesteś na UltimaForum
6.Twój nick to Gość
kiedys tu bylo fajniej... coz gospoda rma forever
chwala tym ktorzy nadal robia w 2k
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum