global function ClGameModeArena_Init global function ServerCallback_CreateMoneyParticles struct { var moneyRui } file void function ClGameModeArena_Init() { AddCallback_OnClientScriptInit( CreateArenaUI ) } void function CreateArenaUI( entity player ) { var rui = CreateCockpitRui( $"ui/fd_score_splash.rpak", 500 ) RuiTrackInt( rui, "pointValue", player, RUI_TRACK_SCRIPT_NETWORK_VAR_INT, GetNetworkedVariableIndex( "FD_money" ) ) RuiTrackInt( rui, "pointStack", player, RUI_TRACK_SCRIPT_NETWORK_VAR_INT, GetNetworkedVariableIndex( "FD_money256" ) ) file.moneyRui = rui } void function ServerCallback_CreateMoneyParticles( int playerHandle, int amount ) { // largely taken from cl_gamemode_fd entity player = GetEntityFromEncodedEHandle( playerHandle ) vector randDir2D = < RandomFloatRange( -1, 1 ), 1, 0 > randDir2D = Normalize( randDir2D ) var rui = RuiCreate( $"ui/at_score_popup.rpak", clGlobal.topoFullScreen, RUI_DRAW_HUD, 100 ) RuiSetInt( rui, "scoreVal", amount ) RuiSetGameTime( rui, "startTime", Time() ) RuiSetFloat3( rui, "pos", player.EyePosition() ) RuiSetFloat2( rui, "driftDir", randDir2D ) RuiSetBool( rui, "showNormalPoints", false ) }