ACS Prefab Database

Archive of the old editing forum
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. This forum is archived - please use this set of forums to ask new questions.
Locked
User avatar
Apothem
Posts: 2070
Joined: Sat Nov 29, 2003 7:13 pm
Location: Performing open heart surgery on an ACS compiler.

ACS Prefab Database

Post by Apothem »

As I said in my previous post, the official ACS prefab database has begun!
Tutorials on specific commands are appreicated!

RULES:
The scripts must be properly commented and documented so anyone can use them.
The TID number must be assigned to a variable in order to be submitted so a simple enter/open script will assign the proper numbers to the variable so TID's etc will work properly.
Document all sector tags, TID's, and line ID's used so mappers know where they go.
Scripts must be easy to implement and practical to use.
Post your contribution here so it can be rated. If you want to put your script into a sample wad, you are free to do so.

If your script requires it's own graphics and/or sound effects for whatever reason, please make sure to post a wad with the script that has the gfx inside and directions on where to put them in the wad!!!

Judges:
Sir_Alien
SolarSnowfall
Jallamann
Nmn

Things that will be judged:
Functionality
Documentation
Ease of implementation
Support
Bug free

Everything will be graded on a 5 point scale and the overall score will be the average of the scores.

If you score lower than a 4 on the bug free section you may resubmit. Also, if you do score lower than a 4, you are required to fix any and all bugs before we can continue to judge your script.

If you dont agree with, or have any other ideas as to what other features that should be judged, please post here and make it known! :)
Last edited by Apothem on Fri Jan 13, 2006 12:40 pm, edited 20 times in total.
User avatar
Shadelight
Posts: 5113
Joined: Fri May 20, 2005 11:16 am
Location: Labrynna

Post by Shadelight »

heh, I've got a neat idea for a camera cutscene script.

Code: Select all

//*******************
//neat camera effects( I think)
//by KingofFlames
//********************
script 50 (void)
{
//change the camera so it views over doomguy's right shoulder.
changecamera(45, 1 ,0);
delay(40);
//change the camera so it views over doomguy's left shoulder.
changecamera(41);
delay(40);
//change the camera so it views over the Imp's left shoulder.
changecamera(42);
delay(40);
//change the camera so it views over the Imp's right shoulder.
changecamera(43);
delay(40);
//move on to the next acs demonstration.
thing_changetid(0,1337);
delay(20);
thing_move(1337, 50);
}

what you have to do first, is that you have to place the cameras, and change the Z-height to what you think is the shoulder height for the player and the monster. Then you have to place 2 cameras behind the player start spot. Remember to freeze the Imp by making it dormant. You then place 2 cameras behind the Imp, or whatever monster you using. Then you write out the script as I showed you. But! remember to put in delays while making the changecamera script. Ignore the thing_changetid and the thing_move. That's just for the demonstration wad.
how does that look apothem? I have no demo map, but I'm using this for cutscenes in my level. So it can be used for this demonstration level. I edited it, now what do you think?
Last edited by Shadelight on Sun Sep 25, 2005 2:41 pm, edited 1 time in total.
User avatar
Apothem
Posts: 2070
Joined: Sat Nov 29, 2003 7:13 pm
Location: Performing open heart surgery on an ACS compiler.

Post by Apothem »

You have very little documentation, you lack an explanation for the TID's, this is not practical to use because it takes about 3 seconds to do in notepad. We're looking for things that are kinda advanced or hard to make as to make it easier for people to modify or enhance their levels. Cutscene scripts will not help anyone because most of the time they only work for the level SPECIFICALLY designed for them. So please, try to create something that can be used no matter where you put it and have proper documentation on TID's and functionality.
User avatar
Shadelight
Posts: 5113
Joined: Fri May 20, 2005 11:16 am
Location: Labrynna

Post by Shadelight »

