murilo2929 Posted July 27, 2019 Share Posted July 27, 2019 Como posso estar criando um titulo em cima de uma pickup ? isso é possível? Link to comment
Other Languages Moderators Lord Henry Posted July 27, 2019 Other Languages Moderators Share Posted July 27, 2019 Sim é possível. Veja como é feito neste resource antigo de taxista: https://community.multitheftauto.com/index.php?p=resources&s=details&id=14561 Link to comment
murilo2929 Posted July 27, 2019 Author Share Posted July 27, 2019 Consegui fazer funcionar não. thePickup = createPickup ( 1914.3330078125, -1806.919921875, 13.546875, 3, 1275, 1000 ) function zombiehunterskinpickup55555 ( thePlayer ) dxDrawTextOnElement(zombiehunterskinpickup55555,"Roupas #FF0000(CJ)",1,20,255,255,255,255,1.5,"default") end --setElementData ( thePlayer, "zombie", true ) --outputChatBox("Pegou os equipamentos da PD.", thePlayer) end addEventHandler ( "onPickupUse", thePickup, zombiehunterskinpickup55555 ) local bInfos = { { vecPos = { 1915.35, -1802.22, 13.54 }, sText = "Teste: Taxista", iColor = tocolor( 255, 255, 0, 255 ), fDistance = 20, fScale = 1.02, sFont = "default" }; }; function Render() for _, Data in pairs( bInfos ) do local fPosX, fPosY, fPosZ = getElementPosition( localPlayer ); local fDataX, fDataY, fDataZ = unpack( Data.vecPos ); local fDistanceBetweenPoints = getDistanceBetweenPoints3D ( fPosX, fPosY, fPosZ,fDataX, fDataY, fDataZ ); local fInputDistance = Data.fDistance or 20; if fDistanceBetweenPoints < fInputDistance then local fCameraX, fCameraY, fCameraZ = getCameraMatrix(); local fWorldPosX, fWorldPosY = getScreenFromWorldPosition( fDataX, fDataY, fDataZ + 1, fInputDistance ); local bHit = processLineOfSight( fCameraX, fCameraY, fCameraZ, fDataX, fDataY, fDataZ, true, false, false, true, false, false, false, false ); if not bHit then if fWorldPosX and fWorldPosY then dxDrawText( Data.sText, fWorldPosX, fWorldPosY, fWorldPosX, fWorldPosY, Data.iColor, Data.fScale, Data.sFont ); end end end end end addEventHandler( "onClientRender", root, Render ); Consegui, Tópico já pode ser fechado, obrigado ao Henry pela ajuda. Link to comment
murilo2929 Posted July 27, 2019 Author Share Posted July 27, 2019 1 hour ago, Lord Henry said: Sim é possível. Veja como é feito neste resource antigo de taxista: https://community.multitheftauto.com/index.php?p=resources&s=details&id=14561 Irmão estou com um problema agora, como faço para setar dimensão e interior desse texto ? não estou conseguindo. local bInfos = { { vecPos = { 1909.0849609375, -1805.919921875, 13.546875 }, sText = "Teste: Taxista", iColor = tocolor( 255, 255, 0, 255 ), fDistance = 20, fScale = 2.02, sFont = "default" }; { vecPos = { 1909.1171875, -1808.9482421875, 13.546875 }, sText = "Teste: Taxista", iColor = tocolor( 255, 255, 0, 255 ), fDistance = 20, fScale = 1.02, sFont = "default" }; }; function Render() for _, Data in pairs( bInfos ) do local fPosX, fPosY, fPosZ = getElementPosition( localPlayer ); local fDataX, fDataY, fDataZ = unpack( Data.vecPos ); local fDistanceBetweenPoints = getDistanceBetweenPoints3D ( fPosX, fPosY, fPosZ,fDataX, fDataY, fDataZ ); local fInputDistance = Data.fDistance or 20; if fDistanceBetweenPoints < fInputDistance then local fCameraX, fCameraY, fCameraZ = getCameraMatrix(); local fWorldPosX, fWorldPosY = getScreenFromWorldPosition( fDataX, fDataY, fDataZ + 1, fInputDistance ); local bHit = processLineOfSight( fCameraX, fCameraY, fCameraZ, fDataX, fDataY, fDataZ, true, false, false, true, false, false, false, false ); if not bHit then if fWorldPosX and fWorldPosY then dxDrawText( Data.sText, fWorldPosX, fWorldPosY, fWorldPosX, fWorldPosY, Data.iColor, Data.fScale, Data.sFont ); end end end end end addEventHandler( "onClientRender", root, Render ); Link to comment
DNL291 Posted July 27, 2019 Share Posted July 27, 2019 Põe uma verificação com getElementDimension e getElementInterior Link to comment
Other Languages Moderators Lord Henry Posted July 28, 2019 Other Languages Moderators Share Posted July 28, 2019 function Render() if (getElementDimension (localPlayer) == 5) and (getElementInterior (localPlayer) == 10) then -- Substitua o 5 e o 10 pela dimensão e interior respectivamente. for _, Data in pairs( bInfos ) do local fPosX, fPosY, fPosZ = getElementPosition( localPlayer ); local fDataX, fDataY, fDataZ = unpack( Data.vecPos ); local fDistanceBetweenPoints = getDistanceBetweenPoints3D ( fPosX, fPosY, fPosZ,fDataX, fDataY, fDataZ ); local fInputDistance = Data.fDistance or 20; if fDistanceBetweenPoints < fInputDistance then local fCameraX, fCameraY, fCameraZ = getCameraMatrix(); local fWorldPosX, fWorldPosY = getScreenFromWorldPosition( fDataX, fDataY, fDataZ + 1, fInputDistance ); local bHit = processLineOfSight( fCameraX, fCameraY, fCameraZ, fDataX, fDataY, fDataZ, true, false, false, true, false, false, false, false ); if not bHit then if fWorldPosX and fWorldPosY then dxDrawText( Data.sText, fWorldPosX, fWorldPosY, fWorldPosX, fWorldPosY, Data.iColor, Data.fScale, Data.sFont ); end end end end end end addEventHandler ("onClientRender", root, Render) Só fazer assim. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now