Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

  • Chatbox

    You don't have permission to chat.
    Load More

Recommended Posts

Franco ci sono modi e modi di rispondere, ma questo non è dei migliori. Non siamo nati con la Tastiera e Mouse tra le mani non e siamo tutti Bill Gates, ma come dice Ghost ha ragione, non lo dico perché ti odio per carità, ma cerca di calmarti.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Io non capisco perchè ve la state prendendo così tanto, è grave che una persona non sappia fare estrai su file zippato per me, e come non sapere a cosa serve copia-incolla è l'abc del computer, a me da fastidio vedere gente stupida non un ignorante, perchè l'ignorante si va ad informare, l'ingenuo invece fa domande stupide senza andarsi a cercare "facili" risposte.

E per domande stupide si intente l'abc del computer, non c'entra nulla con RPG maker, poi soprattutto se la domanda è fatta da una persona che ha una certa età e dovrebbe sapere determinate cose.

 

Al giorno d'oggi che la risposta la si trova sempre su internet senza il bisogno di chiedere, la vedo molto grave.

 

Comunque ho fatto vedere quello script ad un' altra persona esperta e non ha trovato il modo di risolvere per togliere quella opzione, è questo qui:

 

 

 

 

# ==============================================================================
# ■ VGA_SCRIPT
# ------------------------------------------------------------------------------
# Name : VGA Display for VX Ace
# Type : RGSS3 Script
# Version : 1.04
# Author : Chon
#
# This script provides a full screen support as well as a max resolution mode.
# It is also possible to define some graphics replacement for most backgrounds.
# The code includes a display informations head-up-display and a FPS counter.
# Most of features are easily switchable by the user via an options menu.
# ------------------------------------------------------------------------------
# 2013/10/19 : 1.00 - First release
# 2013/10/20 : 1.01 - Add a FPS counter
# 2013/10/22 : 1.02 - Add an options menu
# 2013/10/23 : 1.03 - Correct some constant misspelling and leftovers
# 2013/10/26 : 1.04 - Display aspect ratio support
# ------------------------------------------------------------------------------
# Place this file under the Materials section and above the Main Processs of
# your RPG Maker VX Ace for it to work properly. The lower is the better.
# ------------------------------------------------------------------------------
# ● Module : Cache
# ♦ Overwritten method : system
# ♦ Overwritten method : title1
# ♦ Overwritten method : title2
# ♦ Overwritten method : battleback1
# ♦ Overwritten method : battleback2
#
# ► Built-in Class : Graphics
# ◊ Aliased method : update
#
# ► Class : Sprite_Battler
# ◊ Aliased method : update_position
#
# ► Class : Window_TitleCommand
# ♦ Overwritten method : window_width
# ♦ Overwritten method : make_command_list
#
# ► Class : Scene_Map
# ♦ Overwritten method : perform_battle_transition
#
# ► Class : Scene_Title
# ◊ Aliased method : start
# ◊ Aliased method : create_command_window
# ◊ Aliased method : command_shutdown
#
# ► Class : Scene_End
# ◊ Aliased method : command_shutdown
# ==============================================================================
 
$imported ||= {}
$imported["VGA_Display_for_VX_Ace"] = 1.04
 
module VGA # The VGA Display for VX Ace module
 
# Resolutions configuration
LOWRES_WIDTH = 544 # Set the low resolution width. Default = 544 (can be reduced -- but untested, use with caution)
LOWRES_HEIGHT = 416 # Set the low resolution height. Default = 416 (can be reduced -- but untested, use with caution)
HIGHRES_WIDTH = 640 # Set the high resolution width. Maximum = 640
HIGHRES_HEIGHT = 480 # Set the high resolution height. Maximum = 480
KEEP_ASPECT_RATIO = true # Adjust high resolution to fit to user display aspect ratio. Will display black bars instead of stretching the screen.
 
# Output configuration
CONFIG_FILE_SECTION = "VGA" # Set the header of the Game.ini under wich the display configuration values will be put.
 
# Highres files configuration
USE_HIGHRES_FILES = true # Replace standard bitmap backgrounds with size increased ones.
HIGHRES_FILES_FOLDER = "VGA/" # Set the location of high resolution bitmaps. Default = "Graphics/"
HIGHRES_FILES_PREFIX = "VGA_" # Set the prefix of high resolution bitmap files. Default = ""
 
# Default display configuration (mostly for the user's very first first boot, then Game.ini should be use).
LAUNCH_IN_FULLSCREEN = false # Launch the game in fullscreen. Default = false
LAUNCH_AT_HIGHRES = true # Launch the game at high resolution. Default = false
SHOW_INFOS = false # Display resolution and screen mode at the top left corner of the screen. Default = false
SHOW_FPS = false # Display FPS at the top right corner of the screen. Default = false
 
# User display configuration
LOAD_USER_CONFIG = true # Restore user display configuration from Game.ini. The constant values will be used at each game boot if this is set to false. Default = true
SAVE_USER_CONFIG = false # Store user display configuration in Game.ini at shutdown and not only from options menu. This will not work if the game is shutdown with Alt+F4 shortcut or closed with window exit icon. Default = false
 
# Options menu
OPTION_CHANGE_SCR = true # Enable the change screen size option (i.e. switch between fullscreen and window). Default = true
OPTION_CHANGE_RES = true # Enable the change resolution option (i.e. switch between high and low resolution). Default = true
OPTION_ASPECT_RATIO = true # Enable the keep aspect ratio option. Default = true
OPTION_SHOW_INFOS = true # Enable the show display informations option. Default = true
OPTION_SHOW_FPS = true # Enable the show fps option. Default = true
 
# Language
LANG = {
# Variable name Localization
 
# Title menu
"go_to_options" => "Opzioni",
"exit_game" => "Esci",
 
# Options menu
"lowres" => "Bassa Risoluzione",
"highres" => "Alta risoluzione (non disp.)",
"window" => "Finestra",
"fullscreen" => "Schermo intero",
"aspect_ratio" => "Formato schermo",
"show_infos" => "Mostra informazioni",
"show_fps" => "Mostra FPS",
"back_to_title" => "Ritorna ai titoli",
 
# Options stat
"option_on" => "Attivo",
"option_off" => "Disattivato",
 
# Other
"fps" => "FPS"
}
 
# ==============================================================================
# ● VGA Display for VX Ace
# ------------------------------------------------------------------------------
# Editing anything past this title may result in heavy computer damages, death,
# stomach gases or user transformation into a gremlin. So edit at your own risk.
# ==============================================================================
 
# ----------------------------------------------------------------------------
# ♦ Constant API declarations
# ----------------------------------------------------------------------------
User32DLL = DL.dlopen("user32")
User32DLL__keybd_event = DL::CFunc.new(User32DLL.sym("keybd_event"), DL::TYPE_VOID, "keybd_event", :stdcall)
GetPrivateProfileString = Win32API.new("kernel32", "GetPrivateProfileString", "ppppip", "i")
WritePrivateProfileString = Win32API.new("kernel32", "WritePrivateProfileString", "pppp", "i")
GetSystemMetrics = Win32API.new("user32", "GetSystemMetrics", "i", "i")
GetAsyncKeyState = Win32API.new("user32", "GetAsyncKeyState", "i", "i")
 
# ----------------------------------------------------------------------------
# ♦ Instance variables declarations
# ----------------------------------------------------------------------------
@aspect_ratio = GetSystemMetrics.call(0).to_f / GetSystemMetrics.call(1).to_f
 
# ----------------------------------------------------------------------------
# ♦ New method : i_to_bool
# Convert binary values into boolean values
# ----------------------------------------------------------------------------
def self.i_to_bool(i)
if i == 1; i = true; elsif i == 0; i = false; else; i = nil; end
end
 
# ----------------------------------------------------------------------------
# ♦ New method : load_vga_config
# ----------------------------------------------------------------------------
def self.load_vga_config
buffer = [].pack('x256')
section = CONFIG_FILE_SECTION
filename = "./Game.ini"
get_option = Proc.new do |key, default_value|
l = GetPrivateProfileString.call(section, key, default_value, buffer, buffer.size, filename)
buffer[0, l]
end
@files_folder = get_option.call("FilesFolder", "nil").to_s
@files_prefix = get_option.call("FilesPrefix", "nil").to_s
@files_folder = HIGHRES_FILES_FOLDER if @files_folder == "nil"
@files_prefix = HIGHRES_FILES_PREFIX if @files_prefix == "nil"
@files_folder.gsub!(/\\/) {|match| "/" }
LOAD_USER_CONFIG ? @fullscreen = i_to_bool(get_option.call("Fullscreen", nil).to_i) : @fullscreen = LAUNCH_IN_FULLSCREEN
LOAD_USER_CONFIG ? @highres = i_to_bool(get_option.call("Highres", nil).to_i) : @highres = LAUNCH_AT_HIGHRES
LOAD_USER_CONFIG ? @keep_aspect_ratio = i_to_bool(get_option.call("AspectRatio", nil).to_i) : @keep_aspect_ratio = KEEP_ASPECT_RATIO
LOAD_USER_CONFIG ? @show_infos = i_to_bool(get_option.call("ShowInfos", nil).to_i) : @show_infos = SHOW_INFOS
LOAD_USER_CONFIG ? @show_fps = i_to_bool(get_option.call("ShowFPS", nil).to_i) : @show_fps = SHOW_FPS
end
 
# ----------------------------------------------------------------------------
# ♦ New method : write_vga_config
# ----------------------------------------------------------------------------
def self.write_vga_config
section = CONFIG_FILE_SECTION
filename = "./Game.ini"
set_option = Proc.new do |key, value|
WritePrivateProfileString.call(section, key, value.to_s, filename)
end
set_option.call("FilesFolder", @files_folder)
set_option.call("FilesPrefix", @files_prefix)
set_option.call("Fullscreen", @fullscreen ? 1 : 0)
set_option.call("Highres", @highres ? 1 : 0)
set_option.call("AspectRatio", @keep_aspect_ratio ? 1 : 0)
set_option.call("ShowInfos", @show_infos ? 1 : 0)
set_option.call("ShowFPS", @show_fps ? 1 : 0)
end
 
# ----------------------------------------------------------------------------
# ♦ New method : get_files_folder
# ----------------------------------------------------------------------------
def self.get_files_folder
@files_folder != nil && USE_HIGHRES_FILES and @highres ? @files_folder : "Graphics/"
end
 
# ----------------------------------------------------------------------------
# ♦ New method : get_files_prefix
# ----------------------------------------------------------------------------
def self.get_files_prefix
@files_prefix != nil && USE_HIGHRES_FILES and @highres ? @files_prefix : ""
end
 
# ----------------------------------------------------------------------------
# ♦ New method : get_fullscreen
# ----------------------------------------------------------------------------
def self.get_fullscreen
@fullscreen == nil ? LAUNCH_IN_FULLSCREEN : @fullscreen
end
 
# ----------------------------------------------------------------------------
# ♦ New method : get_highres
# ----------------------------------------------------------------------------
def self.get_highres
@highres == nil ? LAUNCH_AT_HIGHRES : @highres
end
 
# ----------------------------------------------------------------------------
# ♦ New methods : get_highres_width
# ----------------------------------------------------------------------------
def self.get_highres_width
if @keep_aspect_ratio == true
@aspect_ratio >= HIGHRES_WIDTH.to_f / HIGHRES_HEIGHT.to_f ? @highres_width = HIGHRES_WIDTH : @highres_width = (HIGHRES_HEIGHT.to_f * @aspect_ratio).to_i
else
@highres_width = HIGHRES_WIDTH
end
return @highres_width
end
 
# ----------------------------------------------------------------------------
# ♦ New methods : get_highres_height
# ----------------------------------------------------------------------------
def self.get_highres_height
if @keep_aspect_ratio == true
@aspect_ratio >= HIGHRES_WIDTH.to_f / HIGHRES_HEIGHT.to_f ? @highres_height = (HIGHRES_WIDTH.to_f / @aspect_ratio).to_i : @highres_height = HIGHRES_HEIGHT
else
@highres_height = HIGHRES_HEIGHT
end
return @highres_height
end
 
# ----------------------------------------------------------------------------
# ♦ New method : get_aspect_ratio
# ----------------------------------------------------------------------------
def self.get_aspect_ratio
@keep_aspect_ratio == nil ? KEEP_ASPECT_RATIO : @keep_aspect_ratio
end
 
# ----------------------------------------------------------------------------
# ♦ New method : get_show_infos
# ----------------------------------------------------------------------------
def self.get_show_infos
@show_infos == nil ? SHOW_INFOS : @show_infos
end
 
# ----------------------------------------------------------------------------
# ♦ New method : get_show_fps
# ----------------------------------------------------------------------------
def self.get_show_fps
@show_fps == nil ? SHOW_FPS : @show_fps
end
 
# ----------------------------------------------------------------------------
# ♦ New method : switch_fullscreen
# ----------------------------------------------------------------------------
def self.switch_fullscreen
@fullscreen == true ? @fullscreen = false : @fullscreen = true
end
 
# ----------------------------------------------------------------------------
# ♦ New method : toggle_fullscreen
# ----------------------------------------------------------------------------
def self.toggle_fullscreen
User32DLL__keybd_event.call([0xA4, 0, 0, 0])
User32DLL__keybd_event.call([0x0D, 0, 0, 0])
User32DLL__keybd_event.call([0x0D, 0, 0x0002, 0])
User32DLL__keybd_event.call([0xA4, 0, 0x0002, 0])
end
 
# ----------------------------------------------------------------------------
# ♦ New method : switch_to_highres
# ----------------------------------------------------------------------------
def self.switch_to_highres
Graphics.resize_screen(get_highres_width, get_highres_height)
@highres = true
end
 
# ----------------------------------------------------------------------------
# ♦ New method : switch_to_lowres
# ----------------------------------------------------------------------------
def self.switch_to_lowres
Graphics.resize_screen(LOWRES_WIDTH, LOWRES_HEIGHT)
@highres = false
end
 
# ----------------------------------------------------------------------------
# ♦ New method : toggle_highres
# ----------------------------------------------------------------------------
def self.toggle_highres
Graphics.width == LOWRES_WIDTH && Graphics.height == LOWRES_HEIGHT ? switch_to_highres : switch_to_lowres
SceneManager.scene.reload
end
 
# ----------------------------------------------------------------------------
# ♦ New method : toggle_aspect_ratio
# ----------------------------------------------------------------------------
def self.toggle_aspect_ratio
@keep_aspect_ratio == true ? @keep_aspect_ratio = false : @keep_aspect_ratio = true
Graphics.resize_screen(get_highres_width, get_highres_height)
SceneManager.scene.reload
end
 
# ----------------------------------------------------------------------------
# ♦ New method : toggle_show_infos
# ----------------------------------------------------------------------------
def self.toggle_show_infos
get_show_infos == true ? @show_infos = false : @show_infos = true
end
 
# ----------------------------------------------------------------------------
# ♦ New method : toggle_show_fps
# ----------------------------------------------------------------------------
def self.toggle_show_fps
get_show_fps == true ? @show_fps = false : @show_fps = true
end
 
# ----------------------------------------------------------------------------
# ♦ New method : get_input_kbd
# ----------------------------------------------------------------------------
def self.get_input_kbd(key)
return GetAsyncKeyState.call(key)
end
 
# ----------------------------------------------------------------------------
# ♦ Game Loaders
# ----------------------------------------------------------------------------
load_vga_config
write_vga_config
switch_to_highres if get_highres
toggle_fullscreen if get_fullscreen
 
end # VGA
 
# ==============================================================================
# ● Cache
# ------------------------------------------------------------------------------
# This module loads graphics, creates bitmap objects, and retains them.
# To speed up load times and conserve memory, this module holds the
# created bitmap object in the internal hash, allowing the program to
# return preexisting objects when the same bitmap is requested again.
# ==============================================================================
 
module Cache
 
# ----------------------------------------------------------------------------
# ♦ New method : prefix
# ----------------------------------------------------------------------------
def self.prefix
return if !VGA::USE_HIGHRES_FILES
VGA.get_highres ? VGA.get_files_prefix : ""
end
 
# ----------------------------------------------------------------------------
# ♦ New method : load_prefixed_bitmap
# ----------------------------------------------------------------------------
def self.load_prefixed_bitmap(folder, filename)
bitmap = load_bitmap(VGA.get_files_folder + folder, prefix + filename) rescue nil
bitmap == nil ? load_bitmap("Graphics/" + folder, filename) : bitmap
end
 
# ----------------------------------------------------------------------------
# ♦ Overwritten method : system
# ----------------------------------------------------------------------------
def self.system(filename)
if filename == "GameOver" and VGA.get_highres && VGA::USE_HIGHRES_FILES
load_prefixed_bitmap("System/", filename)
else
load_bitmap("Graphics/System/", filename)
end
end
 
# ----------------------------------------------------------------------------
# ♦ Overwritten methods : title1, title2, battleback1, battleback2
# ----------------------------------------------------------------------------
def self.title1(filename); load_prefixed_bitmap("Titles1/", filename); end
def self.title2(filename); load_prefixed_bitmap("Titles2/", filename); end
def self.battleback1(filename); load_prefixed_bitmap("Battlebacks1/", filename); end
def self.battleback2(filename); load_prefixed_bitmap("Battlebacks2/", filename); end
 
end # Cache
 
# ==============================================================================
# ► Graphics
# ------------------------------------------------------------------------------
# Add some methods to built-in class Graphics.
# ==============================================================================
 
class << Graphics
 
# ----------------------------------------------------------------------------
# ♦ New method : setup_infos
# Create the display informations sprite and put it at the uppermost layer.
# ----------------------------------------------------------------------------
def setup_infos
@infos_sprite, @infos_sprite.z = Sprite.new, 0x7FFFFFFF
draw_infos
end
 
# ----------------------------------------------------------------------------
# ♦ New method : setup_fps
# Create the FPS sprite and put it at the uppermost layer.
# ----------------------------------------------------------------------------
def setup_fps
@fps, @fps_count = 0, []
@fps_sprite, @fps_sprite.z = Sprite.new, 0x7FFFFFFF
end
 
# ----------------------------------------------------------------------------
# ♦ New method : get_infos
# Retrieve screen resolution and screen mode.
# ----------------------------------------------------------------------------
def get_infos
VGA.get_fullscreen ? display_mode = VGA::LANG["fullscreen"] : display_mode = VGA::LANG["window"]
return width.to_s + "x" + height.to_s + " @ " + display_mode
end
 
# ----------------------------------------------------------------------------
# ♦ New method : get_fps
# Calculate number of frames per second.
# ----------------------------------------------------------------------------
def get_fps(time)
@fps_count[frame_count % frame_rate] = Time.now != time
@fps = 0
frame_rate.times {|i| @fps += 1 if @fps_count}
end
 
# ----------------------------------------------------------------------------
# ♦ New method : draw_infos
# Draw the display informations sprite.
# ----------------------------------------------------------------------------
def draw_infos
@infos_sprite.bitmap = Bitmap.new(width, 24)
@infos_sprite.bitmap.draw_text(8, 0, width, 24, get_infos)
end
 
# ----------------------------------------------------------------------------
# ♦ New method : draw_fps
# Draw the FPS sprite.
# ----------------------------------------------------------------------------
def draw_fps
@fps_sprite.bitmap = Bitmap.new(width, 24)
size = @fps_sprite.bitmap.text_size("000" + " " + VGA::LANG["fps"]).width
@fps_sprite.bitmap.draw_text(width - size, 0, size, 24, @fps.to_s + " " + VGA::LANG["fps"])
end
 
# ----------------------------------------------------------------------------
# ◊ Aliased method : update
# Refresh FPS at every frame and update display informations if necessary.
# ----------------------------------------------------------------------------
alias :vga_alias_update :update
def update
time = Time.now
vga_alias_update
kbd_enter = 0x0D # 0x0D = VK_RETURN = ENTER Key
kbd_alt = 0x12 # 0x12 = VK_MENU = ALT Key
if VGA.get_input_kbd(kbd_enter) != 0 && VGA.get_input_kbd(kbd_alt) != 0
VGA.switch_fullscreen if frame_count > 30 # Fullscreen loader preventer ; no kbd_input check during the first 0.5 sec
if SceneManager.scene_is?(Scene_Title)
SceneManager.scene.instance_variables.each do |var_name|
var = SceneManager.scene.instance_variable_get(var_name)
var.refresh if var_name.to_s == "@options_window"
end
end
end
if VGA.get_show_fps
setup_fps if !@fps_sprite or @fps_sprite.disposed?
get_fps(time)
draw_fps
else
@fps_sprite.dispose unless !@fps_sprite
end
if VGA.get_show_infos
setup_infos if !@infos_sprite or @infos_sprite.disposed?
draw_infos if VGA.get_fullscreen != @last_fullscreen || VGA.get_highres != @last_highres || width != @last_width || height != @last_height
@last_fullscreen, @last_highres, @last_width, @last_height = VGA.get_fullscreen, VGA.get_highres, width, height
else
@infos_sprite.dispose unless !@infos_sprite
end
end
 
end # Graphics
 
# ==============================================================================
# ► Sprite_Battler
# ------------------------------------------------------------------------------
# This sprite is used to display battlers. It observes an instance of the
# Game_Battler class and automatically changes sprite states.
# ==============================================================================
 
