ActionHUD v1.1 for 1.40/1.41
by smokey
⤓ Download · 18.2 KBBy: smokey Creates a generic transparent message hud with auto rotate based on a delay on a per line basis. Includes plugins for kill messages, flag messages, and action messages (nade jump/mid-air) Bindable command in settings to toggle size of hud / number of lines. Also includes the BOV plugin for fonts.
- Filename
actionhud_v1.1.zip- Size
- 18.2 KB (listed 18.2KB)
- Type
- ZIP
- Version
- 1.1
- Developer
- smokey
- Last update
- Aug 19, 2023 - 15:30
- Format
- Zip archive data, at least v2.0 to extract, compression method=store
Readme — readme.txt (from the archive itself)
ActionHUD v1.1 for 1.40/1.41 By: smokey - Creates a generic transparent message hud with auto rotate based on a delay on a per line basis - Includes plugins for kill messages, flag messages, and action messages (nade jump/mid-air) - Bindable command in settings to toggle size of hud / number of lines. Suggest bind to Shift+U - Preferences (to change defaults, edit in config/ClientPrefs.cs or in console): - $pref::ActionHUD::Delay = "5"; // Display each line for this number of seconds (Default: 5) - $pref::KillMsgs::ClientOnly = "false"; // Only display kill messages that include ourselves (Default: false) - $pref::ActionMsgs::ClientOnly = "false"; // Only display action (nade jump/mid-air) messages that include ourselves (Default: false) - $pref::FlagMsgs::ClientOnly = "false"; // Only display flag messages that include ourselves (Default: false) - $pref::FlagMsgs::FlagSounds = "true"; // Play flag sounds that are filtered out of the chat hud (Default: true) Instructions: Extract the config and plugins folders to your Tribes folder. Also includes the BOV plugin for fonts.
Readme — plugins/BovExpansion_140.txt (from the archive itself)
https://www.buymeacoffee.com/bovidi
You don't have to do the above (I do this for fun so I don't expect anything).
Anyways, to the notes
Current Version Note:
Version 0.1.1a
Bug fix for when someone uses the Tribe.exe built for Linux (loading in Linux was handled slightly differently in that exe)
Version 0.1a
Initial more solid release...the functions all start with Bov...because why not
Functions:
Bov::createConnection(%port)
%port - A network port number that an UDP packet will be sent out. This is the port that will broadcast messages out.
You can use something like python to listen for a response
Bov::broadcast(%message)
- %message - the message to be sent out
- Make sure you have created a connection first!
Bov::setTextFormatFont(%object, %fontid[0-9], %fontname/fontTag);
%object - The object ID or the name of the TextFormatFont you want to change the font of!
WARNING - Make sure the %object is an actual TextFormatFont...my function doesn't check...if you send in a player
object it will assume it's still a font and will cause unexpected behaviours
%fontid - This is a range of 0 - 9...corresponds with the <f1> tags
%fontname/fontTag - font file name or the currently loaded fontTag
Example Code:
function testFG()
{
%size = "800x600";
%sizewidth = String::getsubstr(%size, 0, String::findsubstr(%size, "x"));
%sizeheight = String::getsubstr(%size, String::findsubstr(%size, "x")+1, String::len(%size));
newObject(TVTstartup, FearGui::FearGuiBox, %sizewidth/2-150, %sizeheight-180, 300, 150);
%obj = newObject(TVTText, FearGuiFormattedText, 0, 2, 190, 400);
AddToSet(TVTstartup, TVTText);
AddToSet(MainMenuGui, TVTstartup);
Control::SetValue(TVTText, "<jc><f0>f0<f1>f1<f2>f2<f3>f3<f4>f4<f5>f5");
Bov::setTextFormatFont(%obj, 1, IDFNT_MR_18B);
Bov::setTextFormatFont(%obj, 2, IDFNT_CONSOLE);
Bov::setTextFormatFont(TVTText, 3, "if_dr_18b.pft");
Bov::setTextFormatFont(TVTText, 4, IDFNT_CONSOLE);
Bov::setTextFormatFont(TVTText, 5, IDFNT_CONSOLE);
Control::SetValue(TVTText, "<jc><f0>f0<f1>f1<f2>f2<f3>f3<f4>f4<f5>f5");
}
function testBroadcast() {
Bov::createConnection(1123);
Bov::broadcast("Hello");
Bov::broadcast("World");
}
Python Example:
#Listens to the 1123 socket waiting for Tribes to say something
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("127.0.0.1", 1123))
arr = [None] * 4096
while(True):
data, address = s.recvfrom(4096)
words = str(data).split()
if b"Game::EndFrame" not in data:
print(f"{data}");Contents — 12 files (inside the archive)
- config/Modules/
- config/Modules/ActionHud/
- config/Modules/ActionHud/ActionHud.acs.cs
- config/Modules/ActionHud/Plugins/
- config/Modules/ActionHud/Plugins/actionmsgs.acs.cs
- config/Modules/ActionHud/Plugins/flagmsgs.acs.cs
- config/Modules/ActionHud/Plugins/killmsgs.acs.cs
- config/Modules/Match.acs.cs
- config/Modules/ServerMessageFilter.acs.cs
- plugins/BovExpansion_140.dll
- plugins/BovExpansion_140.txt
- readme.txt
Source: The Exiled — Tribes Repository
Original page: https://library.theexiled.pwnageservers.com/file.php?id=2982
Archived source HTML: _source/file/2982.html
Original page: https://library.theexiled.pwnageservers.com/file.php?id=2982
Archived source HTML: _source/file/2982.html