Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

playing avi before skill animations

hey I'm currently using the script below to call avi movie files into my game, it works great for everything i need except for showing the movie in a skill. I tested it out with the skill call common event option but it would show the skill and the damage and then show the movie. What im looking for if any of you are willing to do it, is a script that allows the movie to be shown before the actual skill animation. eg: like super nova or the summons in the final fantasy games or like the some of the skills in grandia.

I think the pseudo code for something like this would be: (and this is me trying my best as im not that good at scripting)
if skill A is used
stop skill
show movie avi
resume skill

but anyway here is the script im currently using.
Code:
class Scene_Movie

##Copy this into a new section of your game. 

##To play a file, move the avi file into a "movies" subdirectory (yourgame\data, 

##yourgame\graphics, yourgame\movies). 

##Then call "Scene_Movie.new(filename)" where filename is your movies actual filename

## (minus the .avi).         exp Scene_Movie.new("???")

## If you want to play multiple movies in a row 

##(for example before the game starts, maybe a "developed by", "produced by", "intro movie"

## set or something... Go to the "main" section of code and find the line "$scene = Scene_Title.new". 

##Just after that line add:

##CODE

##Scene_Movie.new("dev_by")

##Scene_Movie.new("pro_by")

##Scene_Movie.new("intro")

##$scene = Scene_Movie.new("intro",8,false)assuming the filename of the intro movie is "intro.avi" and it's 8 seconds long.

##class Scene_Movie

def initialize(movie)

   @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'

   @movie_name = Dir.getwd()+"\\Movies\\"+movie+".avi"

   main

end

 

def main

 

   game_name = "\0" * 256

   @readini.call('Game','Title','',game_name,255,".\\Game.ini")

   game_name.delete!("\0")

   @wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')

   @temp = @wnd.call(0,0,nil,game_name).to_s

   movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')

   movie.call("open \""+@movie_name+"\" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0)

   @message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V')

   

   @detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')

   @width = @detector.call(0)

   if @width == 640

     fullscreen

     Graphics.update

     sleep(1)

     Graphics.update

     sleep(1)

     Graphics.update

     sleep(1)

   end

   

   status = " " * 255

   movie.call("play FILE",0,0,0)

   loop do

    sleep(0.1)

    @message.call(@temp.to_i,11,0,0)

    Graphics.update

    @message.call(@temp.to_i,11,1,0)

    Input.update

    movie.call("status FILE mode",status,255,0)

    true_status = status.unpack("aaaa")

    if true_status.to_s != "play"

      break

    end

    if Input.trigger?(Input::B)

      Input.update

      break

    end

   end

   movie.call("close FILE",0,0,0)

   bail

end

 

def bail

   if @width == 640

     fullscreen

   end

  end

end

 

def fullscreen()

 

$full.call(18,0,0,0)

$full.call(13,0,0,0)

$full.call(18,0,2,0)

$full.call(13,0,2,0)

end

$full = Win32API.new('user32','keybd_event','%w(l,l,l,l)','')

 
 

mawk

Sponsor

playing a movie before a skill seems like a waste of both your and the players time imo

do you really wanna be like ff7 and give a two-minute cinematic to a common skill? long jrpg animations might seem alright when you're first thinking about them, but I think most people would rather move on with the battle, especially if they're gonna be using the skill multiple times.
 
i didn't say it would be long i just stated that for the example. And i didn't say it would be for common skills but for some hard boss fights that are meant to be influential to the story, to test the players skills and you want to show some originality and make it look like a spectacular fight (and the animations in the game can become quite tedious if just seen over and over again) l mean i understand where you are coming from but not everyone plays an rpg to get through the battles asap some people like the effects and like the motion sequence to savour the submersion in the game. And since i am relatively good with the use of 3d studio max with effects and particles and adobe after effects, i felt that it would be a nice way of spicing the game battles up a bit, with some flavour and not the same old cartoon like fire and blizzard and heal effects.
 
no problem ive tried playing an avi using events in the battle screen and it works. it pauses the battle until the avi has finished.
only propblem is that with events it plays the avi after the skills completion.

I am using the XRXS count battle
screeny2.jpg
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top