class Sprite_Battler
 
# ----------------------------------------------------------------------------
# ◊ Aliased method : update_position
# Center the enemies on battle ground if the screen size has changed.
# ----------------------------------------------------------------------------
alias :vga_alias_update_position :update_position
def update_position
vga_alias_update_position
if VGA.get_highres
self.x += (VGA.get_highres_width - VGA::LOWRES_WIDTH) / 2
self.y += (VGA.get_highres_height - VGA::LOWRES_HEIGHT) / 2
end
end
 
end # Sprite_Battler
 
# ==============================================================================
# ► Window_Selectable
# ------------------------------------------------------------------------------
# This window class contains cursor movement and scroll functions.
# ==============================================================================
 
class Window_Selectable < Window_Base
 
# ----------------------------------------------------------------------------
# ♦ New method : get_index
# Get Cursor Position
# ----------------------------------------------------------------------------
def get_index
@index
end
 
end # Window_Selectable
 
# ==============================================================================
# ► Window_TitleCommand
# ------------------------------------------------------------------------------
# This window is for selecting New Game/Continue on the title screen.
# ==============================================================================
 
class Window_TitleCommand < Window_Command
 
# ----------------------------------------------------------------------------
# ♦ Overwritten method : window_width
# Get Window Width
# ----------------------------------------------------------------------------
def window_width
return 192
end
 
# ----------------------------------------------------------------------------
# ♦ Overwritten method : make_command_list
# Create Command List
# ----------------------------------------------------------------------------
def make_command_list
add_command(Vocab::new_game, :new_game)
add_command(Vocab::continue, :continue, continue_enabled)
add_command(VGA::LANG["go_to_options"], :options) # NEW
add_command(VGA::LANG["exit_game"], :shutdown) # NEW
end
 
end # Window_TitleCommand
 
# ==============================================================================
# ► Window_Options
# ------------------------------------------------------------------------------
# This window is for selecting display options.
# ==============================================================================
 
class Window_Options < Window_Command
# ----------------------------------------------------------------------------
# ♦ New method : initialize
# Object Initialization
# ----------------------------------------------------------------------------
def initialize
super(0, 0)
update_placement
select_symbol(:cancel)
self.openness = 0
open
end
 
# ----------------------------------------------------------------------------
# ♦ New method : window_width
# Get Window Width
# ----------------------------------------------------------------------------
def window_width
return 384
end
 
# ----------------------------------------------------------------------------
# ♦ New method : update_placement
# Update Window Position
# ----------------------------------------------------------------------------
def update_placement
self.x = (Graphics.width - width) / 2
self.y = (Graphics.height * 1.6 - height) / 2
end
 
# ----------------------------------------------------------------------------
# ♦ New method : make_command_list
# Create Command List
# ----------------------------------------------------------------------------
def make_command_list
add_command(VGA::LANG["fullscreen"], :fullscreen, VGA::OPTION_CHANGE_SCR, VGA.get_fullscreen ? true : false)
add_command(VGA::LANG["highres"], :highres, VGA::OPTION_CHANGE_RES, VGA.get_highres ? true : false)
add_command(VGA::LANG["aspect_ratio"], :aspect_ratio, VGA::OPTION_ASPECT_RATIO, VGA.get_aspect_ratio ? true : false)
add_command(VGA::LANG["show_infos"], :show_infos, VGA::OPTION_SHOW_INFOS, VGA.get_show_infos ? true : false)
add_command(VGA::LANG["show_fps"], :show_fps, VGA::OPTION_SHOW_FPS, VGA.get_show_fps ? true : false)
add_command(VGA::LANG["back_to_title"], :cancel)
end
 
# ----------------------------------------------------------------------------
# ♦ New method : draw_item
# Draw Item
# ----------------------------------------------------------------------------
def draw_item(index)
change_color(normal_color, command_enabled?(index))
draw_text(item_rect_for_text(index), command_name(index), alignment)
if !@list[index][:ext].nil?
change_color(crisis_color) if @list[index][:ext] == true
draw_text(item_rect_for_text(index), @list[index][:ext] == true ? VGA::LANG["option_on"] : VGA::LANG["option_off"], 2)
end
end
 
# ----------------------------------------------------------------------------
# ♦ New method : process_cancel
# Processing When Cancel Button Is Pressed
# ----------------------------------------------------------------------------
def process_cancel
super
end
 
end # Window_Options
 
# ==============================================================================
# ► Scene_Base
# ------------------------------------------------------------------------------
# This is a super class of all scenes within the game.
# ==============================================================================
 
class Scene_Base
 
# ----------------------------------------------------------------------------
# ♦ New method : reload
# Just a simple trick to refresh all windows without updating each position
# and size. But I have to admit this is a very awfull way to do things ...
# ----------------------------------------------------------------------------
def reload
pre_terminate
terminate
start
post_start
end
 
end # Scene_Base
 
# ==============================================================================
# ► Scene_Map
# ------------------------------------------------------------------------------
# This class performs the map screen processing.
# ==============================================================================
 
class Scene_Map
 
# ----------------------------------------------------------------------------
# ♦ Overwritten method : perform_battle_transition
# Execute Pre-Battle Transition.
# ----------------------------------------------------------------------------
def perform_battle_transition
file = Cache.prefix + "BattleStart" if VGA.get_highres and VGA::USE_HIGHRES_FILES
dummy = Cache.load_bitmap(VGA.get_files_folder + "System/", file) rescue nil
dummy == nil ? file = "Graphics/System/BattleStart" : file = VGA.get_files_folder + "System/" + file
Graphics.transition(60, file, 100)
Graphics.freeze
end
 
end # Scene_Map
 
# ==============================================================================
# ► Scene_Title
# ------------------------------------------------------------------------------
# This class performs the title screen processing.
# ==============================================================================
 
class Scene_Title < Scene_Base
 
# ----------------------------------------------------------------------------
# ◊ Aliased method : start
# Start Processing
# ----------------------------------------------------------------------------
alias :vga_alias_start :start
def start
vga_alias_start
create_options_window
close_options_window
end
 
# ----------------------------------------------------------------------------
# ◊ Aliased method : create_command_window
# Create Command Window
# ----------------------------------------------------------------------------
alias :vga_alias_create_command_window :create_command_window
def create_command_window
vga_alias_create_command_window
@command_window.set_handler(:options, method(:command_options))
end
 
# ----------------------------------------------------------------------------
# ♦ New method : create_options_window
# Create Options Window
# ----------------------------------------------------------------------------
def create_options_window
@options_window = Window_Options.new
@options_window.set_handler(:fullscreen, method(:command_fullscreen))
@options_window.set_handler(:highres, method(:command_highres))
@options_window.set_handler(:aspect_ratio, method(:command_aspect_ratio))
@options_window.set_handler(:show_infos, method(:command_show_infos))
@options_window.set_handler(:show_fps, method(:command_show_fps))
@options_window.set_handler(:cancel, method(:command_back))
end
 
# ----------------------------------------------------------------------------
# ♦ New method : open_command_window
# Open Command Window
# ----------------------------------------------------------------------------
def open_command_window
@command_window.open
update until @command_window.open?
@command_window.refresh
@command_window.activate
end
 
# ----------------------------------------------------------------------------
# ♦ New method : open_options_window
# Open Options Window
# ----------------------------------------------------------------------------
def open_options_window
@options_window.open
update until @options_window.open?
@options_window.refresh
@options_window.activate
end
 
# ----------------------------------------------------------------------------
# ♦ New method : close_options_window
# Close Options Window
# ----------------------------------------------------------------------------
def close_options_window
@options_window.close
update until @options_window.close?
end
 
# ----------------------------------------------------------------------------
# ◊ Aliased method : command_shutdown
# [shut Down] Command
# ----------------------------------------------------------------------------
alias :vga_alias_command_shutdown :command_shutdown
def command_shutdown
VGA.write_vga_config if VGA::SAVE_USER_CONFIG
vga_alias_command_shutdown
end
 
# ----------------------------------------------------------------------------
# ♦ New method : command_options
# [Go to Options] Command
# ----------------------------------------------------------------------------
def command_options
close_command_window
open_options_window
@command_window.refresh
@command_window.activate
end
 
# ----------------------------------------------------------------------------
# ♦ New method : command_fullscreen
# [Fullscreen] Command
# ----------------------------------------------------------------------------
def command_fullscreen
VGA.toggle_fullscreen
@options_window.refresh
@options_window.activate
end
 
# ----------------------------------------------------------------------------
# ♦ New method : command_highres
# [Highres] Command
# ----------------------------------------------------------------------------
def command_highres
index = @options_window.get_index
VGA.toggle_highres
close_command_window
open_options_window
@options_window.select(index)
@options_window.refresh
@options_window.activate
end
 
# ----------------------------------------------------------------------------
# ♦ New method : command_aspect_ratio
# [Highres] Command
# ----------------------------------------------------------------------------
def command_aspect_ratio
index = @options_window.get_index
VGA.toggle_aspect_ratio
close_command_window
open_options_window
@options_window.select(index)
@options_window.refresh
@options_window.activate
end
 
# ----------------------------------------------------------------------------
# ♦ New method : command_show_infos
# [show Infos] Command
# ----------------------------------------------------------------------------
def command_show_infos
VGA.toggle_show_infos
@options_window.refresh
@options_window.activate
end
 
# ----------------------------------------------------------------------------
# ♦ New method : command_show_fps
# [show FPS] Command
# ----------------------------------------------------------------------------
def command_show_fps
VGA.toggle_show_fps
@options_window.refresh
@options_window.activate
end
 
# ----------------------------------------------------------------------------
# ♦ New method : command_back
# [back] Command
# ----------------------------------------------------------------------------
def command_back
VGA.write_vga_config
close_options_window
open_command_window
end
 
end # SceneTitle
 
# ==============================================================================
# ► Scene_End
# ------------------------------------------------------------------------------
# This class performs game over screen processing.
# ==============================================================================
 
class Scene_End < Scene_MenuBase
 
# ----------------------------------------------------------------------------
# ◊ Aliased method : command_shutdown
# [shut Down] Command.
# ----------------------------------------------------------------------------
alias :vga_alias_command_shutdown :command_shutdown
def command_shutdown
VGA.write_vga_config if VGA::SAVE_USER_CONFIG
vga_alias_command_shutdown
end
 
end # Scene_End

 

Modificato da Ghost Rider
aggiunto uno spoiler per lo script in modo da rendere il post più compatto (Visualizza storico modifiche)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Io non capisco perchè ve la state prendendo così tanto

cioè non solo ti sta facendo il favore di provare il tuo gioco, si deve pure sentire trattato come un idiota? onestamente se tu avessi risposto a me in questo modo, manderei a quel paese te e il tuo gioco, detto proprio sinceramente...

