DNL291

Moderators
  • Content Count

    3,604
  • Joined

  • Days Won

    48

Everything posted by DNL291

  1. Adicione o comando: addCommandHandler com o comando desejado ( 'oneshot' ); Quando o jogador digitar o comando, utilize a função setElementData; Quando sair, remova essa elementData, que pode ser passando false no valor. Obs: no seu código está verificando se bodypart é 3 que é o torso, troque para 9 se quiser que seja a cabeça.
  2. Se você tiver falando do efeito preto e branco tem este shader: https://community.multitheftauto.com/index.php?p=resources&s=details&id=8466 Senão, acredito que conseguirá com dxDrawRectangle.
  3. Deixe as função do dx separada: function drawDX() dxDrawRectangle(382, 346, 264, 1, tocolor(254, 254, 254, 255), false) dxDrawText("NENHUM ITEM", 380, 304, 646, 340, tocolor(255, 255, 255, 255), 3.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("ATUALMENTE NÃO HÁ\n NENHUM OBJETO\n SELECIONADO !", 377, 360, 646, 565, tocolor(0, 95, 253, 255), 1.50, "default-bold", "center", "top", false, false, false, false, false) dxDrawRectangle(382, 570, 264, 1, tocolor(254, 254, 254, 255), false) dxDrawRectangle(570, 578, 76, 34, tocolor(0, 28, 243, 255), false) dxDrawText("agua", 380, 574, 568, 614, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("USAR", 569, 577, 646, 612, tocolor(255, 255, 255, 255), 2.00, "default-bold", "center", "center", false, false, false, false, false) end Lembre-se que funções dx precisam ser renderizadas para sempre aparecer na tela; utilize com o evento onClientRender. No onClientClick você só fará verificações: Se o clique foi em certa área da tela if isCursorOnElement(X, Y, width, height) then Se o dx está visível E isMainMenuActive + isConsoleActive Verificar se o botão do cloque foi o botão esquerdo do mouse "left" (a menos que você queria outro, como botão direito "right") Feitas essas verificações no evento, o seu clique em 'botões DX' está feito. Se o seu clique for em um elemento do GTA, você pode obter o elemento clicado no parâmetro do evento onClientClick: string button, string state, int absoluteX, int absoluteY, float worldX, float worldY, float worldZ, element clickedWorld clickedWorld
  4. Tenta isto: addCommandHandler( "dc", -- add a command handler for the command function( ) local success = setClipboard( "https://discord.gg/y5uZFhw" ) -- set the clipboard and find out if it worked if success then outputChatBox( "O link do discord foi copiado para o clipboard", 0, 255, 0 ) -- if it did, tell the player end end )
  5. Mude o script para client no meta.xml.
  6. Sim, os argumentos da função são nesta ordem: ID, radius, X, Y, Z, interior (opcional) Certifique-se que estejam corretamente definidos. Também, Veja o debug quando testar o código.
  7. Evento: onClientClick Utilize o último parâmetro 'clickedWorld'.
  8. Está na categoria errada, a categoria portuguesa é aqui: https://forum.mtasa.com/forum/97-portuguese-português/ #Topico: Ative o resource interiors - ele já vem por padrão na sua pasta de resources quando instala o MTA. @Pedro Ferreira
  9. Vai depender da estrutura da tabela; data[1] vai retornar a tabela da query, pra tirar suas dúvidas teste o código com iprint, tente manipular essa tabela, etc. A melhor forma de tirar as dúvidas é com você mesmo.
  10. Faltou especificar o valor de BancoSF na query. data2 irá retornar uma tabela com os valores da query, você pode obtê-los com um loop ou indexando; use a função iprint para visualizar a estrutura e entender como você pode puxar o valor. Você também precisa definir o tipo de valor para BancoSF em "CREATE TABLE'. Para atualizar você usará a sintaxe UPDATE, leia: https://www.w3schools.com/sql/sql_update.asp
  11. Pra fazer uma verificação do veículo armazenado na tabela: if veh[getPedOccupiedVehicle(player)] then print("é um veículo da tabela") end Se o intuito dele não for fazer nada disso, então ele está usando uma estrutura errada para a tabela.
  12. Remova warpPedIntoVehicle e adicione uma offset nas coordenadas x e y do veículo. @FlavioDFG
  13. DNL291

    help

    guiSetEnabled(image, false)
  14. Tem certeza que o crash tem relação direta com esse código? A classe não está completa, provavelmente tem outro arquivo separado fora esse código postado. Se tiver algum problema com esse script, é mais provável que seja por mal uso.
  15. Arguments passed in addCommandHandler will be returned as string, you'll need to convert it number. Put this at the beginning of the function: R,G,B = tonumber(R),tonumber(G),tonumber(B)
  16. Coloque false no último argumento de onClientGUIClick. addEventHandler("onClientGUIClick", botao1, fecharConversa, false)
  17. Não existe nenhuma conversão automática, você vai precisar recriar utilizando Lua.
  18. onClientVehicleDamage getElementModel cancelEvent
  19. Sim, tem o evento onElementModelChange, verifique se source é um player e a nova skin você obtém com o parâmetro newModel.
  20. Na função exportada addNotification você deixou source, troque para 'jogador'. Lembre-se de dar acl para o resource e deixar o debug ativado quando testar (/debugscript 3). O segundo if eu não entendi o que você quer fazer ali.
  21. function comando_criarVeiculo ( player ) local accName = getAccountName ( getPlayerAccount (player) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "PrivadosK13" ) ) then -- verificar se o jogador está no grupo acl local x,y,z = getElementPosition(player) -- obter a localização do jogador local veh = createVehicle( id, x,y,z ) -- função para criar o veíoculo; criar nas coordenadas do jogador setTimer( warpPedIntoVehicle, 50, 1, player, veh ) -- teleportar o player para dentro em um timer de 50ms outputChatBox("Você pegou seu carro exclusivo com sucesso", player) -- mostrar mensagem no chat apenas para o jogador end end addCommandHandler("meucarroexclusivo", comando_criarVeiculo) -- aqui vai o nome do comando Em id você define o id do veículo. > https://wiki.multitheftauto.com/wiki/Vehicle_IDs Lembre-se de postar aqui da próxima vez: https://forum.mtasa.com/forum/127-programação-em-Lua/ @K13
  22. A rotação é 0-360, o valor que você colocou é muito baixo.
  23. 'playerSource' será sempre a referência para a qual foi definida, a menos que seja explicitamente alterada código, por exemplo: function elementType(playerSource) if getPedOccupiedVehicle(playerSource) then playerSource = getPedOccupiedVehicle(playerSource) -- playerSource aqui passa a ser o veículo do jogador local gET = getElementType(playerSource) outputChatBox("O seu tipo é:"..gET..".", playerSource, 255,255,255, true) end end addCommandHandler("tipo", elementType) Uma dica é sempre fazer outputs com os valores para entender a lógica e jamais faça o script tentando na sorte, você pode colocar um: iprint("playerSource", playerSource, "vehicle", getPedOccupiedVehicle(playerSource), "element type", getElementType(playerSource))