Jump to content

Player blip color bug


joao1234

Recommended Posts

Hi! i get this code from this forum, but i need some help..

the problem is when i start the resource and a player is in a team the script doesnt get the player team and set the blip color according to the team color :/ and when the player is moved to another team it doesnt get the color of the newer team only when he die, and he reconnects it doesnt get the color of the team and set the blip color

  
addEventHandler ( "onClientResourceStart", getRootElement(getThisResource()), 
function( resource, source ) 
    for id, source in ipairs( getElementsByType ( "source" ) ) do 
        if getPlayerTeam(source) ~= nil then 
             local r, g, b = getTeamColor(getPlayerTeam(source)) 
              createBlipAttachedTo ( source, 0, 2, r,g,b ) 
       else 
             if ( players[source] ) then 
                 createBlipAttachedTo ( source, 0, 2, players[source][1], players[source][2], players[source][3] ) 
             else 
                 createBlipAttachedTo ( source, 0, 2, color[1], color[2], color[3] ) 
            end 
         end 
    end 
end) 
  
addEventHandler ( "onPlayerSpawn",getRootElement(), 
function( spawnpoint ) 
     if getPlayerTeam(source) ~= nil then 
             local r, g, b = getTeamColor(getPlayerTeam(source)) 
              createBlipAttachedTo ( source, 0, 2, r,g,b ) 
     else 
         if ( players[source] ) then 
             createBlipAttachedTo ( source, 0, 2, players[source][1], players[source][2], players[source][3] ) 
        else 
             createBlipAttachedTo ( source, 0, 2, color[1], color[2], color[3] ) 
        end 
    end 
end) 
  
  
playerTimer = {} 
addEventHandler('onResourceStart', resourceRoot, 
    function() 
        for i, v in ipairs(getElementsByType('player')) do 
                playerTimer[v] = setTimer(updatePlayerBlip, 50, 0) 
        end 
    end 
) 
  
addEventHandler('onPlayerSpawn', root, 
    function() 
            playerTimer[source] = setTimer(updatePlayerBlip, 50, 0, source) 
    end 
) 
  
function getPlayerBlip(src) 
    if src then 
        local attached = getAttachedElements ( src ) 
        if ( attached ) then 
            for k,element in ipairs(attached) do 
                if getElementType ( element ) == "blip" then 
                    return element 
                end 
            end 
        end 
    end 
end 
  
function updatePlayerBlip(src) 
    if src then 
        if not isPedDead(src) then 
            if getPlayerBlip(src) then 
                local r, g, b = getPlayerNametagColor(src) 
                setBlipColor(getPlayerBlip(src), r, g, b, 255) 
            end 
        end 
    end 
end 
  
  
  
addEventHandler('onPlayerQuit', root, 
    function() 
                if isTimer(playerTimer[source]) then 
                   killTimer(playerTimer[source]) 
               end 
    end 
) 
  
addEventHandler('onPlayerWasted', root, 
    function() 
                if isTimer(playerTimer[source]) then 
                killTimer(playerTimer[source]) 
               end 
    end 
) 
  

Link to comment

CLIENT-SIDE

If you want all server-side use onResourceStart

addEventHandler ( "onClientResourceStart", getRootElement(getThisResource()), 
    function( resource ) 
        for id, player in ipairs( getElementsByType ( "player" ) ) do 
            if getPlayerTeam(player) ~= nil then 
                local r, g, b = getTeamColor(getPlayerTeam(player)) 
                createBlipAttachedTo ( player, 0, 2, r,g,b ) 
            else 
                if ( players[player] ) then 
                    createBlipAttachedTo ( player, 0, 2, players[player][1], players[player][2], players[player][3] ) 
                else 
                    createBlipAttachedTo ( player, 0, 2, color[1], color[2], color[3] ) 
                end 
            end 
        end 
    end 
) 

SERVER-SIDE

addEventHandler ( "onPlayerSpawn",getRootElement(), 
    function( spawnpoint ) 
        if getPlayerTeam(source) ~= nil then 
            local r, g, b = getTeamColor(getPlayerTeam(source)) 
            createBlipAttachedTo ( source, 0, 2, r,g,b ) 
        else 
            if ( players[source] ) then 
                createBlipAttachedTo ( source, 0, 2, players[source][1], players[source][2], players[source][3] ) 
            else 
                createBlipAttachedTo ( source, 0, 2, color[1], color[2], color[3] ) 
            end 
        end 
    end 
) 
  
playerTimer = {} 
addEventHandler('onResourceStart', resourceRoot, 
    function() 
        for i, v in ipairs(getElementsByType('player')) do 
            playerTimer[v] = setTimer(updatePlayerBlip, 50, 0) 
        end 
    end 
) 
  
addEventHandler('onPlayerSpawn', root, 
    function() 
        playerTimer[source] = setTimer(updatePlayerBlip, 50, 0, source) 
    end 
) 
  
function getPlayerBlip(src) 
    if src then 
        local attached = getAttachedElements ( src ) 
        if ( attached ) then 
            for k,element in ipairs(attached) do 
                if getElementType ( element ) == "blip" then 
                    return element 
                end 
            end 
        end 
    end 
end 
  
function updatePlayerBlip(src) 
    if src then 
        if not isPedDead(src) then 
            if getPlayerBlip(src) then 
                local r, g, b = getPlayerNametagColor(src) 
                setBlipColor(getPlayerBlip(src), r, g, b, 255) 
            end 
        end 
    end 
end 
  
addEventHandler('onPlayerQuit', root, 
    function() 
        if isTimer(playerTimer[source]) then 
            killTimer(playerTimer[source]) 
        end 
    end 
) 
  
addEventHandler('onPlayerWasted', root, 
    function() 
        if isTimer(playerTimer[source]) then 
            killTimer(playerTimer[source]) 
        end 
    end 
) 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...