Cosa non capisci?

 

Sai quanta gente chiede cose insensate nei forum dedicati al supporto tecnico di titoli commerciali tripla A?

"Eh, ma cosa ci devo fare con 'sto coso tondo?"

"E' un CD-ROM."

"E dove lo metto?"

 

Ma questo non da il diritto a nessuno di fare il megalomane o quello che ne sa di più.

Quelli del supporto tecnico semplicemente rispondono in maniera garbata. Magari è un utente che si approccia al mondo del computer per la prima volta. E cos'é, dobbiamo sfotterlo?

 

E per domande stupide si intente l'abc del computer, non c'entra nulla con RPG maker, poi soprattutto se la domanda è fatta da una persona che ha una certa età e dovrebbe sapere determinate cose.

Perché dovrebbe? E se di computer non gli interessasse un cazzo?

E' da emarginare?

Non so.

 

Anch'io ritengo che chi utilizza certi script dovrebbe anche sapere come risolvere certi acciacchi SENZA lasciare bug. E' l'ABC del far uscire un buon gioco. Ops, è quello che non hai fatto tu.

 

Toh, sistemato.

Due sole righe ho dovuto cancellare. Sarò uno scienziato? (Magari mettilo sotto spoiler lo script nel tuo post, che è un po' ingombrante e ci si mette una vita a scorrere il topic)

 

# ==============================================================================

# ■ VGA_SCRIPT

# ------------------------------------------------------------------------------

# Name : VGA Display for VX Ace

# Type : RGSS3 Script

# Version : 1.04

# Author : Chon

#

# This script provides a full screen support as well as a max resolution mode.

# It is also possible to define some graphics replacement for most backgrounds.

# The code includes a display informations head-up-display and a FPS counter.

# Most of features are easily switchable by the user via an options menu.

# ------------------------------------------------------------------------------

# 2013/10/19 : 1.00 - First release

# 2013/10/20 : 1.01 - Add a FPS counter

# 2013/10/22 : 1.02 - Add an options menu

# 2013/10/23 : 1.03 - Correct some constant misspelling and leftovers

# 2013/10/26 : 1.04 - Display aspect ratio support

# ------------------------------------------------------------------------------

# Place this file under the Materials section and above the Main Processs of

# your RPG Maker VX Ace for it to work properly. The lower is the better.

# ------------------------------------------------------------------------------

# ● Module : Cache

# ♦ Overwritten method : system

# ♦ Overwritten method : title1

# ♦ Overwritten method : title2

# ♦ Overwritten method : battleback1

# ♦ Overwritten method : battleback2

#

# ► Built-in Class : Graphics

# ◊ Aliased method : update

#

# ► Class : Sprite_Battler

# ◊ Aliased method : update_position

#

# ► Class : Window_TitleCommand

# ♦ Overwritten method : window_width

# ♦ Overwritten method : make_command_list

#

# ► Class : Scene_Map

# ♦ Overwritten method : perform_battle_transition

#

# ► Class : Scene_Title

# ◊ Aliased method : start

# ◊ Aliased method : create_command_window

# ◊ Aliased method : command_shutdown

#

# ► Class : Scene_End

# ◊ Aliased method : command_shutdown

# ==============================================================================

 

$imported ||= {}

$imported["VGA_Display_for_VX_Ace"] = 1.04

 

module VGA # The VGA Display for VX Ace module

 

# Resolutions configuration

LOWRES_WIDTH = 544 # Set the low resolution width. Default = 544 (can be reduced -- but untested, use with caution)

LOWRES_HEIGHT = 416 # Set the low resolution height. Default = 416 (can be reduced -- but untested, use with caution)

HIGHRES_WIDTH = 640 # Set the high resolution width. Maximum = 640

HIGHRES_HEIGHT = 480 # Set the high resolution height. Maximum = 480

KEEP_ASPECT_RATIO = true # Adjust high resolution to fit to user display aspect ratio. Will display black bars instead of stretching the screen.

 

# Output configuration

CONFIG_FILE_SECTION = "VGA" # Set the header of the Game.ini under wich the display configuration values will be put.

 

# Highres files configuration

USE_HIGHRES_FILES = true # Replace standard bitmap backgrounds with size increased ones.

HIGHRES_FILES_FOLDER = "VGA/" # Set the location of high resolution bitmaps. Default = "Graphics/"

HIGHRES_FILES_PREFIX = "VGA_" # Set the prefix of high resolution bitmap files. Default = ""

 

# Default display configuration (mostly for the user's very first first boot, then Game.ini should be use).

LAUNCH_IN_FULLSCREEN = false # Launch the game in fullscreen. Default = false

LAUNCH_AT_HIGHRES = true # Launch the game at high resolution. Default = false

SHOW_INFOS = false # Display resolution and screen mode at the top left corner of the screen. Default = false

SHOW_FPS = false # Display FPS at the top right corner of the screen. Default = false

 

# User display configuration

LOAD_USER_CONFIG = true # Restore user display configuration from Game.ini. The constant values will be used at each game boot if this is set to false. Default = true

SAVE_USER_CONFIG = false # Store user display configuration in Game.ini at shutdown and not only from options menu. This will not work if the game is shutdown with Alt+F4 shortcut or closed with window exit icon. Default = false

 

# Options menu

OPTION_CHANGE_SCR = true # Enable the change screen size option (i.e. switch between fullscreen and window). Default = true

OPTION_CHANGE_RES = true # Enable the change resolution option (i.e. switch between high and low resolution). Default = true

OPTION_ASPECT_RATIO = true # Enable the keep aspect ratio option. Default = true

OPTION_SHOW_INFOS = true # Enable the show display informations option. Default = true

OPTION_SHOW_FPS = true # Enable the show fps option. Default = true

 

# Language

LANG = {

# Variable name Localization

 

# Title menu

"go_to_options" => "Opzioni",

"exit_game" => "Esci",

 

# Options menu

"lowres" => "Bassa Risoluzione",

"highres" => "Alta risoluzione (non disp.)",

"window" => "Finestra",

"fullscreen" => "Schermo intero",

"aspect_ratio" => "Formato schermo",

"show_infos" => "Mostra informazioni",

"show_fps" => "Mostra FPS",

"back_to_title" => "Ritorna ai titoli",

 

# Options stat

"option_on" => "Attivo",

"option_off" => "Disattivato",

 

# Other

"fps" => "FPS"

}

 

# ==============================================================================

# ● VGA Display for VX Ace

# ------------------------------------------------------------------------------

# Editing anything past this title may result in heavy computer damages, death,

# stomach gases or user transformation into a gremlin. So edit at your own risk.

# ==============================================================================

 

# ----------------------------------------------------------------------------

# ♦ Constant API declarations

# ----------------------------------------------------------------------------

User32DLL = DL.dlopen("user32")

User32DLL__keybd_event = DL::CFunc.new(User32DLL.sym("keybd_event"), DL::TYPE_VOID, "keybd_event", :stdcall)

GetPrivateProfileString = Win32API.new("kernel32", "GetPrivateProfileString", "ppppip", "i")

WritePrivateProfileString = Win32API.new("kernel32", "WritePrivateProfileString", "pppp", "i")

GetSystemMetrics = Win32API.new("user32", "GetSystemMetrics", "i", "i")

GetAsyncKeyState = Win32API.new("user32", "GetAsyncKeyState", "i", "i")

 

# ----------------------------------------------------------------------------

# ♦ Instance variables declarations

# ----------------------------------------------------------------------------

@aspect_ratio = GetSystemMetrics.call(0).to_f / GetSystemMetrics.call(1).to_f

 

# ----------------------------------------------------------------------------

# ♦ New method : i_to_bool

# Convert binary values into boolean values

# ----------------------------------------------------------------------------

def self.i_to_bool(i)

if i == 1; i = true; elsif i == 0; i = false; else; i = nil; end

end

 

# ----------------------------------------------------------------------------

# ♦ New method : load_vga_config

# ----------------------------------------------------------------------------

def self.load_vga_config

buffer = [].pack('x256')

section = CONFIG_FILE_SECTION

filename = "./Game.ini"

get_option = Proc.new do |key, default_value|

l = GetPrivateProfileString.call(section, key, default_value, buffer, buffer.size, filename)

buffer[0, l]

end

@files_folder = get_option.call("FilesFolder", "nil").to_s

@files_prefix = get_option.call("FilesPrefix", "nil").to_s

@files_folder = HIGHRES_FILES_FOLDER if @files_folder == "nil"

@files_prefix = HIGHRES_FILES_PREFIX if @files_prefix == "nil"

@files_folder.gsub!(/\\/) {|match| "/" }

LOAD_USER_CONFIG ? @fullscreen = i_to_bool(get_option.call("Fullscreen", nil).to_i) : @fullscreen = LAUNCH_IN_FULLSCREEN

LOAD_USER_CONFIG ? @highres = i_to_bool(get_option.call("Highres", nil).to_i) : @highres = LAUNCH_AT_HIGHRES

LOAD_USER_CONFIG ? @keep_aspect_ratio = i_to_bool(get_option.call("AspectRatio", nil).to_i) : @keep_aspect_ratio = KEEP_ASPECT_RATIO

LOAD_USER_CONFIG ? @show_infos = i_to_bool(get_option.call("ShowInfos", nil).to_i) : @show_infos = SHOW_INFOS

LOAD_USER_CONFIG ? @show_fps = i_to_bool(get_option.call("ShowFPS", nil).to_i) : @show_fps = SHOW_FPS

end

 

# ----------------------------------------------------------------------------

# ♦ New method : write_vga_config

# ----------------------------------------------------------------------------

def self.write_vga_config

section = CONFIG_FILE_SECTION

filename = "./Game.ini"

set_option = Proc.new do |key, value|

WritePrivateProfileString.call(section, key, value.to_s, filename)

end

set_option.call("FilesFolder", @files_folder)

set_option.call("FilesPrefix", @files_prefix)

set_option.call("Fullscreen", @fullscreen ? 1 : 0)

set_option.call("Highres", @highres ? 1 : 0)

set_option.call("AspectRatio", @keep_aspect_ratio ? 1 : 0)

set_option.call("ShowInfos", @show_infos ? 1 : 0)

set_option.call("ShowFPS", @show_fps ? 1 : 0)

end

 

# ----------------------------------------------------------------------------

# ♦ New method : get_files_folder

# ----------------------------------------------------------------------------

def self.get_files_folder

@files_folder != nil && USE_HIGHRES_FILES and @highres ? @files_folder : "Graphics/"

end

 

# ----------------------------------------------------------------------------

# ♦ New method : get_files_prefix

# ----------------------------------------------------------------------------

def self.get_files_prefix

@files_prefix != nil && USE_HIGHRES_FILES and @highres ? @files_prefix : ""

end

 

# ----------------------------------------------------------------------------

# ♦ New method : get_fullscreen

# ----------------------------------------------------------------------------

def self.get_fullscreen

@fullscreen == nil ? LAUNCH_IN_FULLSCREEN : @fullscreen

end

 

# ----------------------------------------------------------------------------

# ♦ New method : get_highres

# ----------------------------------------------------------------------------

def self.get_highres

@highres == nil ? LAUNCH_AT_HIGHRES : @highres

end

 

# ----------------------------------------------------------------------------

# ♦ New methods : get_highres_width

# ----------------------------------------------------------------------------

def self.get_highres_width

if @keep_aspect_ratio == true

@aspect_ratio >= HIGHRES_WIDTH.to_f / HIGHRES_HEIGHT.to_f ? @highres_width = HIGHRES_WIDTH : @highres_width = (HIGHRES_HEIGHT.to_f * @aspect_ratio).to_i

else

@highres_width = HIGHRES_WIDTH

end

return @highres_width

end

 

# ----------------------------------------------------------------------------

# ♦ New methods : get_highres_height

# ----------------------------------------------------------------------------

def self.get_highres_height

if @keep_aspect_ratio == true

@aspect_ratio >= HIGHRES_WIDTH.to_f / HIGHRES_HEIGHT.to_f ? @highres_height = (HIGHRES_WIDTH.to_f / @aspect_ratio).to_i : @highres_height = HIGHRES_HEIGHT

else

@highres_height = HIGHRES_HEIGHT

end

return @highres_height

end

 

# ----------------------------------------------------------------------------

# ♦ New method : get_aspect_ratio

# ----------------------------------------------------------------------------

def self.get_aspect_ratio

@keep_aspect_ratio == nil ? KEEP_ASPECT_RATIO : @keep_aspect_ratio

end

 

# ----------------------------------------------------------------------------

# ♦ New method : get_show_infos

# ----------------------------------------------------------------------------

def self.get_show_infos

@show_infos == nil ? SHOW_INFOS : @show_infos

end

 

# ----------------------------------------------------------------------------

# ♦ New method : get_show_fps

# ----------------------------------------------------------------------------

def self.get_show_fps

@show_fps == nil ? SHOW_FPS : @show_fps

end

 

# ----------------------------------------------------------------------------

# ♦ New method : switch_fullscreen

# ----------------------------------------------------------------------------

def self.switch_fullscreen

@fullscreen == true ? @fullscreen = false : @fullscreen = true

end

 

# ----------------------------------------------------------------------------

# ♦ New method : toggle_fullscreen

# ----------------------------------------------------------------------------

def self.toggle_fullscreen

User32DLL__keybd_event.call([0xA4, 0, 0, 0])

User32DLL__keybd_event.call([0x0D, 0, 0, 0])

User32DLL__keybd_event.call([0x0D, 0, 0x0002, 0])

User32DLL__keybd_event.call([0xA4, 0, 0x0002, 0])

end

 

# ----------------------------------------------------------------------------

# ♦ New method : switch_to_highres

# ----------------------------------------------------------------------------

def self.switch_to_highres

Graphics.resize_screen(get_highres_width, get_highres_height)

@highres = true

end

 

# ----------------------------------------------------------------------------

# ♦ New method : switch_to_lowres

# ----------------------------------------------------------------------------

def self.switch_to_lowres

Graphics.resize_screen(LOWRES_WIDTH, LOWRES_HEIGHT)

@highres = false

end

 

# ----------------------------------------------------------------------------

# ♦ New method : toggle_highres

# ----------------------------------------------------------------------------

def self.toggle_highres

Graphics.width == LOWRES_WIDTH && Graphics.height == LOWRES_HEIGHT ? switch_to_highres : switch_to_lowres

SceneManager.scene.reload

end

 

# ----------------------------------------------------------------------------

# ♦ New method : toggle_aspect_ratio

# ----------------------------------------------------------------------------

def self.toggle_aspect_ratio

@keep_aspect_ratio == true ? @keep_aspect_ratio = false : @keep_aspect_ratio = true

Graphics.resize_screen(get_highres_width, get_highres_height)

SceneManager.scene.reload

end

 

# ----------------------------------------------------------------------------

# ♦ New method : toggle_show_infos

# ----------------------------------------------------------------------------

def self.toggle_show_infos

get_show_infos == true ? @show_infos = false : @show_infos = true

end

 

# ----------------------------------------------------------------------------

# ♦ New method : toggle_show_fps

# ----------------------------------------------------------------------------

def self.toggle_show_fps

get_show_fps == true ? @show_fps = false : @show_fps = true

end

 

# ----------------------------------------------------------------------------

# ♦ New method : get_input_kbd

# ----------------------------------------------------------------------------

def self.get_input_kbd(key)

return GetAsyncKeyState.call(key)

end

 

# ----------------------------------------------------------------------------

# ♦ Game Loaders

# ----------------------------------------------------------------------------

load_vga_config

write_vga_config

switch_to_highres if get_highres

toggle_fullscreen if get_fullscreen

 

end # VGA

 

# ==============================================================================

# ● Cache

# ------------------------------------------------------------------------------

# This module loads graphics, creates bitmap objects, and retains them.

# To speed up load times and conserve memory, this module holds the

# created bitmap object in the internal hash, allowing the program to

# return preexisting objects when the same bitmap is requested again.

# ==============================================================================

 

module Cache

 

# ----------------------------------------------------------------------------

# ♦ New method : prefix

# ----------------------------------------------------------------------------

def self.prefix

return if !VGA::USE_HIGHRES_FILES

VGA.get_highres ? VGA.get_files_prefix : ""

end

 

# ----------------------------------------------------------------------------

# ♦ New method : load_prefixed_bitmap

# ----------------------------------------------------------------------------

def self.load_prefixed_bitmap(folder, filename)

bitmap = load_bitmap(VGA.get_files_folder + folder, prefix + filename) rescue nil

bitmap == nil ? load_bitmap("Graphics/" + folder, filename) : bitmap

end

 

# ----------------------------------------------------------------------------

# ♦ Overwritten method : system

# ----------------------------------------------------------------------------

def self.system(filename)

if filename == "GameOver" and VGA.get_highres && VGA::USE_HIGHRES_FILES

load_prefixed_bitmap("System/", filename)

else

load_bitmap("Graphics/System/", filename)

end

end

 

# ----------------------------------------------------------------------------

# ♦ Overwritten methods : title1, title2, battleback1, battleback2

# ----------------------------------------------------------------------------

def self.title1(filename); load_prefixed_bitmap("Titles1/", filename); end

def self.title2(filename); load_prefixed_bitmap("Titles2/", filename); end

def self.battleback1(filename); load_prefixed_bitmap("Battlebacks1/", filename); end

def self.battleback2(filename); load_prefixed_bitmap("Battlebacks2/", filename); end

 

end # Cache

 

# ==============================================================================

# ► Graphics

# ------------------------------------------------------------------------------

# Add some methods to built-in class Graphics.

# ==============================================================================

 

class << Graphics

 

# ----------------------------------------------------------------------------

# ♦ New method : setup_infos

# Create the display informations sprite and put it at the uppermost layer.

# ----------------------------------------------------------------------------

def setup_infos

@infos_sprite, @infos_sprite.z = Sprite.new, 0x7FFFFFFF

draw_infos

end

 

# ----------------------------------------------------------------------------

# ♦ New method : setup_fps

# Create the FPS sprite and put it at the uppermost layer.

# ----------------------------------------------------------------------------

def setup_fps

@fps, @fps_count = 0, []

@fps_sprite, @fps_sprite.z = Sprite.new, 0x7FFFFFFF

end

 

# ----------------------------------------------------------------------------

# ♦ New method : get_infos

# Retrieve screen resolution and screen mode.

# ----------------------------------------------------------------------------

def get_infos

VGA.get_fullscreen ? display_mode = VGA::LANG["fullscreen"] : display_mode = VGA::LANG["window"]

return width.to_s + "x" + height.to_s + " @ " + display_mode

end

 

# ----------------------------------------------------------------------------

# ♦ New method : get_fps

# Calculate number of frames per second.

# ----------------------------------------------------------------------------

def get_fps(time)

@fps_count[frame_count % frame_rate] = Time.now != time

@fps = 0

frame_rate.times {|i| @fps += 1 if @fps_count}

end

 

# ----------------------------------------------------------------------------

# ♦ New method : draw_infos

# Draw the display informations sprite.

# ----------------------------------------------------------------------------

def draw_infos

@infos_sprite.bitmap = Bitmap.new(width, 24)

@infos_sprite.bitmap.draw_text(8, 0, width, 24, get_infos)

end

 

# ----------------------------------------------------------------------------

# ♦ New method : draw_fps

# Draw the FPS sprite.

# ----------------------------------------------------------------------------

def draw_fps

@fps_sprite.bitmap = Bitmap.new(width, 24)

size = @fps_sprite.bitmap.text_size("000" + " " + VGA::LANG["fps"]).width

@fps_sprite.bitmap.draw_text(width - size, 0, size, 24, @fps.to_s + " " + VGA::LANG["fps"])

end

 

# ----------------------------------------------------------------------------

# ◊ Aliased method : update

# Refresh FPS at every frame and update display informations if necessary.

# ----------------------------------------------------------------------------

alias :vga_alias_update :update

def update

time = Time.now

vga_alias_update

kbd_enter = 0x0D # 0x0D = VK_RETURN = ENTER Key

kbd_alt = 0x12 # 0x12 = VK_MENU = ALT Key

if VGA.get_input_kbd(kbd_enter) != 0 && VGA.get_input_kbd(kbd_alt) != 0

VGA.switch_fullscreen if frame_count > 30 # Fullscreen loader preventer ; no kbd_input check during the first 0.5 sec

if SceneManager.scene_is?(Scene_Title)

SceneManager.scene.instance_variables.each do |var_name|

var = SceneManager.scene.instance_variable_get(var_name)

var.refresh if var_name.to_s == "@options_window"

end

end

end

if VGA.get_show_fps

setup_fps if !@fps_sprite or @fps_sprite.disposed?

get_fps(time)

draw_fps

else

@fps_sprite.dispose unless !@fps_sprite

end

if VGA.get_show_infos

setup_infos if !@infos_sprite or @infos_sprite.disposed?

draw_infos if VGA.get_fullscreen != @last_fullscreen || VGA.get_highres != @last_highres || width != @last_width || height != @last_height

@last_fullscreen, @last_highres, @last_width, @last_height = VGA.get_fullscreen, VGA.get_highres, width, height

else

@infos_sprite.dispose unless !@infos_sprite

end

end

 

end # Graphics

 

# ==============================================================================

# ► Sprite_Battler

# ------------------------------------------------------------------------------

# This sprite is used to display battlers. It observes an instance of the

# Game_Battler class and automatically changes sprite states.

# ==============================================================================

 

class Sprite_Battler

 

# ----------------------------------------------------------------------------

# ◊ Aliased method : update_position

# Center the enemies on battle ground if the screen size has changed.

# ----------------------------------------------------------------------------

alias :vga_alias_update_position :update_position

def update_position

vga_alias_update_position

if VGA.get_highres

self.x += (VGA.get_highres_width - VGA::LOWRES_WIDTH) / 2

self.y += (VGA.get_highres_height - VGA::LOWRES_HEIGHT) / 2

end

end

 

end # Sprite_Battler

 

# ==============================================================================

# ► Window_Selectable

# ------------------------------------------------------------------------------

# This window class contains cursor movement and scroll functions.

# ==============================================================================

 

class Window_Selectable < Window_Base

 

# ----------------------------------------------------------------------------

# ♦ New method : get_index

# Get Cursor Position

# ----------------------------------------------------------------------------

def get_index

@index

end

 

end # Window_Selectable

 

# ==============================================================================

# ► Window_TitleCommand

# ------------------------------------------------------------------------------

# This window is for selecting New Game/Continue on the title screen.

# ==============================================================================

 

class Window_TitleCommand < Window_Command

 

# ----------------------------------------------------------------------------

# ♦ Overwritten method : window_width

# Get Window Width

# ----------------------------------------------------------------------------

def window_width

return 192

end

 

# ----------------------------------------------------------------------------

# ♦ Overwritten method : make_command_list

# Create Command List

# ----------------------------------------------------------------------------

def make_command_list

add_command(Vocab::new_game, :new_game)

add_command(Vocab::continue, :continue, continue_enabled)

add_command(VGA::LANG["go_to_options"], :options) # NEW

add_command(VGA::LANG["exit_game"], :shutdown) # NEW

end

 

end # Window_TitleCommand

 

# ==============================================================================

# ► Window_Options

# ------------------------------------------------------------------------------

# This window is for selecting display options.

# ==============================================================================

 

class Window_Options < Window_Command

# ----------------------------------------------------------------------------

# ♦ New method : initialize

# Object Initialization

# ----------------------------------------------------------------------------

def initialize

super(0, 0)

update_placement

select_symbol(:cancel)

self.openness = 0

open

end

 

# ----------------------------------------------------------------------------

# ♦ New method : window_width

# Get Window Width

# ----------------------------------------------------------------------------

def window_width

return 384

end

 

# ----------------------------------------------------------------------------

# ♦ New method : update_placement

# Update Window Position

# ----------------------------------------------------------------------------

def update_placement

self.x = (Graphics.width - width) / 2

self.y = (Graphics.height * 1.6 - height) / 2

end

 

# ----------------------------------------------------------------------------

# ♦ New method : make_command_list

# Create Command List

# ----------------------------------------------------------------------------

def make_command_list

add_command(VGA::LANG["fullscreen"], :fullscreen, VGA::OPTION_CHANGE_SCR, VGA.get_fullscreen ? true : false)

add_command(VGA::LANG["aspect_ratio"], :aspect_ratio, VGA::OPTION_ASPECT_RATIO, VGA.get_aspect_ratio ? true : false)

add_command(VGA::LANG["show_infos"], :show_infos, VGA::OPTION_SHOW_INFOS, VGA.get_show_infos ? true : false)

add_command(VGA::LANG["show_fps"], :show_fps, VGA::OPTION_SHOW_FPS, VGA.get_show_fps ? true : false)

add_command(VGA::LANG["back_to_title"], :cancel)

end

 

# ----------------------------------------------------------------------------

# ♦ New method : draw_item

# Draw Item

# ----------------------------------------------------------------------------

def draw_item(index)

change_color(normal_color, command_enabled?(index))

draw_text(item_rect_for_text(index), command_name(index), alignment)

if !@list[index][:ext].nil?

change_color(crisis_color) if @list[index][:ext] == true

draw_text(item_rect_for_text(index), @list[index][:ext] == true ? VGA::LANG["option_on"] : VGA::LANG["option_off"], 2)

end

end

 

# ----------------------------------------------------------------------------

# ♦ New method : process_cancel

# Processing When Cancel Button Is Pressed

# ----------------------------------------------------------------------------

def process_cancel

super

end

 

end # Window_Options

 

# ==============================================================================

# ► Scene_Base

# ------------------------------------------------------------------------------

# This is a super class of all scenes within the game.

# ==============================================================================

 

class Scene_Base

 

# ----------------------------------------------------------------------------

# ♦ New method : reload

# Just a simple trick to refresh all windows without updating each position

# and size. But I have to admit this is a very awfull way to do things ...

# ----------------------------------------------------------------------------

def reload

pre_terminate

terminate

start

post_start

end

 

end # Scene_Base

 

# ==============================================================================

# ► Scene_Map

# ------------------------------------------------------------------------------

# This class performs the map screen processing.

# ==============================================================================

 

class Scene_Map

 

# ----------------------------------------------------------------------------

# ♦ Overwritten method : perform_battle_transition

# Execute Pre-Battle Transition.

# ----------------------------------------------------------------------------

def perform_battle_transition

file = Cache.prefix + "BattleStart" if VGA.get_highres and VGA::USE_HIGHRES_FILES

dummy = Cache.load_bitmap(VGA.get_files_folder + "System/", file) rescue nil

dummy == nil ? file = "Graphics/System/BattleStart" : file = VGA.get_files_folder + "System/" + file

Graphics.transition(60, file, 100)

Graphics.freeze

end

 

end # Scene_Map

 

# ==============================================================================

# ► Scene_Title

# ------------------------------------------------------------------------------

# This class performs the title screen processing.

# ==============================================================================

 

class Scene_Title < Scene_Base

 

# ----------------------------------------------------------------------------

# ◊ Aliased method : start

# Start Processing

# ----------------------------------------------------------------------------

alias :vga_alias_start :start

def start

vga_alias_start

create_options_window

close_options_window

end

 

# ----------------------------------------------------------------------------

# ◊ Aliased method : create_command_window

# Create Command Window

# ----------------------------------------------------------------------------

alias :vga_alias_create_command_window :create_command_window

def create_command_window

vga_alias_create_command_window

@command_window.set_handler(:options, method(:command_options))

end

 

# ----------------------------------------------------------------------------

# ♦ New method : create_options_window

# Create Options Window

# ----------------------------------------------------------------------------

def create_options_window

@options_window = Window_Options.new

@options_window.set_handler(:fullscreen, method(:command_fullscreen))

@options_window.set_handler(:aspect_ratio, method(:command_aspect_ratio))

@options_window.set_handler(:show_infos, method(:command_show_infos))

@options_window.set_handler(:show_fps, method(:command_show_fps))

@options_window.set_handler(:cancel, method(:command_back))

end

 

# ----------------------------------------------------------------------------

# ♦ New method : open_command_window

# Open Command Window

# ----------------------------------------------------------------------------

def open_command_window

@command_window.open

update until @command_window.open?

@command_window.refresh

@command_window.activate

end

 

# ----------------------------------------------------------------------------

# ♦ New method : open_options_window

# Open Options Window

# ----------------------------------------------------------------------------

def open_options_window

@options_window.open

update until @options_window.open?

@options_window.refresh

@options_window.activate

end

 

# ----------------------------------------------------------------------------

# ♦ New method : close_options_window

# Close Options Window

# ----------------------------------------------------------------------------

def close_options_window

@options_window.close

update until @options_window.close?

end

 

# ----------------------------------------------------------------------------

# ◊ Aliased method : command_shutdown

# [shut Down] Command

# ----------------------------------------------------------------------------

alias :vga_alias_command_shutdown :command_shutdown

def command_shutdown

VGA.write_vga_config if VGA::SAVE_USER_CONFIG

vga_alias_command_shutdown

end

 

# ----------------------------------------------------------------------------

# ♦ New method : command_options

# [Go to Options] Command

# ----------------------------------------------------------------------------

def command_options

close_command_window

open_options_window

@command_window.refresh

@command_window.activate

end

 

# ----------------------------------------------------------------------------

# ♦ New method : command_fullscreen

# [Fullscreen] Command

# ----------------------------------------------------------------------------

def command_fullscreen

VGA.toggle_fullscreen

@options_window.refresh

@options_window.activate

end

 

# ----------------------------------------------------------------------------

# ♦ New method : command_highres

# [Highres] Command

# ----------------------------------------------------------------------------

def command_highres

index = @options_window.get_index

VGA.toggle_highres

close_command_window

open_options_window

@options_window.select(index)

@options_window.refresh

@options_window.activate

end

 

# ----------------------------------------------------------------------------

# ♦ New method : command_aspect_ratio

# [Highres] Command

# ----------------------------------------------------------------------------

def command_aspect_ratio

index = @options_window.get_index

VGA.toggle_aspect_ratio

close_command_window

open_options_window

@options_window.select(index)

@options_window.refresh

@options_window.activate

end

 

# ----------------------------------------------------------------------------

# ♦ New method : command_show_infos

# [show Infos] Command

# ----------------------------------------------------------------------------

def command_show_infos

VGA.toggle_show_infos

@options_window.refresh

@options_window.activate

end

 

# ----------------------------------------------------------------------------

# ♦ New method : command_show_fps

# [show FPS] Command

# ----------------------------------------------------------------------------

def command_show_fps

VGA.toggle_show_fps

@options_window.refresh

@options_window.activate

end

 

# ----------------------------------------------------------------------------

# ♦ New method : command_back

# [back] Command

# ----------------------------------------------------------------------------

def command_back

VGA.write_vga_config

close_options_window

open_command_window

end

 

end # SceneTitle

 

# ==============================================================================

# ► Scene_End

# ------------------------------------------------------------------------------

# This class performs game over screen processing.

# ==============================================================================

 

class Scene_End < Scene_MenuBase

 

# ----------------------------------------------------------------------------

# ◊ Aliased method : command_shutdown

# [shut Down] Command.

# ----------------------------------------------------------------------------

alias :vga_alias_command_shutdown :command_shutdown

def command_shutdown

VGA.write_vga_config if VGA::SAVE_USER_CONFIG

vga_alias_command_shutdown

end

 

end # Scene_End

 

 

Al giorno d'oggi che la risposta la si trova sempre su internet senza il bisogno di chiedere, la vedo molto grave.

Sì, trovo anch'io molto grave il fatto che tu abbia volutamente lasciato un bug in piena vista invece di cercare su Internet una soluzione. Come vedi la cosa è analoga a quanto è successo a MrPaol.

 

Scusami se ora son stato cattivo ma quando è troppo è troppo.

Non sopporto che si tratti così chi si prende la briga di provare i progetti altrui.

Ha ragione Ghost, l'avessi fatto con me t'avrei mandato a cagare nella maniera più diretta.

 

Cerca di capirlo, questo. Nessuno nella vita nasce imparato e trattar male le persone perché non sanno una cosa è da megalomani.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Io non capisco perchè ve la state prendendo così tanto, è grave che una persona non sappia fare estrai su file zippato per me, e come non sapere a cosa serve copia-incolla è l'abc del computer, a me da fastidio vedere gente stupida non un ignorante, perchè l'ignorante si va ad informare, l'ingenuo invece fa domande stupide senza andarsi a cercare "facili" risposte.

E per domande stupide si intente l'abc del computer, non c'entra nulla con RPG maker, poi soprattutto se la domanda è fatta da una persona che ha una certa età e dovrebbe sapere determinate cose.

 

Al giorno d'oggi che la risposta la si trova sempre su internet senza il bisogno di chiedere, la vedo molto grave.

 

 

Il fatto che a te da fastidio è irrilevante, sul forum sei pregato (cioè in realtà non è una richiesta, "sei pregato" è solo un modo di dire) di comportarti educatamente. Il forum esiste per fare domande, di ogni genere, per quanto stupide possano sembrare a qualcuno... non hai idea di quante domande che per me sono scontate, sulla base dell' rpg maker, ho sentito negli anni... ma si parte dal presupposto che l'altra persona non lo sa - in quanto non avrebbe fatto la domanda in primo luogo, se lo sapesse - allora o si risponde offrendo una soluzione al problema, oppure si ignora la domanda e non si risponde affatto...

 

Sai quante volte sotto i video di youtube, leggo domande la cui risposta si trova all'interno dello stesso video? Che devo pensare, se non "Ovviamente questo non si è nemmeno guardato il video" ? però pazienza, se sono di buon umore rispondo, altrimenti lo ignoro.

 

se partiamo dal presupposto che "la risposta si trova sempre su internet", allora possiamo anche chiudere il forum, perchè è inutile aprire qualsiasi topic di domanda, ti pare?

 

In oltre come ti ha gia dimostrato Pat, anche tu sei passibile di errore, quindi ognuno cerchi di migliorare prima se stesso, e poi giudica gli altri ;)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

