WhaleClient for Enemy Territory


Introduction
WhaleClient
Version 1.3
Released 06/15/2005
By KillerWhale
KillerWhaleMail@hotmail.com(Please use the forum link below for questions/suggestions/bugreports)

The latest version and answers to any questions are available online at the Rainhosting forums: http://forums.rainhosting.com/


Installation

WhaleClient is a client sided mod for ET which can be used with multiple (server sided) ET mods.
It's tested and found to work with shrubET (1.1-b/1.2test13), ETpub (up to the latest version, 0.5.2) and ETmain (2.55/2.56/2.60) but it should also work right with more mods though this is untested.
It's recommended to remove any other client mods from the server/client before installing.

WhaleClient can be installed on a server so all players must download and use it or installed by players for playing on unpure servers (client-only):
Uninstallation
Acknowledgments (in alphabetical order)
The following people assisted in testing and/or contributed ideas or bug reports: Special Thanks:
The ETpro team (bani, rain, fretn and more): their mod gave inspiration for a lot of features, also credit for some sounds and models goes to them.
The ETpub team (tjw, josh and more): for allowing me to support their mod and some pieces of etpub_client code.
Lastly thanks goes out to for the people who posted bugfixes on the SplashDamage forums, especially Chrunker (for a few of the Project Bugfix fixes).


What's New (lists the most major changes)

Features

