Login x
User Name:
Password:
Social Links Facebook Twitter YouTube Steam RSS News Feeds

Members Online

»
0 Active | 12 Guests
Online:

LATEST FORUM THREADS

»
CoD: Battle Royale
CoD+UO Map + Mod Releases
Damaged .pk3's
CoD Mapping
heli to attack ai
CoD4 SP Mapping

Tutorials

»
CoDUO Mapping
ratings:
Awful Rating
Poor Rating
Average Rating
Good Rating
Excellent Rating
Making a 4 (or More) Line Introscreen
Versions: You must be logged in to view history.
MasterChief6 shows us how to make a 4 or more line introscreen for Call of Duty UO.
OK -

in yourmapname.gsc main section put in this:

main()
{
maps\_introscreen_gmii::main

precacheshader("black");

thread intro_screen();
level waittill ("finished intro screen");
}

intro_screen()
{
precacheString(&"YOURMAPNAME_LOCATION");
precacheString(&"YOURMAPNAME_COUNTRY");
precacheString(&"YOURMAPNAME_DATE");
precacheString(&"YOURMAPNAME_TIME");
maps\_introscreen_gmii::introscreen(&"YOURMAPNAME_LOCATION", &"YOURMAPNAME_COUNTRY", &"YOURMAPNAME_DATE", &"YOURMAPNAME_TIME");
}


Replace YOURMAPNAME with the name of your map.

If youve noticed - the red colored line has a different introscreen script.

This is a custom script, actually a revised version of the introscreen script in the pak4.pk3

Here it is:

Quote:

main()
{
//EXAMPLE
//introscreen("Place, Country", "Date", "24hourclocktime");
//EXAMPLE

// Use this an EXAMPLE!
// if(level.script == "training")
// {
// precacheString(&"INTROSCREEN_TRAINING_PLACE");
// precacheString(&"INTROSCREEN_TRAINING_DATE");
// precacheString(&"INTROSCREEN_TRAINING_TIME");
// introscreen(&"INTROSCREEN_TRAINING_PLACE", &"INTROSCREEN_TRAINING_DATE", &"INTROSCREEN_TRAINING_TIME");
// return;
// }

if(level.script == "trenches")
{
precacheString(&"GMI_INTROSCREEN_TRENCHES_PLACE");
precacheString(&"GMI_INTROSCREEN_TRENCHES_DATE");
precacheString(&"GMI_INTROSCREEN_TRENCHES_TIME");
introscreen(&"GMI_INTROSCREEN_TRENCHES_PLACE", &"GMI_INTROSCREEN_TRENCHES_DATE", &"GMI_INTROSCREEN_TRENCHES_TIME");
return;
}

if(level.script == "bastogne1")
{
precacheString(&"GMI_INTROSCREEN_BASTOGNE1_PLACE");
precacheString(&"GMI_INTROSCREEN_BASTOGNE1_DATE");
precacheString(&"GMI_INTROSCREEN_BASTOGNE1_TIME");
introscreen(&"GMI_INTROSCREEN_BASTOGNE1_PLACE", &"GMI_INTROSCREEN_BASTOGNE1_DATE", &"GMI_INTROSCREEN_BASTOGNE1_TIME");
return;
}

if(level.script == "bastogne2")
{
precacheString(&"GMI_INTROSCREEN_BASTOGNE2_PLACE");
precacheString(&"GMI_INTROSCREEN_BASTOGNE2_DATE");
precacheString(&"GMI_INTROSCREEN_BASTOGNE2_TIME");
introscreen(&"GMI_INTROSCREEN_BASTOGNE2_PLACE", &"GMI_INTROSCREEN_BASTOGNE2_DATE", &"GMI_INTROSCREEN_BASTOGNE2_TIME");
return;
}

if(level.script == "foy")
{
precacheString(&"GMI_INTROSCREEN_FOY_PLACE");
precacheString(&"GMI_INTROSCREEN_FOY_DATE");
precacheString(&"GMI_INTROSCREEN_FOY_TIME");
introscreen(&"GMI_INTROSCREEN_FOY_PLACE", &"GMI_INTROSCREEN_FOY_DATE", &"GMI_INTROSCREEN_FOY_TIME");
return;
}

if(level.script == "bomber")
{
precachestring(&"GMI_INTROSCREEN_BOMBER_PLACE");
precachestring(&"GMI_INTROSCREEN_BOMBER_DATE");
precachestring(&"GMI_INTROSCREEN_BOMBER_TIME");
introscreen(&"GMI_INTROSCREEN_BOMBER_PLACE", &"GMI_INTROSCREEN_BOMBER_DATE", &"GMI_INTROSCREEN_BOMBER_TIME");
return;
}

if(level.script == "sicily1")
{
precachestring(&"GMI_INTROSCREEN_SICILY1_PLACE");
precachestring(&"GMI_INTROSCREEN_SICILY1_DATE");
precachestring(&"GMI_INTROSCREEN_SICILY1_TIME");
introscreen(&"GMI_INTROSCREEN_SICILY1_PLACE", &"GMI_INTROSCREEN_SICILY1_DATE", &"GMI_INTROSCREEN_SICILY1_TIME");
return;
}

if(level.script == "kharkov1")
{
precacheString(&"GMI_INTROSCREEN_KHARKOV1_PLACE");
precacheString(&"GMI_INTROSCREEN_KHARKOV1_DATE");
precacheString(&"GMI_INTROSCREEN_KHARKOV1_TIME");
introscreen(&"GMI_INTROSCREEN_KHARKOV1_PLACE", &"GMI_INTROSCREEN_KHARKOV1_DATE", &"GMI_INTROSCREEN_KHARKOV1_TIME");
return;
}

if(level.script == "kharkov2")
{
precacheString(&"GMI_INTROSCREEN_KHARKOV2_PLACE");
precacheString(&"GMI_INTROSCREEN_KHARKOV2_DATE");
precacheString(&"GMI_INTROSCREEN_KHARKOV2_TIME");
introscreen(&"GMI_INTROSCREEN_KHARKOV2_PLACE", &"GMI_INTROSCREEN_KHARKOV2_DATE", &"GMI_INTROSCREEN_KHARKOV2_TIME");
return;
}

if(level.script == "noville")
{
precacheString(&"GMI_INTROSCREEN_NOVILLE_PLACE");
precacheString(&"GMI_INTROSCREEN_NOVILLE_DATE");
precacheString(&"GMI_INTROSCREEN_NOVILLE_TIME");
introscreen(&"GMI_INTROSCREEN_NOVILLE_PLACE", &"GMI_INTROSCREEN_NOVILLE_DATE", &"GMI_INTROSCREEN_NOVILLE_TIME");
return;
}

if(level.script == "trainbridge")
{
precacheString(&"GMI_INTROSCREEN_TRAINBRIDGE_PLACE");
precacheString(&"GMI_INTROSCREEN_TRAINBRIDGE_DATE");
precacheString(&"GMI_INTROSCREEN_TRAINBRIDGE_TIME");
introscreen(&"GMI_INTROSCREEN_TRAINBRIDGE_PLACE", &"GMI_INTROSCREEN_TRAINBRIDGE_DATE", &"GMI_INTROSCREEN_TRAINBRIDGE_TIME");
return;
}



// ===============
// PGM - PI level support
if(level.script == "ponyri")
{
precacheString(&"PI_PONYRI_PLACE");
precacheString(&"PI_PONYRI_DATE");
precacheString(&"PI_PONYRI_TIME");
thread maps\_introscreen_gmi::introscreen(&"PI_PONYRI_PLACE", &"PI_PONYRI_DATE", &"PI_PONYRI_TIME");
return;
}
if(level.script == "kursk")
{
precacheString(&"PI_KURSK_PLACE");
precacheString(&"PI_KURSK_DATE");
precacheString(&"PI_KURSK_TIME");
thread maps\_introscreen_gmi::introscreen(&"PI_KURSK_PLACE", &"PI_KURSK_DATE", &"PI_KURSK_TIME");
return;
}
// PGM
// ===============

// Shouldn't do a notify without a wait statement before
// it, or bad things can happen when loading a save game.
wait 0.05;

level notify ("finished intro screen"); // Do final notify when player controls have been restored
}

introscreen(string1, string2, string3, string4)
{
level.introblack = newHudElem();
level.introblack.x = 0;
level.introblack.y = 0;
level.introblack setShader("black", 640, 480);

if(!(level.script == "redsquare"))
level.player freezeControls(true);

wait 0.1;

level.introstring1 = newHudElem();
level.introstring1.x = 320;
level.introstring1.y = 260;
level.introstring1.alignX = "center";
level.introstring1.alignY = "middle";
level.introstring1.sort = 1; // force to draw after the background
level.introstring1.fontScale = 1.75;
level.introstring1 setText(string1);
level.introstring1.alpha = 0;
level.introstring1 fadeOverTime(1.2);
level.introstring1.alpha = 1;

level.introstring2 = newHudElem();
level.introstring2.x = 320;
level.introstring2.y = 290;
level.introstring2.alignX = "center";
level.introstring2.alignY = "middle";
level.introstring2.sort = 1; // force to draw after the background
level.introstring2.fontScale = 1.75;
level.introstring2 setText(string2);
level.introstring2.alpha = 0;
level.introstring2 fadeOverTime(1.2);
level.introstring2.alpha = 1;

level.introstring3 = newHudElem();
level.introstring3.x = 320;
level.introstring3.y = 320;
level.introstring3.alignX = "center";
level.introstring3.alignY = "middle";
level.introstring3.sort = 1; // force to draw after the background
level.introstring3.fontScale = 1.75;
level.introstring3 setText(string3);
level.introstring3.alpha = 0;
level.introstring3 fadeOverTime(1.2);
level.introstring3.alpha = 1;

level.introstring4 = newHudElem();
level.introstring4.x = 320;
level.introstring4.y = 350;
level.introstring4.alignX = "center";
level.introstring4.alignY = "middle";
level.introstring4.sort = 1; // force to draw after the background
level.introstring4.fontScale = 1.75;
level.introstring4 setText(string4);
level.introstring4.alpha = 0;
level.introstring4 fadeOverTime(1.2);
level.introstring4.alpha = 1;

wait 1.2;

if(level.script == "stalingrad")
wait (2.0);

level notify ("finished final intro screen fadein");

wait 1;
// Fade out black
level.introblack fadeOverTime(1.5);
level.introblack.alpha = 0;

level notify ("starting final intro screen fadeout");

// Restore player controls part way through the fade in
wait 0.5;

level.player freezeControls(false);
level notify ("finished intro screen"); // Do final notify when player controls have been restored

// Fade out text
level.introstring1 fadeOverTime(1.5);
level.introstring1.alpha = 0;
level.introstring2 fadeOverTime(1.5);
level.introstring2.alpha = 0;
level.introstring3 fadeOverTime(1.5);
level.introstring3.alpha = 0;
level.introstring4 fadeOverTime(1.5);
level.introstring4.alpha = 0;

wait 1.5;

level.introblack destroy();
level.introstring1 destroy();
level.introstring2 destroy();
level.introstring3 destroy();
level.introstring4 destroy();
}


Put that into a new notepad file and call it _introscreen_gmii.gsc.

Put that file into the same folder as yourmapname.gsc

ALSO -

make a new notepad file and put this in it:

REFERENCE LOCATION
LANG_ENGLISH "Outside the Reichstag"

REFERENCE PLACE
LANG_ENGLISH "Berlin, Gemany"

REFERENCE DATE
LANG_ENGLISH "January 18, 1942"

REFERENCE TIME
LANG_ENGLISH "400hrs"

ENDMARKER


call that file YOURMAPNAME.str (this is a precachedstrings file - for more in fo on these kinds of files check this out)

Make a new folder. Call it localizedstrings
in that folder make another folder called english, and in that folder (the english folder)

NOW - make your map a .pk3 file (to test - it is much easier to test in pk3 form)

And that's it!

Now you will have an introscreen with four lines!

To make 5 (or more)-

In this section of _introscreen_gmii.gsc


