- Сообщений: 47
- Спасибо получено: 14
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
Скрипт текста над эвентом конфликтует с боевкой
12 года 8 мес. назад - 12 года 8 мес. назад #63972
от Феня
Феня создал тему: Скрипт текста над эвентом конфликтует с боевкой
Скрипт на текст над эвентом Moghunter'a
конфликтует со скриптом боевки TBS.
ссылка на боевку
rpgvxa.3nx.ru/viewtopic.php?t=138
Конфликтует скрипт боевки Sprite_Character.
Скрипт текста над событиями:
Со скриптом боевки имена над персонажами просто не отображаются.
Боевка и скрипт ну уж очень нравятся, хотя стараюсь их много не ставить(((
Еще мне сказали, что судя по всему боевка просто отказывается от принятия каких-либо комментарий...
Как решить эту проблему?
конфликтует со скриптом боевки TBS.
ссылка на боевку
rpgvxa.3nx.ru/viewtopic.php?t=138
Конфликтует скрипт боевки Sprite_Character.
Sprite_Character
Code:
#==============================================================================
# ■ Sprite_Character
#------------------------------------------------------------------------------
# キャラクター表示用のスプライトです。Game_Character クラスのインスタンスを
# 監視し、スプライトの状態を自動的に変化させます。
#==============================================================================
class Sprite_Character < Sprite_Base
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :character
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# character : Game_Character
#--------------------------------------------------------------------------
def initialize(viewport, character = nil, battler = nil)
super(viewport)
@character = character
@balloon_duration = 0
@battler = battler
@battler_visible = false
@effect_type = nil
@effect_duration = 0
@damage_duration = 0
@charging_duration = 0
update
end
#--------------------------------------------------------------------------
# ● キャラクターネームを返す
#--------------------------------------------------------------------------
def character_name
name = @battler == nil ? @character.character_name : @battler.character_name
name
end
#--------------------------------------------------------------------------
# ● キャラクターインデックスを返す
#--------------------------------------------------------------------------
def character_index
index = @battler == nil ? @character.character_index : @battler.character_index
index
end
#--------------------------------------------------------------------------
# ● バトラーを設定
#--------------------------------------------------------------------------
def set_battler(battler)
@battler = battler
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
super
update_bitmap
update_src_rect
update_position
update_other
update_balloon
setup_new_effect
if $game_temp.in_battle and @battler
setup_new_animation
update_effect
end
end
#--------------------------------------------------------------------------
# ● 転送元ビットマップの更新
#--------------------------------------------------------------------------
def update_bitmap
if graphic_changed?
@tile_id = @character.tile_id
@character_name = character_name
@character_index = character_index
if @tile_id > 0
set_tile_bitmap
else
set_character_bitmap
end
end
end
#--------------------------------------------------------------------------
# ● グラフィックの変更判定
#--------------------------------------------------------------------------
def graphic_changed?
@tile_id != @character.tile_id ||
@character_name != character_name ||
@character_index != character_index
end
#--------------------------------------------------------------------------
# ● キャラクターのビットマップを設定
#--------------------------------------------------------------------------
def set_character_bitmap
new_bitmap = Cache.character(@character_name)
if not $game_temp.in_battle
self.bitmap = new_bitmap
else
if bitmap != new_bitmap
self.bitmap = new_bitmap
init_visibility
end
end
sign = @character_name[/^[\!\$]/]
if sign && sign.include?('$')
@cw = bitmap.width / 3
@ch = bitmap.height / 4
else
@cw = bitmap.width / 12
@ch = bitmap.height / 8
end
self.ox = @cw / 2
self.oy = @ch
end
#--------------------------------------------------------------------------
# ● 可視状態の初期化
#--------------------------------------------------------------------------
def init_visibility
return if not @battler
@battler_visible = @battler.alive?
self.opacity = 0 unless @battler_visible
end
#--------------------------------------------------------------------------
# ● 転送元矩形の更新
#--------------------------------------------------------------------------
def update_src_rect
if @tile_id == 0
index = character_index
pattern = @character.pattern < 3 ? @character.pattern : 1
if not $game_temp.in_battle
sx = (index % 4 * 3 + pattern) * @cw
sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
else
sign = @character_name[/^[\!\$]./]
if sign && sign.include?('$')
sx = pattern * @cw
sy = index * @ch
else
sx = (index % 4 * 3 + pattern) * @cw
sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
end
end
self.src_rect.set(sx, sy, @cw, @ch)
end
end
#--------------------------------------------------------------------------
# ● その他の更新
#--------------------------------------------------------------------------
def update_other
self.opacity = @character.opacity if not $game_temp.in_battle
self.blend_type = @character.blend_type
self.bush_depth = @character.bush_depth
self.visible = !@character.transparent if not $game_temp.in_battle
end
#--------------------------------------------------------------------------
# ● 新しいエフェクトの設定
#--------------------------------------------------------------------------
def setup_new_effect
if !animation? && @character.animation_id > 0
animation = $data_animations[@character.animation_id]
start_animation(animation)
end
if !@balloon_sprite && @character.balloon_id > 0
@balloon_id = @character.balloon_id
start_balloon
end
return if not @battler
if !@battler_visible && @battler.alive?
start_effect(:appear)
elsif @battler_visible && @battler.hidden?
start_effect(:disappear)
end
if @battler.charging and @charging_duration == 0
start_effect(:whiten)
@charging_duration = 48
end
if @battler.damage_bar and @damage_duration == 0 and not @battler.boss_status_conceal?
@damage_duration = 36
@mini_hp_sprite = Sprite_Mini_Hp_Bar.new(viewport, @battler, @character)
@battler.damage_bar = false
end
if @battler_visible && @battler.sprite_effect_type
start_effect(@battler.sprite_effect_type)
@battler.sprite_effect_type = nil
end
end
#--------------------------------------------------------------------------
# ● エフェクトの開始
#--------------------------------------------------------------------------
def start_effect(effect_type)
@effect_type = effect_type
case @effect_type
when :appear
@effect_duration = 16
@battler_visible = true
when :disappear
@effect_duration = 32
@battler_visible = false
when :whiten
@effect_duration = 16
@battler_visible = true
when :blink
@effect_duration = 20
@battler_visible = true
when :collapse
@effect_duration = 48
@battler_visible = false
when :boss_collapse
@effect_duration = bitmap.height
@battler_visible = false
when :instant_collapse
@effect_duration = 16
@battler_visible = false
end
revert_to_normal
end
#--------------------------------------------------------------------------
# ● 通常の設定に戻す
#--------------------------------------------------------------------------
def revert_to_normal
self.blend_type = 0
self.color.set(0, 0, 0, 0)
self.opacity = 255
end
#--------------------------------------------------------------------------
# ● 新しいアニメーションの設定
#--------------------------------------------------------------------------
def setup_new_animation
if @battler.animation_id > 0
animation = $data_animations[@battler.animation_id]
mirror = @battler.animation_mirror
start_animation(animation, mirror)
@battler.animation_id = 0
end
end
#--------------------------------------------------------------------------
# ● エフェクト実行中判定
#--------------------------------------------------------------------------
def effect?
@effect_type != nil
end
#--------------------------------------------------------------------------
# ● 早送り判定
#--------------------------------------------------------------------------
def show_fast?
Input.press?(:A) || Input.press?(:C)
end
#--------------------------------------------------------------------------
# ● エフェクトの更新
#--------------------------------------------------------------------------
def update_effect
if @effect_duration > 0
@effect_duration -= 1
case @effect_type
when :whiten
update_whiten
when :blink
update_blink
when :appear
update_appear
when :disappear
update_disappear
when :collapse
update_collapse
when :boss_collapse
update_boss_collapse
when :instant_collapse
update_instant_collapse
end
@effect_type = nil if @effect_duration == 0
end
if @charging_duration > 0
update_charging
end
if @damage_duration > 0
@damage_duration -= show_fast? ? 2 : 1
@mini_hp_sprite.show_fast(show_fast?)
@mini_hp_sprite.update
if @damage_duration <= 0
@mini_hp_sprite.dispose
@damage_duration = 0
end
end
end
#--------------------------------------------------------------------------
# ● 白フラッシュエフェクトの更新
#--------------------------------------------------------------------------
def update_whiten
self.color.set(255, 255, 255, 0)
self.color.alpha = 128 - (16 - @effect_duration) * 10
end
#--------------------------------------------------------------------------
# ● 点滅エフェクトの更新
#--------------------------------------------------------------------------
def update_blink
self.opacity = (@effect_duration % 10 < 5) ? 255 : 0
end
#--------------------------------------------------------------------------
# ● 出現エフェクトの更新
#--------------------------------------------------------------------------
def update_appear
self.opacity = (16 - @effect_duration) * 16
end
#--------------------------------------------------------------------------
# ● 消滅エフェクトの更新
#--------------------------------------------------------------------------
def update_disappear
self.opacity = 256 - (32 - @effect_duration) * 10
end
#--------------------------------------------------------------------------
# ● 崩壊エフェクトの更新
#--------------------------------------------------------------------------
def update_collapse
self.blend_type = 1
self.color.set(255, 128, 128, 128)
self.opacity = 256 - (48 - @effect_duration) * 6
end
#--------------------------------------------------------------------------
# ● ボス崩壊エフェクトの更新
#--------------------------------------------------------------------------
def update_boss_collapse
alpha = @effect_duration * 120 / bitmap.height
self.x = @character.screen_x + @effect_duration % 2 * 4 - 2
self.y += bitmap.height / 8 - @effect_duration / 8
self.blend_type = 1
self.color.set(255, 255, 255, 255 - alpha)
self.opacity = alpha
Sound.play_boss_collapse2 if @effect_duration % 20 == 19
end
#--------------------------------------------------------------------------
# ● 瞬間崩壊エフェクトの更新
#--------------------------------------------------------------------------
def update_instant_collapse
self.opacity = 0
end
#--------------------------------------------------------------------------
# ● 詠唱中アニメの更新
#--------------------------------------------------------------------------
def update_charging
@charging_duration -= 1
end
end
Скрипт текста над событиями:
эвент текст
Code:
#==============================================================================
# +++ MOG - Event Text Popup (v1.0) +++
#==============================================================================
# By Moghunter
# [url]http://www.atelier-rgss.com[/url]
#==============================================================================
# Apresenta o um texto em cima do evento.
#==============================================================================
# Para ativa basta colocar um comentário com o prefixo:
#
# <Text - X>
#
# X - Texto apresentado no evento.
#
# Exemplo
#
# <Text - Teleport>
# <Text - Save Point>
#
#==============================================================================
module MOG_EVENT_TEXT_POPUP
#Definição da fonte.
FONT_NAME = "Arial"
FONT_SIZE = 16
FONT_BOLD = true
FONT_COLOR = Color.new(255,255,255)
#Definição da prioridade do Texto
SCREEN_Z = 1
end
#==============================================================================
# ■ Game CharacterBase
#==============================================================================
class Game_CharacterBase
attr_accessor :text
attr_accessor :opacity
attr_accessor :erased
end
#==============================================================================
# ■ Game Event
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias mog_event_text_initialize initialize
def initialize(map_id, event)
mog_event_text_initialize(map_id, event)
end
#--------------------------------------------------------------------------
# ● Setup Page Setting
#--------------------------------------------------------------------------
alias mog_event_text_setup_page_settings setup_page_settings
def setup_page_settings
mog_event_text_setup_page_settings
setup_event_text
end
#--------------------------------------------------------------------------
# ● Setup Event Text
#--------------------------------------------------------------------------
def setup_event_text
return if @list == nil
for command in @list
if command.code == 108
if command.parameters[0] =~ /<Text = ([^>]*)>/
@text = $1
end
end
end
end
end
#==============================================================================
# ■ Sprite Character Text
#==============================================================================
class Sprite_Character_Text < Sprite_Base
include MOG_EVENT_TEXT_POPUP
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize(viewport = nil,character,sprite)
super(viewport)
text_size = character.text.to_s.split(//)
w = 32 + (FONT_SIZE / 2) * text_size.size rescue nil
w = 32 if w == nil or w < 32
self.bitmap = Bitmap.new(w,32)
self.bitmap.font.name = FONT_NAME
self.bitmap.font.size = FONT_SIZE
self.bitmap.font.bold = FONT_BOLD
self.bitmap.font.color = FONT_COLOR
self.bitmap.draw_text(0,0,self.width,self.height,character.text.to_s,1) rescue nil
update_position(character,sprite)
end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
super
self.bitmap.dispose
end
#--------------------------------------------------------------------------
# ● Update Position
#--------------------------------------------------------------------------
def update_position(character,sprite)
if character.erased
self.visible = false
return
end
self.x = character.screen_x - self.width / 2
self.y = character.screen_y - (sprite.height + self.height)
self.z = character.screen_z + SCREEN_Z
self.visible = character.transparent == true ? false : true
self.opacity = character.opacity
end
end
#==============================================================================
# ■ Sprite Character
#==============================================================================
class Sprite_Character < Sprite_Base
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias mog_event_text_initialize initialize
def initialize(viewport, character = nil)
mog_event_text_initialize(viewport, character)
@character_text = ""
create_event_text
end
#--------------------------------------------------------------------------
# ● Create Event Text
#--------------------------------------------------------------------------
def create_event_text
return if @character == nil
return if @character.text == nil
return if @character.text == @character_text
dispose_event_text
@event_text = Sprite_Character_Text.new(viewport,@character,self)
@character_text = @character.text
end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
alias mog_event_text_dispose dispose
def dispose
mog_event_text_dispose
dispose_event_text
end
#--------------------------------------------------------------------------
# ● Dispose Event Text
#--------------------------------------------------------------------------
def dispose_event_text
return if @event_text == nil
@event_text.dispose
@event_text = nil
end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
alias mog_event_text_update update
def update
mog_event_text_update
create_event_text
update_event_text
end
#--------------------------------------------------------------------------
# ● Update Event Text
#--------------------------------------------------------------------------
def update_event_text
return if @event_text == nil
@event_text.update_position(@character,self)
end
end
$mog_rgss3_event_text_popup = true
Со скриптом боевки имена над персонажами просто не отображаются.
Боевка и скрипт ну уж очень нравятся, хотя стараюсь их много не ставить(((
Еще мне сказали, что судя по всему боевка просто отказывается от принятия каких-либо комментарий...
Как решить эту проблему?
Последнее редактирование: 12 года 8 мес. назад пользователем AnnTenna.
Тема заблокирована.
12 года 8 мес. назад #63973
от DeadElf79
DeadElf79 ответил в теме Нужна помощь со скриптами.
какую-нибудь ошибку выдает? каким образом происходит конфликт?
Тема заблокирована.
12 года 8 мес. назад #63974
от Феня
Феня ответил в теме Нужна помощь со скриптами.
Нет. Просто скрипт над эвентом не работает. Надпись не показывает. Работает, только если убрать один скрипт боевки (выше я его привел).
Но тогда уже боевка вылетает с ошибкой.
Но тогда уже боевка вылетает с ошибкой.
Тема заблокирована.
12 года 8 мес. назад - 12 года 8 мес. назад #63975
от DeadElf79
DeadElf79 ответил в теме Нужна помощь со скриптами.
Собственно, почистил скрипты от лишних комментарией и пустых строк и вчитался. :read:
Скрипты не конфликтуют вообще. Они просто не связаны между собой. Единственный схожий между ними класс - это Sprite_Character. Но дальше идет масса различий - боевка использует спрайты-баттлеры, а сообщения - ивенты. Но ивенты это не баттлеры, поэтому MOG и не показывает ничего.
Вывод: дописать метод для MOG, который будет отображать такие же тексты над спрайтами-баттлерами.
Скрипты не конфликтуют вообще. Они просто не связаны между собой. Единственный схожий между ними класс - это Sprite_Character. Но дальше идет масса различий - боевка использует спрайты-баттлеры, а сообщения - ивенты. Но ивенты это не баттлеры, поэтому MOG и не показывает ничего.
Вывод: дописать метод для MOG, который будет отображать такие же тексты над спрайтами-баттлерами.
Последнее редактирование: 12 года 8 мес. назад пользователем DeadElf79.
Тема заблокирована.
12 года 8 мес. назад #63976
от Феня
Феня ответил в теме Нужна помощь со скриптами.
Но мне не надо чтобы в бою отображался текст. Он даже на карте-то не отображается.
Тема заблокирована.
12 года 8 мес. назад - 12 года 8 мес. назад #63977
от DeadElf79
DeadElf79 ответил в теме Нужна помощь со скриптами.
Тогда в любом случае подправить MOGа, именно указанный выше класс Sprite_Character, как содержащийся в обоих скриптах. В любом случае, проблема найдена, ждем эйсовских скриптёров, которые в миг устранят проблему
я трогать не буду, потому что даже проверить мне сейчас не на чем.
Последнее редактирование: 12 года 8 мес. назад пользователем DeadElf79.
Тема заблокирована.
12 года 8 мес. назад #63978
от Феня
Феня ответил в теме Нужна помощь со скриптами.
Окей) Жду, надеюсь)
Тема заблокирована.
12 года 8 мес. назад #63980
от Lekste
Lekste ответил в теме Нужна помощь со скриптами.
Вобщем там похоже в 2-х местах создается Sprite_Character. Причем в скрипте сообщений - без 3-го аргумента, типа информация о юните в бою. Из-за этого и ошибка вылетит при входе в бой.
Попытка убрать инициализацию в скрипте сообщений ни к чему хорошему не привела. Передать 3-й аргумент тоже не выходит, т.к. нету данных о юните.
Возможно поможет жесткое встраивание версиии из скрипта с сообщением в скрипт боевки. Но что-то у меня мозг заблокировался.
А надпись показывается вне боя. Только при входе в бой, упомянутая выше ошибка.
Странно, что у тебя не показывалось...
Попытка убрать инициализацию в скрипте сообщений ни к чему хорошему не привела. Передать 3-й аргумент тоже не выходит, т.к. нету данных о юните.
Возможно поможет жесткое встраивание версиии из скрипта с сообщением в скрипт боевки. Но что-то у меня мозг заблокировался.
А надпись показывается вне боя. Только при входе в бой, упомянутая выше ошибка.
Странно, что у тебя не показывалось...
Тема заблокирована.
12 года 8 мес. назад #63981
от DeadElf79
DeadElf79 ответил в теме Нужна помощь со скриптами.
Заметил, кстати, что нет никакой демки для ковыряния. Можно ссылочку? Попробуем встроить.
Тема заблокирована.
12 года 8 мес. назад - 12 года 8 мес. назад #63984
от Феня
Надпись не показывается вне боя, если боевка работает и все ее скрипты на месте.
Странно, что у тебя показывает)
Только что сам это проделал - все то же самое. Текста над эвентом нет, убираю скрипт Sprite_Character - вуаля! текст появляется, но боевка не работает.
Феня ответил в теме Нужна помощь со скриптами.
Lekste пишет: А надпись показывается вне боя. Только при входе в бой, упомянутая выше ошибка.
Странно, что у тебя не показывалось...
Надпись не показывается вне боя, если боевка работает и все ее скрипты на месте.
Странно, что у тебя показывает)
В первом посте демка с боевкой. Скрипт текста над эвентом тоже в первом посте есть. Можно скачать демку и самому поставить скрипт.DeadElf79 пишет: Заметил, кстати, что нет никакой демки для ковыряния. Можно ссылочку? Попробуем встроить.
Только что сам это проделал - все то же самое. Текста над эвентом нет, убираю скрипт Sprite_Character - вуаля! текст появляется, но боевка не работает.
Последнее редактирование: 12 года 8 мес. назад пользователем Феня.
Тема заблокирована.
12 года 8 мес. назад #63985
от DeadElf79
DeadElf79 ответил в теме Нужна помощь со скриптами.
Хорошо, сейчас я вроде посвободнее (всего десять окошек висят в памяти нетбука О_О), так что посмотрю. Ты просто обозвал это как "ссылка на боевку", я подумал, что это ссылка на описание скрипта или что-то подобное.
Тема заблокирована.
12 года 8 мес. назад #63986
от Lekste
Lekste ответил в теме Нужна помощь со скриптами.
> DeadElf: Не всегда там файл по ссылке находится.
Перезалил на свой Я-Диск: yadi.sk/d/yt47CYXW8R6qX
Перезалил на свой Я-Диск: yadi.sk/d/yt47CYXW8R6qX
Тема заблокирована.
12 года 8 мес. назад #63988
от DeadElf79
DeadElf79 ответил в теме Нужна помощь со скриптами.
Так порадовал этот скрипт, что помимо подстройки к SRPG я еще и переведу этот скрипт от мога.
Тема заблокирована.
12 года 8 мес. назад #63989
от Феня
Феня ответил в теме Нужна помощь со скриптами.
Чем же он порадовал?
Тема заблокирована.
12 года 8 мес. назад - 12 года 8 мес. назад #63990
от DeadElf79
DeadElf79 ответил в теме Нужна помощь со скриптами.
Тем, что Эльф тут правит регулярками, мвахаха 

Скрипт качать отсюда
Code:
#==============================================================================
# +++ MOG - Имена над событиями (v1.0) +++
#==============================================================================
# Автор: Moghunter
# Ссылка: http://www.atelier-rgss.com
# Перевёл и модифицировал для SRPG: DeadElf79
#==============================================================================
# Позволяет отображать какие-нибудь надписи, к примеру имена
# над событиями (ивентами) на карте.
#==============================================================================
# Все, что вам нужно сделать, это добавить в комментарий такой текст:
#
# <Text=ИМЯ>
#
# где ИМЯ - это любой текст, в том числе и имя.
#
# К примеру (все примеры рабочие):
#
# <Text=Телепорт>
# <Text - Торговец>
# <Text =123Мария>
# Внимание! Без текста в комментарии на странице ивента скрипт не выведет ничего!
#
#==============================================================================
module MOG_EVENT_TEXT_POPUP
#В этом модуле вы можете настроить что-нибудь
#Например, шрифт
FONT_NAME = "Arial"
FONT_SIZE = 16
#его жирность
FONT_BOLD = true
#цвет
FONT_COLOR = Color.new(255,255,255)
#или приоритет отрисовки на экране
SCREEN_Z = 1
end
#==============================================================================
# ■ Game CharacterBase
#==============================================================================
class Game_CharacterBase
attr_accessor :text
attr_accessor :opacity
attr_accessor :erased
end
#==============================================================================
# ■ Game Event
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# ● Инициализация
#--------------------------------------------------------------------------
alias mog_event_text_initialize initialize
def initialize(map_id, event)
mog_event_text_initialize(map_id, event)
end
#--------------------------------------------------------------------------
# ● Установка настроек страницы
#--------------------------------------------------------------------------
alias mog_event_text_setup_page_settings setup_page_settings
def setup_page_settings
mog_event_text_setup_page_settings
setup_event_text
end
#--------------------------------------------------------------------------
# ● Установка текста над событием
#--------------------------------------------------------------------------
def setup_event_text
return if @list == nil
for command in @list
if command.code == 108
if command.parameters[0][/<[Tt][Ee][Xx][Tt]/]
text1=command.parameters[0][/(\=|\-)(.+)\>/]
@text =$2
end
end
end
end
end
#==============================================================================
# ■ Sprite Character Text
#==============================================================================
class Sprite_Character_Text < Sprite_Base
include MOG_EVENT_TEXT_POPUP
#--------------------------------------------------------------------------
# ● Инициализация
#--------------------------------------------------------------------------
def initialize(viewport = nil,character,sprite)
super(viewport)
text_size = character.text.to_s.split(//)
w = 32 + (FONT_SIZE / 2) * text_size.size rescue nil
w = 32 if w == nil or w < 32
self.bitmap = Bitmap.new(w,32)
self.bitmap.font.name = FONT_NAME
self.bitmap.font.size = FONT_SIZE
self.bitmap.font.bold = FONT_BOLD
self.bitmap.font.color = FONT_COLOR
self.bitmap.draw_text(0,0,self.width,self.height,character.text.to_s,1) rescue nil
update_position(character,sprite)
end
#--------------------------------------------------------------------------
# ● Удаление
#--------------------------------------------------------------------------
def dispose
super
self.bitmap.dispose
end
#--------------------------------------------------------------------------
# ● Обновление расположения
#--------------------------------------------------------------------------
def update_position(character,sprite)
if character.erased
self.visible = false
return
end
self.x = character.screen_x - self.width / 2
self.y = character.screen_y - (sprite.height + self.height)
self.z = character.screen_z + SCREEN_Z
self.visible = character.transparent == true ? false : true
self.opacity = character.opacity
end
end
#==============================================================================
# ■ Sprite Character - вот это модифицировал
#==============================================================================
class Sprite_Character < Sprite_Base
#--------------------------------------------------------------------------
# ● Инициализация
#--------------------------------------------------------------------------
#alias mog_event_text_initialize initialize
#скопировал из SRPG и дополнил
def initialize(viewport, character = nil, battler=nil)
super(viewport)
@character = character
@balloon_duration = 0
@battler = battler
@battler_visible = false
@effect_type = nil
@effect_duration = 0
@damage_duration = 0
@charging_duration = 0
@character_text = ""
create_event_text
update
end
#--------------------------------------------------------------------------
# ● Создаем текст для события
#--------------------------------------------------------------------------
def create_event_text
return if @character == nil
return if @character.text == nil
return if @character.text == @character_text
dispose_event_text
@event_text = Sprite_Character_Text.new(viewport,@character,self)
@character_text = @character.text
end
#--------------------------------------------------------------------------
# ● Удаление
#--------------------------------------------------------------------------
alias mog_event_text_dispose dispose
def dispose
mog_event_text_dispose
dispose_event_text
end
#--------------------------------------------------------------------------
# ● Удаляем текст у события
#--------------------------------------------------------------------------
def dispose_event_text
return if @event_text == nil
@event_text.dispose
@event_text = nil
end
#--------------------------------------------------------------------------
# ● Обновляем
#--------------------------------------------------------------------------
alias mog_event_text_update update
def update
mog_event_text_update
create_event_text
update_event_text
end
#--------------------------------------------------------------------------
# ● Обновляем текст над событием
#--------------------------------------------------------------------------
def update_event_text
return if @event_text == nil
@event_text.update_position(@character,self)
end
end
#Не знаю, зачем это.
$mog_rgss3_event_text_popup = true
Последнее редактирование: 12 года 8 мес. назад пользователем DeadElf79.
Тема заблокирована.
12 года 8 мес. назад #63992
от Феня
Феня ответил в теме Нужна помощь со скриптами.
А ты его проверял хотя бы? А то у меня все так же не показывает. Если у тебя все работает - и боевка, и надписи вне боя показывает, не мог бы ты мне скинуть демо?
Тема заблокирована.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
12 года 8 мес. назад - 12 года 8 мес. назад #63994
от strelokhalfer
И да, скрипт работает. Просто добавил в самый низ.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Нужна помощь со скриптами.
[strike]Скорее всего включить\выключить скрипт.[/strike] Нее, что то другое.DeadElf79 пишет:
Code:#Не знаю, зачем это. $mog_rgss3_event_text_popup = true
И да, скрипт работает. Просто добавил в самый низ.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 12 года 8 мес. назад пользователем strelokhalfer.
Тема заблокирована.
12 года 8 мес. назад - 12 года 8 мес. назад #63995
от Феня
Феня ответил в теме Нужна помощь со скриптами.
Вот, я сделал демо с боевкой.
yadi.sk/d/_60HlgNx8SBEA
Скрипт стоит, но не работает. Скажите, что не так я сделал.
p.s. скрипт в самом низу, комментарий в событии есть
yadi.sk/d/_60HlgNx8SBEA
Скрипт стоит, но не работает. Скажите, что не так я сделал.
p.s. скрипт в самом низу, комментарий в событии есть
Последнее редактирование: 12 года 8 мес. назад пользователем Феня.
Тема заблокирована.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
12 года 8 мес. назад #63996
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Нужна помощь со скриптами.
Все скрипты ВСЕГДА располагаются НАД скриптом Main, но НИЖЕ строки Пользовательские (Materials)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.
Время создания страницы: 0.142 секунд
