Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

 
Reply to this topicStart new topic
> Comaptibility needed for this script, Shanghai's fancy deaths
Viewer
post Feb 10 2011, 12:40 AM
Post #1


Level 4
Group Icon

Group: Member
Posts: 52
Type: None
RM Skill: Undisclosed




I have Shanghai's fancy deaths script, but it's not compatible with Takentai. Can anyone help me?
Thanks!
Here's the script.

CODE
#======================================================================
=========
#
# Shanghai Simple Script - Fancy Deaths
# Last Date Updated: 2010.05.09
# Level: Normal
#
# This makes certain enemies die a fancy way if they have the fancy death tags
# inside of their notebox. These were made for the default animations. If you
# are using different animations, you can change the IDs these fancy deaths use.
# Works for default battle system, Battle Engine Melody, and Tankentai.
#===============================================================================
# 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.
#
# <fancy death: string>
# Replace string with one of the ones below:
# fire - Makes the enemy die in a fancy fiery death.
# ice - Makes the enemy freeze and die.
# elec - Makes the enemy spark and die.
# water - Makes the enemy melt and die.
# stone - Makes the enemy change to stone.
# wind - Makes the enemy vanish with the wind.
# holy - Makes the enemy disappear into light.
# dark - Makes the enemy disappear into darkness.
#===============================================================================

$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

#===============================================================================
#
# END OF FILE
#
#===============================================================================


This post has been edited by Viewer: Mar 29 2011, 03:04 AM
Go to the top of the page
 
+Quote Post
   
Kread-EX
post Feb 10 2011, 02:31 AM
Post #2


(=___=)/
Group Icon

Group: +Gold Member
Posts: 4,136
Type: Scripter
RM Skill: Undisclosed




You know, you don't need to post the script - you can just post a link to the topic. And this belongs to the Script Support section, so moving it.

To answer your question, noteboxes are those large white squares in the database where you can input text -with "Note" as title. In the case of Fancy Deaths, you need to use them on the "Enemies" tab (it is located right of the Action Patterns selector) and input this:
CODE
<fancy death: string>

Where "string" can be fire, ice, elec, water, stone, wind, holy or dark.


__________________________
FRACTURE - a SMT inspired game (demo) made by Rhyme, Karsuman and me. Weep and ragequit.

My blog.

Click here for my e-peen


Go to the top of the page
 
+Quote Post
   
Viewer
post Mar 3 2011, 03:14 AM
Post #3


Level 4
Group Icon

Group: Member
Posts: 52
Type: None
RM Skill: Undisclosed




blink.gif AAAA... blink.gif Oh... blink.gif Ehh. Me like big white rectangle in enemies tab. Yap, yap, yap. Like like like yes.gif

Ok, I'm just kiddin'. I know what a notebox is. And I know what I'm supposed to write in it. But it didn't work. Also I'm using Takentai.
I noticed if I put it in a clean project it works just fine. I guess I'll just have to check all my scripts and maybe I can find the problem.
I just hoped someone would know something about this.

Can you tell me if it could be Takentai?
Thanks.

This post has been edited by Viewer: Mar 3 2011, 03:27 AM
Go to the top of the page
 
+Quote Post
   
Kread-EX
post Mar 3 2011, 03:30 AM
Post #4


(=___=)/
Group Icon

Group: +Gold Member
Posts: 4,136
Type: Scripter
RM Skill: Undisclosed




Pretty much all of Shanghai's scripts are incompatible with Tankentai. They're made for Melody, in spirit.


__________________________
FRACTURE - a SMT inspired game (demo) made by Rhyme, Karsuman and me. Weep and ragequit.

My blog.

Click here for my e-peen


Go to the top of the page
 
+Quote Post
   
Viewer
post Mar 3 2011, 04:08 AM
Post #5


Level 4
Group Icon

Group: Member
Posts: 52
Type: None
RM Skill: Undisclosed




Well, maybe someone knows a solution. I won't close the post just yet.
Go to the top of the page
 
+Quote Post
   
Viewer
post Apr 29 2011, 02:58 AM
Post #6


Level 4
Group Icon

Group: Member
Posts: 52
Type: None
RM Skill: Undisclosed




BUMP
Go to the top of the page
 
+Quote Post
   
Viewer
post May 15 2011, 02:25 AM
Post #7


Level 4
Group Icon

Group: Member
Posts: 52
Type: None
RM Skill: Undisclosed




BUMP
Go to the top of the page
 
+Quote Post
   

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 25th May 2013 - 05:46 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker