CrosshairEntityCallback
Modding resource. Provide some useful callbacks on crosshair.
About this mod Author’s original text
Deprecated. Use ClPlayerCallback instead.
This mod provides some useful functions in client.
You should not install this until you are told.
Functions
cl_player.gnut
// This allows you to get the entity your crosshair look at.
void function AddCallback_CrosshairCurrentTargetChanged( void functionref( entity player, entity newTarget ) callbackFunc )
Examples
This is a helper to print entity info you look at.
untyped
global function MyHelperInit
struct {
entity currentCrosshairEntity
var rui
vector position = Vector(0.51, 0.52, 0.0) //x axis: 0.0 is max left, 1.0 is max right; y axis: 0.0 is max top, 1.0 is max down; z doesn't do anything
vector colour = Vector(1, 1, 1) // rgb, range: 0 - 0.0 to 255 - 1.0
float alpha = 0.6 //maxiumum alpha of the text, range: 0.0 to 1.0
float size = 28 //size of the text
} file
void function MyHelperInit(){
thread Monitor()
}
void function Monitor(){
WaitFrame()
AddCallback_CrosshairCurrentTargetChanged(GetCrosshairEntity)
RegisterButtonPressedCallback(KEY_O, PrintEnt)
AddOnDeathCallback( "player", OnPlayerDeath_StopRui )
// RUI
file.rui = RuiCreate( $"ui/cockpit_console_text_top_left.rpak", clGlobal.topoCockpitHudPermanent, RUI_DRAW_COCKPIT, -1 )
RuiSetInt(file.rui, "maxLines", 1)
RuiSetInt(file.rui, "lineNum", 1)
RuiSetFloat2(file.rui, "msgPos", file.position)
RuiSetFloat3(file.rui, "msgColor", file.colour)
RuiSetFloat(file.rui, "msgFontSize", file.size)
RuiSetString(file.rui, "msgText", "")
RuiSetFloat(file.rui, "msgAlpha", 0.0)
RuiSetFloat(file.rui, "thicken", 0.0)
thread DisplayRUI()
}
// You need to check the target manually. It refers to LocalClientPlayer(you) in default if there is nothing in your crosshair.
void function GetCrosshairEntity( entity player, entity target) {
if (target!= file.currentCrosshairEntity) {
file.currentCrosshairEntity = target
}
}
void function DisplayRUI() {
while (true) {
WaitFrame()
if(IsLobby() || IsMenuLevel() || IsWatchingReplay())
{
RuiSetFloat(file.rui, "msgAlpha", 0.0)
continue
}
entity player = GetLocalClientPlayer()
if(player == null || IsSpectre(player))
{
RuiSetFloat(file.rui, "msgAlpha", 0.0)
continue
}
string s = ""
// Caution.
if (file.currentCrosshairEntity!= player) {
if (!IsValid(file.currentCrosshairEntity)) {
continue
}
s += file.currentCrosshairEntity + "\n"
{
try {
s += file.currentCrosshairEntity.GetSignifierName()+ "\n"
} catch (exception){
print(exception)
}
}
{
try {
s += file.currentCrosshairEntity.GetClassName()+ "\n"
} catch (exception){
print(exception)
}
}
}
RuiSetString(file.rui, "msgText", s)
RuiSetFloat(file.rui, "msgAlpha", 1.0)
}
}
void function OnPlayerDeath_StopRui( entity player )
{
if ( player!= GetLocalViewPlayer() )
return
RuiSetFloat(file.rui, "msgAlpha", 0.0)
}
Install & use Install: Northstar client mod
- Install the Northstar client first (the open-source community client for Titanfall 2; its release page provides an installer). It loads the mods.
- Unzip the archive from playbuff and put its contents into the Northstar/mods/ folder inside your Titanfall2 directory.
- Start the game through NorthstarLauncher.exe — the console lists the mods it loaded.
Northstar is for private servers and custom content; do not use it to connect to official servers.