• Hallo liebe Community :)
    ich hab hier mal ein nametag script und wollte euch fragen,wer mir den helfen kann , dort einzubringen,dass der Status vom Spieler über dem Name angezeigt wird. Es gehört zu Race und es der Status bzw. die Accounts laufen über ACL,
    Hier wäre die .lua

    Lua
    nametag = {}local nametags = {}local g_screenX,g_screenY = guiGetScreenSize()local bHideNametags = false local NAMETAG_SCALE = 0.40 --Overall adjustment of the nametag, use this to resize but constrain proportionslocal NAMETAG_ALPHA_DISTANCE = 100 --Distance to start fading outlocal NAMETAG_DISTANCE = 100 --Distance until we're gonelocal NAMETAG_ALPHA = 120 --The overall alpha level of the nametag--The following arent actual pixel measurements, they're just proportional constraintslocal NAMETAG_TEXT_BAR_SPACE = 2local NAMETAG_WIDTH = 40local NAMETAG_HEIGHT = 4local NAMETAG_TEXTSIZE = 0.3local NAMETAG_OUTLINE_THICKNESS = 1.2--local NAMETAG_ALPHA_DIFF = NAMETAG_DISTANCE - NAMETAG_ALPHA_DISTANCENAMETAG_SCALE = 1/NAMETAG_SCALE * 800 / g_screenY -- Ensure the name tag doesn't get too biglocal maxScaleCurve = { {0, 0}, {3, 3}, {13, 5} }-- Ensure the text doesn't get too small/unreadablelocal textScaleCurve = { {0, 0.8}, {0.8, 1.2}, {99, 99} }-- Make the text a bit brighter and fade more graduallylocal textAlphaCurve = { {0, 0}, {25, 100}, {120, 190}, {255, 190} } function nametag.create ( player )    nametags[player] = trueend function nametag.destroy ( player )    nametags[player] = nilend ---------------THE FOLLOWING IS THE MANAGEMENT OF NAMETAGS-----------------addEventHandler('onClientResourceStart', g_ResRoot,    function()        for i,player in ipairs(getElementsByType"player") do            if player ~= g_Me then                nametag.create ( player )            end        end    end) addEventHandler ( "onClientPlayerJoin", g_Root,    function()        if source == g_Me then return end        setPlayerNametagShowing ( source, false )        nametag.create ( source )    end) addEventHandler ( "onClientPlayerQuit", g_Root,    function()        nametag.destroy ( source )    end)  addEvent ( "onClientScreenFadedOut", true )addEventHandler ( "onClientScreenFadedOut", g_Root,    function()        bHideNametags = true    end) addEvent ( "onClientScreenFadedIn", true )addEventHandler ( "onClientScreenFadedIn", g_Root,    function()        bHideNametags = false    end)   addEventHandler ( "onClientRender", g_Root,    function()        -- Hideous quick fix --        for i,player in ipairs(g_Players) do            if player ~= g_Me then                setPlayerNametagShowing ( player, false )                if not nametags[player] then                    nametag.create ( player )                end            end        end        if bHideNametags then            return        end        local x,y,z = getCameraMatrix()        for player in pairs(nametags) do            while true do                if not isPedInVehicle(player) or isPlayerDead(player) then break end                local vehicle = getPedOccupiedVehicle(player)                local px,py,pz = getElementPosition ( vehicle )                local pdistance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz )                if pdistance <= NAMETAG_DISTANCE then                    --Get screenposition                    local sx,sy = getScreenFromWorldPosition ( px, py, pz+0.95, 0.06 )                    if not sx or not sy then break end                    --Calculate our components                    local scale = 1/(NAMETAG_SCALE * (pdistance / NAMETAG_DISTANCE))                    local alpha = ((pdistance - NAMETAG_ALPHA_DISTANCE) / NAMETAG_ALPHA_DIFF)                    alpha = (alpha < 0) and NAMETAG_ALPHA or NAMETAG_ALPHA-(alpha*NAMETAG_ALPHA)                    scale = math.evalCurve(maxScaleCurve,scale)                    local textscale = math.evalCurve(textScaleCurve,scale)                    local textalpha = math.evalCurve(textAlphaCurve,alpha)                    local outlineThickness = NAMETAG_OUTLINE_THICKNESS*(scale)                    --Draw our text                    local r,g,b = 255,255,255                    local team = getPlayerTeam(player)                    if team then                        r,g,b = getTeamColor(team)                    end                    local offset = (scale) * NAMETAG_TEXT_BAR_SPACE/2                    --dxDrawText ( getPlayerName(player), sx, sy - offset, sx, sy - offset, tocolor(r,g,b,textalpha), textscale*NAMETAG_TEXTSIZE, "default", "center", "bottom", false, false, false )                    dxDrawText ( getPlayerName(player), sx + 1, sy - offset + 1, sx + 1, sy - offset + 1, tocolor(0,0,0,255), textscale*NAMETAG_TEXTSIZE, "bankgothic", "center", "bottom", false, false, false )                    dxDrawColorText( getPlayerNametagText(player), sx, sy - offset, sx, sy - offset, tocolor(r,g,b,textalpha), textscale*NAMETAG_TEXTSIZE, 'bankgothic', 'center', 'bottom' )                    --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(178,178,178,0.4*alpha)                                    )                    --Finally, the actual health                    dxDrawRectangle (   drawX + outlineThickness,                                        drawY + outlineThickness,                                        health*(width - outlineThickness*2),                                        height - outlineThickness*2,                                        tocolor(r,g,b,alpha)                                    )                          end                break            end        end    end) function dxDrawColorText(str, ax, ay, bx, by, color, scale, font, alignX, alignY)  if alignX then    if alignX == "center" then      local w = dxGetTextWidth(str:gsub("#%x%x%x%x%x%x",""), scale, font)      ax = ax + (bx-ax)/2 - w/2    elseif alignX == "right" then      local w = dxGetTextWidth(str:gsub("#%x%x%x%x%x%x",""), scale, font)      ax = bx - w    end  end   if alignY then    if alignY == "center" then      local h = dxGetFontHeight(scale, font)      ay = ay + (by-ay)/2 - h/2    elseif alignY == "bottom" then      local h = dxGetFontHeight(scale, font)      ay = by - h    end  end   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(tonumber("0x"..col:sub(1, 2)), tonumber("0x"..col:sub(3, 4)), tonumber("0x"..col:sub(5, 6)), 255) 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(tonumber("0x"..col:sub(1, 2)), tonumber("0x"..col:sub(3, 4)), tonumber("0x"..col:sub(5, 6)), 255)    end    last = e + 1    s, e, cap, col = str:find(pat, last)  end  if last <= #str then    cap = str:sub(last)    local w = dxGetTextWidth(cap, scale, font)    dxDrawText(cap, ax, ay, ax + w, by, color, scale, font)  endend


    Wer die .lua als Datei will -> http://www.mediafire.com/view/s1sr8tpvqbgx9gx/nametags.lua

    Danke schonmal :) *:P*

    Divisional Gaming Race *love*

    Externer Inhalt www.game-state.eu
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    2 Mal editiert, zuletzt von dG'TeRoRaX (6. Dezember 2013 um 14:52)

  • Dieses Thema enthält 2 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!