Jump to content

Colored names


ATS#Nexus

Recommended Posts

Posted

You better start learning then, I won't do it for you.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

Posted
Show the code... it should work. Use [lua] tag.

--Draw our text 
        local r,g,b = 150,150,150 
        local offset = (scale) * NAMETAG_TEXT_BAR_SPACE/2 
        dxDrawText ( info.name, sx, sy - offset, sx, sy - offset, tocolor(r,g,b,textalpha), textscale*NAMETAG_TEXTSIZE, "default", "center", "bottom", false, false, false ) 
         
        --We draw three parts to make the healthbar.  First the outline/background 
        local drawX = sx - NAMETAG_WIDTH*scale/2 
        drawY = sy + offset 
        --[[local width,height =  NAMETAG_WIDTH*scale, NAMETAG_HEIGHT*scale 
        dxDrawRectangle ( drawX, drawY, width, height, tocolor(0,0,0,alpha) ) 
        --Next the inner background  
        local health = getElementHealth(vehicle) 
        health = math.max(health - 250, 0)/750 
        local p = -510*(health^2) 
        local r,g = math.max(math.min(p + 255*health + 255, 255), 0), math.max(math.min(p + 765*health, 255), 0) 
        dxDrawRectangle (   drawX + outlineThickness,  
                                        drawY + outlineThickness,  
                                        width - outlineThickness*2,  
                                        height - outlineThickness*2,  
                                        tocolor(r,g,0,0.4*alpha)  
                                    ) 
                    --Finally, the actual health 
                    dxDrawRectangle (   drawX + outlineThickness,  
                                        drawY + outlineThickness,  
                                        health*(width - outlineThickness*2),  
                                        height - outlineThickness*2,  
                                        tocolor(r,g,0,alpha)  
                                    )--]] 
        dxDrawText ( info.time, sx, drawY, sx, drawY, tocolor(r,g,b,textalpha), textscale*NAMETAG_TEXTSIZE*0.8, "default", "center", "top", false, false, false ) 
    end 

Posted
dxDrawText with colorCode support is already added, use it instead because it works much faster.

If dxDrawText with colorCode support is already added then why i see color code instead of colored name?

Posted

Try:

Put this outside the onClientRender event:

function dxDrawColorText(str, ax, ay, bx, by, color, scale, font, alignX, alignY) 
  bx, by, color, scale, font = bx or ax, by or ay, color or tocolor(255,255,255,255), scale or 1, font or "default" 
  if alignX then 
    if alignX == "center" then 
      ax = ax + (bx - ax - dxGetTextWidth(str:gsub("#%x%x%x%x%x%x",""), scale, font))/2 
    elseif alignX == "right" then 
      ax = bx - dxGetTextWidth(str:gsub("#%x%x%x%x%x%x",""), scale, font) 
    end 
  end 
  if alignY then 
    if alignY == "center" then 
      ay = ay + (by - ay - dxGetFontHeight(scale, font))/2 
    elseif alignY == "bottom" then 
      ay = by - dxGetFontHeight(scale, font) 
    end 
  end 
  local alpha = string.format("%08X", color):sub(1,2) 
  local pat = "(.-)#(%x%x%x%x%x%x)" 
  local s, e, cap, col = str:find(pat, 1) 
  local last = 1 
  while s do 
    if cap == "" and col then color = tocolor(getColorFromString("#"..col..alpha)) end 
    if s ~= 1 or cap ~= "" then 
      local w = dxGetTextWidth(cap, scale, font) 
      dxDrawText(cap, ax, ay, ax + w, by, color, scale, font) 
      ax = ax + w 
      color = tocolor(getColorFromString("#"..col..alpha)) 
    end 
    last = e + 1 
    s, e, cap, col = str:find(pat, last) 
  end 
  if last <= #str then 
    cap = str:sub(last) 
    dxDrawText(cap, ax, ay, ax + dxGetTextWidth(cap, scale, font), by, color, scale, font) 
  end 
end 

And put this into that event

  
  
--Draw our text 
        local r,g,b = 150,150,150 
        local offset = (scale) * NAMETAG_TEXT_BAR_SPACE/2 
        dxDrawColorText ( info.name, sx, sy - offset, sx, sy - offset, tocolor(r,g,b,textalpha), textscale*NAMETAG_TEXTSIZE, "default", "center", "bottom", false, false, false ) 
        
        --We draw three parts to make the healthbar.  First the outline/background 
        local drawX = sx - NAMETAG_WIDTH*scale/2 
        drawY = sy + offset 
        --[[local width,height =  NAMETAG_WIDTH*scale, NAMETAG_HEIGHT*scale 
        dxDrawRectangle ( drawX, drawY, width, height, tocolor(0,0,0,alpha) ) 
        --Next the inner background 
        local health = getElementHealth(vehicle) 
        health = math.max(health - 250, 0)/750 
        local p = -510*(health^2) 
        local r,g = math.max(math.min(p + 255*health + 255, 255), 0), math.max(math.min(p + 765*health, 255), 0) 
        dxDrawRectangle (   drawX + outlineThickness, 
                                        drawY + outlineThickness, 
                                        width - outlineThickness*2, 
                                        height - outlineThickness*2, 
                                        tocolor(r,g,0,0.4*alpha) 
                                    ) 
                    --Finally, the actual health 
                    dxDrawRectangle (   drawX + outlineThickness, 
                                        drawY + outlineThickness, 
                                        health*(width - outlineThickness*2), 
                                        height - outlineThickness*2, 
                                        tocolor(r,g,0,alpha) 
                                    )--]] 
        dxDrawText ( info.time, sx, drawY, sx, drawY, tocolor(r,g,b,textalpha), textscale*NAMETAG_TEXTSIZE*0.8, "default", "center", "top", false, false, false ) 
    end 