ho tolto quello script perchè nonostante tutto si buggava, ora però c'è un problema che non mi spiego:

tra le opzioni oltra a quella dell'alta risoluzione stà quella del formato che da un problema assai grave, ovvero che se per caso uno cambia il formato le fog si vedono tagliate e si vedono ripetizioni di mappa, ma oltre questo... se si rimette il formato come stava prima il problema persiste come se fosse stato messo ATTIVO.

 

Per cui chi ha scaricato la demo e ha attivato almeno una volta l'opzione formato non ha altra scelta che riscaricare la demo, nella versione finale per ora stà tolto proprio l'intero tasto delle opzioni, anche se vorrei metterlo almeno con l'opzione di schermo intero e di mostra FPS.

 

Se qualcuno mi può aiutare ad aggiustare di più questo script, perchè se no lo tolgo.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ti spiego.

 

Cerca queste righe:

def create_options_window

@options_window = Window_Options.new

@options_window.set_handler(:fullscreen, method(:command_fullscreen))

@options_window.set_handler(:aspect_ratio, method(:command_aspect_ratio))

@options_window.set_handler(:show_infos, method(:command_show_infos))

@options_window.set_handler(:show_fps, method(:command_show_fps))

@options_window.set_handler(:cancel, method(:command_back))

end

