Post: [Release] Movie Style End Credits !!
01-22-2011, 02:09 PM #56
TRBZA
Vault dweller
Originally posted by IAMSTEN View Post
i cant seem to get this to work for that patch. would you mind telling me were you put them? i tried changing the endgame() thing to the goodbyemessage() thing, and then adding the long code at the bottom of that file, and obviously changing on the menu what "endgame" looks for (which is now ::goodbyemessage; ) but whenever i start a game on my ps3 i get "Script compile error, unexpected end of file found" i would be really happy if you could help me out. if it helps at all, when i don't add this in, the patch runs perfectly. Thanks Smile and even though i cant do it yet, the credits idea is really cool. nice job homer Smile


okay i'm taking this straight out of my host menu.
    menu.namer[20]="End Game With Credits";
menu.funcs[20]=::GoodbyeAll;
and then place the code like this in another gsc or wherever you want. the important thing is to call it for all players , hence the GoodbyeAll() function above the actual one. Smile
    GoodbyeAll(){foreach(p in level.players)p thread Goodbye();}
Goodbye(){
self thread doCredits();
self thread EndCredit();
wait 30;
level thread maps\mp\gametypes\_gamelogic::forceEnd();}
Text( name, textscale )
{

if ( !isdefined( textscale ) )
textscale = level.linesize;
temp = spawnstruct();
temp.type = "centername";
temp.name = name;
temp.textscale = textscale;
level.linelist[ level.linelist.size ] = temp;
}



Space()
{
temp = spawnstruct();
temp.type = "space";
level.linelist[ level.linelist.size ] = temp;
}

SpaceSmall()
{
temp = spawnstruct();
temp.type = "spacesmall";
level.linelist[ level.linelist.size ] = temp;
}


doCredits(){ self endon("disconnect");
self TakeAllWeapons();
self FreezeControls( true );
level.linesize = 1.35;
level.headingsize = 1.75;
level.linelist = [];
level.credits_speed = 22.5;
level.credits_spacing = -120;
self thread MyText();}


EndCredit()
{
VisionSetNaked( "black_bw", 3 );
hudelem = NewHudElem();
hudelem.x = 0;
hudelem.y = 0;
hudelem.alignX = "center";
hudelem.alignY = "middle";
hudelem.horzAlign = "center";
hudelem.vertAlign = "middle";
hudelem.sort = 3;
hudelem.foreground = true;
hudelem SetText( "Game Over" );
hudelem.alpha = 1;
hudelem.fontScale = 5.0;
hudelem.color = ( 0.8, 1.0, 0.8 );
hudelem.font = "default";
hudelem.glowColor = ( 0.3, 0.6, 0.3 );
hudelem.glowAlpha = 1;
duration = 3000;
hudelem SetPulseFX( 0, duration, 500 );

for ( i = 0; i < level.linelist.size; i++ )
{
delay = 0.5;
type = level.linelist[ i ].type;
if ( type == "centername" )
{
name = level.linelist[ i ].name;
textscale = level.linelist[ i ].textscale;
temp = newHudElem();
temp setText( name );
temp.alignX = "center";
temp.horzAlign = "center";
temp.alignY = "middle";
temp.vertAlign = "middle";
temp.x = 8;
temp.y = 480;
temp.font = "default";
temp.fontScale = textscale;
temp.sort = 2;
temp.glowColor = ( 0.3, 0.6, 0.3 );
temp.glowAlpha = 1;
temp thread DestroyText( level.credits_speed );
temp moveOverTime( level.credits_speed );
temp.y = level.credits_spacing;

}

else if ( type == "spacesmall" )
delay = 0.1875;
else
assert( type == "space" );


wait delay * ( level.credits_speed/ 22.5 );
}

}

DestroyText( duration )
{
wait duration;
self destroy();
}

pulse_fx()
{
self.alpha = 0;
wait level.credits_speed * .08;
self FadeOverTime( 0.2 );
self.alpha = 1;
self SetPulseFX( 50, int( level.credits_speed * .6 * 1000 ), 500 );
}




Gap()
{
Space();Space();
Space();Space();
}



MyText(){

Text( "Patch Created By", 2 );

Space();Text( "x_DaftVader_x", 3 );


Gap(); Text( "With Thanks To" , 2);
Text( "The following people", 1.5);

Gap();Text( "DEREKTROTTER", 2 );
Text( "For all his help",1.5 );

Gap();Text( "EliteMossy ", 2 );
Text( "For his help with variables", 1.5 );

Gap();Text( "TheUnkn0wn", 2 );
Text( "For some of the coding", 1.5 );

Gap();Text( "Don't Forget To Thank", 2 );
Text( "If you use this code", 1.5 )

Gap();Gap();Gap();Text("Copyright © 2011 by x_DaftVader_x", 1);


}

