[Resource] Quake level end intermission

Sprites, textures, sounds, code, and other resources belong here. Share and share-alike!
Forum rules
Before posting your Resource, please make sure you can answer YES to any of the following questions:
  • Is the resource ENTIRELY my own work?
  • If no to the previous one, do I have permission from the original author?
  • If no to the previous one, did I put a reasonable amount of work into the resource myself, such that the changes are noticeably different from the source that I could take credit for them?
If you answered no to all three, maybe you should consider taking your stuff somewhere other than the Resources forum.

Consult the Resource/Request Posting Guidelines for more information.

Please don't put requests here! They have their own forum --> here. Thank you!
Post Reply
User avatar
meatman12
Posts: 84
Joined: Wed Jan 11, 2017 8:59 pm

[Resource] Quake level end intermission

Post by meatman12 »

Here's the snippet of code I used:

Code: Select all

script 3 (void)
{
changecamera (2, 0, 0);
teleport (3, 0, 0);
SetMugShotState ("Grin");
SetMusic ("D_DM2INT");
int mmount = GetLevelInfo (LEVELINFO_TOTAL_MONSTERS);
int mdead = GetLevelInfo (LEVELINFO_KILLED_MONSTERS);
int secfn = GetLevelInfo (LEVELINFO_FOUND_SECRETS);
int sectot = GetLevelInfo (LEVELINFO_TOTAL_SECRETS);
int itemp = GetLevelInfo (LEVELINFO_FOUND_ITEMS);
int itemt = GetLevelInfo (LEVELINFO_TOTAL_ITEMS);

//Player stats//
{
	SetFont("BIGFONT");
	HudMessage(s:"monsters killed: ",
	d:mdead, s:" out of ", d:mmount,
	s:"\nsecrets found: ", d:secfn,
	s:" out of ", d:sectot,
	s:"\nitems picked up: ", d:itemp,
	s:" out of ", d:itemt;
		HUDMSG_TYPEON | HUDMSG_LOG, 0, CR_TAN, 1.5, 0.4, 5.0,
		0.05, 0.0);
}

//Entering... Screen//

int buttons = GetPlayerInput(-1, INPUT_BUTTONS);

if (buttons != BT_USE)
{
delay (1);
restart;
}
if (buttons == BT_USE)
{
playsound (0, "weapons/shotgr", CHAN_BODY, 1.0, false, ATTN_NONE);
SetFont("BIGFONT");
	HudMessage(s:"Now entering";
		HUDMSG_PLAIN | HUDMSG_LOG, 0, CR_WHITE, 1.5, 0.8, 5.0,
		0.05, 2.0);
delay (8);
			HudMessage(s:"The Underhalls";
		HUDMSG_TYPEON | HUDMSG_LOG, 0, CR_RED, 1.5, 0.84, 5.0,
		0.05, 2.0);
delay (72);
exit_normal (0);
}
}
I'll have to make a workaround for the player shooting while in the intermission. Also, in the MAPINFO of the map you'll need to put "nointermission" (without quotes) to make it go straight to the next map. Pressing use will display the "Now entering:" text. There are so many ways I could refine this, but I'm not great at ACS so I wouldn't know how to. Example map below.
Attachments
Slipgate.wad
(94.35 KiB) Downloaded 109 times
Nevander
Posts: 2254
Joined: Mon Jan 06, 2014 11:32 pm

Re: [Resource] Quake level end intermission

Post by Nevander »

meatman12 wrote: I'll have to make a workaround for the player shooting while in the intermission. Also, in the MAPINFO of the map you'll need to put "nointermission" (without quotes) to make it go straight to the next map. Pressing use will display the "Now entering:" text. There are so many ways I could refine this, but I'm not great at ACS so I wouldn't know how to.
Here are those fixes implemented, not tested though:

Code: Select all

script 3 (void)
{
	Thing_Stop(0);
	SetPlayerProperty(1, 1, PROP_TOTALLYFROZEN);
	SetPlayerProperty(1, 2, PROP_INVULNERABILITY);
	
	ChangeCamera(2, 0, 0);
	Teleport(3, 0, 0);
	SetMugShotState("Grin");
	SetMusic("D_DM2INT");

	int mmount = GetLevelInfo(LEVELINFO_TOTAL_MONSTERS);
	int mdead = GetLevelInfo(LEVELINFO_KILLED_MONSTERS);
	int secfn = GetLevelInfo(LEVELINFO_FOUND_SECRETS);
	int sectot = GetLevelInfo(LEVELINFO_TOTAL_SECRETS);
	int itemp = GetLevelInfo(LEVELINFO_FOUND_ITEMS);
	int itemt = GetLevelInfo(LEVELINFO_TOTAL_ITEMS);

	// Player Stats //

	SetFont("BIGFONT");
	HudMessage(s:"monsters killed: ",
	d:mdead, s:" out of ", d:mmount,
	s:"\nsecrets found: ", d:secfn,
	s:" out of ", d:sectot,
	s:"\nitems picked up: ", d:itemp,
	s:" out of ", d:itemt;
	HUDMSG_TYPEON | HUDMSG_LOG, 0, CR_TAN, 1.5, 0.4, 5.0,
	0.05, 0.0);

	// Entering... Screen //

	int buttons = GetPlayerInput(-1, INPUT_BUTTONS);

	if(buttons != BT_USE)
	{
		Delay(1);
		restart;
	}
	else if(buttons == BT_USE)
	{
		PlaySound(0, "weapons/shotgr", CHAN_BODY, 1.0, false, ATTN_NONE);
		SetFont("BIGFONT");
		HudMessage(s:"Now entering";
			HUDMSG_PLAIN | HUDMSG_LOG, 0, CR_WHITE, 1.5, 0.8, 5.0,
			0.05, 2.0);
		
		Delay(8);
		
		HudMessage(s:"The Underhalls";
		HUDMSG_TYPEON | HUDMSG_LOG, 0, CR_RED, 1.5, 0.84, 5.0,
		0.05, 2.0);

		Delay(72);

		SetPlayerProperty(1, 0, PROP_TOTALLYFROZEN);
		SetPlayerProperty(1, 0, PROP_INVULNERABILITY);
		//Exit_Normal(0);
		ChangeLevel("MAP02", 0, CHANGELEVEL_NOINTERMISSION, -1);
		
		Delay(1);
	}
}
Post Reply

Return to “Resources”