ГлавнаяФорумRPG MakerСкрипты/ПлагиныRPG Maker VX ACEВопросы по скриптам ACEИщу скрипт на вывод переменных на карте.
Войти на сайт
×
ТЕМА: Ищу скрипт на вывод переменных на карте.
Ищу скрипт на вывод переменных на карте. 5 года 11 мес. назад #107375
|
Ищу скрипты, которые могут выводить переменные на экран. НР, МР и прочее.
|
Администратор запретил публиковать записи гостям.
|
Ищу скрипт на вывод переменных на карте. 5 года 11 мес. назад #107473
|
Можно уточнить несколько вопросов?
Если интерфейс всегда в одном месте экрана, то он это называется HUD (heads up display, так называют индикатор на лобовом стекле — название перешло в компьютерные игры из техники). Скриптов на HUD очень много, потому что способов отображения переменных очень много (от римских цифр до круговых диаграм!). Например, можно попробовать решение Юриола из темы «Отображение переменных на экране. Мини-пак». Если перемещаться с картой, то можно посмотреть в сторону скриптов для вывода подписей к событиям. |
Последнее редактирование: 5 года 11 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: yuryol
|
Ищу скрипт на вывод переменных на карте. 5 года 11 мес. назад #107481
|
Да, HUD. Но нужно цифрами, я помню какой то скрипт на цифровое отображение переменных, но забыл где его достать. А нагуглить такое очень сложно сейчас (все битое)
|
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy
|
Ищу скрипт на вывод переменных на карте. 5 года 11 мес. назад #107482
|
Спасибо за уточнение! Из пака yuryol’а описанию соответствуют Napoleons Game Variable Display и XS - Variable Hud. Первый позволяет динамически добавлять/удалять показываемые переменные в ходе игры, а второй — настраивать позиции отображения и текст после переменной.
Napoleons Game Variable Display (из коллекции yuryol’а) [ Нажмите, чтобы развернуть ][ Нажмите, чтобы скрыть ] #sb:nap_var_display [debug]
=begin
#===============================================================================
Napoleons Game Variable Display/показ переменных
Version 1.01
By Napoleon
Перевод: Yuryol
Позволяет:
- Показ нужных переменных.
- Показ иконок рядом с переменными.
Инструкции:
- Вставить ниже "▼ Materials" и выше "▼ Main Process".
- Ввести в событии нужный скрипт:
Если вам нужен показ на экране переменной с иконкой, то вводим
add_game_variable_display(id переменной, id иконки)
например:
add_game_variable_display(21, 2)
Если вам не нужен показ иконки, то вводим:
add_game_variable_display(id переменной)
например:
add_game_variable_display(22)
Для удаления показа определенной переменной вводим:
rem_game_variable_display(id переменной, sort=false)
Для сортировки выведенных переменных вводим:
sort_game_variable_display
Версия для:
- RPG Maker VX Ace
Terms of Use:
- This work is licensed under the Creative Commons Attribution 4.0 International
License. To view a copy of this license, visit
http://creativecommons.org/licenses/by/4.0/deed.en_US.
- Attribution is not required. This overrules what's stated in the above
license.
Version History:
1.01 (21 July 2014)
- Fixed a duplicate saving bug.
- Refactored.
1.00 (16 Januari 2014)
- First Release
#===============================================================================
=end
$imported ||= {}
$imported[:nap_dis_var] = 1.01
module Nap; module Var_Dis
#===============================================================================
# Configurable Section
#===============================================================================
X = 5 # координата Х
Y = 5 # координата У
Z_INDEX = 0
BG_COLOR = Color.new(0, 0, 0, 0) # цвет окна. Последнее число - прозрачность
FONT_NAME = Font.default_name # название шрифта
FONT_SIZE = 40 # размер шрифта
FONT_COLOR = Color.new(255, 255, 255) # цвет шрифта
FONT_SHADOW = true # тени
FONT_BOLD = true # полужирный шрифт
FONT_ITALIC = false # курсив
FONT_OUT_COLOR = Color.new(0, 0, 0, 250)# цвет обводки шрифта. Последнее число - прозрачность
FONT_OUTLINE = true #включть/выключить обводку
#===============================================================================
# Variable Container
#===============================================================================
class Variable_Display
attr_accessor :sprite
attr_reader :index
attr_reader :icon_idx
@@txt_measure_bmp = Bitmap.new(1, 1)
def self.txt_measure_bmp; @@txt_measure_bmp; end
#---------------------------------------------------------------------------
# Initialize
#---------------------------------------------------------------------------
def initialize(index, icon_idx=nil) # Both indices starts at 1
@index = index
@sprite = Variable_Display.create_sprite(index, icon_idx)
@current_value = $game_variables[index]
@icon_idx = icon_idx
end
#---------------------------------------------------------------------------
# Update
#---------------------------------------------------------------------------
def update
return if @current_value == $game_variables[@index] # increases performance
@sprite.bitmap.dispose
@sprite.bitmap = Variable_Display.refresh_bitmap(@index, @icon_idx)
@current_value = $game_variables[@index]
end
#---------------------------------------------------------------------------
# Get Size
#---------------------------------------------------------------------------
def self.get_size(index, icon_idx)
if icon_idx.nil?
return @@txt_measure_bmp.text_size($game_variables[index])
else
s = @@txt_measure_bmp.text_size($game_variables[index])
return Rect.new(s.x, s.y, s.width + 24, s.height)
end
end
#---------------------------------------------------------------------------
# Draw Icon
#---------------------------------------------------------------------------
def self.draw_icon(bitmap, icon_idx)
icon_bmp = Cache.system("Iconset")
rect = Rect.new(icon_idx % 16 * 24, icon_idx / 16 * 24, 24, 24)
y = (bitmap.height - rect.height) / 2
y = 0 if y < 0
bitmap.blt(0, y, icon_bmp, rect)
end
#---------------------------------------------------------------------------
# Refresh Bitmap
#---------------------------------------------------------------------------
def self.refresh_bitmap(index, icon_idx)
size = get_size(index, icon_idx)
bmp = Bitmap.new(size.width, size.height)
set_font(bmp)
bmp.fill_rect(Rect.new(0, 0, bmp.width, bmp.height), Nap::Var_Dis::BG_COLOR)
if icon_idx
draw_icon(bmp, icon_idx)
x = 24
align = 0
else
x = 0
align = 1
end
bmp.draw_text(x, 0, bmp.width, bmp.height, $game_variables[index], align)
return bmp
end
#---------------------------------------------------------------------------
# Create Sprite
#---------------------------------------------------------------------------
def self.create_sprite(index, icon_idx=nil)
sprite = Sprite.new
sprite.x = Nap::Var_Dis::X
sprite.y = Nap::Var_Dis::Y + get_next_y
sprite.z = Z_INDEX
sprite.bitmap = refresh_bitmap(index, icon_idx)
return sprite
end
#---------------------------------------------------------------------------
# Set Font
#---------------------------------------------------------------------------
def self.set_font(bmp)
bmp.font = Font.new(Nap::Var_Dis::FONT_NAME, Nap::Var_Dis::FONT_SIZE)
bmp.font.color = Nap::Var_Dis::FONT_COLOR
bmp.font.bold = Nap::Var_Dis::FONT_BOLD
bmp.font.italic = Nap::Var_Dis::FONT_ITALIC
bmp.font.shadow = Nap::Var_Dis::FONT_SHADOW
bmp.font.out_color = Nap::Var_Dis::FONT_OUT_COLOR
bmp.font.outline = Nap::Var_Dis::FONT_OUTLINE
end
#---------------------------------------------------------------------------
# Get Next Y
#---------------------------------------------------------------------------
def self.get_next_y
y = 0
$nap_vardis_data.each { |d| y += d.sprite.height }
return y
end
#---------------------------------------------------------------------------
# Sort Y
#---------------------------------------------------------------------------
def self.sort_y
$nap_vardis_data.sort_by! { |d| d.index}
end
#---------------------------------------------------------------------------
# Reset Y
#---------------------------------------------------------------------------
def self.reset_y
y = Nap::Var_Dis::Y
$nap_vardis_data.each { |d|
d.sprite.y = y
y += d.sprite.height
}
end
#---------------------------------------------------------------------------
# Dispose
#---------------------------------------------------------------------------
def dispose
@sprite.dispose
end
end # class Variable_Display
Variable_Display.set_font(Variable_Display.txt_measure_bmp)
end; end # module Nap; module Var_Dis
$nap_vardis_data = []
#===============================================================================
# Scene Base
#===============================================================================
class Scene_Base
#-----------------------------------------------------------------------------
# Update [ALIAS]
#-----------------------------------------------------------------------------
alias nap_vardis_update update
def update
nap_vardis_update
$nap_vardis_data.each { |d| d.update }
end
end
#===============================================================================
# Game Interpreter
#===============================================================================
class Game_Interpreter
#-----------------------------------------------------------------------------
# Add Game Variable Display [NEW]
#-----------------------------------------------------------------------------
def add_game_variable_display(index, icon_idx=nil)
$nap_vardis_data << Nap::Var_Dis::Variable_Display.new(index, icon_idx)
end
#-----------------------------------------------------------------------------
# Remove Game Variable Display [NEW]
#-----------------------------------------------------------------------------
def rem_game_variable_display(index, sort=false)
$nap_vardis_data.each{ |d| d.dispose if d.index == index}
$nap_vardis_data.delete_if { |x| x.index == index}
Nap::Var_Dis::Variable_Display.sort_y if sort
Nap::Var_Dis::Variable_Display.reset_y
end
#-----------------------------------------------------------------------------
# Sort Game Variable Display [NEW]
#-----------------------------------------------------------------------------
def sort_game_variable_display
Nap::Var_Dis::Variable_Display.sort_y
Nap::Var_Dis::Variable_Display.reset_y
end
end
#===============================================================================
# Saving & Loading
#===============================================================================
module DataManager
class << self
alias nap_var_dis_make_save_contents make_save_contents
alias nap_var_dis_extract_save_contents extract_save_contents
end
#-----------------------------------------------------------------------------
# Make Save Contents [ALIAS]
#-----------------------------------------------------------------------------
def self.make_save_contents
contents = nap_var_dis_make_save_contents
contents[:nap_var_dis] ||= []
$nap_vardis_data.each { |d| contents[:nap_var_dis] << [d.index, d.icon_idx] }
contents
end
#-----------------------------------------------------------------------------
# Extract Save Contents [ALIAS]
#-----------------------------------------------------------------------------
def self.extract_save_contents(contents)
nap_var_dis_extract_save_contents(contents)
contents[:nap_var_dis].each { |index, icon_idx| $nap_vardis_data << Nap::Var_Dis::Variable_Display.new(index, icon_idx) }
end
end XS - Variable Hud (из коллекции yuryol’а) [ Нажмите, чтобы развернуть ][ Нажмите, чтобы скрыть ] #==============================================================================
# XS - Variable Hud
# Author: Nicke
# Created: 02/04/2012
# Edited: 09/04/2012
# Version: 1.0a
# Перевод: Yuryol
#==============================================================================
# Instructions
# -----------------------------------------------------------------------------
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials but above ▼ Main. Remember to save.
#
# A small hud to display variables on the map.
#
# *** Only for RPG Maker VX Ace. ***
#==============================================================================
($imported ||= {})["XAIL-VAR-WIN-HUD"] = true
module XAIL
module VAR_HUD
#--------------------------------------------------------------------------#
# * Settings
#--------------------------------------------------------------------------#
# ШРИФТ
#FONT = [название шрифта, размер шрифта, цвет, полужирный, тень]
FONT = [["Verdana"], 14, Color.new(255,255,255), true, true]
# Окно HUDа = [Ширина, x, y, z, прозрачность, скин]
#HUD = [Ширина, x, y, z, прозрачность, скин]
HUD = [270, 295, -5, 200, 0, nil]
# переключатель для отображения HUDа
#VAR_HUD_SWITCH = id переключателя
VAR_HUD_SWITCH = 5
# Список отображаемых переменных ( последние две цифры можно не писать, тогда будет по умолчанию)
#VAR_LIST = [id переменной, vocab (nil), индекс иконки (nil - если без иконки), координата x, координата y]
VAR_LIST = [] # Don't remove!
VAR_LIST[0] = [21, nil, 122]
VAR_LIST[1] = [22, 'текст', 128]
#VAR_LIST[2] = [3, nil, 124]
#VAR_LIST[3] = [4, nil, 125]
# Set the symbol for the amount.
# Can be set to "" to disable.
# SYMBOL = string
SYMBOL = ""
# Расстоняие между переменными.
# SPACING = number
SPACING = 24
end
end
# *** Don't edit below unless you know what you are doing. ***
#==============================================================================#
# ** Window_Var_Hud
#------------------------------------------------------------------------------
# Class for drawing the variable hud.
#==============================================================================#
class Window_Var_Hud < Window_Base
def initialize
# // Method to initialize the var hud window.
super(0, 0, window_width, fitting_height(XAIL::VAR_HUD::VAR_LIST.size))
refresh
end
def window_width
# // Method to return the width.
return XAIL::VAR_HUD::HUD[0]
end
def draw_var(var, unit, x, y, width)
# // Method to draw a variable with the content.
value = "#{$game_variables[var]}#{XAIL::VAR_HUD::SYMBOL}"
contents.font = Font.new(XAIL::VAR_HUD::FONT[0], XAIL::VAR_HUD::FONT[1])
contents.font.color = XAIL::VAR_HUD::FONT[2]
contents.font.bold = XAIL::VAR_HUD::FONT[3]
contents.font.shadow = XAIL::VAR_HUD::FONT[4]
draw_text(x, y, width - 60, line_height, value, 2)
draw_text(x, y, width - 18, line_height, unit, 2) unless unit.nil?
reset_font_settings
end
def refresh
# // Method to refresh the variable hud.
contents.clear
draw_var_hud
end
def draw_var_hud
# // Method to draw the var hud.
y = 0
@vars = {}
for i in XAIL::VAR_HUD::VAR_LIST
x = i[1].nil? ? 32 : -10
draw_var(i[0], i[1], x, y, contents.width - 8)
draw_icon(i[2], 210, y - 2) unless i[2].nil?
y += XAIL::VAR_HUD::SPACING
@vars[i[0]] = $game_variables[i[0]]
end
end
def update
# // Method to update the variable hud if a value has been changed.
super
for i in XAIL::VAR_HUD::VAR_LIST
refresh if($game_variables[i[0]] != @vars[i[0]])
end
end
end
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
# Show variable hud on the map.
#==============================================================================
class Scene_Map < Scene_Base
alias xail_var_hud_window_start start
def start(*args, &block)
# // Method to start the var hud window on the map.
xail_var_hud_window_start(*args, &block)
create_var_hud_window
@var_hud_window.visible = $game_switches[XAIL::VAR_HUD::VAR_HUD_SWITCH]
end
alias xail_var_hud_window_terminate terminate
def terminate(*args, &block)
# // Method to terminate the var hud window on the map.
xail_var_hud_window_terminate(*args, &block)
end
def create_var_hud_window
# // Method to create the variable window.
@var_hud_window = Window_Var_Hud.new
@var_hud_window.x = XAIL::VAR_HUD::HUD[1]
@var_hud_window.y = XAIL::VAR_HUD::HUD[2]
@var_hud_window.z = XAIL::VAR_HUD::HUD[3]
@var_hud_window.opacity = XAIL::VAR_HUD::HUD[4]
@var_hud_window.windowskin = Cache.system(XAIL::VAR_HUD::HUD[5]) unless XAIL::VAR_HUD::HUD[5].nil?
end
alias xail_var_hud_window_update update
def update(*args, &block)
# // Method to update the var hud window on the map.
xail_var_hud_window_update(*args, &block)
@var_hud_window.visible = $game_switches[XAIL::VAR_HUD::VAR_HUD_SWITCH]
end
end # END OF FILE
#=*==========================================================================*=#
# ** END OF FILE
#=*==========================================================================*=# (Если нужно что-то другое, то могу поискать что-то другое. Только скажи, чем эти не устраивают, чтобы я знал, по каким критериям искать.) |
Последнее редактирование: 5 года 11 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Cabbit
|
Модераторы: NeKotZima
Время создания страницы: 0.296 секунд