Jacobob14 Posted February 3, 2014 Share Posted February 3, 2014 hola alguien me ayudaría en como hacer que los nombres de los jugadores solo sean visibles si están en el mismo team estoi utilisando este scrip : - Settings variableslocal textFont = "default-bold" -- The font of the tag text local textScale = 1 -- The scale of the tag text local heightPadding = 1 -- The amount of pixels the tag should be extended on either side of the vertical axis local widthPadding = 1 -- The amount of pixels the tag should be extended on either side of the horizontal axis local xOffset = 8 -- Distance between the player blip and the tag local minAlpha = 10 -- If blip alpha falls below this, the tag won't the shown local textAlpha = 255 local rectangleColor = tocolor(0,0,0,0) -- Other variables local floor = math.floor local w,h = guiGetScreenSize() local function drawMapStuff() if isPlayerMapVisible() then local sx,sy,ex,ey = getPlayerMapBoundingBox() -- Map positions local mw,mh = ex-sx,sy-ey -- Map width/height local cx,cy = (sx+ex)/2,(sy+ey)/2 -- Center position of the map local ppuX,ppuY = mw/6000,mh/6000 -- Pixels per unit local fontHeight = dxGetFontHeight(textScale,textFont) -- Height of the specified font local yOffset = fontHeight/2 -- How much pixels the tag should be offsetted at local blips = getElementsByType("blip") for k,v in ipairs(blips) do local attached=getElementAttachedTo(v) if isElement(attached) and getElementType(attached)=="player" then local px,py = getElementPosition(attached) -- Player's position local x = floor(cx+px*ppuX+xOffset) -- X for the nametag local y = floor(cy+py*ppuY-yOffset) -- Y for the nametag local pname = getPlayerName(attached) -- Player name local nameLength = dxGetTextWidth(pname,textScale,textFont) -- Width of the playername local r,g,b = getPlayerNametagColor(attached) -- Player's nametag color local _,_,_,a = getBlipColor(v) -- Blip alpha if a>minAlpha then dxDrawRectangle(x-widthPadding,y+heightPadding,nameLength+widthPadding*2,fontHeight-heightPadding*2,rectangleColor,false) dxDrawText(pname,x,y,x+nameLength,y+fontHeight,tocolor(r,g,b,textAlpha),textScale,textFont,"left","top",false,false,true,true) end end end end end addEventHandler("onClientRender",getRootElement(),drawMapStuff) Link to comment
Castillo Posted February 3, 2014 Share Posted February 3, 2014 -- Settings variables local textFont = "default-bold" -- The font of the tag text local textScale = 1 -- The scale of the tag text local heightPadding = 1 -- The amount of pixels the tag should be extended on either side of the vertical axis local widthPadding = 1 -- The amount of pixels the tag should be extended on either side of the horizontal axis local xOffset = 8 -- Distance between the player blip and the tag local textAlpha = 255 -- Other variables local floor = math.floor local w, h = guiGetScreenSize ( ) function drawMapStuff ( ) if isPlayerMapVisible ( ) then local team = getPlayerTeam ( localPlayer ) if ( team ) then local sx, sy, ex, ey = getPlayerMapBoundingBox ( ) -- Map positions local mw,mh = ( ex - sx ), ( sy - ey ) -- Map width/height local cx,cy = ( sx + ex ) / 2, ( sy + ey ) / 2 -- Center position of the map local ppuX, ppuY = ( mw / 6000 ), ( mh / 6000 ) -- Pixels per unit local fontHeight = dxGetFontHeight ( textScale, textFont ) -- Height of the specified font local yOffset = ( fontHeight / 2 ) -- How much pixels the tag should be offsetted at for _, player in ipairs ( getPlayersInTeam ( team ) ) do local px, py = getElementPosition ( player ) -- Player's position local x = floor ( cx + px * ppuX + xOffset ) -- X for the nametag local y = floor ( cy + py * ppuY - yOffset ) -- Y for the nametag local pname = getPlayerName ( player ) -- Player name local nameLength = dxGetTextWidth ( pname, textScale, textFont ) -- Width of the playername local r, g, b = getPlayerNametagColor ( player ) -- Player's nametag color dxDrawText ( pname, x, y, x + nameLength, y + fontHeight, tocolor ( r, g, b, textAlpha ), textScale, textFont, "left", "top", false, false, true, true ) end end end end addEventHandler ( "onClientRender", getRootElement(), drawMapStuff ) Link to comment
BorderLine Posted February 3, 2014 Share Posted February 3, 2014 tambien esto https://forum.multitheftauto.com/viewtopic.php?f ... am#p315993 aunque el de castillo es mas practico Link to comment
Jacobob14 Posted February 3, 2014 Author Share Posted February 3, 2014 emm gracias Solid me funciono no se si me podria ayudar en otra cosa tengo un problema en el dxDrawRectangle(x-widthPadding,y+heightPadding,nameLength+widthPadding*2,fontHeight-heightPadding*2,tocolor( 0, 0, 0 ),true) quiero que el cuadro este a la misma altura del nick pero me sale asi http://prntscr.com/2paohr que puedo hacer para solucionarlo y quede al mismo nivel que el nick Link to comment
Castillo Posted February 4, 2014 Share Posted February 4, 2014 dxDrawRectangle(x-widthPadding,y+heightPadding,nameLength,fontHeight-heightPadding*2,rectangleColor,false) Proba con ese. Link to comment
Recommended Posts