E rimuovi le linee di codice con le opzioni che non t'interessano.

 

Poi cerca queste altre linee:

def make_command_list

add_command(VGA::LANG["fullscreen"], :fullscreen, VGA::OPTION_CHANGE_SCR, VGA.get_fullscreen ? true : false)

add_command(VGA::LANG["aspect_ratio"], :aspect_ratio, VGA::OPTION_ASPECT_RATIO, VGA.get_aspect_ratio ? true : false)

add_command(VGA::LANG["show_infos"], :show_infos, VGA::OPTION_SHOW_INFOS, VGA.get_show_infos ? true : false)

add_command(VGA::LANG["show_fps"], :show_fps, VGA::OPTION_SHOW_FPS, VGA.get_show_fps ? true : false)

add_command(VGA::LANG["back_to_title"], :cancel)

end

E fai la stessa cosa.

 

Dopodiché apri GAME.INI e assicurati di eliminare TUTTE le linee sotto [VGA] (compreso), che lo script salva ogni volta per poterle leggere ad ogni avvio del gioco:

308flo4.png

 

In questo modo, tornerà tutto come prima e la pappardella su GAME.INI tornerà al prossimo avvio, ma con le nuove opzioni.

 

Inoltre, se vuoi fare le cose fatte bene, puoi anche evitare che lo script scriva TUTTI i valori che non ti servono e che carichi solo quelli che t'interessano.

