Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,990
  • Joined

  • Last visited

  • Days Won

    182

Everything posted by Lord Henry

  1. Olha, não recomendo que faça com createColRectangle. Pois não tem como criá-lo com ângulos Z diferentes de 0, 90, 180, 270. Sugiro criar com createColSphere, que funciona com qualquer ângulo.
  2. Opa, valeu maninho. Mas vc pode comentar no vídeo se não quiser criar uma conta aqui.
  3. @Tommy. @Jonas^ Sobre o problema com indentação zoada: Só configurar pra indentar com espaços em vez de tabulações. function name () -- TAB end function name () -- 4 spaces end
  4. Você pode obter o elemento que foi clicado no evento onClientClick. Se o objeto fizer parte do seu script, basta adicionar um addCommandHandler com um detachElements para soltar e attachElements para pegar. setPedAnimation Se for clicar em um painel, use onClientGUIClick. Se for clicar em um elemento do cenário, use onClientClick.
  5. @NeoGM não reviva tópicos resolvidos.
  6. Prender objeto a outro objeto: attachElements Prender objeto a um jogador: funções exportadas pelo resource Bone_Attach.
  7. commands = { -- Lista de comandos. ["coco"] = {} -- Lista de timers que bloqueiam este comando em um jogador específico. } addEventHandler ("onPlayerCommand", root, function (cmd) if (commands[cmd]) then -- Se o comando executado existe na lista de bloqueios, então: if (isTimer (commands[cmd][source])) then -- Se o jogador que executou este comando está com ele bloqueado (existe o timer), então: outputChatBox ("Este comando está desativado para você.", source, 255, 0, 0) cancelEvent() else -- Se não existe o setTimer deste jogador neste comando, significa que o comando não está bloqueado, então: commands[cmd][source] = setTimer (function (theSource) -- Adiciona este timer na lista, depois de 1 minuto ele vai sumir da lista e o jogador poderá usar o comando novamente. commands[cmd][theSource] = nil -- source não existe dentro de uma função setTimer, por isso precisou ser passado via parâmetro. end, 60000, 1, source) outputChatBox ("Comando executado.", source, 0, 255, 0) end end end) addEventHandler ("onPlayerQuit", root, function () -- Ativa quando um jogador desconecta do servidor. for i, v in pairs (commands) do -- Para cada comando da lista, faça: if (isTimer (v[source])) then -- Se existe o timer do jogador que saiu neste comando, então: killTimer (v[source]) -- Cancela o timer. v[source] = nil -- Libera a variável do timer. end end end) Testado e funcionando. (server-side)
  8. function math.round(number, decimals, method) decimals = decimals or 0 local factor = 10 ^ decimals if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor else return tonumber(("%."..decimals.."f"):format(number)) end end ratio = 3.524923 -- Valor qualquer só pra testar. function qualquerCoisa (cmd) outputChatBox (math.round (ratio, 3, "floor"), 255, 255, 0) -- Manda no chat o número com somente 3 decimais. end addCommandHandler ("ratio", qualquerCoisa) Client-side
  9. Postou na seção errada (tutoriais em geral). Dúvidas sobre mapas você posta na seção Mapas para MTA:SA Tópico movido para a seção correta.
  10. Mas qual a sua dúvida em si? Vc está com problemas em calcular a conversão ou apenas em criar um campo de input em DX? Seria útil mostrar o código do seu painel para que possamos lhe ajudar. Eita rapaz, o Tommy ta me seguindo logo abaixo. \/
  11. Você deveria comentar cada linha do seu código para saber o que está fazendo em cada uma. Algumas partes parecem estar com falha na lógica. Sobre o jogador voltar ao time antigo, vc precisa salvar um elementData nele quando ele usa o comando pra ir pro PVP, salvando o time antigo nessa data e depois setando o jogador de volta no time salvo na data dele. Um salve pro Tommy, que está digitando logo abaixo. \/
  12. Quais SD vc tem habilitados no seu servidor? (quando vc conecta no servidor, é a 3 ou 4 linha que aparece no F8)
  13. Nome de usuário é inútil nesses casos. Você precisa do serial dele, juntamente com as provas do ataque e fazer uma denúncia diretamente a algum admin do MTA via mensagem privada aqui no fórum. Mas já vou logo avisando que é difícil deles banirem, pois a maioria dos casos é culpa do dono do servidor que não soube configurar uma proteção adequada.
  14. A questão do motor ligar e desblindar vc coloca no script de reparar.
  15. createPed onClientPedDamage triggerServerEvent addEvent addEventHandler getPlayerWantedLevel setPlayerWantedLevel
  16. Recuperar apenas a vida do veículo, mas manter os amassados: setElementHealth (theVehicle, 1000) Reparar totalmente o veículo, deixando-o novo: fixVehicle (theVehicle) Ligar o motor do veículo: setVehicleEngineState (theVehicle, true)
  17. Movido para a seção Offtopic por se tratar de recrutamento de Staffs para servidor.
  18. client-side function onChatMessage (text) if (text == "login: You successfully logged in") then -- Se a mensagem hardcoded for igual a esta, então: cancelEvent() -- Cancela essa mensagem. outputChatBox ("login: Você logou com sucesso.", 255, 170, 0) -- Envia isso no lugar dela. end end addEventHandler ("onClientChatMessage", root, onChatMessage)
  19. Ou então você removeu o resource Admin da ACL Group Admin. Dessa forma o painel Admin não tem mais permissão para nada.
  20. Ué. Só criar 4 variáveis, 2 delas pra posição sem o radar e as outras 2 pra posição com o radar. Quando estiver dentro do veículo, faz o dxDraw da HUD com as variáveis com o radar, caso contrário, desenha a HUD com as variáveis sem o radar. Pra otimizar, eu faria as variáveis dentro de uma table. local positions = { [1] = {screenX*0.01, screenY*0.08}, -- Posição sem o radar. [2] = {screenX*0.01, screenY*0.06} -- Posição com o radar. } function render () if (getPedOccupiedVehicle(localPlayer)) then -- Se o jogador está dentro de um veículo, então: dxDrawRectangle (positions[2][1], positions[2][2], 200, 100) -- dxDraw com as posições do segundo item da table. else -- Se o jogador está a pé, então: dxDrawRectangle (positions[1][1], positions[1][2], 200, 100) -- dxDraw com as posições do primeiro item da table. end end (Programado e postado via mobile)
  21. getVehicleController - Obtém quem está dirigindo o veículo. getVehicleOccupant - Obtém o jogador que está ocupando determinado assento do veículo.
×
×
  • Create New...