Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,908
  • Joined

  • Last visited

  • Days Won

    170

Lord Henry last won the day on January 12

Lord Henry had the most liked content!

About Lord Henry

  • Birthday 16/01/1996

Member Title

  • Portuguese Section Moderator

Details

  • Gang
    MTA Simpsons
  • Location
    Brazil
  • Occupation
    Game Developer
  • Interests
    Resource Development, Gamer, Map Design, Staff Management, MTA Forum Portuguese Section Helper

Recent Profile Visitors

18,392 profile views

Lord Henry's Achievements

Soldier

Soldier (43/54)

1.6k

Reputation

  1. Tem. Basta cancelar o evento onClientPlayerDamage quando o tipo de dano for de queda. addEventHandler("onClientPlayerDamage", localPlayer, function (attacker, weapon) -- Ativa este evento sempre que o localPlayer tomar qualquer dano. if weapon == 54 then -- Se o dano for de queda, então: cancelEvent() -- Cancela este evento e não toma o dano. end end)
  2. Só verificar se o veículo existe com isElement.
  3. ola lord henry poderia ver meu topico se sim obrigado

     

  4. Mano, não irei programar seu resource para você. Quando abrir o painel, coloque aquela elementData no jogador (ou outra data, se preferir). Depois remova essa data (coloque valor false) ao fechar o painel. É bem simples. Pelo que parece, você também está usando a variável Chest para definir se o painel está aberto ou não, dai nesse caso é mais fácil ainda. local theKeys = {"F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"} -- Obs: Por medidas de segurança, a tecla F8 não aciona este evento e portanto não pode ser bloqueada. addEventHandler("onClientKey", root, function (button, press) if Chest then -- Se o painel está aberto, então: if press then for i,key in pairs(theKeys) do if button == key then cancelEvent() outputChatBox("Tecla bloqueada.") -- Apenas para testes, remova na versão final. break end end end end end)
  5. Gostaria de relatar alguns contratempos que tenho enfrentado recentemente ao tentar acessar o jogo e o Discord.

    Ontem, fiz minha primeira entrada no servidor do Discord. Embora não tenha enviado nenhuma mensagem nem interagido de forma alguma, fui surpreendentemente banido hoje às 10:01.

    Além disso, estou encontrando dificuldades na instalação do MTA, devido a um erro identificado como CL 22, acompanhado da mensagem "Erro 5. Acesso Negado (ShellExecute)".

    Agradeço antecipadamente por qualquer orientação ou assistência que possam fornecer para solucionar esses problemas.

    Respeitosamente,

    Felipe

  6. Ou você pode setar rotação nos braços do jogador algemado em vez de setar uma animação. Dai é só ficar chamando todo frame enquanto ele estiver com elementData de algemado. -- Client-side: function setCuffed(thePlayer) -- Função que seta a "animação" de algemado. -- Left setElementBoneRotation(thePlayer, 32, 26.574, 61.3375, 59.2065) setElementBoneRotation(thePlayer, 33, 27.844, 15.364, 46.406) setElementBoneRotation(thePlayer, 34, -81.0185, 342.875, 326.118) -- Right setElementBoneRotation(thePlayer, 22, 338.839, 53.4935, 298.452) setElementBoneRotation(thePlayer, 23, 307.687, 22.11, 313.594) setElementBoneRotation(thePlayer, 24, 96.0475, 357.883, 56.739) updateElementRpHAnim(thePlayer) -- Aplica as rotações nos ossos do thePlayer neste frame. end addEventHandler("onClientPedsProcessed", root, function() -- Chama essa função a cada frame, quando os personagens são processados. for _,player in pairs(getElementsByType("player", root, true)) do -- Para cada jogador próximo, faça: if getElementData(player, "algemado") then -- Se o jogador está com a elementData "algemado" então: setCuffed(player) -- Seta a animação de algemado nele durante 1 frame. end end end) -- Server-side: addCommandHandler("algemar", function(theCop, cmd, name) -- Comando que vai algemar/desalgemar alguém. Use /algemar NomeDoPlayer if not isObjectInACLGroup ("user."..getAccountName(getPlayerAccount(theCop)), aclGetGroup ("Policia")) then -- Se quem executou o comando não está na ACL Group "Policia", então: outputChatBox("Acesso negado. Você precisa ser um policial para usar este comando.", theCop, 255, 50, 50) return -- Cancela a execução dessa função aqui e nem lê o resto. end if not name then -- Se não foi declarado nada depois do /algemar, então: outputChatBox("Erro: É necessário informar o nome do jogador a ser algemado/desalgemado.", theCop, 255, 50, 50) return end local thePlayer = getPlayerFromName(name) if thePlayer then -- Se existe o jogador com o nome informado, então: (o nome precisa ser exato, incluindo códigos de cores) if getPedOccupiedVehicle(thePlayer) then -- Não permite algemar/desalgemar jogadores que estão em veículos. outputChatBox("Erro: Este jogador está em um veículo, não é possível algemar/desalgemar ele.", theCop, 255, 50, 50) return end if getElementData(thePlayer, "algemado") then -- Se o jogador já tem a data de algemado, então: setElementData(thePlayer, "algemado", false) -- Remove a data dele, parando a animação de algemado dele. disenableControls(thePlayer, true) -- Habilita os controles do jogador. outputChatBox("Você desalgemou o jogador "..name, theCop, 255, 255, 0) else -- Se o jogador não tem a data de algemado, então: setElementData(thePlayer, "algemado", true) -- Coloca a data nele, a animação de algemado será aplicada nele. disenableControls(thePlayer, false) -- Desabilita os controles do jogador. setPedWeaponSlot (thePlayer, 0) -- Coloca o slot de arma desarmado no jogador. Para ele não ficar segurando armas enquanto algemado. outputChatBox("Você algemou o jogador "..name, theCop, 255, 255, 0) end else -- Se não existe um jogador com o nome informado (ou o nome informado não é exato), então: outputChatBox("Erro: Jogador não encontrado: "..name, theCop, 255, 50, 50) end end) function disenableControls(thePlayer, state) -- Função que ativa/desativa alguns controles específicos do jogador, pra n ficar repetindo código. local controls = {"fire", "action", "jump", "sprint", "aim_weapon", "next_weapon", "previous_weapon", "enter_exit"} for _,ctrl in pairs (controls) do -- Para cada controle da lista, faça: toggleControl (thePlayer, ctrl, state) -- Ativa/desativa o controle. end end
  7. Defina o parâmetro interruptable da animação como false.
  8. @SUPERNATUR4L assim funciona: local theKeys = {"F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"} -- Obs: Por medidas de segurança, a tecla F8 não aciona este evento e portanto não pode ser bloqueada. addEventHandler("onClientKey", root, function (button, press) if press then for i,key in pairs(theKeys) do if button == key then if getElementData(localPlayer, "Porta-Malas") then cancelEvent() outputChatBox("Tecla bloqueada.") -- Apenas para testes, remova na versão final. else -- Apenas para testes, remova na versão final. outputChatBox("Você não tem a elementData necessária. Tecla liberada.") -- Apenas para testes, remova na versão final. end break end end end end)
  9. Essa variável player não faz sentido. E você está usando um evento client-side, sendo que para mexer na vida dos jogadores você deve fazer server-side. Utilize o evento onPlayerDamage em vez disso, pois é um evento server-side. function headDamage (attacker, weapon, bodypart) if (bodypart == 9 and attacker and attacker ~= source) then -- Se o dano recebido foi na cabeça e não foi causado por si mesmo, então: cancelEvent() -- Cancela o dano normal que o tiro daria na cabeça. local hp = getElementHealth(source) -- Obtém a vida atual do jogador que tomou o tiro. setElementHealth(source, hp - 34) -- Subtrai 34 da vida atual do jogador. -- Primeiro tiro: 100 >> 66 -- Segundo tiro: 66 >> 32 -- Terceiro tiro: 32 >> -2 (morre) end end addEventHandler ("onPlayerDamage", root, headDamage)
  10. Mantenha-se no seu tópico original. Não fique criando outros tópicos iguais.
  11. Na Wiki já tem um exemplo que faz literalmente isso. for i = 321, 18630 do removeWorldModel(i, 10000, 0, 0, 0) end setOcclusionsEnabled(false) -- Also disable occlusions when removing certain models setWaterLevel(-5000) -- Also hide the default water as it will be full of holes Fonte: https://wiki.multitheftauto.com/wiki/RemoveWorldModel#Example
  12. function renderBox() dxDrawImage(...) -- Insira a imagem aqui, junto dos valores de posição e tamanho. end addCommandHandler("ola", function() -- Comando para mostrar a imagem. addEventHandler("onClientRender", root, renderBox) -- Começa a mostrar a imagem. setTimer(function() -- Depois de 5 segundos: removeEventHandler("onClientRender", root, renderBox) -- Para de mostrar a imagem. end, 5000, 1) end)
  13. Faça tudo client-side. Exceto a parte de criar o veículo e de dar o dinheiro.
  14. Se o problema for somente em um servidor específico, entre em contato com a staff dele para obter suporte. Se for em todos os servers, talvez você esteja com problemas no seu mouse.
×
×
  • Create New...