Jump to content

#DaNiLiN

Members
  • Posts

    296
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by #DaNiLiN

  1. clear = dxCreateFont( "segoeui.ttf", x*20 ) dxDrawText("Test Text", x*0.4,y*0.65,x,y,tocolor(255,255,255,255), x*1, clear,"left","top",false,false,true,true,true) Eu utilizo da forma acima e mesmo assim buga...
  2. Aproveitando o Tópico surgiu uma dúvida. Porquê quando eu crio uma fonte pelo dxCreateFont e mesmo rendimensionando ela ainda continua bugando pra outras resolução? O Certo é usar apenas o x mesmo Edit#1 @kevincouto6 Não é necessário adicionar o x em parênteses
  3. Como lord disse você tem que redimensionar a escala do texto, caso não saiba oque é e onde fica ai vai um exemplo. dxDrawText(" Mission Complete !", x*, y*, x*, y*, tocolor(254, 5, 5, 254), x*scale, "beckett", "left", "top", false, false, false, false, false)
  4. Você utilizou novamente errado o tópico irei ignora-lo até fazer certo. Pois falta de explicação não foi.
  5. Seu seTimer está incompleto. resourceRoot = getResourceRootElement() local sx, sy = guiGetScreenSize() local link = "http://mta/n_Download/html/index.html" local initBrowser = guiCreateBrowser(0, 0, sx, sy, true, false, false) local browser = guiGetBrowser(initBrowser) guiSetInputMode("no_binds_when_editing") addEventHandler("onClientBrowserCreated", browser, function () fadeCamera(false,0) showCursor(true) loadBrowserURL(source, link) end ) function checkTransfer() if isTransferBoxActive() then setTimer(checkTransfer,2000, 1) -- Check again after 2 seconds else destroyElement(initBrowser) fadeCamera(true) end end addEventHandler("onClientResourceStart",resourceRoot,checkTransfer)
  6. @iDannz fiz essa mesma pergunta a ele no discord. Porém dai não sei se o código tá completo e nem levei adiante aqui.
  7. o Erro dai não e ali pois eu testei com um comando e funfou. function Remove () setElementData(getLocalPlayer(),"load_notLogin",false) showCursor(false) showChat(true) initBrowser = nil browser = nil destroyElement(initBrowser) removeEventHandler("onClientBrowserCreated", getResourceRootElement(), browser) end addCommandHandler("b", Remove) Leia também a função IsTransferBoxActive Acho que tu errou, Acho que não se deve usar onClientRender
  8. Uma pergunta, você testou com um outputChatBox pra ver se a função de quando acabar o download ta funcionando certinho ? :\
  9. Vou te explicar melhor... Evento onClientRender Esse evento faz tal função se renderizada a cada frame isso é utilizado muito em huds e radares. E você deve saber disso eu acho. dai vem o seguinte addEventHandler("onClientRender", root, Hud) Essa linha vai fazer que adicione o evento onClientRender na hud. removeEventHandler("onClientRender", root, Hud) Essa aqui vai fazer que remova o evento ai no caso a hud irá ser parada de renderizar a cada frame. bindKey sempre que o jogador clicar na letra "o" a função será acionada e o isVisible vai ser uma garantia que não haverá bug. Obs: Essa função deve ser adicionada na hud. O Mesmo você irá fazer com o radar.
  10. Reparei que tem 2 Eventos inúteis que não está sendo usado. addEventHandler("onClientResourceStart", getResourceRootElement(), showPreload) addEventHandler("onClientBrowserCreated", browser) Você errou na hora de destruir o elemento gui. Pois tu não destruiu. Tente dessa forma. local sx, sy = guiGetScreenSize() local link = "http://mta/n_Download/html/index.html" local initBrowser = guiCreateBrowser(0, 0, sx, sy, true, false, false) local browser = guiGetBrowser(initBrowser) guiSetInputMode("no_binds_when_editing") addEventHandler("onClientBrowserCreated", browser, function () fadeCamera(false,0) showCursor(true) loadBrowserURL(source, link) end ) function renderLoaldLogin() if getElementData(getLocalPlayer(),"load_notLogin") then if isTransferBoxActive() then return end setElementData(getLocalPlayer(),"load_notLogin",false) initBrowser = nil; destroyElement(initBrowser) showCursor(false) browser = nil; removeEventHandler("onClientBrowserCreated", getResourceRootElement(), browser); showChat(true) end end addEventHandler("onClientRender", root, renderLoaldLogin) Foi útil meu comentário? Deixe o thanks
  11. Essa hud ai não é a hud do mta então não funcionaria com setPlayerHudComponentVisible você irá ter que fazer o seguinte. function ocultarHud() if isVisible then addEventHandler("onClientRender", root, Hud) else removeEventHandler("onClientRender", root, Hud) end isVisible = not isVisible end bindKey ("o", "down", ocultarHud) Use addCommandHandler caso for por comando pra abrir o Painel. Deixe o Thanks caso foi útil meu comentário. Creio eu que está no tópico errado. Deveria ser em programação lua eu acho.
  12. Olá danilo, Bem vindo Antes de te explicar irei te instruir você a usar o fórum corretamente caso for passar por aqui novamente. Assista o vídeo que está ai no link acima. Tirando sua dúvida Para criar uma hud você irá precisar utilizar as funções (DX) As mais usadas na hora de montar uma hud é essas. DxDrawRectangle DxDrawText DxDrawImage Para adicionar valor de dinheiro estocado em banco, vida, colete, level e etc. Alguns desses você precisará ter o sistema como no caso o Level e Banco. Para fazer que a vida e colete do jogador aparece na hud você irá precisar das seguintes funções. GetElementHealth GetPedArmor GetPlayerMoney No caso pra fazer tudo isso funcionar irei deixar um exemplo simples. Exemplo: function Hud () local Vida = getElementHealth (localPlayer) local Colete = getPedArmor (localPlayer) local Dinheiro = getPlayerMoney(localPlayer) dxDrawRectangle(1017, 7, 342, 149, tocolor(0, 0, 0, 160), false) dxDrawText("Vida: "..Vida.."", 1042, 33, 1169, 54, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("Colete: "..Colete.."", 1042, 64, 1169, 85, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("Dinheiro: ".;Dinheiro.."", 1042, 97, 1169, 118, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) end addEventHandler("onClientRender", root, Hud) Você precisara de outras funções pra poder evitar bugs. showHud(false) onResourceStart Obs: Essa hud não é utilizável é apenas um exemplo do que você precisaria, Mas é importante que você tenha uma hud que você fez dai sim postar ela aqui para que os membros do fórum possa te ajudar a encontrar o erro.
  13. Pra ficar centralizado corretamente você deve seguir esse Exemplo. local screenW,screenH = guiGetScreenSize() local resW,resH = 1366,768 local x,y = (screenW/resW), (screenH/resH) function Dx () dxDrawRectangle(x*395, y*210, x*577, y*330, tocolor(210, 210, 210, 255), false) end Com o calculo nas 3 Primeiras linhas faz que funcione pra maioria das resolução, se a resolução for muito baixa dai fica centralizado porém fico minusculo. Em fontes criadas pelo dxCreateFont acontece de dar erro (Não sei porquê) a fonte não se centraliza. Para que o Dx Sumir você deve utilizar um setTimer, porém recomendo utilizar dentro da função que faz o dx abrir. Aqui vai um Exemplo. function Dx () dxDrawRectangle(x*395, y*210, x*577, y*330, tocolor(210, 210, 210, 255), false) end function Fim_Mission () addEventHandler("onClientRender", root, Dx) -- Adiciona um evento "onClientRender" na função onde está localizado seu DX setTimer(function() removeEventHandler("onClientRender", root, Dx) -- Remove o evento "onClientRender" na função onde está localizado seu DX end, 10000, 1) -- Tudo Acima irá acontecer em 10 segundos end addCommandHandler("teste", Fim_Mission)
  14. Bom, é bem simples a função que faz o veiculo ir até o jogador é setElementPosition então você deveria editar ela, aqui adicionei uma posição aleatória. addEvent("WarpMyVehicle", true) addEventHandler("WarpMyVehicle", root, function(id) if not isPedInVehicle (source) then if getElementInterior(source) == 0 then if getPlayerMoney(source) >= tonumber(500) then local vehicle = getVehicleByID(id) if isElement(vehicle) then takePlayerMoney ( source, 500 ) setElementPosition(vehicle, 2094294, 4343, 432424342) ------ $#@#$MUDE AQUI A POSIÇÃO warpPedIntoVehicle ( source, vehicle ) outputMessage ("#c1c1c1O seu veiculo #00FF66"..(customCarNames[getElementModel(vehicle)] or getVehicleNameFromModel(getElementModel(vehicle))).." Foi Rebocado ate o detran.", source, 38, 122, 216, true) else outputMessage("#c1c1c1O seu veiculo não está spawnado.", source, 38, 122, 216, true) end else outputMessage("#c1c1c1Você não tem os meios de se teletransportar para o veiculo.", source, 38, 122, 216, true) end else outputMessage("#c1c1c1Você só poderá mudar de veiculo se sair do atual.", source, 38, 122, 216, true) end else outputMessage("#c1c1c1Nós não podemos dirigir seu veiculo. Por favor, sair do outro veiculo.", source, 38, 122, 216, true) end end) Da próxima vez adicione um titulo mais útil para que outros membros entendam qual o problema que você está tendo antes mesmo de abrir seu tópico
  15. Cole seu código corretemante.
  16. Bom. muitos Dizem que um tal de lira gamer ensinava a programar no mta pois eu não sei. Mas como eu expliquei a você no outro tópico primeiro passo é aprender a logica de programação e também ir praticando ao decorrer da aprendizagem. "Nossa Danilin eu fico perdido não sei nada nem por onde começar." Como eu disse Entenda a logica e pratique e em pouco tempo você irar obter respostas. Não sinta vergonha também em procurar ajuda, Pois a ajuda é essencial. Link de algumas coisas que possa te ajudar algo. https://www.lua.org/pil/contents.html#P1 Espero ter te ajudado
  17. Poste na seção português la os brasileiros irá lhe ensinar e explicar, sem contar que la tem logicas de programação em escrita e diversos tutoriais criados por membros. Link Seção brasileira https://forum.multitheftauto.com/forum/97-portuguese-português/
  18. Esse é o primeiro passo. Aprendendo a lógica e praticando acho que não precisa mais de nada. Pois assim que Aprendi.
  19. Recomendo Seguir esses videos. Pois aqui tu vai aprender oque usar e como usar na hora correta. Mas ao decorrer do curso vá praticando pois dai tu vai começar a entender rapidamente oque cada estrutura funciona. Próximas dúvidas poste na seção português. Te Ajudei? Deixe um Thanks
  20. Eu recomendo usar essa função function getTimeLeft(timer) if isTimer(timer) then local ms = getTimerDetails(timer) local m = math.floor(ms/60000) local s = math.floor((ms-m*60000)/1000) if m < 10 then m = "0"..m end if s < 10 then s = "0"..s end return m..":"..s end end E na dx você utilizaria getTimeLeft(Nome do timer)
  21. Dessa vez passa batido. Da próxima terá que seguir as ordens.
  22. Bom, fez errado novamente. Se esforce da próxima vez e assista o vídeo de explicação do lord henry, Pelo que vi você não está sabendo usar as opções do fórum. Tópico Explicação function msgmarker(source) if getElementData(source, "soldador") == true then outputChatBox("#00ff88● #ffffffDigite /soldar para soldar peça do navio", source, 255, 255, 255, true) end end addEventHandler("onMarkerHit", criartrampo, msgmarker) function Sair ( source ) if getElementData(source, "soldador") == true then setElementData(source, "soldador", false) setPedSkin(source, 0) setElementVisibleTo(criartrampo, source, false) outputChatBox("#00FA9AVoce saiu do emprego de soldador",source,255,255,255,true) else setTimer( function () triggerEvent(eventorestart, root) end, 1000, 1) end end addCommandHandler("sairemprego", Sair) Edit #1 setElementVisibleTo não destrói o marcador, apenas deixa invisível.
  23. Agora entendi sua dúvida. Bom, você teria que salvar o tempo pelo setAccountData modo mais fácil. Após salvar esse tempo você teria que usar um Evento onPlayerLogin use getElementData pra verificar se o jogador estava preso antes de sair. Edit #1 Use getRealTime() e time.timestamp para pegar tempo real
  24. Irei de instruir antes de te ajudar. 1 - Arrume a legenda para que mais pessoas possa vim te ajudar. Adicione uma Legenda curta e Útil Exemplo: Porquê a mensagem não está sumindo? Isso irá despertar curiosidade nos outros membros, Sua legenda precisa ter Sentido. 2 - Deixe uma mensagem antes do seu código explicando oque está acontecendo com seu código para que os outros membros possa entender e te ajudar imediatamente. 3 - É Muito Importante Indentar seu código. "Como assim Danilin Indentar Meu Código?" Simples Apenas Aperte TAB a Cada IF para que deixe seu código bem organizado e assim despertara vontade de outros membros a te ajudar. Exemplo: function Indentado (source) if getElementData(source, "Indentador") == 1 then if getElementData(source, "Indentador") == 2 then if getElementData(source, "Indentador") == 3 then outputChatBox("Indentação correta.", source, 255, 255, 255, true) end end end end Logo Após Seguir essas 3 Instruções eu dou irei te ajudar. Não seja Preguiçoso Se foi útil deixe o Thanks
×
×
  • Create New...