- Сообщений: 1640
- Спасибо получено: 1080
Продвинутый таймер
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
12 года 8 мес. назад #63762
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer создал тему: Продвинутый таймер
Еще один скрипт, расширяющий возможности одной из базовых функций.
А именно таймера. Что конкретно дает этот скрипт?
Этот скрипт позволяет получить над таймером больше власти, а именно:
- Использовать для таймера свои спрайты.
- Менять шрифт, размер и цвет цифер.
- Упрвление скоростью таймера с помощью переменных.
- И так далее и тому подобное (смотреть в скрипте)
Демо прилагается.
А именно таймера. Что конкретно дает этот скрипт?
Этот скрипт позволяет получить над таймером больше власти, а именно:
- Использовать для таймера свои спрайты.
- Менять шрифт, размер и цвет цифер.
- Упрвление скоростью таймера с помощью переменных.
- И так далее и тому подобное (смотреть в скрипте)
ВНИМАНИЕ: Спойлер!
Code:
#------------------------------------------------------------------------------#
# Galv's Variable Timer Functions
#------------------------------------------------------------------------------#
# Для: RPGMAKER VX ACE
# Версия 1.2ru
#------------------------------------------------------------------------------#
# 2013-08-22 - Версия 1.2ru - Перевод strelokhalfer для rpg-maker.info
# 2012-10-24 - Версия 1.2 - исправлены алиасы
# 2012-09-28 - Версия 1.1 - Теперь таймер можно скрыть.
# (спасибо Falcao за совет)
# 2012-09-28 - Версия 1.0 - Релиз
#------------------------------------------------------------------------------#
#
# Этот скрипт позволяет получить над таймером больше власти, а именно:
# - Использовать для таймера свои спрайты.
# - Менять шрифт, размер и цвет цифр.
# - Управление скоростью таймера с помощью переменных.
# - И так далее и тому подобное (смотреть ниже)
#
#
# Ниже даны функции, которые надо вызывать в событии через "Скрипт...".
#------------------------------------------------------------------------------#
# Для заморозки таймера:
# $game_timer.freeze
#------------------------------------------------------------------------------#
# Для разморозки таймера:
# $game_timer.unfreeze
#------------------------------------------------------------------------------#
# Увеличить время (x - количество секунд):
# $game_timer.increase(x)
#------------------------------------------------------------------------------#
# Уменьшить время (x - количество секунд):
# $game_timer.decrease(x)
#------------------------------------------------------------------------------#
# Установить таймер равным значению переменной (y - ID переменной):
# $game_timer.set(y)
#------------------------------------------------------------------------------#
# Увеличить таймер на значение переменной (y - ID переменной):
# $game_timer.increase_var(y)
#------------------------------------------------------------------------------#
# Уменьшить таймер на значение переменной (y - ID переменной):
# $game_timer.decrease_var(y)
#------------------------------------------------------------------------------#
#
# Так же управление таймером через команды события продолжают работать.
# Пример: Запуск, Остановка, Условие, Приравнять переменную к значению таймера)
#
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
# !!! ВНИМАНИЕ - Я начинающий скриптер. Используйте на свой страх и риск!!!
#------------------------------------------------------------------------------#
$imported = {} if $imported.nil?
$imported["Variable_Timer"] = true
module Variable_Timer
#------------------------------------------------------------------------------#
# НАСТРОЙКИ СКРИПТА
#------------------------------------------------------------------------------#
TIME_SPEED_VAR = 1 # ID переменной, отвечающей за скорость.
# Меняйте ее во время игры для изменения таймера.
# Отриц. значение- таймер убывает,
# положительное - прибывает. 0 для паузы.
HIDE_TIMER_SWITCH = 1 # ID переключателя. Если активен, таймер скрыт.
ABORT_BATTLE = false # Если в битве таймер доходит до 0, то она
# отменяется. True - если нужно.
TIMER_GRAPHIC = "timer" # Графика должна лежать в Graphics/System
# Оставьте "", если графика не нужна.
TIMER_FONT = "Arial" # Шрифт таймера. "" для стандартного.
TEXT_SIZE = 28 # Размер(кегль) шрифта.
R = 0 # Цвет цифр, используется RGB
G = 255 # (red, green, blue)
B = 0
#------------------------------------------------------------------------------#
# КОНЕЦ НАСТРОЕК
#------------------------------------------------------------------------------#
end
class Game_Timer
#--------------------------------------------------------------------------
# * OVERWRITE Update
#--------------------------------------------------------------------------
def update
return if @freeze_time
if @working && @count > 0
@count += $game_variables[Variable_Timer::TIME_SPEED_VAR]
on_expire if @count == 0 && Variable_Timer::ABORT_BATTLE
end
if @working && @count < 0
@count = 0
end
end
def freeze
@freeze_time = true
end
def unfreeze
@freeze_time = false
end
def increase(time)
@count += time * Graphics.frame_rate
end
def decrease(time)
@count -= time * Graphics.frame_rate
end
def set(var)
@count = $game_variables[var] * Graphics.frame_rate
end
def increase_var(var)
@count += $game_variables[var] * Graphics.frame_rate
end
def decrease_var(var)
@count -= $game_variables[var] * Graphics.frame_rate
end
end # Game_Timer
class Sprite_Timer < Sprite
alias galv_vartimer_dispose dispose
def dispose
@timer_sprite.dispose if !@timer_sprite.nil?
galv_vartimer_dispose
end
def create_timer_sprite
@timer_sprite = Sprite.new
@timer_sprite.bitmap = Cache.system(Variable_Timer::TIMER_GRAPHIC)
@timer_sprite.opacity = 255
@timer_sprite.x = Graphics.width - @timer_sprite.bitmap.width
end
alias galv_vartimer_create_bitmap create_bitmap
def create_bitmap
galv_vartimer_create_bitmap
self.bitmap.font.name = Variable_Timer::TIMER_FONT unless Variable_Timer::TIMER_FONT == ""
self.bitmap.font.size = Variable_Timer::TEXT_SIZE
self.bitmap.font.color.set(Variable_Timer::R, Variable_Timer::G, Variable_Timer::B)
end
alias galv_vartimer_update_visibility update_visibility
def update_visibility
galv_vartimer_update_visibility
if $game_timer.working? && !$game_switches[Variable_Timer::HIDE_TIMER_SWITCH]
create_timer_sprite if @timer_sprite.nil? || @timer_sprite.disposed?
else
@timer_sprite.dispose if !@timer_sprite.nil?
self.visible = false
end
end
end # Sprite_Timer < Sprite
Демо прилагается.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 8 мес. назад #63773
от DeadElf79
DeadElf79 ответил в теме Продвинутый таймер
Стрелок, прилепи к нему еще настройку, чтобы таймер можно было скрывать и снова показывать, типа $game_timer.show и $game_timer.hide. А то он палит сильно некоторые мои квесты и вообще похож на бомбу с часовым механизмом, показывающую, сколько мне еще жить осталось.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скрыть
Больше
- Сообщений: 1597
- Спасибо получено: 1522
12 года 8 мес. назад #63774
от Демий
Демий ответил в теме Продвинутый таймер
Эльф, так эта возможность ведь есть. Подойди к одному из нпс в демке, он прячет\показывает таймер!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 8 мес. назад #63775
от Cerberus
Жуть болотная, на лапках, в тапках и с пулемётом...
Cerberus ответил в теме Продвинутый таймер
Есть такое, HIDE_TIMER_SWITCH называется.
Жуть болотная, на лапках, в тапках и с пулемётом...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 8 мес. назад #63777
от DeadElf79
DeadElf79 ответил в теме Продвинутый таймер
Демий, да, я прям хочу половину игры провести в диалоге (сарказм)
Цербер, вот спасибо) Пойду прикручу к проекту эту пудру для сознания
Цербер, вот спасибо) Пойду прикручу к проекту эту пудру для сознания
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
12 года 8 мес. назад #63780
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Продвинутый таймер
Так в демке же есть)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 8 мес. назад #63791
от DeadElf79
DeadElf79 ответил в теме Продвинутый таймер
Стрелок, извиняюсь, редко смотрю демки, если в пояснении все написано понятно)
По той же причине часто и сам пишу не очень понятные первые посты...
По той же причине часто и сам пишу не очень понятные первые посты...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.105 секунд
