Jump to content

KronoS Lettify

Members
  • Posts

    112
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by KronoS Lettify

  1. @Looktovask Recomendo que não dependa de Grupos de ACL. Além de não ser muito convencional para o seu caso, ele pode lagar se houver abusos. Indico que trabalhe com os teams do MTA ou crie um próprio.
  2. Qual é a origem daquele type? E está faltando um 'end'
  3. @SrPatiff O seguinte código pode ajudá-lo com o problema reportado: local fps = 0 local showFPS_tick = 0 function getCurrentFPS() return fps end local function updateFPS(msSinceLastFrame) fps = (1 / msSinceLastFrame) * 1000 end addEventHandler("onClientPreRender", root, updateFPS) function screenFPS() fps = math.floor(fps) local enviado = getNetworkStats().packetsSent local recebido = getNetworkStats().packetsReceived local packetLoss = getNetworkStats().packetlossTotal local now = getTickCount() local mostrar = getElementData(localPlayer, "hud:informacoes") if mostrar == nil then setElementData(localPlayer, "hud:informacoes", true) end if mostrar == true then if (now >= showFPS_tick) then dxDrawText("FPS: "..fps, (screenW * 0.1555) - 1, (screenH * 0.0362) - 1, (screenW * 0.1992) - 1, (screenH * 0.0537) - 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("FPS: "..fps, (screenW * 0.1555) + 1, (screenH * 0.0362) - 1, (screenW * 0.1992) + 1, (screenH * 0.0537) - 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("FPS: "..fps, (screenW * 0.1555) - 1, (screenH * 0.0362) + 1, (screenW * 0.1992) - 1, (screenH * 0.0537) + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("FPS: "..fps, (screenW * 0.1555) + 1, (screenH * 0.0362) + 1, (screenW * 0.1992) + 1, (screenH * 0.0537) + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("FPS: "..fps, screenW * 0.1555, screenH * 0.0362, screenW * 0.1992, screenH * 0.0537, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("PING: "..getPlayerPing(localPlayer), (screenW * 0.1977) - 1, (screenH * 0.0362) - 1, (screenW * 0.2414) - 1, (screenH * 0.0537) - 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("PING: "..getPlayerPing(localPlayer), (screenW * 0.1977) + 1, (screenH * 0.0362) - 1, (screenW * 0.2414) + 1, (screenH * 0.0537) - 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("PING: "..getPlayerPing(localPlayer), (screenW * 0.1977) - 1, (screenH * 0.0362) + 1, (screenW * 0.2414) - 1, (screenH * 0.0537) + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("PING: "..getPlayerPing(localPlayer), (screenW * 0.1977) + 1, (screenH * 0.0362) + 1, (screenW * 0.2414) + 1, (screenH * 0.0537) + 1, tocolor(0, 0, 0, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("PING: "..getPlayerPing(localPlayer), screenW * 0.1977, screenH * 0.0362, screenW * 0.2414, screenH * 0.0537, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) showFPS_tick = now + 1000 end end end addEventHandler ( "onClientRender", root, screenFPS ) Se não der certo, avise aqui quando puder.
  4. Os objetos-resource não são transferidos via evento, você teria que criar uma nova tabela com os nomes dos resources e então enviá-los ao client.
  5. This is wrong. Try: addCommandHandler('leave', function (player) setCameraTarget(player) end )
  6. Show me the code you used to test
  7. For you set the camera target to yourself, try using setCameraTarger function.
  8. Se quiser selecionar um valor aleatório que tá dentro da tabela, pode fazer por exemplo: setElementModel(ped, femaleSkins[math.random(#femaleSkins)])
  9. For the command, you can try using onPlayerCommand event
  10. Nativamente isso não é possível ? Mas você pode fazer uma "gambiarra" para isso ser possível .-.
  11. For the command to work correctly according to your problem, it is good to use tables to manage the players and their created vehicles. Do you know how tables work in Lua?
  12. Só com eventos mesmo para você criar comunicações e enviar dados server/client. Há uma biblioteca criada com o objetivo de deixar a comunicação server/client mais "fácil". Se você quiser dar uma olhada só clicar em MTA Communication Enchantment
  13. Você pode cancelar a troca de armas pela função toggleControl. Se quiser cancelar qualquer coisa nas teclas Q e E você pode cancelar o evento onClientKey, assim qualquer coisa que tenha 'bind' naquelas teclas serão cancelados, qualquer coisa mesmo. Recomendo que use a primeira função sugerida pois ela detém os controles de jogabilidade, mesmo que o jogador altere a tecla de ações do jogo em suas configurações locais. Qualquer dúvida sobre o uso da função ou o evento, só continuar o tópico ?
  14. Para alterar a tecla de uma bind você pode usar unbindKey para tirar binds de uma tecla e depois usar o bindKey para 'bindar' a nova tecla. As formas que você usar para trocar a tecla de uma bind podem variar. Qualquer ideia que você tiver e tiver dúvidas sobre ela, é só você expor neste tópico ?
  15. Eu fiz o seguinte teste e funcionou aqui: addEventHandler('onClientPlayerDamage', root, function () local vidaAtual = getElementHealth(source) if (vidaAtual <= 1) then print('Travado em 1%') if (vidaAtual ~= 1) then setElementHealth(source, 1) end cancelEvent() end end )
  16. @Thigas Scripter Para que seu código fique de uma forma mais legível use esta opção:
  17. É verdade, não fui bem específico ?
  18. Creio que o atributo cache só funciona para arquivos na tag script
  19. Olá e bem-vindo ao fórum. Para manter o local organizado temos os respectivos sub-fóruns, por isso, sempre que criar um tópico por favor crie-o dentro do sub-fórum Portuguese / Português Você pode encontrá-lo pela página inicial do fórum da forma mostrada abaixo: Isso evitará o trabalho que os moderadores têm diariamente de mover posts para os locais certos. Sempre que criar um novo tópico, certifique-se que esteja na devida categoria. No sub-fórum Português ficam todas postagens na linguagem portuguesa, enquanto que fora da categoria Other languages só é permitido posts em inglês, por isso, sempre que responder um tópico, preste atenção a isso.
  20. Com uma boa olhada na página da função getControlState é possível ver que ela agora é uma função server-side, e há uma semelhante para ser usada em client-side. Para que poupe seu tempo de ir para a wikipédia do MTA para ler especificamente sobre a função em relação ao seu problema, veja: Link útil: getPedControlState
  21. Para que você envie dados de um side para outro, você pode usar eventos personalizados do MTA. Mas o seu caso pode ser facilmente resolvido com uma boa lida. Para você obter o nome de uma zona em que um elemento está, basta usar a função getZoneName especificando a localização dele. Isto estava claro na página da função getElementZoneName.
  22. Em se tratar de delay para comandos, eu trabalharia dessa forma: local Tempo = {} addCommandHandler('comando', function (player) if not (Tempo[player] and isTimer(Tempo[player])) then print('Timer começando') Tempo[player] = setTimer( function (p) print('Timer terminado') Tempo[p] = nil end , 10000, 1, player) else print('Aguarde 10 segundos para executar o comando novamente') end end )
  23. A tabela está sendo representada mais ou menos da seguinte forma: tempTimers = { userdata = setTimer() } E então para acessar o objeto-timer só usar assim: tempTimers[userdata] -- return object-timer
×
×
  • Create New...