sorry about that, I just thought it would be a good idea for a cutscene :(
User avatar
Apothem
Posts: 2070
Joined: Sat Nov 29, 2003 7:13 pm
Location: Performing open heart surgery on an ACS compiler.

Post by Apothem »

KingofFlames wrote:sorry about that, I just thought it would be a good idea for a cutscene :(
Thank you for trying. If you could clean it up a bit and possibly use a camera cycle loop, it'd prolly be worthy of being used. :)
User avatar
Shadelight
Posts: 5113
Joined: Fri May 20, 2005 11:16 am
Location: Labrynna

Post by Shadelight »

only thing is, is that I don't know how to do a camera cycle loop :(
User avatar
Necromage
Posts: 484
Joined: Thu Feb 10, 2005 3:13 pm
Location: NJ
Contact:

Post by Necromage »

Security Camera Change
Spoiler:
Spoiler:
User avatar
chaoscentral
Posts: 677
Joined: Sun Feb 27, 2005 4:32 pm
Location: Revere, MA
Contact:

Post by chaoscentral »

Ive got a somewhat difficult one, I'll post it in about 5 min though... anyways, I remember when I had a hard time setting up a thing where when you kill a certain number of monsters something happens... so I thing I might submit that if thats good enough
User avatar
Shadelight
Posts: 5113
Joined: Fri May 20, 2005 11:16 am
Location: Labrynna

Post by Shadelight »

cool, I've always wanted a demonstration for that. That'd be great cc
User avatar
chaoscentral
Posts: 677
Joined: Sun Feb 27, 2005 4:32 pm
Location: Revere, MA
Contact:

Post by chaoscentral »

Alright, here is that script I said I would write... here ya go, complete with easy to understand comments

Code: Select all

//***********The Input-Output thingy*************\\
//***********By ChaosCentral*********************\\
#include "zcommon.acs"

   Script 1 (void) //Note that any script number can be used, as long as you activate it just once
   {
         int mc; //initializes the variable we will use to keep track of how many monsters there are

         mc = ThingCount('Monster', 'tid'); //Assigns the number of monsters marked with a certain thing id

         While(mc >= 1) //If monsters are alive, place your filler here ex. a health counter
         {
                  Delay(1); //This is required before a restart, or the script will go into an infinite loop
                  Restart; //This will restart the script so it will constantly update the monster count
         }

         If(mc == 0) //If the monsters are all dead your script goes here
         {	//You're stuff here
                  Terminate; //This is very important, or the script will go into and infinite loop
         }
   }
Dr_Ian
Posts: 41
Joined: Wed Sep 07, 2005 4:19 pm
Location: Edinburgh

Post by Dr_Ian »

That can be simplified a bit:

Code: Select all

#include "zcommon.acs"

script 1 (void)
{
	while (ThingCount(type, tid) > 0)
		delay(1);
	
	// your stuff here
}
If you want to search any monsters with a tid, use monster type of T_NONE. Specific types are here.
User avatar
chaoscentral
Posts: 677
Joined: Sun Feb 27, 2005 4:32 pm
Location: Revere, MA
Contact:

Post by chaoscentral »

youre also missing a bunch of stuff, mainly the restart and the terminate... also some brackets and the monster count part... who cares how short it is as long as it gets the job done right
Dr_Ian
Posts: 41
Joined: Wed Sep 07, 2005 4:19 pm
Location: Edinburgh

Post by Dr_Ian »

You don't need that stuff.
User avatar
Shadelight
Posts: 5113
Joined: Fri May 20, 2005 11:16 am
Location: Labrynna

Post by Shadelight »

yeah.... you do.
Dr_Ian
Posts: 41
Joined: Wed Sep 07, 2005 4:19 pm
Location: Edinburgh

Post by Dr_Ian »

No you really don't.
Attachments
clogged.zip
Example wad of usage of ThingCount to tell when some dudes get killed and all that.
(2.99 KiB) Downloaded 134 times
Locked

Return to “Editing (Archive)”