

Login Issues
Forgot password?Activate Issues
Account activation email not received? Wrong account activation email used?Other Problems?
Contact Support - Help Center Get help on the UGX Discord. Join it now!

![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
// Cursor hints
menuDef
{
name "Cursorhints"
rect 0 70 40 40 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER
fullScreen 0
visible when ( CHAPLIN_CHEAT_OFF && ( dvarString( mapname ) != "credits" ) );
itemDef
{
name "chRect"
rect 0 0 40 40 // 64x64
textscale TEXTSIZE_SMALL
textstyle ITEM_TEXTSTYLE_SHADOWED
ownerdraw CG_CURSORHINT
visible 1
decoration
}
}
// Cursor hints
menuDef
{
name "Cursorhints"
rect 0 70 40 40 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER
fullScreen 0
visible when ( CHAPLIN_CHEAT_OFF && ( dvarString( mapname ) != "credits" ) );
itemDef
{
name "chRect"
rect 0 0 40 40 // 64x64
textscale TEXTSIZE_SMALL
textstyle ITEM_TEXTSTYLE_SHADOWED
ownerdraw CG_CURSORHINT
visible 1
decoration
}
itemDef
{
name "xS78_hintstring_use"
rect 0 0 0 0
textscale TEXTSIZE_SMALL
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_CENTER
exp text ( dvarString( "xS78_hintstring_text_left" ) + KeyBinding( "+activate" ) + dvarString( "xS78_hintstring_text_right" ) )
visible when( dvarInt( "xS78_hintstring_use_vis" ) == 1 )
decoration
}
itemDef
{
name "xS78_hintstring_nouse"
rect 0 0 0 0
textscale TEXTSIZE_SMALL
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_CENTER
exp text dvarString( "xS78_hintstring_text_nouse" )
visible when( dvarInt( "xS78_hintstring_nouse_vis" ) == 1 )
decoration
}
}
menufile,ui/hud.menu
//xSanchez78's Hintstrings
_setHintString( hint, radius )
{
self thread maps\_xS78_hintstrings::xS78_SetHintString( hint, radius );
}
_setVisibleToPlayer( player )
{
self maps\_xS78_hintstrings::xS78_setVisibleToPlayer( player );
}
_setVisibleToAll()
{
self maps\_xS78_hintstrings::xS78_setVisibleToAll();
}
_setInvisibleToPlayer( player, show )
{
self maps\_xS78_hintstrings::xS78_setInvisibleToPlayer( player, show );
}
//xSanchez78's Hintstrings
#include common_scripts\utility;
#include maps\_utility;
#include maps\_zombiemode_utility;
xS78_SetHintString( string, radius )
{
if( !isDefined( string ) )
{
return;
}
self notify( "new_hintstring" );
self endon( "new_hintstring" );
self SetHintString( "" );
self SetCursorHint( "HINT_NOICON" );
flag_wait( "all_players_connected" );
if( !isDefined( self.PlayersVisibleTo ) )
{
self.PlayersVisibleTo = [];
players = get_players();
for( i = 0; i < players.size; i++ )
{
self.PlayersVisibleTo[ self.PlayersVisibleTo.size ] = players[i];
}
}
while( isDefined( self ) )
{
players = get_players();
for( i = 0; i < players.size; i++ )
{
if( players[i] TrigIsVisibleTo( self ) && ( ( !isDefined( radius ) && players[i] istouching( self ) ) || ( isDefined( radius ) && distance( players[i].origin, self.origin ) < radius ) ) )
{
players[i].hintstring_to_show = string;
players[i] thread setHintString_show( self, string, radius );
}
}
wait 0.1;
}
}
TrigIsVisibleTo( trig )
{
if( !isDefined( trig.PlayersVisibleTo ) )
{
return true;
}
for( i = 0; i < trig.PlayersVisibleTo.size; i++ )
{
if( trig.PlayersVisibleTo[i] == self )
{
return true;
}
}
return false;
}
setHintString_show( trig, string, radius )
{
if( isDefined( self.lookingattrig ) && self.lookingattrig == trig )
{
return;
}
while( isDefined( trig ) && isDefined( self.hintstring_to_show ) && self.hintstring_to_show == string && ( ( !isDefined( radius ) && self istouching( trig ) ) || ( isDefined( radius ) && distance( self.origin, trig.origin ) < radius ) ) && self TrigIsVisibleTo( trig ) )
{
self.lookingattrig = trig;
self hintstring_update( string, true );
wait 0.001;
}
self.lookingattrig = undefined;
self hintstring_update( string, false );
}
hintstring_update( line, show )
{
if( !show )
{
self SetClientDvar( "xS78_hintstring_text_left", "" );
self SetClientDvar( "xS78_hintstring_text_right", "" );
self SetClientDvar( "xS78_hintstring_use_vis", 0 );
self SetClientDvar( "xS78_hintstring_text_nouse", "" );
self SetClientDvar( "xS78_hintstring_nouse_vis", 0 );
return;
}
index = 0;
has_use = false;
for( i = 0; i < line.size; i ++ )
{
if( line[ i ] == "&" && line[ i + 1 ] == "&" && line[ i + 2 ] == "1" )
{
index = i;
has_use = true;
}
}
if( !has_use )
{
self SetClientDvar( "xS78_hintstring_text_left", "" );
self SetClientDvar( "xS78_hintstring_text_right", "" );
self SetClientDvar( "xS78_hintstring_use_vis", 0 );
self SetClientDvar( "xS78_hintstring_text_nouse", string( line ) );
self SetClientDvar( "xS78_hintstring_nouse_vis", 1 );
return;
}
left = getSubStr( line, 0, index );
right = getSubStr( line, index + 3, line.size );
self SetClientDvar( "xS78_hintstring_text_left", string( left ) );
self SetClientDvar( "xS78_hintstring_text_right", string( right ) );
self SetClientDvar( "xS78_hintstring_use_vis", 1 );
self SetClientDvar( "xS78_hintstring_text_nouse", "" );
self SetClientDvar( "xS78_hintstring_nouse_vis", 0 );
}
xS78_setVisibleToPlayer( player )
{
self.PlayersVisibleTo = [];
self.PlayersVisibleTo[0] = player;
self setVisibleToPlayer( player );
}
xS78_setVisibleToAll()
{
self.PlayersVisibleTo = [];
players = get_players();
for( k = 0; k < players.size; k++ )
{
self.PlayersVisibleTo[ self.PlayersVisibleTo.size ] = players[k];
}
self setVisibleToAll();
}
xS78_setInvisibleToPlayer( player, show )
{
if( !isDefined( self.PlayersVisibleTo ) )
{
self.PlayersVisibleTo = [];
}
if( !isDefined( show ) )
{
newarray = [];
for( i = 0; i < self.PlayersVisibleTo.size; i++ )
{
if( self.PlayersVisibleTo[i] != player )
{
newarray[ newarray.size ] = self.PlayersVisibleTo[i];
}
}
self.PlayersVisibleTo = newarray;
self setInvisibleToPlayer( player );
}
else
{
if( show )
{
newarray = [];
for( i = 0; i < self.PlayersVisibleTo.size; i++ )
{
if( self.PlayersVisibleTo[i] != player )
{
newarray[ newarray.size ] = self.PlayersVisibleTo[i];
}
}
self.PlayersVisibleTo = newarray;
self setInvisibleToPlayer( player, true );
}
else
{
already_visible = false;
for( i = 0; i < self.PlayersVisibleTo.size; i++ )
{
if( self.PlayersVisibleTo[i] == player )
{
already_visible = true;
}
}
if( !already_visible )
{
self.PlayersVisibleTo[ self.PlayersVisibleTo.size ] = player;
}
self setInvisibleToPlayer( player, false );
}
}
}
#include maps\_zombiemode_utility;
SetHintString()
SetInvisibleToPlayer()
SetVisibleToPlayer()
SetVisibleToAll()
_SetHintString()
_SetInvisibleToPlayer()
_SetVisibleToPlayer()
_SetVisibleToAll()



![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has shown excellence and experience in the area of custom scripting in the UGX-Mods community. |
well still looks cool 
![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
This just looks like a modified version of Trem's hint string on http://ugx-mods.com/wiki/index.php?title=Hintstrings_not_updating
And by having a quick look through the code, whats stopping the hint string showing if the map is restarted while a hint string is shown.
dvars are stored through-out the session (which includes on a restart) and the hintstring will continue too show when the player goes back too spawn.

![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
If people want to say i stole stuff again now is the time to do it.
![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() UGX V.I.P. | |
![]() | Has released one or more maps to the UGX-Mods community. |
![]() BO3 Modtools Alpha | This user has access to the Black Ops 3 Modtools Alpha |

![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() UGX V.I.P. | |
![]() | Has released one or more maps to the UGX-Mods community. |
![]() BO3 Modtools Alpha | This user has access to the Black Ops 3 Modtools Alpha |
Don't care what you say about that tho.