Description
[size=24]Translocators[/size]
[b][color=#ff0000]REQUIREMENTS[/color][/b]
[list][*]Eventscripts 1.5.0 [u]build 171[/u] (or newer)
[*]ES_Tools .417 (or newer)
[*]Auth provider[/list]
Note again: this script needs you to have the latest beta version of EventScripts (as of 23th June 2007) and ES_Tools for it to work.
[b][color=#ff8000]WHAT?[/color][/b]
This script addon provides your Source server (should work in any Source game) with translocators the players can use.
A Translocator is a personal device that can be thrown and the player can later teleport himself to it. These translocators also have built-in camera which the player can use!
[b][color=#008000]HOW?[/color][/b]
The players need to bind a few keys to be able to use the translocator. The console commands that should be bound are:
[list][*][b]trans_throw[/b] - throw the translocator or retrieve it back
[*][b]trans_use[/b] - teleport where the translocator currently is
[*][b]trans_cam[/b] - switch between using the spy camera or player's own view[/list]
Players can type [b]!trhelp[/b] to chat anytime to see the list of console commands. Admins can use [b]!trans[/b] to configure some parts of the script on the fly.
[code]!trans 1
- enables the script functionality
!trans 0
- disables the script functionality
!trans del
- deletes somebody from special list
- can be userid, steamid or partial user name
!trans set
- sets someone special colors
- can be userid, steamid or partial user name
- is the color of the translocator when this user is playing in team 2 (in CS: Terrorist)
- is the color of the translocator when this user is playing in team 3 (in CS: Counter-T)[/code]
For example if I was the server admin and I wanted myself to have black translocators when playing in T side and golden translocators when playing in CT side, I'd write this:
[quote]!trans set GODJonez 0 0 0 255 255 32[/quote]
The custom colors will automatically be saved on round_end or when the script is unloaded.
[b][color=#0080ff]COOL![/color][/b]
The translocators are real physics objects reacting to players, world and other objects. Bullets will go through their energic nature, but grenades have enough firepower to make them fly.
There are some effects on teleporting, nothing fancy but still cool. I may need some sounds too, any suggestions of the built-in sounds in the game? (I don't want to steal them from UT ;))
What if you teleport somewhere where the player cannot really be? How about inside walls? Yes that's possible, but this script has fairly effective means to detect being stuck after teleportation and will undo your action. This also applies if you somehow manage to teleport yourself outside the game world (it happened to me a few times when testing in some maps).
Now you are wondering if the players could get stuck by teleporting inside each other. That won't happen so easily. If you try to teleport inside your teammate and friendly fire is off, you will just get your translocator back. However, if friendly fire is on or you are teleporting inside your enemy player, you kill them! TELEFRAG! Of course you as a player are rewarded from the kill.
[b][color=#0000ff]AUTH?[/color][/b]
This script has two permissions that can be configured in your Auth provider:
[list][*][b]use_translocator[/b] - players with this permission can request help and use the console commands (def. #known)
[*][b]admin_translocator[/b] - players with this permission can use !trans say command (def. #admin)[/list]
[b][color=#ff00ff]EVENTS?[/color][/b]
For interaction with other scripts, this addon also fires it's own custom events. This makes it possible to for example include Telefrags to Quake sounds.
The events and their variables are here:
[code]"translocator_throw" // when user thows translocator
{
"userid" // user throwing the translocator
"trans_index" // entity index of the translocator
"trans_name" // entity targetname of the translocator
}
"translocator_retrieve" // when user calls the translocator back
{
"userid" // user retrieving the translocator
}
"translocator_camera" // starts or stops using the camera
{
"userid" // user using the camera
"trans_index" // entity index of the translocator
"trans_active" // 1 if the camera is active
}
"translocator_teleport" // when player uses translocator to teleport
{
"userid" // user teleporting
"trans_from" // vector where player teleported from
"trans_to" // vector where player teleported to
}
"translocator_telefrag" // when player telefrags another player
{
"userid" // the VICTIM userid
"attacker" // the ATTACKER userid
}[/code]
All the events also have normal user-specific event variables such as es_steamid, es_username etc.
[b][color=#808080]BOTS?[/color][/b]
This script has experimental (not tested) support for bots using translocator also. To use this feature you need to load the subscript bots yourself after the main script is loaded:
[syntax="es"]es_load translocator/bots[/syntax]
[b][color=#ff0000]IMPORTANT![/color][/b]
This script makes use of Auth provider. You need to have one loaded and configured [b]before[/b] loading this script addon. For more info about Auth, see [url]http://www.eventscripts.com/Authorization_FAQ[/url]
An example of how your autoexec.cfg could contain:
[syntax="es"]
es_load examples/auth/basic_auth
BASIC_AUTH_ADMIN_LIST "STEAM_ID_LAN;"
es_load translocator
es_load translocator/bots[/syntax]
If you do not use bots or don't want them to use translocators, you don't need the second es_load command.