ГлавнаяФорумRPG MakerСкрипты/ПлагиныRPG Maker VX ACEУлучшающие или добавляющее новое скриптыПеревод Character Effects
Войти на сайт
×
ТЕМА: Перевод Character Effects
Перевод Character Effects 11 года 2 мес. назад #64551
|
Я перевёл скрипт который добавляет в игру реалистичные тени и отражения.Вот
#------------------------------------------------------------------------------#
# Galv's Character Effects
#------------------------------------------------------------------------------#
# Автор:Galv's
# Для: RPGMAKER VX ACE
# Версия:1.9
# Прервёл:Yros 98 специально для rpg-maker.info
#------------------------------------------------------------------------------#
# 2013-02-24 - Версия 1.9 - Добавлена поддержка определения слоя теней по глубине Z
# 2013-02-23 - Версия 1.8 - Добавлены несколько источников света для теней
# 2013-02-22 - Версия 1.7 - Исправляет ошибку
# 2013-02-22 - Версия 1.6 - Добавлиет значок эфекта над персонажами
# 2013-02-22 - Версия 1.5 - Исправлена ошибка зеркала на больших картах
# 2013-02-22 - Версия 1.4 - Добавлены эффекты для автомобилей
# 2013-02-21 - Версия 1.3 - Фиксированно отражение прыжка и другие мелкие недочеты
# 2013-02-21 - Версия 1.2 - Ошибка с менее 4 персонажами
# 2013-02-21 - Версия 1.1 - Обновленный эффект мерцания
# 2013-02-21 - Версия 1.0 - Первая версия
#------------------------------------------------------------------------------#
# Этот скрипт добавляет в игру реалистичные эфекты отражения и теней.В
# настоящее время он включает в себя:
#
# Тени
# Тени, которые появляются под игроком и события в направлениях в зависимости
# от источника света, который вы выберете.
#
# Параллакс отражения
# Размышления, которые появляются на параллакс слой для событий и действующих лиц, чтобы быть
# использовать такие вещи, как отражение в воде и т.д. этаже или стекла Чтобы получить
# эффекты, такие как демо, вам нужно отредактировать кодировку графического, чтобы сделать воду
# частично прозрачными.
#
# Параллакс зеркала
# Многое, как отражать, но вместо актеров и события отражаются в зеркале
# на стене назначенных региона. Оба зеркала и отражающие эффекты могут быть
# изменились так актеры и события можно использовать несколько кодировок для их отражения
#
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
# Команды скрипта:
#------------------------------------------------------------------------------#
#
# char_effects(x,x,x,status)
#
#------------------------------------------------------------------------------#
# # каждый эффект может быть истинным или ложным, чтобы включить / отключить их во время игры.
# # вы можете изменить кратным эффекты сразу, X является номер эффекта
# # 0 = отражать 1 = тень 2 = зеркало 3 = значки
#------------------------------------------------------------------------------#
# Примеры:
# char_effects(0,true) # превратить размышления вкл.
# char_effects(0,2,true) # включить отражения и зеркала
# char_effects(1,3,false) # включить тени и иконки
#------------------------------------------------------------------------------#
#
# reflect_sprite(actor_id,filename,pos) # Изменение кодировки актеров отражаються
#
# reflect_esprite(event_id,filename,pos) # Изменение события отражают кодировку
#
# reflect_vsprite(vehicle_id,filename,pos) # Изменить автомобиля отражают кодировку
#
#------------------------------------------------------------------------------#
# Примеры:
# reflect_sprite(1,"Actor2",2) # изменить актер 1 в кодировке использовать спрайт
# # в положении 2 "Actor2" кодировку.
# reflect_esprite(3,"Actor4",5) # Событие 3 будет использовать спрайт, в положении 5
# # "Actor4" кодировку.
# reflect_vsprite(1,"Vehicle",5) # Корабль будет использовать спрайт, в положении 5
# # "Транспортное средство" кодировку.
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
# Сценарий вызывает эффекты, чтобы включить или выключить для выбранной СОБЫТИЯ
#------------------------------------------------------------------------------#
#
# reflect(x,x,x,status) # Состояние может быть истинным или ложным, чтобы включить или выключить
# # использовать это, чтобы указать на зеркало и задуматься.
# shadow(x,x,x,status) # где х, коды событий вы хотите изменить
# # изменить все события использования: все
# icon(x,x,x,icon_id) # установить, какой значок ID должна возвышаться над характером.делает
# # 0 для этого нет иконки.
#
#------------------------------------------------------------------------------#
# Примеры:
# reflect(14,17,3,1,true) # Включите события 14, 17, 3 и 1 отражений ON
# shadow(1,false) # Поверните событие 1 тенью OFF
# reflect(:all,true) # Включите все события отражений ON
# icon(1,2,3,4,38) # События 1,2,3 и 4 будет иметь значок появится 38
#
# ПРИМЕЧАНИЕ: Все события по умолчанию будет никаких теней и отражений NO при входе
# карте. Это дизайнерское решение, чтобы попытаться сохранить отставание до минимума. вы
# должны использовать эти эффекты редко и только активировать их на события
# которые требуют от них.
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
# Сценарий вызывает эффекты, чтобы включить или выключить для актеров и транспортные средства
#------------------------------------------------------------------------------#
#
# actor_reflect(actor_id,status) # отражения и тени включены по умолчанию
# actor_shadow(actor_id,status) # для актеров и транспортных средств. Выключив их
# actor_icon(actor_id,icon_id) # или навсегда изменить их.
#
# v_reflect(x,x,x,status) # V_ использовать эти призывы к изменению транспортного средства эффекты
# v_shadow(x,x,x,status) # и выключается для транспортных средств.
# v_icon(x,x,x,icon_id)
#
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
# Вызов теней
#------------------------------------------------------------------------------#
#
# shadow_source(x,y,id) # установите х, у места для света. ID является свет
# # номер источника, который хотите изменить
# #(больше одного).Эти сбрасываются при смене карты.
# shadow_source(event_id,id) # использовать X события, у места для света.
# # Это должны быть в параллельном процессе, если вы
# # хотите, чтобы он движущегося света.
#
# shadow_options(intensity,fade,flicker) # описания ниже
#
# # Интенсивность = непрозрачность, когда стоял рядом с источником света (255 черный)
# # исчезать = количество теней становится более прозрачной дальше вы находитесь.
# # мерцают = истинными или ложными. Тени будет мерцать, как будто быть брошенным огнем.
#
#------------------------------------------------------------------------------#
# Примеры:
# shadow_options(80,10,false) # Это настройка по умолчанию.
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
# Вызов отражения
#------------------------------------------------------------------------------#
#
# reflect_options(wave_pwr)
#
# # wave_pwr = насколько сильна волна движения. 0 выключено
#
#------------------------------------------------------------------------------#
# Примеры:
# reflect_options(1) # Включите мощность волны до 1
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
# NOTETAG для актеров
#------------------------------------------------------------------------------#
#
# <no_reflect> # Актер не будет иметь отражения (для вампиров, конечно!)
#
# <reflect_sprite: FileName,pos> # Актер будет использовать эту кодировку для размышлений
# # и использовать символ в позиции «POS»
#
#------------------------------------------------------------------------------#
# Примеры:
# <reflect_sprite: Actor2,0> # Первый символ из набора символов Actor2
# <reflect_sprite: Actor3,7> # Последний символ из набора символов Actor2
#------------------------------------------------------------------------------#
($imported ||= {})["Galv_Character_Effects"] = true
module Galv_CEffects
#------------------------------------------------------------------------------#
# ОПЦИИ УСТАНОВКИ
#------------------------------------------------------------------------------#
MIRROR_REGION = 1 # Регион ID используется для определения зеркальными стенами.
# Краска
# региона на стене вы хотите сделать отражающей (и
# затем использовать плитку / отображения, которые делают параллакса видно)
ICON_OFFSET = -60 # Y смещение для значков, которые отображаются над символами
REFLECT_Z = -10 # Z уровень отражений
SHADOW_Z = 0 # Z уровень тени
#------------------------------------------------------------------------------#
# END SETUP OPTIONS
#------------------------------------------------------------------------------#
end
class Game_Interpreter
#-----------------------------------#
# REFLECTIONS
#-----------------------------------#
# Add/Remove Reflections from selected events
def reflect(*args,status)
char_ids = [*args]
if char_ids == [:all]
$game_map.events.values.each { |e| e.reflect = status }
else
char_ids.each {|c| $game_map.events[c].reflect = status }
end
SceneManager.scene.spriteset.refresh_effects
end
# Change forever actor's reflect status
def actor_reflect(actor_id,status)
$game_actors[actor_id].reflect = status
$game_player.refresh
end
# Change forever vehicle's reflect status
def v_reflect(*args,status)
char_ids = [*args]
if char_ids == [:all]
$game_map.vehicles.each { |v| v.reflect = status }
else
char_ids.each { |v| $game_map.vehicles[v].reflect = status }
end
SceneManager.scene.spriteset.refresh_effects
end
def reflect_options(*args)
$game_map.reflect_options = [*args]
SceneManager.scene.spriteset.refresh_effects
end
# Actor reflect sprite change
def reflect_sprite(actor_id,filename,pos)
$game_actors[actor_id].reflect_sprite = [filename,pos]
$game_player.refresh
end
# Event reflect sprite change
def reflect_esprite(event_id,filename,pos)
$game_map.events[event_id].reflect_sprite = [filename,pos]
SceneManager.scene.spriteset.refresh_characters
end
# Vehicle reflect sprite change
def reflect_vsprite(v_id,filename,pos)
$game_map.vehicles[v_id].reflect_sprite = [filename,pos]
SceneManager.scene.spriteset.refresh_characters
end
#-----------------------------------#
# SHADOWS
#-----------------------------------#
# Add/Remove Shadows from selected characters
def shadow(*args,status)
char_ids = [*args]
if char_ids == [:all]
$game_map.events.values.each { |e| e.shadow = status }
else
char_ids.each {|c| $game_map.events[c].shadow = status }
end
SceneManager.scene.spriteset.refresh_effects
end
# Change player and follower shadows
def actor_shadows(status)
$game_player.shadow = status
$game_player.followers.each { |f| f.shadow = status }
SceneManager.scene.spriteset.refresh_effects
end
# Change vehicle's shadow status
def v_shadow(*args,status)
char_ids = [*args]
if char_ids == [:all]
$game_map.vehicles.each { |v| v.shadow = status }
else
char_ids.each { |v| $game_map.vehicles[v].shadow = status }
end
SceneManager.scene.spriteset.refresh_effects
end
def shadow_options(*args)
$game_map.shadow_options = [*args]
SceneManager.scene.spriteset.refresh_effects
end
def shadow_source(*args,shad_id)
source = [*args]
if source.count == 1
$game_map.light_source[shad_id] = [$game_map.events[source[0]].real_x,
$game_map.events[source[0]].real_y]
elsif source.count > 1
$game_map.light_source[shad_id] = source
else
$game_map.light_source = []
end
end
#-----------------------------------#
# ICONS
#-----------------------------------#
# Add/Remove Icons from selected events
def icon(*args,icon_id)
char_ids = [*args]
if char_ids == [:all]
$game_map.events.values.each { |e|
if e.icon <= 0
e.icon = nil
else
e.icon = icon_id
end
}
else
char_ids.each {|c| $game_map.events[c].icon = icon_id }
end
SceneManager.scene.spriteset.refresh_effects
end
# Change forever actor's icon
def actor_icon(actor_id,icon_id)
$game_actors[actor_id].icon = icon_id
$game_player.refresh
end
# Change forever vehicle's icon
def v_icon(*args,icon_id)
char_ids = [*args]
if char_ids == [:all]
$game_map.vehicles.each { |v| v.icon = icon_id }
else
char_ids.each { |v| $game_map.vehicles[v].icon = icon_id }
end
SceneManager.scene.spriteset.refresh_effects
end
#-----------------------------------#
# GENERAL
#-----------------------------------#
# Turn on/off effects
# 0 = reflect
# 1 = shadow
# 2 = mirror
# 3 = icon
def char_effects(*args,status)
[*args].each { |e| $game_map.char_effects[e] = status }
SceneManager.scene.spriteset.refresh_effects
end
end # Game_Interpreter
#-------------------------------------------------------------------------------
# Spriteset_Map
#-------------------------------------------------------------------------------
class Spriteset_Map
alias galv_reflect_sm_initialize initialize
def initialize
create_effects
galv_reflect_sm_initialize
refresh_characters
end
alias galv_reflect_sm_refresh_characters refresh_characters
def refresh_characters
galv_reflect_sm_refresh_characters
create_effects
end
def refresh_effects
dispose_effects
create_effects
end
def create_effects
@shadow_sprites = []
@reflect_sprites = []
@mirror_sprites = []
@icon_sprites = []
# Do reflections
if $game_map.char_effects[0]
$game_map.events.values.each { |e|
@reflect_sprites.push(Sprite_Reflect.new(@viewport1, e)) if e.reflect
}
$game_player.followers.each { |f|
@reflect_sprites.push(Sprite_Reflect.new(@viewport1, f)) if f.reflect
}
if $game_player.reflect
@reflect_sprites.push(Sprite_Reflect.new(@viewport1, $game_player))
end
$game_map.vehicles.each { |v|
@reflect_sprites.push(Sprite_Reflect.new(@viewport1, v)) if v.reflect
}
end
# Do mirrors
if $game_map.char_effects[2]
$game_map.events.values.each { |e|
@mirror_sprites.push(Sprite_Mirror.new(@viewport1, e)) if e.reflect
}
$game_player.followers.each { |f|
@mirror_sprites.push(Sprite_Mirror.new(@viewport1, f)) if f.reflect
}
if $game_player.reflect
@mirror_sprites.push(Sprite_Mirror.new(@viewport1, $game_player))
end
$game_map.vehicles.each { |v|
@mirror_sprites.push(Sprite_Mirror.new(@viewport1, v)) if v.reflect
}
end
# Do Shadows
if $game_map.char_effects[1]
return if $game_map.light_source.empty?
$game_map.light_source.count.times { |s|
$game_map.events.values.each { |e|
@shadow_sprites.push(Sprite_Shadow.new(@viewport1, e, s)) if e.shadow
}
$game_player.followers.each { |f|
@shadow_sprites.push(Sprite_Shadow.new(@viewport1, f, s)) if f.shadow
}
if $game_player.shadow
@shadow_sprites.push(Sprite_Shadow.new(@viewport1, $game_player, s))
end
$game_map.vehicles.each { |v|
@shadow_sprites.push(Sprite_Shadow.new(@viewport1, v, s)) if v.shadow
}
}
end
# Do icons
if $game_map.char_effects[3]
$game_map.events.values.each { |e|
@icon_sprites.push(Sprite_Icon.new(@viewport1, e)) if e.icon
}
$game_player.followers.each { |f|
@icon_sprites.push(Sprite_Icon.new(@viewport1, f)) if f.icon
}
if $game_player.icon
@icon_sprites.push(Sprite_Icon.new(@viewport1, $game_player))
end
$game_map.vehicles.each { |v|
@icon_sprites.push(Sprite_Icon.new(@viewport1, v)) if v.icon
}
end
end
alias galv_reflect_sm_update update
def update
galv_reflect_sm_update
@reflect_sprites.each {|s| s.update} if $game_map.char_effects[0]
@mirror_sprites.each {|s| s.update} if $game_map.char_effects[2]
@shadow_sprites.each {|s| s.update} if $game_map.char_effects[1]
@icon_sprites.each {|s| s.update} if $game_map.char_effects[3]
end
alias galv_reflect_sm_dispose_characters dispose_characters
def dispose_characters
galv_reflect_sm_dispose_characters
dispose_effects
end
def dispose_effects
@reflect_sprites.each {|s| s.dispose}
@shadow_sprites.each {|s| s.dispose}
@mirror_sprites.each {|s| s.dispose}
@icon_sprites.each {|s| s.dispose}
end
end # Spriteset_Map
#-------------------------------------------------------------------------------
# Sprite_Reflect
#-------------------------------------------------------------------------------
class Sprite_Reflect < Sprite_Character
def initialize(viewport, character = nil)
super(viewport, character)
end
def update
super
end
def update_balloon; end
def setup_new_effect; end
def set_character_bitmap
if @character.reflect_sprite
self.bitmap = Cache.character(@character.reflect_sprite[0])
else
self.bitmap = Cache.character(@character_name)
end
self.mirror = true
self.angle = 180
self.opacity = 220
self.z = Galv_CEffects::REFLECT_Z
self.wave_amp = $game_map.reflect_options[0]
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 update_position
self.x = @character.screen_x
jump = @character.jumping? ? @character.jump_height * 2 : 0
alt = @character.altitude ? @character.altitude * 2 : 0
self.y = @character.screen_y - 3 + jump + alt
end
def update_other
self.blend_type = @character.blend_type
self.visible = !@character.transparent
end
def update_src_rect
if @character.reflect_sprite
index = @character.reflect_sprite[1]
else
index = @character.character_index
end
pattern = @character.pattern < 3 ? @character.pattern : 1
sx = (index % 4 * 3 + pattern) * @cw
sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
end # Sprite_Reflect < Sprite_Character
#-------------------------------------------------------------------------------
# Sprite_Mirror
#-------------------------------------------------------------------------------
class Sprite_Mirror < Sprite_Character
def initialize(viewport, character = nil)
@distance = 0
super(viewport, character)
end
def update
super
end
def update_balloon; end
def setup_new_effect; end
def set_character_bitmap
if @character.reflect_sprite
self.bitmap = Cache.character(@character.reflect_sprite[0])
else
self.bitmap = Cache.character(@character_name)
end
self.mirror = true
self.opacity = 255
self.z = Galv_CEffects::REFLECT_Z
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 update_src_rect
if @character.reflect_sprite
index = @character.reflect_sprite[1]
else
index = @character.character_index
end
pattern = @character.pattern < 3 ? @character.pattern : 1
sx = (index % 4 * 3 + pattern) * @cw
sy = (index / 4 * 4 + (10 - @character.direction - 2) / 2) * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
def get_mirror_y
20.times {|i|
if $game_map.region_id(@character.x, @character.y - i) == Galv_CEffects::MIRROR_REGION
@distance = (i - 1) * 0.05
@display = @character.y - i - $game_map.display_y + $game_map.height
self.opacity = 255
return (@character.y - i + 1 - $game_map.display_y) * 32 - i * 4
end
}
self.opacity = 0
return @ch
end
def update_position
self.x = @character.screen_x
self.y = get_mirror_y - 6
self.zoom_x = 1 - @distance
self.zoom_y = 1 - @distance
end
def update_other
self.blend_type = @character.blend_type
self.visible = !@character.transparent
end
end # Sprite_Mirror < Sprite_Character
#-------------------------------------------------------------------------------
# Sprite_Shadow
#-------------------------------------------------------------------------------
class Sprite_Shadow < Sprite_Character
def initialize(viewport, character = nil, source)
@flicker = 0
@famount = 0
@aamount = 0
@source = source
super(viewport, character)
end
def update
super
update_bitmap
update_src_rect
update_position
update_other
end
def set_character_bitmap
self.bitmap = Cache.character(@character_name)
self.mirror = true
self.color = Color.new(0, 0, 0, 255)
self.z = Galv_CEffects::SHADOW_Z
self.wave_amp = 1 if $game_map.shadow_options[2]
self.wave_speed = 1000
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 update_position
self.x = @character.screen_x
self.y = @character.screen_y - 10
get_angle
end
def get_angle
x = $game_map.light_source[@source][0] - @character.real_x
y = $game_map.light_source[@source][1] - @character.real_y
self.opacity = $game_map.shadow_options[0] -
Math::sqrt(x * x + y * y) * $game_map.shadow_options[1]
if x == 0 && y == 0 || self.opacity <= 0
self.opacity = 0
else
self.angle = Math::atan2(x, y) * 180 / Math::PI + @aamount
end
end
def update_other
self.blend_type = @character.blend_type
self.visible = !@character.transparent
end
end # Sprite_Shadow < Sprite_Character
#-------------------------------------------------------------------------------
# Sprite_Icon
#-------------------------------------------------------------------------------
class Sprite_Icon < Sprite_Character
def initialize(viewport, character = nil)
@icon_sprite ||= Sprite.new
@icon_sprite.bitmap ||= Cache.system("Iconset")
@icon = nil
super(viewport, character)
end
def dispose
super
if @icon_sprite
@icon_sprite.dispose
@icon_sprite = nil
end
end
def update
super
update_icon
end
def update_icon
return if !@character.icon
draw_icon(@character.icon)
end
def draw_icon(icon_index)
return if !@icon.nil?
rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
@icon_sprite.src_rect = rect
@icon = icon_index
end
def update_position
@icon_sprite.x = @character.screen_x - 12
@icon_sprite.y = @character.screen_y + Galv_CEffects::ICON_OFFSET
end
def update_other
self.blend_type = @character.blend_type
@icon_sprite.visible = !@character.transparent
end
end # Sprite_Icon < Sprite_Character
#-------------------------------------------------------------------------------
# Other Stuff
#-------------------------------------------------------------------------------
class Game_Character < Game_CharacterBase
attr_reader :altitude
attr_accessor :reflect
attr_accessor :reflect_sprite
attr_accessor :shadow
attr_accessor :icon
end
class Game_Event < Game_Character
alias galv_reflect_ge_initialize initialize
def initialize(map_id, event)
@reflect = false
@shadow = false
galv_reflect_ge_initialize(map_id, event)
end
end # Game_Event < Game_Character
class Game_Vehicle < Game_Character
attr_reader :map_id
alias galv_reflect_gv_initialize initialize
def initialize(type)
@reflect = true
@shadow = true
galv_reflect_gv_initialize(type)
end
end # Game_Vehicle < Game_Character
class Game_Follower < Game_Character
alias galv_reflect_gf_initialize initialize
def initialize(member_index, preceding_character)
galv_reflect_gf_initialize(member_index, preceding_character)
@reflect = true
@shadow = true
end
alias galv_reflect_gf_refresh refresh
def refresh
galv_reflect_gf_refresh
return if actor.nil?
@reflect = actor.reflect
@reflect_sprite = actor.reflect_sprite
@icon = actor.icon
if SceneManager.scene_is?(Scene_Map)
SceneManager.scene.spriteset.refresh_effects
end
end
end # Game_Follower < Game_Character
class Game_Player < Game_Character
alias galv_reflect_gp_initialize initialize
def initialize
galv_reflect_gp_initialize
@reflect = true
@shadow = true
end
alias galv_reflect_gp_refresh refresh
def refresh
galv_reflect_gp_refresh
@reflect = actor.reflect
@reflect_sprite = actor.reflect_sprite
@icon = actor.icon
if SceneManager.scene_is?(Scene_Map)
SceneManager.scene.spriteset.refresh_effects
end
end
end # Game_Player < Game_Character
class Scene_Map < Scene_Base
attr_accessor :spriteset
end # Scene_Map
class Game_Map
attr_accessor :char_effects
attr_accessor :light_source
attr_accessor :shadow_options
attr_accessor :reflect_options
alias galv_reflect_game_map_initialize initialize
def initialize
@light_source = []
@shadow_options = [80,10,false]
@reflect_options = [0]
@char_effects = [false,false,false,false]
#[reflect,shadow,mirror,icon]
galv_reflect_game_map_initialize
end
alias galv_reflect_game_map_setup setup
def setup(map_id)
galv_reflect_game_map_setup(map_id)
reset_char_effects
end
def reset_char_effects
@light_source = []
@events.values.each { |e| e.reflect = false }
@events.values.each { |e| e.icon = nil }
end
end # Game_Map
class Game_Actor < Game_Battler
attr_accessor :reflect
attr_accessor :reflect_sprite
attr_accessor :icon
alias galv_reflect_game_actor_initialize initialize
def initialize(actor_id)
galv_reflect_game_actor_initialize(actor_id)
@reflect = $data_actors[actor_id].reflect
@reflect_sprite = $data_actors[actor_id].reflect_sprite
end
end # Game_Actor < Game_Battler
class RPG::Actor
def reflect_sprite
if @reflect_sprite.nil?
if @note =~ /<reflect_sprite:[ ](.*),(.*)>/i
@reflect_sprite = [$1.to_s,$2.to_i]
else
@reflect_sprite = nil
end
end
@reflect_sprite
end
def reflect
if @reflect.nil?
if @note =~ /<no_reflect>/i
@reflect = false
else
@reflect = true
end
end
@reflect
end
end # RPG::Actor |
Последнее редактирование: 11 года 2 мес. назад от yros 98.
Администратор запретил публиковать записи гостям.
|
Перевод Character Effects 11 года 2 мес. назад #64553
|
срочно узнай, что оформлять код нужно так:
И где цитата: "Добавлен Z уровне" замени на "Добавлена поддержка определения слоя теней по глубине Z". Почитал перевод - неплохо, хотя и много ошибок. Сделай проверку переведенных тобой предложений где-нибудь, хотя бы здесь: http://istio.com/ |
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: yros 98
|
Перевод Character Effects 11 года 2 мес. назад #64554
|
Большое спасибо за подсказку Эльф.Я исправил ошибки.
|
Администратор запретил публиковать записи гостям.
|
Перевод Character Effects 11 года 2 мес. назад #64555
|
ЗАто посеял ссылку на демо и так не вставил ни одного скриншота ^_^
|
Администратор запретил публиковать записи гостям.
|
Перевод Character Effects 11 года 2 мес. назад #64557
|
Ссылу вернул,а скриншоты я делать неумею.
|
Администратор запретил публиковать записи гостям.
|
Перевод Character Effects 11 года 2 мес. назад #64558
|
Скриншоты?
О скриншотах позаботился я (надеюсь они нормальные получились) : Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его. З.Ы. Это тебе моя благодарность за сея скрипт. |
(^_^)
Этот форум слишком умный для меня
Администратор запретил публиковать записи гостям.
|
Перевод Character Effects 11 года 2 мес. назад #64559
|
|
Администратор запретил публиковать записи гостям.
|
Модераторы: NeKotZima
Время создания страницы: 0.270 секунд