class SchlonzControllerPlayer extends xPlayer; var string SchlonzVoteIP; var int SchlonzVotePort; var bool HasVoted; var bool CancelAlways; var string CurrentVote; replication { // Variables the server should send to the client // Function called on client reliable if( Role==ROLE_Authority ) SchlonzVoteIP, SchlonzVotePort, CancelAlways, CurrentVote, CloseWindow, OpenWindow; // Function called on server reliable if( Role < ROLE_Authority ) SendMapVote, SendCycle, SetCancelAlways; } simulated event PostBeginPlay() { // SetPawnClass("SchlonzUT.SchlonzXPawnPlayer", ""); Super.PostBeginPlay(); HasVoted = false; } // PostBeginPlay function SendMapVote( string xText ) { // vote and close the port after sending local SchlonzUdpLink mysock; mysock = Spawn( class'SchlonzUT.SchlonzUdpLink' ); if( mysock != None ) { mysock.setIpPort( SchlonzVoteIP, SchlonzVotePort ); mysock.bindNextAvail(); mysock.sText( xText ); mysock.Destroy(); HasVoted = true; } Log( xText ); } // SendMapVote function SetCancelAlways( bool bCancelAlways ) { CancelAlways = bCancelAlways; } // SetCancelAlways function SendCycle( string xText ) { // vote and leave the port open for ServerTraveling local SchlonzUdpLink mysock; local GameStats gs; local String LastLevel; gs = Spawn( class'GameStats' ); LastLevel = gs.GetMapFileName(); gs.Destroy(); mysock = Spawn( class'SchlonzUT.SchlonzUdpLink' ); if( mysock != None ) { mysock.setIpPort( SchlonzVoteIP, SchlonzVotePort ); mysock.bindNextAvail(); mysock.sText( xText ); mysock.CycleLevel( Level, LastLevel ); } } // SendCycle simulated function OpenWindow() { Player.GUIController.OpenMenu( "SchlonzUT.SchlonzVotingPage" ); } // OpenWindow simulated function CloseWindow() { settimer(0,false); Player.GUIController.CloseAll(true); } // CloseWindow defaultproperties { }