Worst-case scenario: the UEd Goblin wipes the map and burns down your house.

Difference between revisions of "UE1:RMusic Controller"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
m (New page: __TOC__ ==About== RMusic_Controller is part of RMusicPlayer beta. It controls RMusic_Player. ==Usage== In ActorBrowser find Actor->RMusic_Compo...)
 
m (RMusic_Controller properties)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
__TOC__
 
__TOC__
 +
 +
'''''This class is part of [[UE1:RMusicPlayer|RMusicPlayer]] by [[User:Raven|Raven]]'''''
  
 
==About==
 
==About==
Line 71: Line 73:
  
 
'''Description:''' If true, special RMusic_Save will be spawned to track last used controller
 
'''Description:''' If true, special RMusic_Save will be spawned to track last used controller
 
 
'''Name:''' RMusic_DSPPlugins[16]
 
 
'''Type:''' string
 
 
'''Description:'''  DSP plugins to load
 
  
  
Line 109: Line 104:
 
* '''TRANS_Fade''' - Smooth fade
 
* '''TRANS_Fade''' - Smooth fade
 
'''Description:''' Transition type
 
'''Description:''' Transition type
 
===Advanced usage (gametype/console integration)===
 
RMusicPlayer can be also integrated with gametypes, console.
 
 
====Gametype integration (with save support)====
 
Subclass of SinglePlayer2 (SinglePlayer2 is part of OldSkool by UsAaR33)
 
<uscript>
 
class RMusic_SingleGameInfo extends SinglePlayer2;
 
 
event PostLogin( playerpawn NewPlayer )
 
{
 
local RMusic_Controller RMusic_Controller;
 
local RMusic_Save RMusic_Save;
 
local RMusic_Player RMusic_Player;
 
 
        Super.PostLogin(NewPlayer);
 
 
if(Level.NetMode != NM_DedicatedServer && Level.NetMode != NM_ListenServer)
 
{
 
if(NewPlayer.GetEntryLevel() != none)
 
{
 
//we have to find music player in Entry level
 
foreach NewPlayer.GetEntryLevel().AllActors(class'RMusic_Player',RMusic_Player)
 
{
 
//then we stops currently played song
 
RMusic_Player.RMusic_Stop(false);
 
//and eventually add info about player/current level
 
if( RMusic_Player.bAuthoritative )
 
{
 
RMusic_Player.RMusic_LocalPlayer = NewPlayer;
 
RMusic_Player.RMusic_OldLevel = NewPlayer.Level;
 
}
 
}
 
}
 
//we have to found save part
 
foreach AllActors(class'RMusic_Save', RMusic_Save)
 
{
 
//we have to check if we have saved controller
 
if(RMusic_Save.SavedController != none)
 
{
 
RMusic_Controller=RMusic_Save.SavedController;
 
break;
 
}
 
}
 
//if saved controller is found, we have to restore music
 
if(RMusic_Controller != none) RMusic_Controller.EVENT_Player();
 
}
 
}
 
</uscript>
 
 
====Gametype integration (without save support)====
 
Subclass of coopgame2 (coopgame2 is part of OldSkool by UsAaR33)
 
<uscript>
 
class RMusic_CoopGameInfo extends coopgame2;
 
 
event PostLogin( playerpawn NewPlayer )
 
{
 
local RMusic_Controller RMusic_Controller;
 
local RMusic_Save RMusic_Save;
 
local RMusic_Player RMusic_Player;
 
 
Super.PostLogin(NewPlayer);
 
 
if(Level.NetMode != NM_DedicatedServer && Level.NetMode != NM_ListenServer)
 
{
 
if(NewPlayer.GetEntryLevel() != none)
 
{
 
//we have to find music player in Entry level
 
foreach NewPlayer.GetEntryLevel().AllActors(class'RMusic_Player',RMusic_Player)
 
{
 
//then we stops currently played song
 
RMusic_Player.RMusic_Stop(false);
 
//and eventually add info about player/current level
 
if( RMusic_Player.bAuthoritative )
 
{
 
RMusic_Player.RMusic_LocalPlayer = NewPlayer;
 
RMusic_Player.RMusic_OldLevel = NewPlayer.Level;
 
}
 
}
 
}
 
}
 
}
 
</uscript>
 
 
====Console integration====
 
Subclass of UTConsole
 
<uscript>
 
class RMusic_Console extends UTConsole;
 
 
function DrawLevelAction( canvas C )
 
{
 
local RMusic_Player RMusic_Player;
 
local PlayerPawn PP;
 
 
if ( Viewport.Actor.Level.LevelAction == LEVACT_Loading ) // Loading Screen
 
{
 
PP = Root.GetPlayerOwner();
 
if(PP != none)
 
{
 
foreach PP.GetEntryLevel().AllActors(class'RMusic_Player', RMusic_Player) break;
 
 
if (RMusic_Player != none) RMusic_Player.RMusic_Stop(false);
 
}
 
}
 
Super.DrawLevelAction(C);
 
}
 
</uscript>
 
 
==Download==
 
'''link:''' [http://turniej.unreal.pl/files/RMusicPlayer.zip]
 

Latest revision as of 07:06, 4 June 2008

This class is part of RMusicPlayer by Raven

About[edit]

RMusic_Controller is part of RMusicPlayer beta. It controls RMusic_Player.

Usage[edit]

In ActorBrowser find Actor->RMusic_Component->RMusic_Controller, place it on map and configure it.

RMusic_Controller properties[edit]

You can configure following properties:

Name: PlayerClass

Type: class<RMusic_Player>

Description: Player class (if you want to have own music directory)


Name: RMusic_File

Type: string

Description: Music file to play


Name: RMusic_PlayAtStartup

Type: bool

Description: Should it be played at level start


Name: RMusic_MuteUMX

Type: bool

Description: If true will mute all music in umx files


Name: RMusic_BroadcastToAll

Type: bool

Description: If true, it'll broadcast functions to all players


Name: RMusic_bUnloadPreviousDSP

Type: bool

Description: If true, all DSP plugins will be unloaded


Name: RMusic_bOwnFadeUpdateTime

Type: bool

Description: If true, RMusic_OwnFadeUpdateTime will be used instead of default FaderUpdateTime in RMusic_Player


Name: RMusic_OwnFadeUpdateTime

Type: float

Description: Defines how fast music will fade in/out


Name: RMusic_bUseSaveControl

Type: bool

Description: If true, special RMusic_Save will be spawned to track last used controller


Name: Action

Type: ENum

Values:

  • AC_Play - Plays music
  • AC_Stop - Stops music
  • AC_ShutDown - Shutdown FMODEX (avoid this one ;) )

Description: Action


Name: RMusic_PlayType

Type: ENum

Values:

  • PT_Loop - Loops music
  • PT_PlayOnce - Plays once

Description: Play type


Name: RMusic_Transition

Type: ENum

Values:

  • TRANS_Instanly - Instant transition
  • TRANS_Fade - Smooth fade

Description: Transition type