RMRK is retiring.
Server is paid up for the rest of 2026, but the forum may go after that. See here for more information. Please archive or save anything you would like to keep before 2027.
Main Menu
  • Welcome to The RPG Maker Resource Kit.

Scripting help (look inside)

Started by kami130, August 02, 2007, 07:12:51 PM

0 Members and 1 Guest are viewing this topic.

kami130

first off, if you havn't, look here

http://rmrk.net/index.php/topic,7451.msg118725.html#msg118725

I added the movie script in the game, and in Scene_title I swapped the commands that load the title with the command to load the movie, in hopes of getting the movie to play at the title screen.

I hear the audio to the movie, but the screen is black..help please

The Movie script
[spoiler]
###########################################################
class Scene_Movie
###########################################################
#Created by SoundSpawn
###########################################################
#Fixed by Popper
###########################################################
#Instruction
#  1) Movies must in in a new folder called Movies in your directory
#  2)If you call this script from and event (EG:    Call Script: $scene = Scene_Movie.new("INTRO") )
#  3) Have fun playin movies with this script!!!
###########################################################
###########################################################
###########################################################

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(0.1)
Graphics.update
sleep(0.1)
Graphics.update
sleep(0.1)
fullscreen
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)
$scene = Scene_Map.new
break
end
end
$scene = Scene_Map.new
end
end
[/spoiler]

And Scene_title


[spoiler]
class Scene_Title
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def main
    # ????????
    if $BTEST
      battle_test
      return
    end
    # ??????????
    $data_actors        = load_data("Data/Actors.rxdata")
    $data_classes       = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items         = load_data("Data/Items.rxdata")
    $data_weapons       = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies       = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
    # ?????????????
    $game_system = Game_System.new
    # ?????????????
    $scene = Scene_Movie.new("Title")
    # ????????????
    s1 = "New Game"
    s2 = "Continue"
    s3 = "Exit"
    @command_window = Window_Command.new(192, [s1, s2, s3])
    @command_window.back_opacity = 160
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 288
    # ???????????
    # ?????????????????????????
    # ???? @continue_enabled ? true????? false ???
    @continue_enabled = false
    for i in 0..3
      if FileTest.exist?("Save#{i+1}.sav")
        @continue_enabled = true
      end
    end
    # ???????????????????????????????
    # ?????????????????????????
    if @continue_enabled
      @command_window.index = 1
    else
      @command_window.disable_item(1)
    end
    # ???? BGM ???
    $game_system.bgm_play($data_system.title_bgm)
    # ME?BGS ??????
    Audio.me_stop
    Audio.bgs_stop
    # ?????????
    Graphics.transition
    # ??????
    loop do
      # ????????
      Graphics.update
      # ???????
      Input.update
      # ??????
      update
      # ????????????????
      if $scene != self
        break
      end
    end
    # ?????????
    Graphics.freeze
    # ????????????
    @command_window.dispose
    # ?????????????
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    # ????????????
    @command_window.update
    # C ??????????
    if Input.trigger?(Input::C)
      # ???????????????????
      case @command_window.index
      when 0  # ??????
        command_new_game
      when 1  # ???????
        command_continue
      when 2  # ???????
        command_shutdown
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? ???? : ??????
  #--------------------------------------------------------------------------
  def command_new_game
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)
    # BGM ???
    Audio.bgm_stop
    # ??????????????????????
    Graphics.frame_count = 0
    # ??????????????
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    # ?????????????
    $game_party.setup_starting_members
    # ???????????????
    $game_map.setup($data_system.start_map_id)
    # ?????????????
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    # ????????????
    $game_player.refresh
    # ??????????? BGM ? BGS ??????????
    $game_map.autoplay
    # ?????? (????????)
    $game_map.update
    # ??????????
    $scene = Scene_Map.new
  end
  #--------------------------------------------------------------------------
  # ? ???? : ???????
  #--------------------------------------------------------------------------
  def command_continue
    # ?????????????
    unless @continue_enabled
      # ??? SE ???
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)
    # ??????????
    $scene = Scene_Load.new
  end
  #--------------------------------------------------------------------------
  # ? ???? : ???????
  #--------------------------------------------------------------------------
  def command_shutdown
    # ?? SE ???
    $game_system.se_play($data_system.decision_se)
    # BGM?BGS?ME ????????
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # ???????
    $scene = nil
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def battle_test
    # ?????? (??????) ????
    $data_actors        = load_data("Data/BT_Actors.rxdata")
    $data_classes       = load_data("Data/BT_Classes.rxdata")
    $data_skills        = load_data("Data/BT_Skills.rxdata")
    $data_items         = load_data("Data/BT_Items.rxdata")
    $data_weapons       = load_data("Data/BT_Weapons.rxdata")
    $data_armors        = load_data("Data/BT_Armors.rxdata")
    $data_enemies       = load_data("Data/BT_Enemies.rxdata")
    $data_troops        = load_data("Data/BT_Troops.rxdata")
    $data_states        = load_data("Data/BT_States.rxdata")
    $data_animations    = load_data("Data/BT_Animations.rxdata")
    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
    $data_system        = load_data("Data/BT_System.rxdata")
    # ??????????????????????
    Graphics.frame_count = 0
    # ??????????????
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    # ??????????????????
    $game_party.setup_battle_test_members
    # ???? ID??????????????????
    $game_temp.battle_troop_id = $data_system.test_troop_id
    $game_temp.battle_can_escape = true
    $game_map.battleback_name = $data_system.battleback_name
    # ????? SE ???
    $game_system.se_play($data_system.battle_start_se)
    # ??? BGM ???
    $game_system.bgm_play($game_system.battle_bgm)
    # ??????????
    $scene = Scene_Battle.new
  end
end[/spoiler]


I can get the movie to load and play but only before the command window shows up
Current project. GAIA
http://rmrk.net/index.php/topic,19136.msg240888.html#msg240888
Overall    05.00%
Graphics 01.0%
Music      00.05%
Story      15.00%
Gmeplay 02.00%
JOIN!!

superkal1

#1
okay heres what I did:

1.create a new script.Call it: Scene_Titlemovie
2.copy and paste your movie script eg:

    $scene = Scene_Movie.new("INTRO")

this should work without any errors