Quindi cerca:

@files_folder = get_option.call("FilesFolder", "nil").to_s

@files_prefix = get_option.call("FilesPrefix", "nil").to_s

@files_folder = HIGHRES_FILES_FOLDER if @files_folder == "nil"

@files_prefix = HIGHRES_FILES_PREFIX if @files_prefix == "nil"

@files_folder.gsub!(/\\/) {|match| "/" }

LOAD_USER_CONFIG ? @fullscreen = i_to_bool(get_option.call("Fullscreen", nil).to_i) : @fullscreen = LAUNCH_IN_FULLSCREEN

LOAD_USER_CONFIG ? @highres = i_to_bool(get_option.call("Highres", nil).to_i) : @highres = LAUNCH_AT_HIGHRES

LOAD_USER_CONFIG ? @keep_aspect_ratio = i_to_bool(get_option.call("AspectRatio", nil).to_i) : @keep_aspect_ratio = KEEP_ASPECT_RATIO

LOAD_USER_CONFIG ? @show_infos = i_to_bool(get_option.call("ShowInfos", nil).to_i) : @show_infos = SHOW_INFOS

LOAD_USER_CONFIG ? @show_fps = i_to_bool(get_option.call("ShowFPS", nil).to_i) : @show_fps = SHOW_FPS

end

E cancelli i LOAD_USER_CONFIG delle opzioni che non ti interessano.

Dopodiché cerchi:

def self.write_vga_config

section = CONFIG_FILE_SECTION

filename = "./Game.ini"

set_option = Proc.new do |key, value|

WritePrivateProfileString.call(section, key, value.to_s, filename)

end

set_option.call("FilesFolder", @files_folder)

set_option.call("FilesPrefix", @files_prefix)

set_option.call("Fullscreen", @fullscreen ? 1 : 0)

set_option.call("Highres", @highres ? 1 : 0)

set_option.call("AspectRatio", @keep_aspect_ratio ? 1 : 0)

set_option.call("ShowInfos", @show_infos ? 1 : 0)

set_option.call("ShowFPS", @show_fps ? 1 : 0)

end

E anche qui stessa identica cosa, cancelli i SET_Option.call delle opzioni che non t'interessano.

 

Queste ultime due "parti" sono le operazioni di scrittura e di lettura nel file GAME.INI per le opzioni impostate dall'utente.

 

EDIT:

 

Comunque se noti:

@files_folder = get_option.call("FilesFolder", "nil").to_s

@files_prefix = get_option.call("FilesPrefix", "nil").to_s

@files_folder = HIGHRES_FILES_FOLDER if @files_folder == "nil"

@files_prefix = HIGHRES_FILES_PREFIX if @files_prefix == "nil"

E se leggi il commento:

 

This script provides a full screen support as well as a max resolution mode.

# It is also possible to define some graphics replacement for most backgrounds.

Potresti capire un qualcosa.

Cosa?

Che è possibile inserire grafica "sostitutiva" in caso si inserisca l'alta risoluzione.

Si poteva quindi ovviare al problema delle fog, ad esempio, utilizzando una cartella highres e mettendo al suo interno una picture più grande della fog stessa.

 

Comunque ti sconsiglio lo stesso di smanettare con l'alta risoluzione, RPG Maker ha più "charm" con la sua risoluzione nativa, in ogni caso.

 

 

E bon, fine.

Come vedi basta mettercisi e si riesce a sistemare.

Bisogna sbattersi un po' per il proprio gioco, è ingiusto nei confronti dell'utente finale lasciare un bel bug e dire "eh, semplicemente evitalo anche se c'è".

Hai visto che putiferio è successo con il rilascio di AC Unity e i suoi 4444 bug?

Se ti ci metti a sistemare anche i più piccoli dettagli, dimostri che sei una persona seria e che tieni al tuo progetto.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Elementi belli della demo:

La sorpresa di chi è il padre e il menu ad anello.

Note negative per me:

il fatto di cercare la legna, hai un ascia che pui usare per tagliare legna (sempre secondo me)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Elementi belli della demo:

La sorpresa di chi è il padre e il menu ad anello.

Note negative per me:

il fatto di cercare la legna, hai un ascia che pui usare per tagliare legna (sempre secondo me)

Mica è legna sono delle tavole, e comunque chiunque andando di fretta preferirebbe utilizzare le tavole di lengo (più semplici per camminarci sopra) e non un tronco, tra l'altro non credere che un tronco possa essere sollevato da un' unica persona, perchè sicuramente serve un tronco grosso per passare da un lato all'altro del ponte che sarebbe bello pesante.

 

Comunque a me no che non hai visto tutti i video del 2 non riuscirai a capire gli altri messaggi "sottili" che sono presenti nella demo.

 

La sopresa di chi è il padre uno può già meravigliarsi anche dopo aver giocato un poco ad Amen 2, ed è sicuramente una cosa importante per chi si è calato mentalmente nell'ambiente "occulto" di Amen, ma se fai attenzione e parli con tutti i personaggi puoi vedere che ci sono diverse "cose" da notare che fanno capire che razza di terre siano quelle del Sud (mi riferisco a quelle del gioco ovvio xD).

 

Comunque devo aggiornare il post iniziale.

 

E comunque qui:

 

def create_options_window

@options_window = Window_Options.new

@options_window.set_handler(:fullscreen, method(:command_fullscreen))

@options_window.set_handler(:aspect_ratio, method(:command_aspect_ratio))

@options_window.set_handler(:show_infos, method(:command_show_infos))

@options_window.set_handler(:show_fps, method(:command_show_fps))

@options_window.set_handler(:cancel, method(:command_back))

end

 

Io vedo solo quello del formato, ma quello dell'alta risoluzione quale sarebbe? Il primo?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Il fatto è che avevo preso quelle linee dallo script che ti avevo già modificato, quindi l'alta risoluzione già non c'era, mi son dimenticato di farlo presente. Il procedimento comunque quello rimane.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Franco ho visto i tuoi video di amen 1 e 2 :)

