Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 25/03/23 in all areas

  1. pra teleportar o player para um lugar e veiculo para outro você pode usar o removePedFromVehicle que tira o player do veiculo instantâneamente local marker = createMarker(x, y, z, "cylinder", 1.1, 255, 255, 255, 255) -- cria o marker function RemoverDoCarro(thePlayer) if isElementWithinMarker(thePlayer, marker) then -- caso o jogador esteja no marker então... local piloto = getVehicleOccupant(thePlayer) -- pega o ocupante do veiculo if piloto then -- caso o jogador esteja ocupando o volante então... local vehicle = getPedOccupiedVehicle(thePlayer) -- pega o veiculo que o player ocupa if vehicle then -- se tem o veiculo então... removePedFromVehicle(thePlayer) -- tira o player do veiculo setElementPosition(thePlayer, 0, 0, 0) -- seta a posição do player em 0x 0y 0z setElementPosition(vehicle, 2, 2, 2) -- seta a posição do veiculo em 2x 2y 2z end end end end addCommandHandler("desmanchar", RemoverDoCarro
    1 point
  2. Mesmo copiando o código-fonte da função útil dxDrawTextOnElement, você fez questão de mudar a indentação dela para deixar errada, por qual motivo? (todas as variáveis locais tem +4 espaços) O texto não aparece pois está atravessando a porta. A função útil tem uma condição de que o texto só aparece se não tiver nada entre o texto e a câmera. Remova essa condição e o texto sempre aparecerá mesmo estando dentro da porta. Se quer usar código de cores no texto, você precisará fazer um upgrade na função útil para incluir o parâmetro colorCoded no dxDrawText. Tente algo assim: theObj = createObject (1491, 2487, -1666, 12.3) -- Cria uma porta dinâmica na Grove Street. bindKey("e", "down", function() setElementFrozen(theObj, not isElementFrozen(theObj)) -- Congela/descongela essa porta específica ao apertar a tecla E. end) function TextoPortas() for i, portas in ipairs(getElementsByType("object")) do if getElementModel(portas) == 1491 then if isElementFrozen(portas) then dxDrawTextOnElement(portas, "#FF8000[E] #FFFFFFPara Abrir", 1, 6, tocolor(255, 255, 255, 255), 3.1, "default-bold", "center", "center", false, false, false, true) else dxDrawTextOnElement(portas, "#FF8000[E] #FFFFFFPara Fechar", 1, 6, tocolor(255, 255, 255, 255), 3.1, "default-bold", "center", "center", false, false, false, true) end end end end addEventHandler("onClientRender", root, TextoPortas) function dxDrawTextOnElement(theElement, text, height, distance, color, size, font, alignX, alignY, clip, wordBreak, postGUI, colorCoded) local x, y, z = getElementPosition(theElement) local x2, y2, z2 = getCameraMatrix() local distance = distance or 20 local height = height or 1 -- if (isLineOfSightClear(x, y, z+2, x2, y2, z2)) then -- Oculta o texto se tiver algo entre ele e a câmera. local sx, sy = getScreenFromWorldPosition(x, y, z+height) if sx and sy then local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2) if distanceBetweenPoints < distance then dxDrawText(text, sx+2, sy+2, sx, sy, color or 0xFFFFFFFF, (size or 1)-(distanceBetweenPoints / distance), font or "arial", alignX or "center", alignY or "center", clip or false, wordBreak or false, postGUI or false, colorCoded or false) end end -- end end
    1 point
  3. add 'addEvent' in resources when used your 'onPlayerFirstSpawn'
    1 point
  4. When the resource starts a new resourceRoot element will be created. This element is destroyed when the resource stops. It is therefore not a good idea to attach eventHandlers to the resourceRoot's of other resources. (Unless you keep track of start/stop resources) In your current example you mentioned the eventName onPlayerFirstSpawn. The player makes it's first spawn. From a semantic perspective, the player is therefore the one activating the event. And I expect it therefore to be used as the source of that event. The element above a player is the root element and should be used for the eventHandler of that event. The root element is not deleted when restarting resources. But never the less, here is how to solve the resource validation issue: addEventHandler("<eventName>", root, function () local resource = getResourceFromName( "<resourceName>" ) if not resource then return end if source == getResourceRootElement(resource) then -- The source is from the correct resource end end) Another way to keep the resource start up in order is to use the tag: <include resource="resourceName"/> https://wiki.multitheftauto.com/wiki/Resources
    1 point
  5. Post a code, we can help you without it! I guess u need to put it like: addEventHandler("onPlayerSpawn", root, function() -- trigger your onPlayerFirstSpawn event end)
    1 point
×
×
  • Create New...