Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,008
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. Não se usa source como parâmetro de função. function SalvarDadosLogout () local ObterGalao = getElementData (source, "galao") local conta = getPlayerAccount (source) setAccountData (conta, "galao", ObterGalao) end addEventHandler ("onPlayerQuit", root, SalvarDadosLogout) function DarDadosLogin (prevAcc, currAcc) local TemGalao = getAccountData (currAcc, "galao") setElementData (source, "galao", TemGalao) end addEventHandler ("onPlayerLogin", root, DarDadosLogin)
  2. Não use setTimers para isso. Se o jogador reconectar no servidor, ele será outro elemento, logo o timer dele será perdido. Não é recomendável usar setTimer para grandes períodos de tempo, eles consomem muito processamento do servidor para se manterem ativos. Use o timestamp do getRealTime. Assim você será capaz de salvar o instante que o jogador pegou a grana pela última vez na conta dele, e quando ele tentar novamente, verificar se o momento salvo já faz mais do que 24 horas passadas.
  3. Os parâmetros de função do evento onPlayerJoin não são esses. Preste atenção na wiki.
  4. Assim nunca vai dar certo. Você está usando funções client-side e server-side no mesmo script.
  5. Edita o modelo em um programa de modelagem 3D.
  6. setElementInterior - Coloca um elemento (no caso jogador) em um interior. Funciona tanto server-side quanto client-side. onMarkerHit - Evento que ativa uma função quando alguém colide num marker. Somente server-side. onClientMarkerHit - Mesmo que o evento de cima, mas funciona somente client-side.
  7. Ative o resource AirNew_MensagemDX
  8. getPlayerMoney recebe um argumento do tipo player, e não uma string.
  9. function darVIPOuro (theStaff, cmd, nick) if (nick) then -- Se foi informado o nick após o comando, então: local thePlayer = getPlayerFromName (nick) -- Recebe o jogador que possui esse nick. if (thePlayer) then -- Se existe um jogador com esse nick, então: local accName = getAccountName (getPlayerAccount (thePlayer)) -- Recebe o login da conta desse jogador. if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (theStaff)), aclGetGroup ("Admin")) then -- Se o jogador que executou o comando estiver na ACL Group 'Admin', então: if (aclGroupAddObject (aclGetGroup ("Ouro"), "user."..accName)) then -- Se o login do jogador foi adicionado corretamente na ACL Group 'Ouro', então: outputChatBox ("O cidadão '"..nick.."' foi adicionado no grupo VIP Ouro com sucesso!", theStaff) -- Manda isso pro jogador que executou o comando. else -- Se não foi possível adicionar o login do jogador ao grupo, então: outputChatBox ("Erro ao adicionar o cidadão '"..nick.."' ao grupo VIP Ouro. Verifique se o grupo 'Ouro' existe e se este resource tem permissão Admin.", theStaff, 255, 150, 0) -- Manda isso pro jogador que executou o comando. end else -- Se o jogador que executou o comando não estiver na ACL Group 'Admin', então: outputChatBox ("Acesso negado a este comando.", theStaff, 255, 150, 0) -- Manda isso pro jogador que executou o comando. end else -- Se não existe nenhum jogador com o nick exatamente igual ao informado no comando, então: outputChatBox ("Nenhum jogador com esse nick foi encontrado.", theStaff) -- Manda isso pro jogador que executou o comando. end else -- Se não foi declarado nada após o comando, então: outputChatBox ("Erro de sintaxe, use: /addVIPOuro <Nick>", theStaff) -- Manda isso pro jogador que executou o comando. end end addCommandHandler ("addVIPOuro", darVIPOuro) -- Troquei o comando pra facilitar.
  10. Não. Você não pode declarar o marker na própria animação.
  11. Esse seu código não faz sentido. Vai entrar em loop infinito. Uma vez que o evento "onTrailerAttach" será chamado sempre que attachTrailerToVehicle funcionar. Eu faria com onTrailerDetach, que reconectaria a carga ao caminhão sempre que ela desconectar. Impedindo que ela saia do caminhão. Mas não sei se resolveria o bug, pois o problema não é da carga desconectar no jogador, é apenas um bug de sincronização. O jogo está considerando a carga anexada, mas no cliente dos outros jogadores não está.
  12. Errou na linha 19. Pra começar vc colocou 2 parâmetros, sendo que a função só usa 1. Além disso, os dois parâmetros estão errados. local dinheiro_do_jogador = getPlayerMoney (player_a_ser_revistado)
  13. Mais fácil ele simplesmente criar um client.Lua, declarar no meta.xml do gamemode play e fazer o que tem que ser feito somente nesse client.Lua.
  14. Tem sim. setAccountData para salvar na conta e depois getAccountData para carregar os dados da conta ao logar novamente.
  15. setPedAnimation (jogador, "CARRY", "liftup", 0, false, false, false, false)
  16. Vale lembrar que é por tempo limitado. E essa versão é igual da Steam. (a pior versão de todas)
  17. Já foi respondido aqui, era só descer a página que vc encontraria:
  18. Se são client-side, não funcionam server-side. E nem vice-versa. Quando uma função funciona em ambos, ela é shared.
  19. Leia o exemplo 3. https://wiki.multitheftauto.com/wiki/RemoveWorldModel#Example
  20. setElementPosition - Pra teleportar pra uma coordenada específica. setElementFrozen - Pra congelar um elemento. (no caso o jogador) setTimer - Um timer para descongelar depois.
  21. Com um loop que passa entre todos os jogadores, vai verificando a distância do seu personagem com os demais jogadores. Para obter todos os jogadores, use getElementsByType.
×
×
  • Create New...