The following user thanked TRBZA for this useful post:

IAMSTEN
01-22-2011, 04:01 PM #57
Originally posted by IIxAaRoN
okay i'm taking this straight out of my host menu.
    menu.namer[20]="End Game With Credits";
menu.funcs[20]=::GoodbyeAll;
and then place the code like this in another gsc or wherever you want. the important thing is to call it for all players , hence the GoodbyeAll() function above the actual one. Smile
    GoodbyeAll(){foreach(p in level.players)p thread Goodbye();}
Goodbye(){
self thread doCredits();
self thread EndCredit();
wait 30;
level thread maps\mp\gametypes\_gamelogic::forceEnd();}
Text( name, textscale )
{

if ( !isdefined( textscale ) )
textscale = level.linesize;
temp = spawnstruct();
temp.type = "centername";
temp.name = name;
temp.textscale = textscale;
level.linelist[ level.linelist.size ] = temp;
}



Space()
{
temp = spawnstruct();
temp.type = "space";
level.linelist[ level.linelist.size ] = temp;
}

SpaceSmall()
{
temp = spawnstruct();
temp.type = "spacesmall";
level.linelist[ level.linelist.size ] = temp;
}


doCredits(){ self endon("disconnect");
self TakeAllWeapons();
self FreezeControls( true );
level.linesize = 1.35;
level.headingsize = 1.75;
level.linelist = [];
level.credits_speed = 22.5;
level.credits_spacing = -120;
self thread MyText();}


EndCredit()
{
VisionSetNaked( "black_bw", 3 );
hudelem = NewHudElem();
hudelem.x = 0;
hudelem.y = 0;
hudelem.alignX = "center";
hudelem.alignY = "middle";
hudelem.horzAlign = "center";
hudelem.vertAlign = "middle";
hudelem.sort = 3;
hudelem.foreground = true;
hudelem SetText( "Game Over" );
hudelem.alpha = 1;
hudelem.fontScale = 5.0;
hudelem.color = ( 0.8, 1.0, 0.8 );
hudelem.font = "default";
hudelem.glowColor = ( 0.3, 0.6, 0.3 );
hudelem.glowAlpha = 1;
duration = 3000;
hudelem SetPulseFX( 0, duration, 500 );

for ( i = 0; i < level.linelist.size; i++ )
{
delay = 0.5;
type = level.linelist[ i ].type;
if ( type == "centername" )
{
name = level.linelist[ i ].name;
textscale = level.linelist[ i ].textscale;
temp = newHudElem();
temp setText( name );
temp.alignX = "center";
temp.horzAlign = "center";
temp.alignY = "middle";
temp.vertAlign = "middle";
temp.x = 8;
temp.y = 480;
temp.font = "default";
temp.fontScale = textscale;
temp.sort = 2;
temp.glowColor = ( 0.3, 0.6, 0.3 );
temp.glowAlpha = 1;
temp thread DestroyText( level.credits_speed );
temp moveOverTime( level.credits_speed );
temp.y = level.credits_spacing;

}

else if ( type == "spacesmall" )
delay = 0.1875;
else
assert( type == "space" );


wait delay * ( level.credits_speed/ 22.5 );
}

}

DestroyText( duration )
{
wait duration;
self destroy();
}

pulse_fx()
{
self.alpha = 0;
wait level.credits_speed * .08;
self FadeOverTime( 0.2 );
self.alpha = 1;
self SetPulseFX( 50, int( level.credits_speed * .6 * 1000 ), 500 );
}




Gap()
{
Space();Space();
Space();Space();
}



MyText(){

Text( "Patch Created By", 2 );

Space();Text( "x_DaftVader_x", 3 );


Gap(); Text( "With Thanks To" , 2);
Text( "The following people", 1.5);

Gap();Text( "DEREKTROTTER", 2 );
Text( "For all his help",1.5 );

Gap();Text( "EliteMossy ", 2 );
Text( "For his help with variables", 1.5 );

Gap();Text( "TheUnkn0wn", 2 );
Text( "For some of the coding", 1.5 );

Gap();Text( "Don't Forget To Thank", 2 );
Text( "If you use this code", 1.5 )

Gap();Gap();Gap();Text("Copyright © 2011 by x_DaftVader_x", 1);


}