Quote:
introscreen(string1, string2, string3, string4)
{
level.introblack = newHudElem();
level.introblack.x = 0;
level.introblack.y = 0;
level.introblack setShader("black", 640, 480);

if(!(level.script == "redsquare"))
level.player freezeControls(true);

wait 0.1;

level.introstring1 = newHudElem();
level.introstring1.x = 320;
level.introstring1.y = 260;
level.introstring1.alignX = "center";
level.introstring1.alignY = "middle";
level.introstring1.sort = 1; // force to draw after the background
level.introstring1.fontScale = 1.75;
level.introstring1 setText(string1);
level.introstring1.alpha = 0;
level.introstring1 fadeOverTime(1.2);
level.introstring1.alpha = 1;

level.introstring2 = newHudElem();
level.introstring2.x = 320;
level.introstring2.y = 290;
level.introstring2.alignX = "center";
level.introstring2.alignY = "middle";
level.introstring2.sort = 1; // force to draw after the background
level.introstring2.fontScale = 1.75;
level.introstring2 setText(string2);
level.introstring2.alpha = 0;
level.introstring2 fadeOverTime(1.2);
level.introstring2.alpha = 1;

level.introstring3 = newHudElem();
level.introstring3.x = 320;
level.introstring3.y = 320;
level.introstring3.alignX = "center";
level.introstring3.alignY = "middle";
level.introstring3.sort = 1; // force to draw after the background
level.introstring3.fontScale = 1.75;
level.introstring3 setText(string3);
level.introstring3.alpha = 0;
level.introstring3 fadeOverTime(1.2);
level.introstring3.alpha = 1;

level.introstring4 = newHudElem();
level.introstring4.x = 320;
level.introstring4.y = 350;
level.introstring4.alignX = "center";
level.introstring4.alignY = "middle";
level.introstring4.sort = 1; // force to draw after the background
level.introstring4.fontScale = 1.75;
level.introstring4 setText(string4);
level.introstring4.alpha = 0;
level.introstring4 fadeOverTime(1.2);
level.introstring4.alpha = 1;
//----->COPY & PASTE THIS RIGHT UNDER IT (LIKE IVE DONE) AND CHANGE THE NUMBER FROM 4 TO 5 (and so on)
//CHANGE level.introstring4.x = 320; THIS LINE. ADD 30 TO THE NUMBER 320 (or subtract). - THIS IS THE POSITION OF THE LINE ON THE INTROSCREEN

wait 1.2;

if(level.script == "stalingrad")
wait (2.0);

level notify ("finished final intro screen fadein");

wait 1;
// Fade out black
level.introblack fadeOverTime(1.5);
level.introblack.alpha = 0;

level notify ("starting final intro screen fadeout");

// Restore player controls part way through the fade in
wait 0.5;

level.player freezeControls(false);
level notify ("finished intro screen"); // Do final notify when player controls have been restored

// Fade out text
level.introstring1 fadeOverTime(1.5);
level.introstring1.alpha = 0;
level.introstring2 fadeOverTime(1.5);
level.introstring2.alpha = 0;
level.introstring3 fadeOverTime(1.5);
level.introstring3.alpha = 0;
level.introstring4 fadeOverTime(1.5);
level.introstring4.alpha = 0;// ------>AGAIN COPY & PASTE THIS AND CHANGE THE NUMBERS

wait 1.5;

level.introblack destroy();
level.introstring1 destroy();
level.introstring2 destroy();
level.introstring3 destroy();
level.introstring4 destroy(); //------->AND ALSO THIS
}



Now That's It!

Hope that Helped[thumbs_up]

If it Needs any fixing or clearing up, feel free to PM me!

Later

Latest Syndicated News

»
Codutility.com up and runn...
Nice, and there still using the logo and template for the screenshots, which...
Codutility.com up and runn...
dundy writes...Quote:Call of Duty modding and mapping is barly alive only a ...
Codutility.com up and runn...
Mystic writes...Quote:It seems to me the like the site is completely dead? ...
Codutility.com up and runn...
It seems to me the like the site is completely dead?

Partners & Friends

»