Ogłoszenie
Administracja Forum
Stylowa śmierć by Shanghai
Autor
Wiadomo¶ć
Eleanor
Ranga RM:
Pomogła: 13 razy Doł±czyła: 15 Lut 2011 Posty: 73 Sk±d: KrakĂłw
Wysłany: Sob 12 Mar, 2011 21:00
Stylowa śmierć by Shanghai
Stylowa śmierć
By Shanghai
Sprawia, że przeciwnicy mogą umrzeć w fajny sposób - przetłumaczone przez mnie.
Działa z normalnym systemem walk, Battle Engine Melody i Tankentai.
Jak używać
Wchodzimy w zakładkę przeciwnicy, w notatce wpisujemy:
Kod: <fancy death: string>
String zamieniamy na
Kod: fire
ice
elec
water
stone
wind
holy
dark
w zależności od tego, w jaki sposób chcemy by wyglądała śmierć przeciwnika.
SKRYPT
Spoiler:
Kod: #===============================================================================
#
# Shanghai Simple Script - Fancy Deaths
# Last Date Updated: 2010.05.09
# Trudność: Normalny
#
# Sprawia, że przeciwnicy umierają w ciekawy sposób jeśli w notatcer mają
# przypisany <fancy death: string>. Script został stworzony dla standardowych
# animacji, jednakowoż możesz zmienić ID dla nich.
# Działa z normalnym systemem walk, Battle Engine Melody i Tankentai.
#===============================================================================
# Instrukcje
# -----------------------------------------------------------------------------
# Aby zainstalować ten skrypt, otwórz ruby i wklej ten skrypt
# do wolnej linijki ▼ MateriaĹ‚y ale ▼ Main. PamiÄ™taj o zapisaniu.
#
# <fancy death: string>
# Zmień string na jedno z tych:
# fire - przeciwnik umiera w ogniu.
# ice - przeciwnik zamarza i umiera.
# elec - przeciwnik umiera w elektryczny sposĂłb.
# water - przeciwnik rozpływa się i umiera.
# stone - przeciwnik zamienia się w kamień i umiera..
# wind - przeciwnik rozplywa siÄ™ na wietrze umierajÄ…c.
# holy - przeciwnik znika w świetle.
# dark - przeciwnik znika w ciemności.
#===============================================================================
#
# NIE EDYTUJ PONIŻEJ CHYBA, ŻE WIESZ CO ROBISZ!
#
$imported = {} if $imported == nil
$imported["FancyDeaths"] = true
module SSS
# Fiery death animation IDs.
FIERY_DEATH_ANI1 = 2
FIERY_DEATH_ANI2 = 79
# Icy death animation IDs.
ICY_DEATH_ANI1 = 62
ICY_DEATH_ANI2 = 3
# Electric death animation IDs.
ELECTRIC_DEATH_ANI1 = 18
ELECTRIC_DEATH_ANI2 = 4
# Watery death animation ID.
WATERY_DEATH_ANI = 69
# Stone death animation ID.
STONE_DEATH_ANI = 40
# Wind death animation ID.
WINDY_DEATH_ANI1 = 73
WINDY_DEATH_ANI2 = 31
# Holy death animation ID.
HOLY_DEATH_ANI1 = 42
HOLY_DEATH_ANI2 = 75
# Dark death animation ID.
DARK_DEATH_ANI1 = 77
DARK_DEATH_ANI2 = 51
end
#==============================================================================
# RPG::Enemy
#==============================================================================
class RPG::Enemy
#--------------------------------------------------------------------------
# fancy death
#--------------------------------------------------------------------------
def fancy_death
return @fancy_death if @fancy_death != nil
@fancy_death = 0
self.note.split(/[\r\n]+/).each { |line|
case line
when /<(?:FANCY_DEATH|fancy death):[ ](.*)>/i
case $1.upcase
when "FIRE"
@fancy_death = 1
when "ICE"
@fancy_death = 2
when "ELEC"
@fancy_death = 3
when "WATER"
@fancy_death = 4
when "STONE"
@fancy_death = 5
when "WIND"
@fancy_death = 6
when "HOLY"
@fancy_death = 7
when "DARK"
@fancy_death = 8
end
end
}
return @fancy_death
end
end
#==============================================================================
# ** Sprite_Battler
#==============================================================================
class Sprite_Battler < Sprite_Base
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :effect_duration
#--------------------------------------------------------------------------
# * Set New Effect
#--------------------------------------------------------------------------
alias setup_new_effect_sss_fancy_deaths setup_new_effect unless $@
def setup_new_effect
if @battler.collapse and @battler.is_a?(Game_Enemy)
if @battler.enemy.fancy_death > 0
@battler.collapse = false
@battler_visible = false
case @battler.enemy.fancy_death
when 1 # Fiery Death
@effect_type = 574897410001
@effect_duration = 169
return
when 2 # Icy Death
@effect_type = 574897410002
@effect_duration = 125
return
when 3 # Electric Death
@effect_type = 574897410003
@effect_duration = 97
return
when 4 # Watery Death
@effect_type = 574897410004
@effect_duration = 101
return
when 5 # Stone Death
@effect_type = 574897410005
@effect_duration = 81
return
when 6 # Windy Death
@effect_type = 574897410006
@effect_duration = 91
return
when 7 # Holy Death
@effect_type = 574897410007
@effect_duration = 106
return
when 8 # Dark Death
@effect_type = 574897410008
@effect_duration = 91
return
end
end
end
setup_new_effect_sss_fancy_deaths
end
#--------------------------------------------------------------------------
# * Update Effect
#--------------------------------------------------------------------------
alias update_effect_sss_fancy_deaths update_effect unless $@
def update_effect
if @effect_duration > 0
case @effect_type
when 574897410001
update_fiery_death
return
when 574897410002
update_icy_death
return
when 574897410003
update_electric_death
return
when 574897410004
update_watery_death
return
when 574897410005
update_stone_death
return
when 574897410006
update_windy_death
return
when 574897410007
update_holy_death
return
when 574897410008
update_dark_death
return
end
end
update_effect_sss_fancy_deaths
end
#--------------------------------------------------------------------------
# * Start Death Animation
#--------------------------------------------------------------------------
def start_death_animation(animation, mirror)
if $imported["BattleEngineMelody"]
start_sub_animation(animation, mirror)
else
start_animation(animation, mirror)
end
end
#--------------------------------------------------------------------------
# * Update Fiery Death
#--------------------------------------------------------------------------
def update_fiery_death
@effect_duration -= 1
self.blend_type = 1
case @effect_duration
when 168, 138, 108, 78
self.color.set(255, 128, 128, 128)
start_death_animation($data_animations[SSS::FIERY_DEATH_ANI1], false)
when 48
start_death_animation($data_animations[SSS::FIERY_DEATH_ANI2], false)
when 0..47
self.opacity = 256 - (48 - @effect_duration) * 6
end
end
#--------------------------------------------------------------------------
# * Update Icy Death
#--------------------------------------------------------------------------
def update_icy_death
@effect_duration -= 1
self.blend_type = 1
case @effect_duration
when 124
self.color.set(128, 128, 255, 128)
start_death_animation($data_animations[SSS::ICY_DEATH_ANI1], false)
when 48
start_death_animation($data_animations[SSS::ICY_DEATH_ANI2], false)
when 0..47
self.opacity = 256 - (48 - @effect_duration) * 6
end
end
#--------------------------------------------------------------------------
# * Update Electric Death
#--------------------------------------------------------------------------
def update_electric_death
@effect_duration -= 1
self.blend_type = 1
case @effect_duration
when 96
self.color.set(255, 255, 128, 128)
start_death_animation($data_animations[SSS::ELECTRIC_DEATH_ANI1], false)
when 48
start_death_animation($data_animations[SSS::ELECTRIC_DEATH_ANI2], false)
when 0..47
self.opacity = 256 - (48 - @effect_duration) * 6
end
end
#--------------------------------------------------------------------------
# * Update Watery Death
#--------------------------------------------------------------------------
def update_watery_death
@effect_duration -= 1
self.blend_type = 1
case @effect_duration
when 100
self.color.set(64, 64, 255, 128)
self.wave_amp = 10
self.wave_speed = 3600
when 61..99
self.wave_speed += 100
when 60
start_death_animation($data_animations[SSS::WATERY_DEATH_ANI], false)
when 0..47
self.opacity = 256 - (48 - @effect_duration) * 6
end
end
#--------------------------------------------------------------------------
# * Update Stone Death
#--------------------------------------------------------------------------
def update_stone_death
@effect_duration -= 1
case @effect_duration
when 80
start_death_animation($data_animations[SSS::STONE_DEATH_ANI], false)
when 0..79
opacity = [(80 - @effect_duration) * 4, 200].min
self.color.set(200, 200, 200, opacity)
end
end
#--------------------------------------------------------------------------
# * Update Windy Death
#--------------------------------------------------------------------------
def update_windy_death
@effect_duration -= 1
self.blend_type = 1
case @effect_duration
when 90
self.color.set(128, 255, 128, 128)
start_death_animation($data_animations[SSS::WINDY_DEATH_ANI1], false)
when 45
start_death_animation($data_animations[SSS::WINDY_DEATH_ANI2], false)
self.visible = false
when 0
self.opacity = 0
self.visible = true
end
end
#--------------------------------------------------------------------------
# * Update Holy Death
#--------------------------------------------------------------------------
def update_holy_death
@effect_duration -= 1
self.blend_type = 1
case @effect_duration
when 105
self.color.set(255, 255, 255, 128)
start_death_animation($data_animations[SSS::HOLY_DEATH_ANI1], false)
when 45
start_death_animation($data_animations[SSS::HOLY_DEATH_ANI2], false)
when 0..44
self.opacity = 256 - (48 - @effect_duration) * 6
end
end
#--------------------------------------------------------------------------
# * Update Dark Death
#--------------------------------------------------------------------------
def update_dark_death
@effect_duration -= 1
self.blend_type = 1
case @effect_duration
when 90
self.color.set(0, 0, 0, 128)
start_death_animation($data_animations[SSS::DARK_DEATH_ANI1], false)
when 60
self.visible = false
when 45
start_death_animation($data_animations[SSS::DARK_DEATH_ANI2], false)
when 0
self.opacity = 0
self.visible = true
end
end
end
#==============================================================================
# ** Spriteset_Battle
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :enemy_sprites
end
#==============================================================================
# ** Scene_Battle
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# * wait_for_deaths
#--------------------------------------------------------------------------
def wait_for_deaths
update_basic
loop do
amount = 0
for sprite in @spriteset.enemy_sprites
amount += 1 if sprite.effect_duration <= 0
end
break if amount >= @spriteset.enemy_sprites.size
update_basic
end
end
#--------------------------------------------------------------------------
# * Process Victory
#--------------------------------------------------------------------------
alias process_victory_sss_fancy_deaths process_victory unless $@
def process_victory
if $imported["BattleEngineMelody"]
@judge_win_loss = true
pause_atb(true, true)
@enemy_gauge_window.dispose if @enemy_gauge_window != nil
@hide_battlecursor = true
@party_input_flag = true
@message_window.visible = true
end
wait_for_deaths
process_victory_sss_fancy_deaths
end
end
#===============================================================================
#
# KONIEC
#
#===============================================================================
________________________
pokecath
Preferowany:
Pomógł: 6 razy Doł±czył: 07 Mar 2011 Posty: 103
Wysłany: Wto 22 Mar, 2011 07:56
Fajny skrypt a znalazlbys takie coĹ› do systemu walki w czasie rzeczywistym ?
________________________ Nazwa:Ostatni Czarny Mag : Pradawna Kopalnia
Fabuła:70%
Questy:0%
Mapy:0,99%
Itemy:0,6%
Skrypty:100%
Muzyka:30%
Reszta:0,04
Ogólnie mało.
Eleanor
Ranga RM:
Pomogła: 13 razy Doł±czyła: 15 Lut 2011 Posty: 73 Sk±d: KrakĂłw
Wysłany: Sob 30 Kwi, 2011 17:38
Możesz dać po prostu animację jaką chcesz w drugiej karcie zdarzenia, inaczej się nie da.
PS: jestem dziewczynÄ….
________________________
pokecath
Preferowany:
Pomógł: 6 razy Doł±czył: 07 Mar 2011 Posty: 103
Wysłany: Nie 01 Maj, 2011 07:46
Nie pomyślałem o tym żeby dać animacje w drugiej karcie . Dzięki .:-)
________________________ Nazwa:Ostatni Czarny Mag : Pradawna Kopalnia
Fabuła:70%
Questy:0%
Mapy:0,99%
Itemy:0,6%
Skrypty:100%
Muzyka:30%
Reszta:0,04
Ogólnie mało.
Nie możesz pisać nowych tematówNie możesz odpowiadać w tematachNie możesz zmieniać swoich postówNie możesz usuwać swoich postówNie możesz głosować w ankietachNie możesz zał±czać plików na tym forumMożesz ¶ci±gać zał±czniki na tym forum
Dodaj temat do Ulubionych Wersja do druku