DNL291

Moderators
  • Content Count

    3,496
  • Joined

  • Last visited

  • Days Won

    43

DNL291 last won the day on November 12

DNL291 had the most liked content!

Community Reputation

609 MTA Ambassador

About DNL291

  • Rank
    Global Moderator

Details

  • Gang
    the right side
  • Interests
    Programming/Scripting; Giving support on forums

Recent Profile Visitors

5,615 profile views
  1. Não lembro o tópico, use a ferramenta de pesquisa aqui, você mesmo pode procurar. Ou tente fazer o script, são poucas linhas.
  2. addCommandHandler -- faça um loop nos jogadores; verifique se não é o mesmo do comando getElementsByType("player") getDistanceBetweenPoints3D getPlayerName outputChatBox
  3. Provavelmente existe algum script no servidor que habilita novamente. Mas antes disso certifique-se que esse código esteja funcionando - tá faltando um ) depois do 'end', lembre-se de testar scripts com o debug ativado (/debugscript 3), embora teria mostrado algum erro no console do servidor.
  4. Otimização básica : Faça as variáveis localmente sempre que possível. Você poderia ter feito esse código client-side; Quanto mais código sever-side, mais 'peso' para o servidor. Encurtar e Otimizar o código Você pode deixar uma só função lidando com o onMarkerHit. Além disso, em vez de ter criado todas as markers numa tabela, faça isso com os locais x,y,z da marker. Para controlar a rota, utilizar uma variável que irá manter o index da marker na tabela; Esse será o índice da tabela que corresponde ao marker atual criado, dessa forma, quando criar a próxima rota é só indexar a tabela das coordenadas incrementando +1 no índice. Este exemplo mostra isso na prática: local markerAtual local rota function inicio(thePlayer) rota = 1 local x,y,z = unpack(etapas[rota]) markerAtual = createMarker( x,y,z, "checkpoint", 0, 255,0,0, 20 ) end addCommandHandler("cnh", inicio) addEventHandler("onMarkerHit", resourceRoot, function() if isElement(markerAtual) then destroyElement(markerAtual) end rota = rota + 1 if rota == #etapas then return outputChatBox( "Todas rotas concluídas" ) end local x,y,z = unpack(etapas[rota]) markerAtual = createMarker( x,y,z, "checkpoint", 0, 255,0,0, 20 ) end, true, "low") Outra outra, sempre use tabulação e não quebre muitas linhas excessivamente.
  5. https://forum.mtasa.com/topic/118944-ajuda-interior-aberto/
  6. https://wiki.multitheftauto.com/wiki/SetVehicleIdleRespawnDelay
  7. Pelo fórum já tem códigos desse tipo, mas aqui estão as funções: "onPlayerWasted" getPlayerWantedLevel setPlayerWantedLevel outputChatBox
  8. Aprenda Mysql primeiro de tudo, ter esse conhecimento é fundamental para quem possui servidor, além de uma noção em Lua. Você pode fazer o banco de dados funcionar localmente dependendo do tipo do banco.
  9. Você quer setar o dano server-side, certo? Você pode fazer com onClientPlayerDamage. Não precisa ser no mesmo evento mencionado.
  10. Faça if condição then elseif condição then end Em vez de vários blocos de if's E também: verifique o parâmetro button para o clique com o botão esquerdo do mouse e se o state é 'down' para não chamar duas vezes a mesma ação.
  11. https://wiki.multitheftauto.com/wiki/ProcessLineOfSight Tenha em mente que essa função é 'pesada', só use se realmente precisar ou se não se importa com performance.
  12. Tente com bindKey + setControlState. E posta no local certo da próxima vez - https://forum.mtasa.com/forum/127-programação-em-Lua/ @ArthurScr
  13. O problema pode estar no client-side, geralmente dá esses conflitos quando duplicam com outro resource parecido. Movido para https://forum.mtasa.com/forum/127-programação-em-Lua/ @VORT3X
  14. Leia os argumentos de setElementData: theElement, key, value, synchronize (opcional) setElementData(source, "oneshot", true) Assim deve funcionar ^