Hitsounds
Version Added: 1.0
Last Modified: 1.2
Documentation last modified: Feb 6, 2005
Whaleclient supports (client-sided) hitsounds for all bullet hits, with the exception of the crew-served MG.
Hitsounds are sounds that play if you hit a player. Whaleclient supports different sounds for hitting a enemies head and body (everything else except the head).
It can play a different sound when you hit your own teammate.
You can toggle hitsounds with cg_hitsounds (default: 0).
It's possible to use your own hitsounds (this is probably only useful if you play on a unpure server, or the server must add a pk3 with custom hitsounds).
To add your own sounds (they'll have to be .wav sounds!), you'll have to zip the sound (it can be in a few folder levels, like "sound/mysounds/hithead.wav"), rename the zip file to a .pk3 extension and change one or more of the following settings in ET:
Head hitsound
You can change the sound played when you hit a enemies head by setting:
cg_hitheadsound "[path and name of the wav file in the pk3 pack]" (default: "sound/whaleclient/wc_headshot.wav")
Body hitsound
You can change the sound played when you hit a enemies body by setting:
cg_hitbodysound "[path in the pk3 and name of the wav file]" (default: "sound/whaleclient/wc_hit.wav")
Teammate hitsound
Finally you can change the sound played when you hit a teammate by setting:
cg_hitteamsound "[path in the pk3 and name of the wav file]" (default: "sound/whaleclient/wc_headshot.wav")


Voicechats with custom text
Version Added: 1.2
Last Modified: 1.3 test1
Documentation last modified: Apr 25, 2005
With WhaleClient you can receive voicechats with custom texts, much like how it's done in ETpro.
You can send such a voicechat with the following command with parameters:
Syntax: vsay [@private client(s)] [voicechat] [soundnumber] [custom text]
  • [@private client(s)]: Voicechats can be send to a specific person or group(clan) by adding this (optional) parameter. The parameter has to start with a @ sign followed directly (no space!) by a partial string of the person or group you would like to send the voicechat to.
  • [voicechat]: the actual voicechat to be played, always has to be there.
  • [soundnumber]: The number of the sound and text as defined in the voicechat script. This can be used to always play the exact same voicechat every time. If soundnumber is greater then the number of defined in the voicechat script it will use a random soundnumber available.
  • [custom text]: The rest of the vsay command is shown as the text of the voicechat. This will override the standard voicechat text, so it's like normal chat with a added sound.

  • Every parameter is optional except the voicechat, but they have to be in this order.
    NOTE:Only players with WhaleClient (version 1.2 and upwards) installed will be able to receive these new voicechats, people without it will receive the normal one, unless it's a private voicechat in which case they'll receive nothing. Also note that people without it installed can still send these voicechats (but not receive them them self).

    A few examples:
    vsay goodgame : sends a normal voicechat for saying "Good game!".
    vsay @whale goodgame : sends a private voicechat to all people with "whale" in their name (case and color insensitive).
    vsay goodgame 1 : sends a normal voicechat to all people with always the same sound and text (the 2nd of the voicechat script).
    vsay goodgame gg : sends a normal voicechat to all people with a random soundnumber but with only the text "gg".
    vsay @whale goodgame 1 gg : combines everything above.

    You can choose to not receive these new voicechats:
    cg_noCustomVoiceChat (default: 0) is a bitflag variable with the following properties: (add up the values to disable multiple features)
  • 1 - Display voicechats normally (no custom text or sound).
  • 2 - Ignore private voicechats.


  • Text Shortcuts
    Version Added: 1.3 test1
    Last Modified: 1.3 test2
    Documentation last modified: Jun 15, 2005
    WhaleClient now supports a lot of Shrub's text shortcuts and even adds a few more.
    Text shortcuts can be used in normal ((fire)team)chat, ((fire)team)voicechat or echo/cpm.
    List of supported Text Shortcuts:
  • [d] = last player who killed you. *
  • [dw] = the last weapon you got killed with. *
  • [k] = last player you killed. *
  • [kw] = the last weapon you killed with. *
  • [ks] = your health at the moment you killed the last player. *
  • [n] = your name.
  • [p] = last teammate you pointed at.
  • [s] = your health.
  • [t] = your current ammo.
  • [l] = your current location (coordinates).
  • [w] = your current weapon.
  • (* = on shrub it requires g_logoptions bitflag 1 off, see explanation below)
    It's possible to disallow WhaleClient to scan for textshortcuts in your text:
    cg_noCustomVoiceChat (default: 0) is a bitflag variable with the following properties: (add up the values to disable multiple features)
  • 1 - Don't use text shortcuts in your chat messages.
  • 2 - Don't use text shortcuts in your voicechat messages.
  • 4 - Don't use text shortcuts in your echo/cpm messages.

  • NOTE:
    You'll have to use "/say " command if you want to use text shortcuts directly via the console.


    Obituary text, Killingspree's and Multikills
    Version Added: 1.2
    Last Modified: 1.3 test2
    Documentation last modified: Jun 15, 2005
    For etpub servers (etpub version 0.5.1 or higher):
    The server must have set "g_obituary" to "1" (g_obituary 1) for the following features to work (properly). For shrub servers:
    The server must have set "g_logoptions" to not include bitflag 1 (thus meaning: g_logoptions must be even) for the following features to work:
    (g_logoptions bitflag 1 = Move kill and team change messages to the bottom of the clients' screens.)
    Note:You can still move these messages to the chat box with the cg_killsdisplay cvar (see below).
    These features will work on every etmain server and most other mods.

    cg_killsdisplay (default: 0) is a bitflag variable with the following properties:
  • 1 - Puts the obituary (kill) messages at the bottom of the screen (in the teamchat) instead of at the left side. This has the same effect as g_logoptions 1 bitflag for Shrub/etpub.
  • 2 - Display team kill weapons in the obituary (kill) messages.

  • cg_killingspree (default: 0) is a bitflag variable with the following properties: can be set to add killing spree messages and multikills messages:
  • 1 - Adds killing spree messages (at every 5 kills without dieing, up to 30 kills ("Wicked Sick")).
  • Note: Shrub's Goomba kills are not seen as kills nor deaths for the killing spree counter.
  • 2 - Adds multikill messages (if you kill players within 3 seconds after eachother, up to 7 kills ("Holy shit!")).

  • Added First Blood message on the first kill of the map.
    Added Goatsounds: If you kill someone with a knife both the killer and killed player hear a goat sound (like in ETpro).


    Disable fireteam invitations
    Version Added: 1.1
    Documentation last modified: Feb 13, 2005
    Fireteam invitations can be disabled with the bitflagged cg_nofireteam cvar (default: 0). Add up the desired features and set cg_nofireteam appropriately to enable them:
    1 - It won't ask you to create a fireteam anymore when you join a team.
    2 - Disable invitations to join a fireteam. It automatically votes "no" with no voting popup text.


    Advanced Scripting support
    Version Added: 1.3test2
    Documentation last modified: May 20, 2005

    Client auto map scripts:
    When a map loads or restarts, the client will look for the following scripts and run them if found:
    autoexec_(mapname).cfg
    autoexec_default.cfg
    For example if the map rotates to battery, the client would look for autoexec_battery.cfg and run it. If autoexec_battery.cfg is not found, it would try to run autoexec_default.cfg instead.

    Client auto team scripts:
    When players spawn with a changed team, the client will run one of the following scripts according to the team they changed to:
    autoexec_axis.cfg
    autoexec_allies.cfg
    autoexec_spectator.cfg

    Client auto class scripts:
    When players spawn with a changed class, the client will run one of the following scripts according to the class they changed to:
    autoexec_soldier.cfg
    autoexec_medic.cfg
    autoexec_engineer.cfg
    autoexec_fieldops.cfg
    autoexec_covertops.cfg

    Client class change commands for class change scripts:
    The command "nextclass" can be used to change the class, just like etpro's "class" command:
    (Shrubet also has a "class" command but the weaponslot numbers are a little different.)
    Syntax: nextclass [class] (main weapon slot) (secundairy weapon slot)
    with:
    [class] = soldier/medic/engineer/fieldops/covertops or shorter s/m/e/f/c
    (main weapon slot) = optional weaponslot number (like in the limbo menu), should be self-explainary.
    (secundairy weapon slot) = optional secundairy weaponslot number, also self-explainary.

    Client latched team change commands for team/class change scripts:
    The command "nextteam" can be used to change your team after the nextclass has been chosen.
    Examples of the nextteam and nextclass commands can be seen in the teamclass selection menu file.


    Client Chatcommands
    Version Added: 1.1
    Last Modified: 1.3 test2
    Documentation last modified: May 20, 2005

    New shrub chat commands added: By typing commands /!whaleclient, /!flipcoin, /!localtime, /!listmaps or /!help in the console, they will be returned only to yourself.
    Chat commands can be disabled with the cg_noChatCommands (0) cvar.


    ETpub specific
    Version Added: 1.3 test2
    Last Modified: 1.3
    Documentation last modified: Jun 15, 2005
    WhaleClient changes added for ETpub only
  • Integrated the Etpub_client (version 20050526) in WhaleClient:
  • Etpro mapscripts work properly with the client. *
  • ForceCvar (serverside command) is now supported and also enhanced: *
  • Added cg_backupForceCvar (default: 1) which makes a backup of your etconfig in your profiles folder when a cvar is forced (once a day). *
  • The cvar cg_debugHitboxes (0) is a cheat protected cvar to toggle etpub's hitbox debugging.
  • Playdead no longer shows the respawn message.
  • Added the new etpub vote options to the vote menu.

  • * = needs etpub 0.5.1 or higher to be installed on the server.

    Display Changes
    Version Added: 1.3 test1
    Last Modified: 1.3 test2
    Documentation last modified: Apr 24, 2005


    Small Features & things not needing much elaboration and I couldn't fit anywhere else
    Last Modified: 1.3 test2
    Documentation last modified: Jun 15, 2005


    Custom quick menu's
    Version Added: 1.1
    Last Modified: 1.3test2
    Documentation last modified: May 20, 2005

    With Whaleclient it's possible to add your own new quickmenu's just like the voicechat menu. This is useful for example if you want to make your own voicechat menu or your own team/class selector menu's.
    Detailed information how to make a menu can be found on various ET websites or look at the normal menu scripts to see how the normal voicechat menu is done as an example.
    You can open custom menu's with the openmenu [menuname] command. The parameter [menuname] is the name of the menufile and name the first menu to be opened in the file minus the "wm_" prefix. A custommenu file must start with the "wm_" prefix and must be located in the ui folder packed in a pk3 file. So for example the command "openmenu voicechat" tries to load the "ui/wm_voicechat.menu" file and if found it tries to open the menu named "wm_voicechat" inside.
    Important note: There is a maximum number of menu's that can be loaded per map.


    Bugfixes and optimalisations
    Version Added: 1.0
    Last Modified: 1.3test1
    Documentation last modified: Jun 15, 2005
    Etmain bugfixes: Bugs fixed from the last WhaleClient (version 1.2):

    Serversided settings
    Version Added: 1.2
    Last Modified: 1.3
    Documentation last modified: Jun 15, 2005
    Here are a few server sided settings that allows server admins to restrict WhaleClient (parts).
    These lines have to be added to the server script and a restart is needed.


    WhaleClient documentation - © 2005 KillerWhale