Lord Henry

Other Languages Moderators
  • Content Count

    2,800
  • Joined

  • Last visited

  • Days Won

    87

Lord Henry last won the day on January 10

Lord Henry had the most liked content!

Community Reputation

1,086 MTA Ambassador

About Lord Henry

  • Rank
    Portuguese Section Moderator
  • Birthday 16/01/1996

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

5,722 profile views
  1. Exemplo básico de um save-system. Só com a parte do dinheiro: (server-side) function loadData (prevAcc, currAcc) -- currAcc é a conta na qual o jogador logou. prevAcc é a conta que ele estava antes (guest). if (getAccountData (currAcc, "grana")) then -- Se tem alguma grana salva nessa conta, então: local dinheiro = getAccountData (currAcc, "grana") -- Dinheiro recebe o quanto de dinheiro estava salvo na conta que o jogador logou. setPlayerMoney (source, dinheiro) -- Seta essa quantidade de grana no bolso do jogador. outputChatBox ("Dinheiro carregado da sua conta com sucesso.", source, 0, 255, 0) end end addEventHandler ("onPlayerLogin", root, loadData) -- Ativa a função loadData sempre que um jogador logar. function saveData (prevAcc, currAcc) -- prevAcc é a conta na qual o jogador estava logado. currAcc é a conta que ficou depois de deslogar (guest). local dinheiro = getPlayerMoney (source) -- Dinheiro recebe o quanto de dinheiro que o jogador tinha no bolso quando deslogou. setAccountData (prevAcc, "grana", dinheiro) -- Salva na conta do jogador a grana que ele tinha no bolso quando deslogou. Mesmo que seja 0. end addEventHandler ("onPlayerLogout", root, saveData) -- Ativa a função saveData sempre que um jogador deslogar.
  2. Na verdade daria erro. Pois ele vai reclamar dizendo que esperava um argumento do tipo element mas recebeu um número (255). Corrigi para você. 😉
  3. setPlayerHudComponentVisible quando inicia o resource. Use também na tecla F11, para alternar entre Hud visível e invisível, pois ao pressionar o F11 para fazer o mapa sumir, a HUD original do GTA volta a aparecer. setPlayerHudComponentVisible bindKey Fiz um exemplo da parte de bind, com F11 function manageHud (state) -- Mostra/oculta o HUD original dependendo do valor de state. setPlayerHudComponentVisible ("clock", state) setPlayerHudComponentVisible ("money", state) setPlayerHudComponentVisible ("health", state) setPlayerHudComponentVisible ("armour", state) setPlayerHudComponentVisible ("weapon", state) setPlayerHudComponentVisible ("ammo", state) setPlayerHudComponentVisible ("wanted", state) setPlayerHudComponentVisible ("breath", state) end function Hud () dxDrawText ("HUD", 0, 0) -- dxDraw functions... (seu HUD aqui) end function HudSome () if isVisible then -- Variável qualquer, na primeira verificação sempre é false pois ela nem existe. addEventHandler("onClientRender", root, Hud) -- Começa a renderizar a HUD. manageHud (false) -- Oculta o HUD original. else -- Se não tem a variável ou ela for igual a false, então: removeEventHandler("onClientRender", root, Hud) -- Para de renderizar a HUD. end isVisible = not isVisible -- Alterna essa variável entre true e false sempre que apertar F11. end bindKey ("F11", "down", HudSome) function startHud () addEventHandler ("onClientRender", root, Hud) -- Começa a renderizar o HUD quando este resource for ligado. manageHud (false) -- Para de mostrar o HUD original quando este resource for ligado. end addEventHandler ("onClientResourceStart", resourceRoot, startHud) function stopHud () manageHud (true) -- Mostra o HUD original quando este resource for desligado. end addEventHandler ("onClientResourceStop", resourceRoot, stopHud)
  4. Não é possível. Aplica em todos os jogadores que forem usar a arma cuja propriedade foi alterada. A função só funciona client-side para armas customizadas.
  5. Ué, vc pode usar a database nativa register.db e editá-la quando lhe convém. Só dar restart no resource que salva as kills e ele vai carregar da database.
  6. @Tommy. Tá bem errado isso aí, hein? Pra quê a verificação do source se você nem está usando vehicle? Creio que a partir da linha 8, era pra usar vehicle. Além disso, pra quê alterar tanta propriedade? O cara só pediu pra alterar a velocidade.
  7. 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.
  8. Opa, valeu maninho. Mas vc pode comentar no vídeo se não quiser criar uma conta aqui.
  9. @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
  10. 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.
  11. @NeoGM não reviva tópicos resolvidos.
  12. Prender objeto a outro objeto: attachElements Prender objeto a um jogador: funções exportadas pelo resource Bone_Attach.
  13. 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)