Lua Scripter

?ucet=miki_cz

Owner of mshost.cz MTA portal.

Posted
Try:

Put this outside the onClientRender event:

function dxDrawColorText(str, ax, ay, bx, by, color, scale, font, alignX, alignY) 
  bx, by, color, scale, font = bx or ax, by or ay, color or tocolor(255,255,255,255), scale or 1, font or "default" 
  if alignX then 
    if alignX == "center" then 
      ax = ax + (bx - ax - dxGetTextWidth(str:gsub("#%x%x%x%x%x%x",""), scale, font))/2 
    elseif alignX == "right" then 
      ax = bx - dxGetTextWidth(str:gsub("#%x%x%x%x%x%x",""), scale, font) 
    end 
  end 
  if alignY then 
    if alignY == "center" then 
      ay = ay + (by - ay - dxGetFontHeight(scale, font))/2 
    elseif alignY == "bottom" then 
      ay = by - dxGetFontHeight(scale, font) 
    end 
  end 
  local alpha = string.format("%08X", color):sub(1,2) 
  local pat = "(.-)#(%x%x%x%x%x%x)" 
  local s, e, cap, col = str:find(pat, 1) 
  local last = 1 
  while s do 
    if cap == "" and col then color = tocolor(getColorFromString("#"..col..alpha)) end 
    if s ~= 1 or cap ~= "" then 
      local w = dxGetTextWidth(cap, scale, font) 
      dxDrawText(cap, ax, ay, ax + w, by, color, scale, font) 
      ax = ax + w 
      color = tocolor(getColorFromString("#"..col..alpha)) 
    end 
    last = e + 1 
    s, e, cap, col = str:find(pat, last) 
  end 
  if last <= #str then 
    cap = str:sub(last) 
    dxDrawText(cap, ax, ay, ax + dxGetTextWidth(cap, scale, font), by, color, scale, font) 
  end 
end 

And put this into that event

  
  
--Draw our text 
        local r,g,b = 150,150,150 
        local offset = (scale) * NAMETAG_TEXT_BAR_SPACE/2 
        dxDrawColorText ( info.name, sx, sy - offset, sx, sy - offset, tocolor(r,g,b,textalpha), textscale*NAMETAG_TEXTSIZE, "default", "center", "bottom", false, false, false ) 
        
        --We draw three parts to make the healthbar.  First the outline/background 
        local drawX = sx - NAMETAG_WIDTH*scale/2 
        drawY = sy + offset 
        --[[local width,height =  NAMETAG_WIDTH*scale, NAMETAG_HEIGHT*scale 
        dxDrawRectangle ( drawX, drawY, width, height, tocolor(0,0,0,alpha) ) 
        --Next the inner background 
        local health = getElementHealth(vehicle) 
        health = math.max(health - 250, 0)/750 
        local p = -510*(health^2) 
        local r,g = math.max(math.min(p + 255*health + 255, 255), 0), math.max(math.min(p + 765*health, 255), 0) 
        dxDrawRectangle (   drawX + outlineThickness, 
                                        drawY + outlineThickness, 
                                        width - outlineThickness*2, 
                                        height - outlineThickness*2, 
                                        tocolor(r,g,0,0.4*alpha) 
                                    ) 
                    --Finally, the actual health 
                    dxDrawRectangle (   drawX + outlineThickness, 
                                        drawY + outlineThickness, 
                                        health*(width - outlineThickness*2), 
                                        height - outlineThickness*2, 
                                        tocolor(r,g,0,alpha) 
                                    )--]] 
        dxDrawText ( info.time, sx, drawY, sx, drawY, tocolor(r,g,b,textalpha), textscale*NAMETAG_TEXTSIZE*0.8, "default", "center", "top", false, false, false ) 
    end 

thank_you_image_500_clr.png

For ghost is done but how to make for other players whyle spectating?

.

Posted

For ghost is done but how to make for other players whyle spectating?

You better start learning then, I won't do it for you.

357ac0078264.jpg

- Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]

Posted

For ghost is done but how to make for other players whyle spectating?

You better start learning then, I won't do it for you.

Its easy to say "start learning" but its hard :(

Posted

It is not hard to make colored, I already made it. Just edit ghost a bit. I wont do request it for you.

Ingame nick: Cadu12

Posted
For ghost is done but how to make for other players whyle spectating?

What? You can do the same in the nametags.lua in the race if that's what you want.

Lua Scripter

?ucet=miki_cz

Owner of mshost.cz MTA portal.

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...