Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,969
  • Joined

  • Last visited

  • Days Won

    179

Everything posted by Lord Henry

  1. Também mostre a parte do código onde o erro aponta.
  2. Trabalhar com gráficos é muito complexo no MTA. Comece tentando fazer gráficos para coisas mais simples para estudar como criar um. Só depois tente implementar oq você descobriu naquilo que você deseja. Imagino que você vai precisar de um DxDrawLine e vários DxDrawRectangle.
  3. Pra colocar em ordem é só clicar na coluna que você quer organizar em ordem crescente ou decrescente.
  4. if getElementData(thePlayer, "dataName") == "dataValue" then -- Código pra quem tem a data. else -- Código pra quem não tem a data. end
  5. Sim, é possível. Com restartResource Mas não faça o resource dar restart em si mesmo, pois isso vai quebrar o timer. Faça um resource que reinicia os outros.
  6. Happy New Year everyone. A new fresh start to those who got unbanned.
  7. local deletou = false -- Variável q serve pra evitar de ficar deletando veículos a cada segundo enquanto a hora for 4. setTimer(function() local horario = getRealTime() local hora = horario.hour -- Obtém o horário do servidor. if hora == "4" then -- Se a hora for 4, então: if not deletou then -- Se ainda não deletou veículos, então: deletou = true -- Considera os veículos como deletados. Evita de ficar deletando veículos a cada segundo enquanto a hora for 4. for i,veh in pairs(getElementsByType("vehicle")) do -- Para cada veículo no mapa, faça: local counter = 0 for seat, player in pairs(getVehicleOccupants(veh)) do -- Conta quantos passageiros tem no veículo. counter = counter + 1 end if counter == 0 then -- Se o veículo estiver vazio, então: if getElementData(veh, "veiculoEterno") then -- Evita destruir veículos que tenham essa elementData específica. Coloque essa elementData em veículos que você não quer que sejam destruídos. Os veículos com essa elementData serão respawnados em vez de destruídos. respawnVehicle(veh) else -- Se o veículo não tem aquela elementData, então: destroyElement(veh) -- Deleta o veículo. end end end end else -- Se a hora não for 4, então a variável volta a ser false, assim quando chegar na hora 4 novamente, ele vai deletar novamente. deletou = false end end, 1000, 0) -- Executa isso a cada segundo, infinitas vezes.
  8. Ali na função do "onClientRender", altere os valores do fadeInImage e do fadeOutImage, como se fosse no dxDrawImage normal.
  9. Sim, dar armas, setar vida/colete é tudo feito no lado servidor. Você vai precisar de triggers para fazer o painel ativar um evento no lado servidor. No seu código client-side, no lugar disso: setWeaponAmmo(thePlayer, 31, 999) Coloque isso: triggerServerEvent("bopepainel", resourceRoot, "armas") E então no seu código server-side, adicione isso: addEvent("bopepainel", true) addEventHandler("bopepainel", resourceRoot, function(tipo) if tipo == "armas" then giveWeapon (client, 31, 999, true) -- client = localPlayer que ativou este evento. giveWeapon (client, 24, 999) giveWeapon (client, 25, 999) giveWeapon (client, 29, 999) -- elseif tipo == "vidacolete" then -- Ative isso depois que criar o botão de vida/colete e configurar o trigger dele. -- setElementHealth (client, 100) -- setPedArmor (client, 100) end end)
  10. Comece estudando este painel de ranking.
  11. Acredito que seja possível com shaders.
  12. Não faça spam de tópicos. Você já foi respondido aqui: Caso ainda tenha dúvidas, responda naquele tópico.
  13. Faça backup do internal.db e do registry.db e coloque-os na nova host também.
  14. Dai é bug do MTA. Não do código.
  15. Tá ae: https://dev.prineside.com/gtasa_samp_game_texture/view/effectsPC/ A textura que você procura talvez seja o smoke4 que é essa fumaça colorida que sai do flare. Ou então a textura sphere que é esse brilho de luz ao redor do flare.
  16. -- FUNÇÕES ÚTEIS function fadeInImage (posX, posY, sizeX, sizeY, texture, rotation, rotationCenterOffsetX, rotationCenterOffsetY, r, g, b, postGUI, theDuration, theType, thePeriod, theAmplitude, theOvershoot) local start = getTickCount() function renderIn () local now = getTickCount() local endTime = start + theDuration local elapsedTime = now - start local duration = endTime - start local progress = elapsedTime / duration local a = interpolateBetween (0, 0, 0, 255, 0, 0, progress, theType, thePeriod, theAmplitude, theOvershoot) dxDrawImage (posX, posY, sizeX, sizeY, texture, rotation, rotationCenterOffsetX, rotationCenterOffsetY, tocolor (r, g, b, a), postGUI) end addEventHandler ("onClientRender", root, renderIn) end function fadeOutImage (posX, posY, sizeX, sizeY, texture, rotation, rotationCenterOffsetX, rotationCenterOffsetY, r, g, b, postGUI, theDuration, theType, thePeriod, theAmplitude, theOvershoot) local start = getTickCount() removeEventHandler ("onClientRender", root, renderIn) function renderOut () local now = getTickCount() local endTime = start + theDuration local elapsedTime = now - start local duration = endTime - start local progress = elapsedTime / duration local a = interpolateBetween (255, 0, 0, 0, 0, 0, progress, theType, thePeriod, theAmplitude, theOvershoot) dxDrawImage (posX, posY, sizeX, sizeY, texture, rotation, rotationCenterOffsetX, rotationCenterOffsetY, tocolor (r, g, b, a), postGUI) end addEventHandler ("onClientRender", root, renderOut) setTimer (function() removeEventHandler ("onClientRender", root, renderOut) end, theDuration+100, 1) end -- CÓDIGO EM SI local screen = Vector2(guiGetScreenSize()) -- É o mesmo que: local screen.x, screen.y = guiGetScreenSize() local tempoAtivo = 3000 -- Tempo com a imagem visível. Não pode ser menor que o tempo da animação. local tempoOculto = 1000 -- Tempo com a imagem invisível. Não pode ser menor que o tempo da animação. local tempoAnimation = 1000 -- Tempo que cada fade demora para ser completado. local logo = dxCreateTexture ("image.png", "argb", false, "clamp") -- Aqui você coloca o nome da imagem da sua logo onde está "logo.png" addEventHandler ("onClientResourceStart", resourceRoot, function () -- Aqui é como se fosse dxDrawImage normal, só que vai incluir a duração da animação e easing da animação, por padrão usamos "Linear". fadeInImage (screen.x/2 - 100, 10, 200, 200, logo, 0, 0, 0, 255, 255, 255, true, tempoAnimation, "Linear") setTimer (fadeOutImage, tempoAtivo, 1, screen.x/2 - 100, 10, 200, 200, logo, 0, 0, 0, 255, 255, 255, true, tempoAnimation, "Linear") setTimer (function () fadeInImage (screen.x/2 - 100, 10, 200, 200, logo, 0, 0, 0, 255, 255, 255, true, tempoAnimation, "Linear") setTimer (fadeOutImage, tempoAtivo, 1, screen.x/2 - 100, 10, 200, 200, logo, 0, 0, 0, 255, 255, 255, true, tempoAnimation, "Linear") end, tempoAtivo+tempoOculto, 0) end)
  17. Aqui não é o local adequado para solicitar desban. E mesmo que não use nenhum cheat no MTA, você pode ser banido por ter algo no seu PC que esteja sendo detectado pelo MTA. O seu anti-lag no GTA por exemplo é ilegal, remova-o e deixe seu GTA limpo. Se o seu banimento é temporário, limpe seu PC e apenas aguarde o BAN expirar. Se o banimento é permanente, limpe seu PC e depois solicite desban EM INGLÊS nesse link com o máximo de informações possível.
  18. Você pode utilizar a função útil getPlayersInACLGroup que faz justamente isso que você precisa. Ela retorna uma tabela com todos os jogadores da ACL específica que estejam online. Depois basta contar quantos elementos tem nessa tabela, se for 4 ou mais então permite o assalto.
  19. @Frost.DEV Na próxima vez que for colar código no seu tópico, clique no botão <> em vez de colar direto no texto.
  20. Tópico trancado pois já foi respondido no seu outro tópico igual na seção internacional.
  21. @Igor Ricardo 66não fazemos drop de mods. Mas você pode tentar desenvolver seu próprio mod e nós iremos lhe ajudar. Você vai precisar da função setVehicleDamageProof.
  22. Seu código não tem nenhuma função de setar vida nem colete. Faltou a parte server-side.
  23. Você só precisa disso para ocultar toda a HUD do jogador: local screen = Vector2(guiGetScreenSize()) -- Obtém a resolução da tela do jogador. local rendering = false -- Serve como alternância para ativar/desativar o efeito com o mesmo comando. addEventHandler("onClientResourceStart", resourceRoot, function() myScreenSource = dxCreateScreenSource(screen.x, screen.y) -- Cria uma textura do tamanho da tela que recebe a printscreen do jogador. end) bindKey("F10", "down", function(key, state) -- Troque F10 pela tecla que deseja usar para ativar/desativar o efeito. showChat (rendering) -- Mostra/oculta o chatBox. if rendering then -- Se já está renderizando o efeito, então para de renderizar o efeito. removeEventHandler("onClientRender", root, renderEmptyScreen) else -- Se não está renderizando o efeito, então começa a renderizar o efeito. addEventHandler("onClientRender", root, renderEmptyScreen) end rendering = not rendering -- Alterna rendering entre true e false. end) function renderEmptyScreen() if myScreenSource then -- Se a textura foi criada com sucesso, então: dxUpdateScreenSource(myScreenSource) -- Captura o frame atual da tela do jogador e aplica na textura criada. dxDrawImage (0, 0, screen.x, screen.y, myScreenSource) -- Desenha essa textura na tela. end end
  24. function stringToPhone (str) local ddd = "("..string.sub(str, 0, 2)..")" local a = string.sub(str, 3, 6).."-" local b = string.sub(str, 7, 10) return ddd..a..b end print (stringToPhone(1140028922)) -- Vai printar isso: (11)4002-8922
×
×
  • Create New...