Accuracy (Acc) and Level maps

Acc_homer, acc_penguinz, level-168.
The first two are well known old school accuracy maps and the last one the most popular level map (since they all were available in the first defrag paks).

The goal in accuracy maps is to shoot targets to collect a defined amount of "frags" and thereby, when the fraglimit is reached, stop the timer.
Example acc_homer: You need to shoot 15 targets to reach the fraglimit. You can see this via the fraglimit display (lower right). Sometimes after each shot and hit you get a text which says how many frags are left to stop the timer. Mostly you run around with a railgun only.

(Image acc_homer frags1) (Image acc_homer frags2)

The principle in level maps is that you get "frags" by walking through triggers in separate parts. If you have done all those tricky parts, a final door opens which you have to cross to stop the timer or you need to do the final challenge (cellar2). Sometimes the frags are getting displayed, sometimes they are not. Very often you will find a map marked as a "run" although it's more a "level" map.

(Image lvl end1) (Image lvl end2)

This tutorial shows how to create such maps. The target_fragsfilter tutorial is a good basis for this one. Read it, if you haven't already.

We'll create an accuracy map which will need five frags by the player to stop the timer.
Add two rooms. One bigger box, with four buttons inside which can't be reached with the gauntlet, and a smaller one which will be the spawn room. Here you will add a trigger_multiple and connect it to a target_starttimer and a target_init to remove the machine gun. Otherwise the player probably will use the machine gun to shoot the targets (read the target_init tutorial if you don't know how).
For the buttons use the "health" key, so they are getting shootable, the "wait" key, so the player can't shoot it again immediately and therefore looses time if he waits, and the right "angle" key for the button (if you have no idea what I'm talking about, then read the button tutorial).
As weapon put in a railgun in the middle of the room with a "count" value of "4" and a "wait" value of "6".

(Image acc_boxes)

This will be our starting point for this tutorial.

Now place four target_score entities in front of each button. Connect every button with its target_score in front.

(Image acc_buttons connected)

In one target_score entity window type in "count" as key and "2" as value so the player gets two frags when he activates the button. I will take the one over the starting room, since it's hard to find.

Now the player will reach five frags if he shoots all buttons. We just need a filter which will tell the game to stop the timer. This works with a target_fragsFilter entity. So, add four for each target_score entity somewhere in the big room together with a target_stopTimer. Afterwards connect the fragsFilters with the stopTimer.

(Image acc tfrags)

Open up the fragFilter's entity window and type in "frags" and as value "5". Also tick the "reset" flag but NOT the "silent" flag (like you did in the target_fragsFilter tutorial).

(Image acc tfrags entity)

The first one will reset the frags to zero if the player reaches the fraglimit and stops the timer (you could also leave it, so the player MUST restart the map), the second one will hinder the game to display the "x more frags needed" message if it's ticked. This would be smart to use if you have a door which can only be opened by a two buttons system. You won't like a message there. Or perhaps you do. "frags" tells the engine that five frags are needed to trigger the connected entity. In our case the stop timer.
Connect each button, not only with the target_scores, but also with the target_fragsFilters.

(Image acc buttons ff)


Only one thing is missing. Of course you need to tell the game what genre your map is.
Open up the defi file and put an accuracy between the quotation marks in the style section instead of a run.

File Acc_homer.defi

{
map "Acc_homer"
longname "Acc_homer"
style "accuracy"
author "Noskey"
}


Now compile the map and create a pk3 file.
Being defined as an accuracy map, it can also be found in its category in the menu.

(Image acc menu)

If you want to create a "level" map then do the same like you did in this tutorial for the accuracy map. Just create several parts which need to be tricked and put a target_score at the end of each part. They can either be activated by a simple trigger or by a button. Then connect a target_fragsFilter with the last door or already with the target_stopTimer. Just one thing is different. You need to define the "level" in the defi file again. Just type in "level" instead of accuracy, run or training.

File level-168.defi

{
map "Level-168"
longname "Escape from underground..."
style "level"
author "Noskey"
}


(Image lvl menu)

You can get the start and end map for this tutorial here:

Tip: If you want that voice, which also appears if there are only three/two/one frag(s) left in a deathmatch game, then place three new target_fragFilters somewhere in the room, separated from the rest. Also add three target_speakers for each fragsFilter. Now open the entity window of the first fragsFilter and type in "frags" and as value use the number which leaves three frags. So in our case it would be "2". Connect this target_fragsFilter with a target_speaker. For the "noise" value use "sound/feedback/3_frags.wav" (can be found in the pak0.pk3). Also set the "activator" flag.
Do the same for the rest of the target_fragFilters and target_speakers, except you always subtract one from the number before and always use another wav file.
Don't connect the fragFilters with any button or any other entity except the target_speakers.
You can see the result in the acc_tutorialmap_end.map file.

Tip: Besides buttons you can also use weapons or any other item to connect to a target_score.

Problem: The "x more frags needed" message only appears if each entity which activates a target_score is also connected with one target_fragsFilter. That wasn't the case in earlier Defrag versions. At that time you only had to connect a button to a target_score and it displayed the message and played the "x frags left" voice automatically. That's why you won't see the text or hear anything in older accuracy maps. Be sure you have the same "frags" value in each target_fragsFilter.

Written by Bliccer