Welcome New User Home | Forums | Register | Login | Larger Font
Main-Menu
Home
Login
Register
Add Download
Add News
Forums

Advertise
Affiliate Store US *
Affiliate Store UK *
Affiliate Store CA *
Angry Letter Generator
Avatar Upload
Calendar of Games
Contact
Downloads
FAQs
Forums
Member List
Member Projects
News
News Grabber *
Policy
Polls
Private Messages
Reviews
Screenshot Gallery
Search
Servers - Game
Store - Shirts *
Subscribe
Topics
Tutorials
Weblinks
Tutorials
CoD Mapping
CoDUO Mapping
CoD2 Mapping
CoD4 Mapping
CoD FAQs
HL2 Mapping
HL2 FAQs
SOF1 Mapping
Crysis Mapping
Q4 Mapping
Doom 3 Mapping
Doom 3 FAQs
UT2K3 Mapping
SOF2 Mapping
SOF2 FAQs

Lightray Modeling
General Modeling
General Modding
Adobe Photoshop
Common Mapping Errors

Readme.txt Generator
Members-Online
GrandBlaarg [Forum]
saluden [Downl]
Senator [Forum]
blade12201 [Today]

4 Members and 9 Guests
Chat MODSonline
0 People Now Chatting
MODSOnline TeamSpeak

download TeamSpeak

In-The-News
Friday, May. 16th
Video games 'do not' encourage violence
Friday, May. 16th
Site update
Friday, May. 16th
MODSonair Episode 127
Tuesday, May. 13th
Web hosting, you need?
Sunday, May. 11th
MODSonair 127 Live
Latest Poll
Would you subscribe for a maps/projects backup utility and service?
I'd pay just about anything for that. 2.06%
If it was cheap enough I would. 4.12%
Only if it came with my MODSonline subscription. 6.19%
I can backup my own files. 82.47%
Why would I backup my files? 5.15%
Read More...
8 comments

Newsletter
Name:
Email:
Newsletter Archives
Your Membership
User Name:
Password:
Register.
In The Forums
[TUTORIAL] How to get rid of the wait time
CoD 4 Level Desi.. Posts: (5) Views: (114) by CoDLiNK
SP_Help!
CoD Level Design.. Posts: (2) Views: (15) by Sparks.
Kill3r's K3 MOD is DANGEROUS TO YOU AND YOUR S...
CoD4 General Gam.. Posts: (17) Views: (214) by 4mori_rabbit
train
CoD 4 Level Desi.. Posts: (1) Views: (12) by navysealsniper
Treyarch SPLITREASON.COM - Gear for Geeks and GamersBuy geek and gamer themed T-Shirts and Hats @ SplitReason.com!
Tutorials: CoDUO Mapping
Mapping and modding for Call of Duty United Offensive.

Rating:
Aweful Rating Poor Rating Average Rating Good Rating Excellent Rating
Making a 4 (or More) Line Introscreen
2006-01-02 08:49:00
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

All logos and trademarks and information in this site are property of MODSonline LLC © 2008.
The comments are property of their posters.
RSS news feeds for MODSonline.com can be found News.php.
MODSonline Subscriptions
Partners
Battle for Europe COD2
mp_carpark
modbase.be
Frag Universe
The Firing Box
Quake 4 Mods for Dummies
Call of Duty Headquarters
Half-Life 2 Mods for Dummies
Ask About
Advertising
Friends
CoD 4 Base
After Life Gaming
The Clan Database
Ask About
Advertising
Link to Us
MODSonair
View in iTunes
Please help us to raise in the ranks of podcasting and subscribe to our itunes feed using the link above.
MODSonair Releases
MODSonair Episode 127
MODSonair Episode 126
MODSonair Episode 125
MODSonair Episode 124
MODSonair Episode 123
Copyright © 2008 MODSonline
Tresware Content Management System Copyright © 2008 Tresware
Website Designed and Hosted   Tresware