Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,004
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. O evento onClientElementDataChange é ativado sempre que alguma data de algum elemento for alterada, tanto server-side quanto client-side. Isso significa que o som vai tocar sempre que algum script usar setElementData em algum elemento. Você pode adicionar uma condição para tocar o áudio somente se a data que foi alterada possui tal nome. Você pode usar o parâmetro dataName.
  2. Não é necessário usar isElementWithinMarker se você estiver usando onClientMarkerHit, pois quando um elemento colide em um marker, obviamente ele já vai estar dentro do marker. É o mesmo que verificar se o jogador está dentro do veículo logo após o evento onVehicleEnter.
  3. Já falei da outra vez e vou repetir: Não use source como parâmetro de função. local markerInput = createMarker (1555.1072998047, -1675.6097412109, 16.69611, "arrow", 1, 255, 255, 0, 50) local markerOutput = createMarker (1555.1072998047, -1675.6097412109, 16.69611, "arrow", 1, 255, 255, 0, 50) function inputPD (hitElement) if (hitElement and getElementType (hitElement) == "player") then if (getPedOccupiedVehicle (hitElement)) then outputChatBox ("| SS | Você não pode entrar com veículo na DP.", hitElement, 255, 255, 255) else setElementInterior (hitElement, 6) setElementPosition (hitElement, 246.6756439209, 65.71768951416, 1003.640625, true) outputChatBox ("| SS | Você entrou na #ff0000Delegacia de Polícia#ffffff.", hitElement, 255, 255, 255, true) end end end addEventHandler ("onMarkerHit", markerInput, inputPD) Sobre o problema da mensagem aparecer e o jogador teleportar mesmo assim, é porque sua função estava sendo executada 2x, uma pro carro que colidiu no marker e outra pro jogador que colidiu no marker. Para corrigir esse problema, basta adicionar uma condição para que a função só funcione se o elemento que colidiu for um player.
  4. O source aparece na Wiki do evento. Só saber ler. No caso do onPlayerJoin: The source of this event is the player who joined. E o motivo do seu script não estar funcionando antes é pq o evento onPlayerJoin não tem parâmetros de função. Logo, quando vc declara source como parâmetro de função, ele fica nil. Você não deve declarar source como parâmetro de função. Isto é um erro.
  5. Aqui foi só habilitar o voice no mtaserver.conf que funcionou de boas. Uso Windows.
  6. Você pode começar com createRadarArea. Na própria Wiki já tem um exemplo que faz a zona piscar no radar. Sobre o colete: setPedArmor Sobre a vida: setElementHealth Sobre adicionar um comando ativador: addCommandHandler
  7. Troque a linha 21 por isso: if (isElement(slothbot)) then
  8. local screenWidth, screenHeight = guiGetScreenSize() -- Recebe a resolução da tela do jogador. local browser = guiCreateBrowser (0, 0, screenWidth, screenHeight, false, false, false) -- Cria um gui-browser. local theBrowser = guiGetBrowser (browser) -- Recebe o elemento do gui-browser. addEventHandler ("onClientBrowserCreated", theBrowser, function () -- Ativa essa função quando o theBrowser for carregado. loadBrowserURL (source, "https://www.youtube.com/") -- Carrega este link no browser. end) Exemplo da própria Wiki.
  9. Movido para a seção Offtopic, pois se trata de solicitação de Scripters/Designers/Staff para seu servidor.
  10. Qual erro aparece no debug? De cara, já está errado vc usar localPlayer 2x no triggerServerEvent. Use somente 1 vez e depois use source na função server-side. Ou então vc pode simplesmente usar client no server-side que pega automaticamente o jogador que ativou o evento. E arrume a indentação do código.
  11. Já pediu ajuda pra quem desenvolveu o script? AirNew Scripter.
  12. function sairVeh (theVehicle) if (getElementModel (theVehicle) == 411) then outputChatBox ("- Você saiu do veículo e foi reprovado.", source) setElementPosition (source, 1481.06, -1601.6, 13.55) destroyElement (theVehicle) end end addEventHandler ("onPlayerVehicleExit", root, sairVeh)
  13. createMarker onClientMarkerHit ou bindKey ou addCommandHandler onClientClick dxDrawRectangle dxDrawText dxDrawCircle isMouseInPosition (useful function)
  14. Não exagere no uso de Caps Lock. Veja as regras do fórum aqui. Sistema de inventário + loja é muito complexo. Você está querendo dar "um passo maior que a perna". MTA Brasil é apenas um site que junta conteúdo de outros blogs. Você não posta diretamente lá. Se quer publicar seus resources, poste no site oficial da comunidade do MTA: https://community.multitheftauto.com/index.php?p=resources Para fazer feedback nos botões DX ao passar o mouse em cima, recomendo a função útil isMouseInPosition.
  15. Deixe um Thanks nas respostas que lhe ajudaram.
  16. Na sua linha 4, thePlayer não foi definido em lugar nenhum.
  17. dxDrawText (Nome, 1257, 69, 1388, 97, tocolor(255, 255, 255, 255), 1, "default-bold", "center", "top", false, false, false, true)
  18. Utilize o botão <> do fórum para postar códigos. Não cole direto no texto.
  19. Fecharei este tópico por excesso de spam. Quando aprender a formatar adequadamente, solicite o desbloqueio. O mesmo vale para o uso indevido do "quote". Você pode ver as regras e formatações aqui:
×
×
  • Create New...