Ho trovato un bug quand esci dalla galleria se vai verso l'alto vai sopra alle montagne :)

Grazie ho risolto il problema a tutte le porte con 2 tile (tanto erano poche).

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ciao, ho scaricato e provato la tua demo, ma non sono riuscito ad andare oltre la galleria

non perché mi sono bloccato ma, la poca cura che hai mostrato nel mappare non

invoglia minimamente a proseguire ( almeno parlo per me).

 

Mapping completamente scarno, mappe giganti e poco curate, poca cura nel dettaglio.

 

Spero ad un miglioramento visto che così ,a parere mio ,non va proprio.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

You need to be a member in order to leave a comment

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

  • Contenuti simili

    • Da Mon
      Questo è il link della pagina del mio blog dedicata al gioco, dove c'è anche il download di quella che potremo definire una demo, essendo giocabilissimo, mancano però alcune meccaniche che lo renderanno più interessante.
       
      https://saggiopercaso.wordpress.com/struck-ball-unity/
       

       
      A fine agosto 2022 comprai un nuovo PC e notai che, ahimè i miei progetti RPG Maker XP davano problemi (poi ho capito come sistemare) ma dall'altro lato essendo poco più potente del precedente potevo finalmente usare Unity, in quello precedente era fattibile ma i caricamenti duravano troppo, così ho iniziato a studiare questo nuovo strumento nella creazione giochi.
       
      SPIEGAZIONE GIOCO
       
      A inizio del 2023 mi è finalmente venuta un idea semplice ma interessante: un gioco simile allo storico Pong ma bisogna agitare la mazza per colpire la palla, se la mazza è ferma infatti la palla va oltre, per far punto funziona proprio come Pong, bisogna superare l'avversario a destra e di conseguenza se venite superati voi il punto va all'avversario.
      Vi racconto poi una chicca... sapete come mi è venuta l'idea? L'ho sognato, so che è assurdo ma è così, ok che nel sogno era poco diverso e poco coerente ma intanto l'ho sognato, sarà per questo che quello che vi ritrovarete d'avanti è stato fatto in 1 sola settimana, nonostante Unity ha ancora molti segreti per me.
       
      Non c'è molto da dire ma nel caso non vi va di leggere il sito che vi ho linkato riassumo le cose più importanti:
       
       - Ogni volta che si colpisce la palla diventa sempre più veloce, resettandosi dopo che viene fatto punto.
       - Se si viene colpiti in faccia si resta storditi qualche secondo, non potendo ne spostarsi ne agitare la mazza.
       - La prima schermata che vi ritrovete, almeno in questa versione, dovrete scegliere se volete giocare con un tempo limite o punteggio, selezionando quanto.
       - Inoltre dovrete anche selezionare quanti round/set volete fare, in fine premete su "gioca"; non partira se non verrà scelta alcuna modalità di gioco e numero round.
       - Si gioca muovendosi con W e S, oppure le frecce direzionali, mentre I e K per agitare la mazza in alto o in basso.
      - Barra spaziatrice per aprime il menù di pausa.
       - Ho incluso anche il gioco col gamepad, X e Y per agitare la mazza in alto, A e B per agitarla in basso.
      - Come ultimo appunto c'è solo da aggiungere che graficamente è ancora a 0, anche i giocatori sono placeholder, infatti le animazioni di questi sono minimali.
       
      Il link del downloand lo potete trovare nel sito linkato ma lo metto anche qui sotto; mi piacerebbe sapere se trovate bug o se avete consigli e pareri vari.
      Download: https://mega.nz/file/GJ8T1IxI#MgCw1_0Io6mb_ut2GWrNa711hrlHt0y21LOKRywwI1o
    • Da Waldorf
      2D Áperdam
       
       
       
       

       
       
       
       
       
      Ecco qui, finalmente, la demo del mio primissimo progetto "Serio" ufficiale!
       
       
       
       
       
      Trama:
       
       
      La storia si svolge all'interno di un liceo, la scuola Áperdam, ed ha come centro focale la classe Seconda D.
       
       
      Questi ragazzi devono all'improvviso capire cosa fare di fronte allo strano comportamento dei professori, che li attaccano utilizzando strane tecniche prese dalle loro materie.
       
       
      Allo stesso tempo altri fatti strani si aggiungono, che spinge questi studenti ad indagare sull'accaduto, ma cercando lo stesso di seguire la loro routine scolastica.
       
       
       
       
       
      Gameplay:
       
       
      Come ogni RPG il gameplay è composto da 2 momenti:
       
       
       
       
       
      -Battaglia: Le battaglie, grazie ad un preciso utilizzo degli script di battaglia MOG, sono molto più dinamiche. Varie mosse infatti permettono l'esecuzione di particolari combo per poter eseguire un'altra mossa che complementa quella precedente. Inoltre altre mosse richiedono specifici tasti per essere lanciate. (vedi trailer)
       
       
       
       
       
      -Esplorazione: Una scuola, una sua succursale ed un intero giardino da esplorare, oltre a due bei dungeon da espugnare. Che volete di più?
       
       
      Gli incontri randomici dei mostri, in particolare, avvengono in seguito all'apparizione di un nemico su mappa, che va prontamente schivato con la pressione di una certa freccia direzionale.
       
       
       
       
       
      Difficoltà:
       
       
      La difficoltà nelle battaglie è autoregolata a seconda della vostra bravura nelle combo e nella tattica.
       
       
       
       
       
      Il punteggio va da 1 a 100 ed aumenta:
       
       
      -In seguito ad una combo corretta
       
       
      -Con la sconfitta di un boss
       
       
       
       
       
      Diminuisce:
       
       
      -Subendo gravi danni
       
       
      -Facendo svenire un compagno
       
       
      -Fuggendo
       
       
       
       
       
      Il tema scolastico:
       
       
      Il tema scolastico è rispecchiato su alcuni fattori del gameplay:
       
       
      -Per imparare tecniche, è necessario studiare dal menù, spendendo punti studio.
       
       
      -il KO qui è sostituito dalla bocciatura, l'avvelenamento dalla "Assenza di appunti"
       
       
      -Tutte le tecniche di battaglia provengono dalle materie scolastiche
       
       
      -Il salvataggio si esegue appoggiando il registro di classe su un tavolo
       
       
      -La modalità ricercA, per ritrovare, ehm... oggetti smarriti.
       
       
       
       
       
      Personaggi:
       
       
       
       
       
       
       
       
       
       
       
       
      Trailer:
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
      Download:
       
       
       
       
       
      https://rpgwaldorf.altervista.org/2d-aperdam-demo/
       
       
      Nota: richiede RTP
       
       
         
    • Da NotSuitableBunch
      Salve a tutti, vi presento il mio primo progetto in Rpg maker, realizzato dopo anni di fatiche e incentrato sul mio vecchio gruppo musicale.
      Visto il tempo che ci ho messo a realizzarlo e la lunghezza del gioco in sè, mi sembrava un peccato farlo giocare solo agli altri del gruppo e alcuni amici,
      spero mi possiate dare un pò di feedback al riguardo!
       
      Download:
      https://mega.nz/file/UQR3TT7R#uuB6QaC4rtpsCPO0DCexAypVZKNOeLA3yCcxTG9UxdA
       
       
      Introduzione
       
      Il gioco è innanzi tutto una parodia trash del genere Jrpg mixata con qualche aspetto di Gta.
      Seguirete le peripezie di un gruppo musicale di ubriaconi che cercano di salvare il loro paesello dalla minaccia di un "cattivo generico".
      Aspettatevi una comicità becera e a tratti offensiva, basata su battutacce, citazioni di videogame più belli, tentativi di satira, movimenti di intestino, infrangimento costante della 4a parete e bestemmie.
      (N.B. Il gioco presenta una forte componente anticlericale che potrebbe infastidire alcuni, e ha un paio di sporadiche scene di nudo, è quindi consigliato a un pubblico adulto.)
       
       

       
       
      In secondo luogo è un'opera molto personale che cerca di racchiudere e riassumere un decennio di suonate con un gruppo di amici. Il gioco è quindi costellato di riferimenti e citazioni che ci riguardano direttamente, per quanto poi esagerati a scopi comici. Spero di aver fatto un buon lavoro nel rendere i personaggi interessanti anche a un pubblico esterno.
       
       
       
      Sviluppo
       
      Il videogame è nato come sfondo per i nostri vecchi concerti nel 2015, proiettato mentre suonavamo e un amico lo giocava live.
      La prima parte di gioco (circa 2-4 ore iniziali) è ancora quella rudimentale Demo (ho inserito una scorciatoia per saltarla nel caso risulti troppo ostica a livello di enigmi, vi avvicinerete così alla parte open-world).
      Ho poi continuato ad espandere il gioco negli anni, a periodi alterni, aggiungendo le varie comparse tra amici e spettatori dei concerti e finendo gli "assets" che avevamo accumulato. Verso fine del 2021 ho iniziato la realizzazione delle quest e della trama del gioco principale; sacrificando buona parte del mio tempo libero sono riuscito a finire in poco più di un anno, dopodichè ho fatto testare il gioco agli altri membri del gruppo e ora, finalmente, direi che è finito.
      Inizio sviluppo Demo: Metà 2015 –> Fine gioco completo: Inizio 2023
       

       
       
       
      Grafica e Gameplay
       
      La grafica di gioco è ottenuta mixando (male) i classici asset di rpg maker con foto di persone e cose reali.
      L'ambientazione è quindi moderna, fatta di strade e case, con un approccio openworld che vuole provare a omaggiare Gta.
       
       

       
       
      Ogni personaggio giocabile e le comparse del gioco sono ottenute con delle foto, stessa cosa per le Animazioni delle mosse in battaglia.
      Per il resto, però, il gameplay di gioco è quello di un jrpg molto base.
      La parte interessante del combattimento è vedere le mosse improbabili dei personaggi.
       
       

       
       
      Una costante nel gioco sarà l'uso di alcolici, i quali rappresentano la fonte di cura del Party mentre girate per il paese.
      L'inizio della parte open world potrebbe essere un pò difficile... Non dimenticate di salvare!
       
       

       
       
      Come longevità il gioco è abbastanza lungo se volete finirlo al 100% (io che sono il programmatore ci metto 30 ore), per finire solo la quest principale invece dovrebbero bastare circa 10-15 ore.
       
       

       
       
       
      Sonoro
       
      La OST del gioco è composta dai brani del nostro gruppo, più i brani delle varie formazioni avute negli anni (con lo stesso gruppo di persone abbiamo fatto diversi progetti musicali).
      Quindi ci sono ore di colonna sonora originale, compresa tutta una sezione di pezzi 8-bittosi fatti da uno di noi appositamente per il gioco.
       

×