Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,980
  • Joined

  • Last visited

  • Days Won

    181

Everything posted by Lord Henry

  1. client-side: triggerServerEvent ("addSkinPlayer", localPlayer) -- Por estar passando o localPlayer como source, não é necessário usá-lo como parâmetro de função. server-side: function setSkinPlayer () setElementModel (source, 130) -- source deste evento é o que foi definido no segundo parâmetro do triggerServerEvent. end addEvent ("addSkinPlayer", true) addEventHandler ("addSkinPlayer", root, setSkinPlayer)
  2. @FonsecaBF utilize o botão <> do fórum para postar seus scripts em vez de colar direto no texto. Você pode ver as regras do fórum aqui:
  3. Prefira indentar com 4 espaços em vez de 2 pois o tamanho padrão de uma tabulação é 4. É desnecessário deixar uma linha em branco entre a função e seu addEventHandler. No dxDrawText, depois do parâmetro "top" não é necessário declarar os falses pois eles já possuem estes valores por padrão. No triggerServerEvent, evite usar root se o evento está sendo ativado pelo mesmo resource. No seu caso, use localPlayer. E provavelmente o parâmetro source é desnecessário (teria que ver o lado server para saber). Espero ter ajudado.
  4. Acredito que para o caso descrito no tópico, usar CreateRadarArea seja o que o autor busca.
  5. Tabela inválida. É necessário inserir valores nos índices, caso contrário ela será vazia. Pra ficar mais fácil de entender, vc poderia fazer uma tabela simples assim: armas = {30, 10} Só depois vc tenta trabalhar com índices pra saber como o toJSON vai fazer.
  6. Utilize a função GetResourceOrganizationalPath para saber em qual pasta o resource está.
  7. addEventHandler ("onClientVehicleStartEnter", root, function (thePlayer) if (thePlayer == localPlayer) then if (isVehicleLocked (source)) then outputChatBox ("Veículo trancado.", 255, 0, 0) cancelEvent() end end end)
  8. Faltou um end para fechar o escopo da função PainelKing()
  9. É só clicar na coluna que deseja organizar por ela.
  10. Isso é ilegal e você pode inclusive ser punido pelo MTA por incluir backdoors maliciosos no seu resource. Você não pode punir os jogadores pelas cagadas que os admins do servidor fazem.
  11. Não, o arquivo não é declarado no meta. Por isso que o fileOpen utiliza como argumento o caminho completo do arquivo junto do nome dele.
  12. Olá. Sim, é permitido fazer isso. Desde que você mantenha o tópico atualizado. A formatação do seu tópico também está boa, a única coisa que eu mudaria seria colocar os primeiros vídeos no começo e os últimos vídeos no final do seu post. Boa sorte e parabéns pelo seu conteúdo.
  13. O objeto não. Mas você pode salvar as informações dele como ID, posição e rotação e depois recriar o objeto com essas informações.
  14. Entendi oq vc quis dizer. Você programa os seus resources todo certinho, com sua proteção e tudo compilado. Dai os caras vão lá e violam sua proteção adicionando um script shared contendo "funções subliminares" que podem, além de obter dados restritos, alterar a funcionalidade das funções que você usou no seu resource. No caso de um cancelEvent() geralmente usado para cancelar a ativação do resource, eles fazem com que essa função deixe de funcionar e assim o resource continua rodando mesmo sem ter autorização. O termo que eu utilizo para isso é "sub rotinas". Os caras transformam sua função em uma sub rotina que executa uma tarefa diferente da qual foi originalmente criada.
  15. Se me permite um comentário acerca de boas práticas de programação, não utilize else e depois if separados. Faça com elseif. function checkTransfer() if isTransferBoxActive() then outputChatBox ("Transfer Box Ativa") fadeCamera (false) elseif timer and isTimer (timer) then killTimer (timer) triggerServerEvent ("ST:SetagemSerial", localPlayer) fadeCamera (true) end end timer = setTimer (checkTransfer, 500, 0)
  16. Provavelmente pois você ficou sem o modo passivo. Então a condição não vai passar e o veículo continuará blindado. Remova a condição de modo passivo para que o veículo desblinde sempre que o motorista sair dele. (se quiser evitar que ocorra com Staffs usando /pro, vc deverá criar tal exceção.) Verifique se o veículo está blindado antes de desblindá-lo e enviar a mensagem, caso contrário a mensagem vai ficar aparecendo pra todo mundo que sair de seus veículos, mesmo se não estiverem blindados. function desblindar (thePed, seat) if (seat == 0) then -- Se o jogador saiu do assento do motorista, então: if (isVehicleDamageProof (source)) then -- Se o veículo está blindado quando o jogador sair dele, então: setVehicleDamageProof (source, false) -- Desblinda o veículo. outputChatBox ("Seu veículo agora está destrutível.", thePed) end end end addEventHandler ("onVehicleExit", root, desblindar)
  17. Formate seu tópico da maneira adequada. Veja as regras aqui:
  18. @Otavionão se usa source como parâmetro de função. @[C]outofaça o script server-side, com onVehicleExit e utilizando o parâmetro do assento para saber se foi o motorista que saiu do veículo. function desblindar (thePed, seat) if (seat == 0) then if (getElementData (thePed, "Modo Passivo")) then setVehicleDamageProof (source, false) outputChatBox ("Seu veículo agora está destrutível.", thePed) end end end addEventHandler ("onVehicleExit", root, desblindar)
  19. Tópico postado na seção errada. Movido para Ajudas relacionadas ao Cliente/Servidor.
  20. Faltou vc configurar os parâmetros além do link. O vídeo deve sumir da tela sozinho após a reprodução? Ou prefere que o usuário clique em algum botão pra fechá-lo? Seu servidor roda a quantos FPS? Pois o framerate dele irá variar a duração do vídeo no cliente. Testei e funcionou aqui. Neste exemplo o vídeo some sozinho após a execução (servidor rodando limitado em 30FPS) e também tem um botão para fechar o vídeo a qualquer momento.
  21. Um cliente não consegue se comunicar com outro sem o servidor. Logo, todas as variáveis client-side são visíveis somente por ele e não pelos outros.
  22. Inclua isto no meta.xml do resource de loading screen para fazê-lo iniciar antes dos outros. <download_priority_group>2</download_priority_group>
  23. Você pode deletar a linha de uma gridlist usando GuiGridListRemoveRow
  24. Da próxima vez não crie um novo tópico para tratar do mesmo assunto que é corrigir este script. Mantenha-se neste tópico.
×
×
  • Create New...