AHL Map Entities
Items Ammo and Weapons
weapon_akimbob - Akimbo Berettas
weapon_akimcolt - Akimbo Colt 1911
weapon_akimsaa - Akimbo SAAs
ammo_pistol - Generic ammo, includes ammo for all pistols
game_playerleave - fired by a player when they disconnectfrom the server
game_playerjoin - fired when a player when they first JOINS a server
game_playerspawn - fired each time the player spawns
game_playerdie - fired by the player that died
game_playerkill - fired by the player that killed another player (fire for just killing... even if you killed a team mate)
game_playerscore - fired when you GET a frag (In teamplay, this means killing a non-team member)
game_roundtimeover - fire when the time runs out (saves usings some multimanager)
All Map Entities
noreset - bit flag
1 - entity does not reset when the round does
2 - entity should be removed in DM or when 'mp_goalsoff' is set
4 - entity should be removed in TEAMPLAY
8 - entity should be removed if Rounds of off (DM or old style teamplay)
Game Team Master
Game Team Set
Game Player Die
SF_WHOLE_TEAM 0 - Fires when a team member is killed.
SF_WHOLE_TEAM 1 - Fires when whole team (including subteams) is dead.
SF_WHOLE_TEAM 2 - Fires when whole subteam team is dead.
master <targetname> - Master of team. (See Game Team Master).
target <targetname> - The entity to trigger.
The first info_team you add will become the team at index 1
Action Half-Life only supports 4 teams at the moment.
name <max 16 chars> - Name of team
model <max 16 chars> - Model for that team.
max_members <0-?> - Maximum members allowed in team.
min_members <0-?> - Minimum members allowed in team.
respawn <0-?> - Wait this many seconds before being able to respawn.
lives <-1+> - Number of times someone on this team can die.
-1 : Unlimited lives. Team members can respawn as much as they want
1+ : Each team member can respawn this many times before remaining dead
The weaponlist and itemlist is unfortunately not functioning for this release.
weaponlist <bitvalue> - The weapon choices this team has
-1 : Anyone joining this team is considered a civie.
They start with no weapons and can't pick em' up either.
-2 : Anyone joining this team will simply have no weapons at the start.
Might be useful for maps with added items or assigning items with
Weapon Choice BitValues :
itemlist <bitvalue> - The item choices this team has
Item Choice BitValues :
Func doors, trains, buttons etc
SF_CAMERA_ALL_PLAYERS - spawnflag 8
Makes every single player suddenly view through this camera.
All Items (Weapons/Ammo/Special Items)
wait <-0.0+> - respawn after this many seconds
eg. wait 0.1 : near instant respawn
eg. wait -30 : item still exists in the game and will respawn after 30 seconds
master <target_source> - just like triggers etc. Player must match the neccessary master fields to be able to pick it up. Allows team only items etc
Game Player Message
message <string> - say_team message to send
radio <soundfiles> - radio message to send
NOTE : if no (message) is given, no one will know who sent the message
itemname <string> - name of the item to search for. Must be the same as what ever game_item you want it to refer too.
SF_KEEP_ITEM - 1
Normally, firing a target_key removes the item. If KEEP_ITEM is set, it won't. This is useful for making security doors and such, where you may want players to be able to re-use the item.
Game Item *Not Working this release*
pmodel <path/model> - set to the model that will attach to the player for (use with SF_WEAPON)
target <target_source> - fired when normal and touched (as apposed to dropped and touched)
skin <path/skin> - set the skin
targetname <string> - Set so that the item can be USED.
Using the item toggles it state, depending on how it was used. Most things simply reset it (make it respawn).
Two game_item's CAN have the same itemname (for the purpose of restricting items). The way that game_item's are kept track of doesn't matter if one or more have the same name.
teamname <string> - add a teamname to say who 'owns' the item. This is for adding a 'reset' capability if the item is dropped and touched by a player on this team. It is also used to fire a different target if a player on this team touches it while it is still available.
ally_target <teamname> - goes with 'teamname'.
If a player on the team touches the item, but does not pick it up, this target will be fired.
If a player on teamindex team touches a DROPPED version of the item, but does not pick it up, this target will be fired & the original item reset.
If someone carrying the item drops it (through death etc), this target will be fired
0 - When dropped, respawn immediately
If the item respawns on its own (after being dropped), this target will be fired
Exists only for reference. If targetted, will 'give' itself to the target. Use it to give ppl security cards etc
Copies itself to the person who touched. That copy then follows that person around (Like the flags in TFC CTF etc)
Becomes the players active weapon and looks like they are carrying it. Attacking with the item drops it.
teamname <teamname> - CURRENTLY NOT WORKING FOR THIS RELEASE. TEXT IS SEEN BY ALL PLAYERS.
Send a message to everyone on this team
%p - if in the 'message' part, will be substituted with the activators name instead. eg. "%p has taken the flag!" would come out as "Mr_Grim has taken the flag!"
%t - if in the 'message' part, will be substituted with the activators teams name instead. eg. "The %t's flag has been taken!" would come out as "The SAS's flag has been taken!"
When killed by a player, will fire this target
If 'used' by a player, fires this target
Use this model. Defaults to Neo if not set.
health <integer> - set health (default : 100)
angle <0-359> - sets the NPC facing this angle.
master <game team master name>
Set to a game_team_master to make them team specific. When an NPC is mastered, the team that shares the same master with the NPC cannot damage or kill the NPC. This is in the interests of stopping 'game spoilers'.
Monster Hostage *Not working this release*
Trigger Hostage *Not working this release*
Game Player Equip
The new way is more fiddly, in order to prevent script kiddies hacking the code I think...
Heres how it works, (basically)
Start a half-life DEDICATED server (dedicated is important!!). Make sure bots are turned off
Start a hltv proxy, and point it at your server.
On the server, change level to the level you want to make an overview for (changelevel ahl_xx)
Then start a half-life game, and connect to the proxy, using the hltv slot (its the one that has no text on it at the moment).
Type developer 1
Change views a couple of times, this should get rid of the "help text borders". Keep going until you are come to a big green grid.
Type dev_overview 1
This should put you in the top down mode, if all you get is a green screen, you probably didnt switch to overview mode before typing dev_overview, type dev_overview 0, and cycle through the different views again and it should work.
You can move the map around with keys FORWARD,BACKWARD, RIGHT & LEFT. Maps will be automatically rotated to fit optimally onto the screen. If they are rotated, FORWARD and RIGHT are swapped, etc. Use the keys ATTACK and ATTACK2 to change the zoom. With zmin and zmax you can choose which parts of the map should be drawn. Only polygons between these two values are shown. This can be used to cut off ceilings or other unwanted objects. Origin is your viewpoint projected into the map. The map will be rotated around this point if you move the mouse in overview mode. Zmin can be changed with UP & DOWN and zmax with JUMP & DUCK. If you think you've found the correct values for the new map, simply make a screenshot and remember all of the values, which are needed for the overview description file (to avoid console text on the screenshot set developer 0).
Align your map to fit the screen. Note down all of the numbers to do with the position of the camera
Grab screenshots of the map. If necessary, move up and down to grab screen shots of the different levels of the map, then use photoshop to merge them together (use layers and the eraser tool) or add neat effects (eg, no-credit could be re-done to look like a sketch of the map, as seen in the petrol station, or other maps could be changed to look like security blue-prints or something).
Save it as the mapname.tga, and place it into the overviews directory. Take one of the map.txt files from one of the other mods (DMC, TFC, HL), rename it to your maps name.txt, open it, and fill out the values with the ones you noted down earlier...
cut and paste again...
Next, you have to create an overview description file that will be parsed by the client DLL to get the map image filename and the correct view parameters. This file must be in the overviews\ directory and must have the same name as the current BSP file, but with TXT as its extension. Here is an example (overviews\de_vegas.txt):
// overview description file for de_vegas.bsp
ORIGIN 1903 -1283 -1088
The global section describes zoom, the origin point the map is rotated around, and a boolean to indicate if the map image is rotated or not. The layer section describes the map image filename and at which height (z-axis) the map should be shown. The overview mode uses the some coordinate space as the game world and all icons are drawn at the same position as their corresponding entities
Then when you join a hltv server, you should find when you switch to a map view there is a picture of the map, rather than a green grid.
I have to say, the biggest problem I've found is that the entities on the map sometimes didn't relate to the position of the entities in the world. The worst one for this is hondos maps (I tried doing a no-credit one. It seems ok now..), because the secrets make the maps much larger than the overviews are. I think the best bet is to make sure the HEIGHT field has the correct value for whatever you used as zmax. Then watch the game with some bots or something to see if you have the origin set up correctly, if not, adjust the origin, and reload the level. (this is where running the game in a window comes in useful, add -window 640 480 to your commandline)