Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,006
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. Cara, poste o meta. Não temos como adivinhar o erro sem ler o código. Use o botão <> do fórum pra postar código.
  2. E evite de colocar source como parâmetro de função, pois fazendo isso você perde o source original dela.
  3. Qual parte vc não entendeu da Wiki? removeWorldModel (ID, raio, posX, posY, posZ [, interior]) ID - Número do modelo do objeto a ser removido. (para descobrir o ID de um objeto, veja o tutorial abaixo.) raio - Distância máxima que o script vai procurar a partir das coordenadas. posX, posY, posZ - Coordenadas de onde o script vai começar a procurar o objeto. interior - Parâmetro opcional, para que o script procure em um interior em vez de exterior.
  4. Apenas insira outra variável, para receber o segundo valor da função. function Login() account = getAccountName(getPlayerAccount(source)) info, info2 = Login:getNumInfo(account) end addEventHandler("onPlayerLogin", getRootElement(), Login)
  5. Ah, perdão. Não tinha visto que ele queria outras coisas além de armas. Por isso que se deve colocar os detalhes do post antes do código.
  6. Para verificar se um timer já existe, use a função isTimer. Exemplo: timers = {} function verificar (thePlayer) if not isTimer (timers[thePlayer]) then -- Se não existe o timer, então: timers[thePlayer] = setTimer (outputChatBox, 5000, 1, "Timer concluído.", thePlayer) -- Cria o timer, que irá mandar uma mensagem daqui a 5 segundos. else -- Se existe o timer, então: outputChatBox ("Já existe um timer criado.", thePlayer) -- Manda isso pro jogador que executou o comando. end end addCommandHandler ("eae", verificar)
  7. Markertrab = createMarker(2275.962890625, -1766.6162109375, 13.546875 -1, "cylinder",2.0 ,1, 255, 0, 255) veh[ThePlayer] = () -- ERRO, uma tabela é declarada com {} e não com parênteses. function Trab(ThePlayer) if isElementWithinMarker(ThePlayer, Markertrab) then if veh[ThePlayer] and isElement( veh[ThePlayer] ) then destroyElement ( veh[ThePlayer] ) veh(ThePlayer) = nil end x,y,z = getElementPosition(ThePlayer) -- Essas variáveis provavelmente devem ser locais. Trabalho = true -- Qual a utilidade disso? veh[ThePlayer] = createVehicle(431,2266.1005859375, -1751.3544921875, 13.3828125) setPedSkin ( ThePlayer, 431 ) outputChatBox("#00ff00=========================================",ThePlayer,0,0,0,true ) -- Declare as cores nos parâmetros RGB em vez de código #hex. outputChatBox("#ff00ffLeve O Veiculo Até o Blip Em Seu Radar!!!",ThePlayer,0,0,0,true ) outputChatBox("#00ff00=========================================",ThePlayer,0,0,0,true ) end end addEventHandler( "onMarkerHit", Markertrab, Trab ) Comentei o que vi de problemas no código. Corrija-os.
  8. Não. Isso não existe: or 2 or 3 or 4 or 5 or 6 or 9 or 22 or 24 or 25 or 26) then E pq vc fica citando a si mesmo em vez de mandar mensagem normal?
  9. dxDrawImage é o que renderiza sua HUD na tela do jogador.
  10. Cadê os dxDraw? E está faltando o client.lua no seu meta.xml
  11. Este botão é para Citar outra mensagem. Cuidado com informações equivocadas. O botão de código é o <>
  12. Você tem que ocultar a HUD original com SetPlayerHudComponentVisible. Não se esqueça que existem teclas que ocultam e mostram o HUD original, como por exemplo o F11.
  13. Estou prevendo os seguintes erros neste código: O timer irá bugar se o usuário ficar usando /190 várias vezes. Pois não existe nenhuma verificação que impede o spam do comando. O timer irá duplicar, pois não há nenhuma verificação se ele já existe antes de criá-lo novamente. Um timer de 5 minutos não é 10000 milissegundos, isso é só 10 segundos. 5 minutos são 300000 milissegundos. Erros de indentação no código.
  14. É por isso que o ideal é vc bloquear o uso do /register e criar um painel de login com restrições de segurança. Por exemplo: Proibir contas com símbolos ou espaços no login. Proibir contas com menos de 4 caracteres no login. Proibir contas com mais de 30 caracteres no login e na senha. (você pode simplesmente limitar o número de caracteres que cabem no input do painel) Proibir contas com menos de 4 caracteres na senha. Demonstração de painel de login com segurança avançada: https://www.youtube.com/watch?v=oWiZzCRtNhs&amp;index=6&amp;list=PLfmz7dULp2ueFkL8o8yNJeyEfNY1j57kU
  15. Acho que sinceramente o esforço pra fazer isso não valeria a pena. Acho mais válido o cara pensar em um painel menor. Uma alternativa seria usar tabPanel para separar o conteúdo em diferentes tipos em vez de deixar todos juntos. Eu precisei fazer assim com um painel de corporação que eu fiz uma vez, uma aba era cheia de botões de dar TAG e a outra era botões de funções gerais, como pegar viatura, abrir portão de base, pegar skin, pegar armas, pegar vida/colete, etc. Se eu não usasse tabPanel, o painel precisaria ser gigante pra caber todos os botões nele.
  16. Comigo também aparece símbolos no código quando copio daqui. Só que eu mesmo corrijo no notepad++. Também uso Chrome. Internet Explorer não tem como, kkkkk
  17. Traduzindo: Usando posição relativa. No entanto, se o jogador estiver com uma resolução baixa demais, alguns elementos não vão caber, como os textos, cuja escala não pode ser alterada.
  18. Não tem como colocar um painel maior do que a resolução do jogador.
  19. Vlw galera. Tamo junto! Quem sabe um dia eu faço sobre DX.
  20. Lol, primeira vez que vejo alguém ter o empenho de colocar ; no fim dos comandos.
  21. Exato. O setElementData, independente se for feito client ou server-side, sempre será sincronizado com todos os outros jogadores. E essa sincronização consome bastante processamento do servidor. Totalmente inviável. Conexão com banco de dados não deve ser feito a cada frame, ele é pesado demais para ser feito tantas vezes em curtos períodos de tempo. Além disso, conexão com banco de dados só pode ser feita server-side, e um "draw" só pode ser feito client-side. Ou seja, vc precisaria de um triggerServerEvent a cada frame, que ficaria absurdamente mais pesado ainda.
  22. Corrigi várias coisas, entre elas o seguinte: Corrigi os outputChatBox que estavam com código hexadecimal no início, mudei pro código RGB nos parâmetros. Aumentei o tamanho dos markers de objetivo, que estavam pequenos demais, sendo necessário passar com o avião no lugar exato pra conseguir. Criei a 3 posição em LV, assim o jogador começa e finaliza no mesmo aeroporto. Mudei as posições de objetivo, colocando-os no meio da pista pra facilitar. Mudei a posição onde cria o avião e os Peds. Removi as linhas que setavam rotação nos Peds, em vez disso declaro a rotação deles no createPed. Deixei os Peds em tables também. Corrigi algumas indentações. Adicionei verificador do jogador nos timers, caso ele quite antes do tempo.
  23. A regra é clara: Se está tudo funcionando sem erros e nem bugs. Então está certo. Sempre pode existir um jeito "melhor" de fazer, mas não significa que seja necessariamente o mais certo. Na programação existem diversas formas de se conseguir um objetivo.
×
×
  • Create New...