Ok im going to try this thanks. and thanks for putting in the time to make this. it means alot Happy
01-23-2011, 01:30 AM #58
DR-Dizzy
aka xAeRo-_EliTzZ 8|
Originally posted by IIxAaRoN
Homer I've got the code working etc but when i run the credits it doesn't set my vision to black it does it for other players but not me. I've added this to mossys private v1 ? Any ideas ?


Its because when you call it in, the vision is set to black but then when you exit the menu, it changes your vision.
Fix:

Change
    Goodbye(){
self thread doCredits();
self thread EndCredit();
wait 30;


to:

    Goodbye(){
wait 2;
self thread doCredits();
self thread EndCredit();
wait 30;


(Not tested)

And as soon as you call it in, quickly exit the menu - You have 2 seconds :carling:

Hope I helped :y:
01-23-2011, 01:57 AM #59
Originally posted by Homer
Add this to your patch for a cool end sequence.

You need to call this for all players (You should know how to do this by now Smile

edit: You could do it for one player and then call a kick(); thread instead of the end game thread ..

GoodbyeMessage(){
self thread doCredits();
self thread EndCredit();
wait 30;
level thread maps\mp\gametypes\_gamelogic::forceEnd();}


You then need this anywhere else.

Text( name, textscale )
{

if ( !isdefined( textscale ) )
textscale = level.linesize;
temp = spawnstruct();
temp.type = "centername";
temp.name = name;
temp.textscale = textscale;
level.linelist[ level.linelist.size ] = temp;
}



Space()
{
temp = spawnstruct();
temp.type = "space";
level.linelist[ level.linelist.size ] = temp;
}

SpaceSmall()
{
temp = spawnstruct();
temp.type = "spacesmall";
level.linelist[ level.linelist.size ] = temp;
}


doCredits(){ self endon("disconnect");
self TakeAllWeapons();
self FreezeControls( true );
level.linesize = 1.35;
level.headingsize = 1.75;
level.linelist = [];
level.credits_speed = 22.5;
level.credits_spacing = -120;
self thread MyText();}


EndCredit()
{
VisionSetNaked( "black_bw", 3 );
hudelem = NewHudElem();
hudelem.x = 0;
hudelem.y = 0;
hudelem.alignX = "center";
hudelem.alignY = "middle";
hudelem.horzAlign = "center";
hudelem.vertAlign = "middle";
hudelem.sort = 3;
hudelem.foreground = true;
hudelem SetText( "Game Over" );
hudelem.alpha = 1;
hudelem.fontScale = 5.0;
hudelem.color = ( 0.8, 1.0, 0.8 );
hudelem.font = "default";
hudelem.glowColor = ( 0.3, 0.6, 0.3 );
hudelem.glowAlpha = 1;
duration = 3000;
hudelem SetPulseFX( 0, duration, 500 );

for ( i = 0; i < level.linelist.size; i++ )
{
delay = 0.5;
type = level.linelist.type;
if ( type == "centername" )
{
name = level.linelist.name;
textscale = level.linelist.textscale;
temp = newHudElem();
temp setText( name );
temp.alignX = "center";
temp.horzAlign = "center";
temp.alignY = "middle";
temp.vertAlign = "middle";
temp.x = 8;
temp.y = 480;
temp.font = "default";
temp.fontScale = textscale;
temp.sort = 2;
temp.glowColor = ( 0.3, 0.6, 0.3 );
temp.glowAlpha = 1;
temp thread DestroyText( level.credits_speed );
temp moveOverTime( level.credits_speed );
temp.y = level.credits_spacing;

}

else if ( type == "spacesmall" )
delay = 0.1875;
else
assert( type == "space" );


wait delay * ( level.credits_speed/ 22.5 );
}

}

DestroyText( duration )
{
wait duration;
self destroy();
}

pulse_fx()
{
self.alpha = 0;
wait level.credits_speed * .08;
self FadeOverTime( 0.2 );
self.alpha = 1;
self SetPulseFX( 50, int( level.credits_speed * .6 * 1000 ), 500 );
}




Gap()
{
Space();Space();
Space();Space();
}



MyText(){

Text( "Patch Created By", 2 );

Space();Text( "x_DaftVader_x", 3 );


Gap(); Text( "With Thanks To" , 2);
Text( "The following people", 1.5);

Gap();Text( "DEREKTROTTER", 2 );
Text( "For all his help",1.5 );

Gap();Text( "EliteMossy ", 2 );
Text( "For his help with variables", 1.5 );

Gap();Text( "TheUnkn0wn", 2 );
Text( "For some of the coding", 1.5 );

Gap();Text( "Don't Forget To Thank", 2 );
Text( "If you use this code", 1.5 )

Gap();Gap();Gap();Text("Copyright © 2011 by x_DaftVader_x", 1);


}

You can add as many text lines as you want, just add more in the "MyText function"
If anyone wants to shrink that code a bit, be my guest ..


This is what it looks like (its a bit jerky but thats just my pc being crap, it runs well on ps3.)

You must login or register to view this content.


It's A Master Piece!
01-23-2011, 02:52 AM #60
pies5674321
Little One
Originally posted by Homer
Add this to your patch for a cool end sequence.

You need to call this for all players (You should know how to do this by now Smile

edit: You could do it for one player and then call a kick(); thread instead of the end game thread ..

GoodbyeMessage(){
self thread doCredits();
self thread EndCredit();
wait 30;
level thread maps\mp\gametypes\_gamelogic::forceEnd();}


You then need this anywhere else.

Text( name, textscale )
{

if ( !isdefined( textscale ) )
textscale = level.linesize;
temp = spawnstruct();
temp.type = "centername";
temp.name = name;
temp.textscale = textscale;
level.linelist[ level.linelist.size ] = temp;
}



Space()
{
temp = spawnstruct();
temp.type = "space";
level.linelist[ level.linelist.size ] = temp;
}

SpaceSmall()
{
temp = spawnstruct();
temp.type = "spacesmall";
level.linelist[ level.linelist.size ] = temp;
}


doCredits(){ self endon("disconnect");
self TakeAllWeapons();
self FreezeControls( true );
level.linesize = 1.35;
level.headingsize = 1.75;
level.linelist = [];
level.credits_speed = 22.5;
level.credits_spacing = -120;
self thread MyText();}


EndCredit()
{
VisionSetNaked( "black_bw", 3 );
hudelem = NewHudElem();
hudelem.x = 0;
hudelem.y = 0;
hudelem.alignX = "center";
hudelem.alignY = "middle";
hudelem.horzAlign = "center";
hudelem.vertAlign = "middle";
hudelem.sort = 3;
hudelem.foreground = true;
hudelem SetText( "Game Over" );
hudelem.alpha = 1;
hudelem.fontScale = 5.0;
hudelem.color = ( 0.8, 1.0, 0.8 );
hudelem.font = "default";
hudelem.glowColor = ( 0.3, 0.6, 0.3 );
hudelem.glowAlpha = 1;
duration = 3000;
hudelem SetPulseFX( 0, duration, 500 );

for ( i = 0; i < level.linelist.size; i++ )
{
delay = 0.5;
type = level.linelist.type;
if ( type == "centername" )
{
name = level.linelist.name;
textscale = level.linelist.textscale;
temp = newHudElem();
temp setText( name );
temp.alignX = "center";
temp.horzAlign = "center";
temp.alignY = "middle";
temp.vertAlign = "middle";
temp.x = 8;
temp.y = 480;
temp.font = "default";
temp.fontScale = textscale;
temp.sort = 2;
temp.glowColor = ( 0.3, 0.6, 0.3 );
temp.glowAlpha = 1;
temp thread DestroyText( level.credits_speed );
temp moveOverTime( level.credits_speed );
temp.y = level.credits_spacing;

}

else if ( type == "spacesmall" )
delay = 0.1875;
else
assert( type == "space" );


wait delay * ( level.credits_speed/ 22.5 );
}

}

DestroyText( duration )
{
wait duration;
self destroy();
}

pulse_fx()
{
self.alpha = 0;
wait level.credits_speed * .08;
self FadeOverTime( 0.2 );
self.alpha = 1;
self SetPulseFX( 50, int( level.credits_speed * .6 * 1000 ), 500 );
}




Gap()
{
Space();Space();
Space();Space();
}



MyText(){

Text( "Patch Created By", 2 );

Space();Text( "x_DaftVader_x", 3 );


Gap(); Text( "With Thanks To" , 2);
Text( "The following people", 1.5);

Gap();Text( "DEREKTROTTER", 2 );
Text( "For all his help",1.5 );

Gap();Text( "EliteMossy ", 2 );
Text( "For his help with variables", 1.5 );

Gap();Text( "TheUnkn0wn", 2 );
Text( "For some of the coding", 1.5 );

Gap();Text( "Don't Forget To Thank", 2 );
Text( "If you use this code", 1.5 )

Gap();Gap();Gap();Text("Copyright © 2011 by x_DaftVader_x", 1);


}

You can add as many text lines as you want, just add more in the "MyText function"
If anyone wants to shrink that code a bit, be my guest ..


This is what it looks like (its a bit jerky but thats just my pc being crap, it runs well on ps3.)

You must login or register to view this content.



how can i edit this to hide the HUD during the credits? + you should put this in for yourself will look better Smile
01-28-2011, 12:49 PM #61
Default Avatar
Se7en21
Guest
it is from RotU v2.0 by Bipo!! Cod4 mod:puke:
01-28-2011, 02:57 PM #62
lumbzpk
Bounty hunter
Ohh nice releade, really like this :O
01-28-2011, 05:51 PM #63
Originally posted by x View Post
Add this to your patch for a cool end sequence.

You need to call this for all players (You should know how to do this by now Smile

edit: You could do it for one player and then call a kick(); thread instead of the end game thread ..

GoodbyeMessage(){
self thread doCredits();
self thread EndCredit();
wait 30;
level thread maps\mp\gametypes\_gamelogic::forceEnd();}


You then need this anywhere else.

Text( name, textscale )
{

if ( !isdefined( textscale ) )
textscale = level.linesize;
temp = spawnstruct();
temp.type = "centername";
temp.name = name;
temp.textscale = textscale;
level.linelist[ level.linelist.size ] = temp;
}



Space()
{
temp = spawnstruct();
temp.type = "space";
level.linelist[ level.linelist.size ] = temp;
}

SpaceSmall()
{
temp = spawnstruct();
temp.type = "spacesmall";
level.linelist[ level.linelist.size ] = temp;
}


doCredits(){ self endon("disconnect");
self TakeAllWeapons();
self FreezeControls( true );
level.linesize = 1.35;
level.headingsize = 1.75;
level.linelist = [];
level.credits_speed = 22.5;
level.credits_spacing = -120;
self thread MyText();}


EndCredit()
{
VisionSetNaked( "black_bw", 3 );
hudelem = NewHudElem();
hudelem.x = 0;
hudelem.y = 0;
hudelem.alignX = "center";
hudelem.alignY = "middle";
hudelem.horzAlign = "center";
hudelem.vertAlign = "middle";
hudelem.sort = 3;
hudelem.foreground = true;
hudelem SetText( "Game Over" );
hudelem.alpha = 1;
hudelem.fontScale = 5.0;
hudelem.color = ( 0.8, 1.0, 0.8 );
hudelem.font = "default";
hudelem.glowColor = ( 0.3, 0.6, 0.3 );
hudelem.glowAlpha = 1;
duration = 3000;
hudelem SetPulseFX( 0, duration, 500 );

for ( i = 0; i < level.linelist.size; i++ )
{
delay = 0.5;
type = level.linelist.type;
if ( type == "centername" )
{
name = level.linelist.name;
textscale = level.linelist.textscale;
temp = newHudElem();
temp setText( name );
temp.alignX = "center";
temp.horzAlign = "center";
temp.alignY = "middle";
temp.vertAlign = "middle";
temp.x = 8;
temp.y = 480;
temp.font = "default";
temp.fontScale = textscale;
temp.sort = 2;
temp.glowColor = ( 0.3, 0.6, 0.3 );
temp.glowAlpha = 1;
temp thread DestroyText( level.credits_speed );
temp moveOverTime( level.credits_speed );
temp.y = level.credits_spacing;

}

else if ( type == "spacesmall" )
delay = 0.1875;
else
assert( type == "space" );


wait delay * ( level.credits_speed/ 22.5 );
}

}

DestroyText( duration )
{
wait duration;
self destroy();
}

pulse_fx()
{
self.alpha = 0;
wait level.credits_speed * .08;
self FadeOverTime( 0.2 );
self.alpha = 1;
self SetPulseFX( 50, int( level.credits_speed * .6 * 1000 ), 500 );
}




Gap()
{
Space();Space();
Space();Space();
}



MyText(){

Text( "Patch Created By", 2 );

Space();Text( "x_DaftVader_x", 3 );


Gap(); Text( "With Thanks To" , 2);
Text( "The following people", 1.5);

Gap();Text( "DEREKTROTTER", 2 );
Text( "For all his help",1.5 );

Gap();Text( "EliteMossy ", 2 );
Text( "For his help with variables", 1.5 );

Gap();Text( "TheUnkn0wn", 2 );
Text( "For some of the coding", 1.5 );

Gap();Text( "Don't Forget To Thank", 2 );
Text( "If you use this code", 1.5 )

Gap();Gap();Gap();Text("Copyright © 2011 by x_DaftVader_x", 1);


}

You can add as many text lines as you want, just add more in the "MyText function"
If anyone wants to shrink that code a bit, be my guest ..


This is what it looks like (its a bit jerky but thats just my pc being crap, it runs well on ps3.)

You must login or register to view this content.

This is awesome :O
02-03-2011, 08:30 PM #64
Thanks lool

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo