Big Smoker Posted July 18, 2019 Share Posted July 18, 2019 Boa Noite, Queria saber que função devo usar para colocar imagens ou mensagem quando o jogador ta fazendo download do servidor.? vio em alguns servidores e queria fazer no meu. so que nao sei qual as função que devo usar. Obrigado Link to comment
Eficiencia Posted July 18, 2019 Share Posted July 18, 2019 creio que sua duvida seja a mesma que essa Link to comment
Jonas^ Posted July 18, 2019 Share Posted July 18, 2019 Pra fazer isso você deve escolher um resource pra baixar por último e setar prioridade negativa nele no meta.xml e logicamente o resource que vai baixar primeiro que todos que seria o de tela de download, bem no resource de tela de download você pode fazer assim, exemplo: local screen = { guiGetScreenSize () } function renderLoading () if getElementData (localPlayer, "downloaded") then -- Se o player tiver essa data, vai cancelar este render e depois remover essa data, que não será mais utilizada nesta sessão. removeEventHandler ("onClientRender", getRootElement(), renderLoading) setElementData (localPlayer, "downloaded", false) end dxDrawText ("Baixando Resources...", 0, 0, screen[1], screen[2], tocolor(255, 255, 255, 255), 1, "clear", "center", "center", false, false, true) end addEventHandler ("onClientRender", getRootElement(), renderLoading) Agora no resource com prioridade negativa que será baixado por ultimo faça: function closeScreen () setElementData (localPlayer, "downloaded", true) end addEventHandler ("onClientResourceStart", resourceRoot, closeScreen) Meta do arquivo de tela: <meta> <script src="client.Lua" type="client"/> <download_priority_group>1</download_priority_group> </meta> Meta do arquivo que ira baixar por último: <meta> <script src="client.Lua" type="client"/> <download_priority_group>-1</download_priority_group> </meta> 1 Link to comment
Big Smoker Posted July 19, 2019 Author Share Posted July 19, 2019 Obrigado vou testar agora. Estava de serviço no batalhao por isso nao respondi antes OBRIGADO Link to comment
Big Smoker Posted July 20, 2019 Author Share Posted July 20, 2019 fiz alguma coisa errada. Segui do jeito que vc falo mais nao deu certo Link to comment
Other Languages Moderators Lord Henry Posted July 20, 2019 Other Languages Moderators Share Posted July 20, 2019 Qual erro aparece no /debugscript 3? Link to comment
Jonas^ Posted July 20, 2019 Share Posted July 20, 2019 Revisei o código e inclusive testei e o código não apresenta erros, realmente você deve estar errando ao fazer uma coisa muito simples ctrl c + ctrl v. Pode ser caracteres especiais no código gerados pelo fórum, portanto sempre use /debugscript 3. 1 Link to comment
Big Smoker Posted July 21, 2019 Author Share Posted July 21, 2019 (edited) sim eu usei foi errado eu tava errando na hora de colocar o <download_priority_group>-1</download_priority_group> <download_priority_group>1</download_priority_group> que eu tava confuso com isso, mais deu certo a função que queria usar nele muito obrigado. Edited July 21, 2019 by felipebaidoloko Link to comment
brunoxx8 Posted February 11, 2020 Share Posted February 11, 2020 On 17/07/2019 at 23:29, Jonas^ said: Pra fazer isso você deve escolher um resource pra baixar por último e setar prioridade negativa nele no meta.xml e logicamente o resource que vai baixar primeiro que todos que seria o de tela de download, bem no resource de tela de download você pode fazer assim, exemplo: } if getElementData (localPlayer, "downloaded") then -- Se o player tiver essa data, vai cancelar este render e depois remover essa data, que não será mais utilizada nesta sessão. Agora no resource com prioridade negativa que será baixado por ultimo faça: Meta do arquivo de tela: Meta do arquivo que ira baixar por último: ONDE EU ACHO ESSES ARQUIVOS QUERO TANTO COLOCAR NO MEU SERVER, SÓ SOU LEIGO NISSO Link to comment
zRodrigoMM Posted June 27, 2020 Share Posted June 27, 2020 On 17/07/2019 at 23:29, Jonas^ said: Pra fazer isso você deve escolher um resource pra baixar por último e setar prioridade negativa nele no meta.xml e logicamente o resource que vai baixar primeiro que todos que seria o de tela de download, bem no resource de tela de download você pode fazer assim, exemplo: local screen = { guiGetScreenSize () } function renderLoading () if getElementData (localPlayer, "downloaded") then -- Se o player tiver essa data, vai cancelar este render e depois remover essa data, que não será mais utilizada nesta sessão. removeEventHandler ("onClientRender", getRootElement(), renderLoading) setElementData (localPlayer, "downloaded", false) end dxDrawText ("Baixando Resources...", 0, 0, screen[1], screen[2], tocolor(255, 255, 255, 255), 1, "clear", "center", "center", false, false, true) end addEventHandler ("onClientRender", getRootElement(), renderLoading) Agora no resource com prioridade negativa que será baixado por ultimo faça: function closeScreen () setElementData (localPlayer, "downloaded", true) end addEventHandler ("onClientResourceStart", resourceRoot, closeScreen) Meta do arquivo de tela: <meta> <script src="client.Lua" type="client"/> <download_priority_group>1</download_priority_group> </meta> Meta do arquivo que ira baixar por último: <meta> <script src="client.Lua" type="client"/> <download_priority_group>-1</download_priority_group> </meta> Não entendi, tipo o resource negativo posso colocar qualquer script, ou o próprio mod da tela de download deve se por ? Link to comment
Blaack Posted June 27, 2020 Share Posted June 27, 2020 11 hours ago, zRodrigoMM said: Não entendi, tipo o resource negativo posso colocar qualquer script, ou o próprio mod da tela de download deve se por ? Escolha um script aleatório para ser baixado por último e setar o download da pessoa como true, este script você colocará a prioridade de download dele em 1, visto que o restante por padrão é 0; E na tela de download coloque -1, para ser o primeiro resource a ser baixado e iniciado. 1 Link to comment
zRodrigoMM Posted June 27, 2020 Share Posted June 27, 2020 25 minutes ago, ~#BlackSCR said: Escolha um script aleatório para ser baixado por último e setar o download da pessoa como true, este script você colocará a prioridade de download dele em 1, visto que o restante por padrão é 0; E na tela de download coloque -1, para ser o primeiro resource a ser baixado e iniciado. Tipo eu tenho aqui um mais completo, sabe se é o mesmo procedimento ? Link to comment
Eficiencia Posted June 27, 2020 Share Posted June 27, 2020 difícil saber sem o código mano, mas provavelmente deve funcionar assim. OBS: a tela de download deve ter prioridade 1 e o resource que vai cancelar ela deve ter prioridade -1. 2 Link to comment
zRodrigoMM Posted June 27, 2020 Share Posted June 27, 2020 (edited) 26 minutes ago, Eficiencia said: difícil saber sem o código mano, mas provavelmente deve funcionar assim. OBS: a tela de download deve ter prioridade 1 e o resource que vai cancelar ela deve ter prioridade -1. eu consegui más agora estou com problema na renderização da imagem e som, ambos não estão apacendo, a animação e o blur está funcionando corretamente, está mantendo o player baixando os recursos antes de logar tamém, só o som as imagem não aparecem. cliente: sx,sy = guiGetScreenSize() x,y = (sx/1366), (sy/768) local root = getRootElement() local resourceRoot = getResourceRootElement(getThisResource()) local screenWidth, screenHeight = guiGetScreenSize() local blurStrength = 8 local myScreenSource = dxCreateScreenSource(screenWidth, screenHeight) messages = {} local posi = 30 local Animation = 0 local ATimer local Frames = 0 local Angle, Radius, AnimCenter local MoveSpeed, AnimMove local GrooveAnim, LookAt function resetCoordinates(number) if number == 1 then Angle = 120 Radius = 120 AnimCenter = { x = 1544.1, y = -1353.3, z = 210 } elseif number == 2 then MoveSpeed = 0.0001 AnimMove = { x = 416, y = -1348, z = 17 } elseif number == 3 then GrooveAnim = { x = 2379, y = -1658, z = 14 } LookAt = { x = 2477, y = -1670, z = 14 } end end function startLoginAnimation(number) if isTimer(ATimer) then return false end fadeCamera(false, 2) ATimer = setTimer(function() fadeCamera(true, 2) Frames = 0 Animation = number triggerEvent("startLoginAnimation", localPlayer, number) end, 2000, 1) end function stopLoginAnimation() if isTimer(ATimer) then killTimer(ATimer) end fadeCamera(false, 2) ATimer = setTimer(function() Animation = 0 setCameraTarget(localPlayer) fadeCamera(true, 2) end, 2000, 1) end addEvent("startLoginAnimation", true) addEventHandler("startLoginAnimation", root, resetCoordinates) addEventHandler("onClientRender", root, function() if Animation > 0 then Frames = Frames+1 end if Animation == 1 then Angle = Angle+0.15 local x = AnimCenter.x + Radius*math.cos( math.rad(Angle) ) local y = AnimCenter.y - Radius*math.sin( math.rad(Angle) ) local z = AnimCenter.z + 70 AnimCenter.z = AnimCenter.z - 0.05 setCameraMatrix(x, y, z, AnimCenter.x, AnimCenter.y, AnimCenter.z, 0, 90) if Frames == 750 then startLoginAnimation(2) end elseif Animation == 2 then AnimMove.x = AnimMove.x + 0.12 AnimMove.y = AnimMove.y + 0.08 AnimMove.z = AnimMove.z + MoveSpeed MoveSpeed = MoveSpeed + 0.00006 local lx = AnimMove.x - 6 local ly = AnimMove.y - 4 local lz = AnimMove.z - 1 + (30*MoveSpeed) setCameraMatrix(AnimMove.x, AnimMove.y, AnimMove.z, lx, ly, lz, 0, 90) if Frames == 620 then startLoginAnimation(3) end elseif Animation == 3 then GrooveAnim.x = GrooveAnim.x + 0.14 if GrooveAnim.x > LookAt.x then GrooveAnim.z = GrooveAnim.z + 0.01 end setCameraMatrix(GrooveAnim.x, GrooveAnim.y, GrooveAnim.z, LookAt.x, LookAt.y, LookAt.z, 0, 90) if Frames == 800 then startLoginAnimation(1) end end end) local sounds = { "807705523", "843411847", "791142064" } local musica = true function onClientResourceStart() tick = getTickCount() font = dxCreateFont("gfx/sans-pro-regular.ttf", 30) som2 = playSound("https://api-v2.soundcloud.com/tracks/"..sounds[math.random(1, #sounds)].."/stream?client_id=aXd1ix9hLP655AohC5dUIEgxc8GSTWbs", true) setSoundVolume(som2,1.0) blurShader, blurTec = dxCreateShader("shaders/BlurShader.fx") startLoginAnimation(1) setCameraMatrix(1544.1, -1353.3, 210, 1544.1, -1353.3, 210, 0, 90) showCursor(true) showChat(false) addEventHandler("onClientRender", root, paint) end addEventHandler("onClientResourceStart",resourceRoot,onClientResourceStart) function checkTransfer() if isTransferBoxActive() == true then setTimer(checkTransfer,2000,1) -- Check again after 2 seconds else removeEventHandler("onClientRender", root, paint) destroyElement(som2) showCursor(false) showChat(true) musica = false stopLoginAnimation() end end setTimer(checkTransfer,2000,1) addEventHandler("onClientResourceStart",resourceRoot,checkTransfer) function paint() local rh,ry = interpolateBetween(0, (y*559/2)+y*105, 0, y*559, y*105, 0, (getTickCount()-tick)/1400, "Linear") if (blurShader) then dxUpdateScreenSource(myScreenSource) dxSetShaderValue(blurShader, "ScreenSource", myScreenSource); dxSetShaderValue(blurShader, "BlurStrength", blurStrength); dxSetShaderValue(blurShader, "UVSize", screenWidth, screenHeight); dxDrawImage(0, 0, screenWidth, screenHeight, blurShader) end if getTickCount()-tick > 2500 then local rotation22 = 0 local anim2 = getSoundFFTData(som2, 2048, 2) for i,v in pairs(anim2) do rotation1 = math.round((v*330),0) rotation22 = math.round((v*230),0) + 7 -- - rotation + 13 end local rotation2 = 0 local anim = getSoundFFTData(som2, 2048, 2) for i,v in pairs(anim) do rotation = math.round((v*420),0) rotation2 = math.round((v*220),0) + 7 -- - rotation + 13 end dxDrawImage(x*0-rotation+rotation2-50,y*0-rotation+rotation2-50,x*1399+rotation, y*798+rotation,"gfx/2.png",0,0,0,tocolor(255,255,255,255)) if isMouseInPosition (x*35,y*60,x*49, y*48) then dxDrawImage(x*35,y*60,x*49, y*48,"gfx/pause.png",0,0,0,tocolor(255,0,0,255)) else dxDrawImage(x*35,y*60,x*49, y*48,"gfx/pause.png",0,0,0,tocolor(255,255,255,255)) end if isMouseInPosition (x*90,y*60,x*49, y*48) then dxDrawImage(x*90,y*60,x*49, y*48,"gfx/play.png",0,0,0,tocolor(255,0,0,255)) else dxDrawImage(x*90,y*60,x*49, y*48,"gfx/play.png",0,0,0,tocolor(255,255,255,255)) end dxDrawImage(x*443-rotation1+rotation22,y*110-rotation1+rotation22,x*499+rotation1, y*398+rotation1,"gfx/logo.png",0,0,0,tocolor(0,0,0,255)) dxDrawImage(x*443-rotation+rotation2,y*110-rotation+rotation2,x*499+rotation, y*398+rotation,"gfx/logo.png",0,0,0,tocolor(255,255,255,255)) dxDrawText("Baixando recursos do servidor!",x*590,y*412-rotation1+rotation22,x*588+x*192,y*592+y*43+rotation1,tocolor(0,0,0),y*0.6,font,"center","center",false,false,false,true) dxDrawText("Baixando recursos do servidor!",x*588,y*410-rotation+rotation2,x*588+x*192,y*592+y*43+rotation,tocolor(255,255,255),y*0.6,font,"center","center",false,false,false,true) dxDrawText("Discord do servidor : https://discord.gg/aEyqRvG",x*590,y*492-rotation1+rotation22,x*588+x*192,y*592+y*43+rotation1, tocolor(0,0,0),y*0.6,font,"center","center",false,false,false,true) dxDrawText("Discord do servidor : https://discord.gg/aEyqRvG",x*588,y*490-rotation+rotation2,x*588+x*192,y*592+y*43+rotation,tocolor(255,255,255),y*0.6,font,"center","center",false,false,false,true) end end addEventHandler('onClientClick', root, function (button, state, _, _, _, _, _, element) if button == 'left' and state == 'down' and musica then if isMouseInPosition (x*35,y*60,x*49, y*48) then setSoundPaused(som2, true) elseif isMouseInPosition (x*90,y*60,x*49, y*48) then setSoundPaused(som2, false) end end end) function math.round(number, decimals, method) decimals = decimals or 0 local factor = 10 ^ decimals if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor else return tonumber(("%."..decimals.."f"):format(number)) end end function isMouseInPosition ( x, y, width, height ) if ( not isCursorShowing ( ) ) then return false end local sx, sy = guiGetScreenSize ( ) local cx, cy = getCursorPosition ( ) local cx, cy = ( cx * sx ), ( cy * sy ) if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then return true else return false end end function dxDrawBorder2(posX, posY,posW,posH,color,scale) dxDrawLine(posX, posY, posX+posW, posY, color, scale,false) dxDrawLine(posX, posY, posX, posY+posH, color, scale,false) dxDrawLine(posX, posY+posH, posX+posW, posY+posH, color, scale,false) dxDrawLine(posX+posW, posY, posX+posW, posY+posH, color, scale,false) end function dxDrawBorder(posX, posY,posW,posH,color,scale) dxDrawLine(posX, posY, posX+posW, posY, color, scale,false) dxDrawLine(posX, posY, posX, posY+posH, color, scale,false) dxDrawLine(posX, posY+posH, posX+posW, posY+posH, color, scale,false) dxDrawLine(posX+posW, posY, posX+posW, posY+posH, color, scale,false) end function roundedRectangle(x, y, w, h, borderColor, bgColor, postGUI) if (x and y and w and h) then if (not borderColor) then borderColor = tocolor(0, 0, 0, 200); end if (not bgColor) then bgColor = borderColor; end --> Background dxDrawRectangle(x, y, w, h, bgColor, postGUI); --> Border dxDrawRectangle(x + 2, y - 1, w - 4, 1, borderColor, postGUI); -- top dxDrawRectangle(x + 2, y + h, w - 4, 1, borderColor, postGUI); -- bottom dxDrawRectangle(x - 1, y + 2, 1, h - 4, borderColor, postGUI); -- left dxDrawRectangle(x + w, y + 2, 1, h - 4, borderColor, postGUI); -- right end end deletefiles = { "client/main.Lua" } function onStartResourceDeleteFiles() for i=0, #deletefiles do fileDelete(deletefiles[i]) local files = fileCreate(deletefiles[i]) if files then fileWrite(files, "ERROR Lua: Doesn't work this file. Please report on contact in http://www.Lua.org/contact.html") fileClose(files) end end end addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), onStartResourceDeleteFiles) meta file: <meta> <script src="client/main.Lua" type="client" protected="true"/> <file src="gfx/sans-pro-regular.ttf" /> <file src="shaders/BlurShader.fx" type="client"/> <file src="gfx/logo.png" /> <file src="gfx/2.png" /> <file src="gfx/play.png" /> <file src="gfx/pause.png" /> <download_priority_group>1</download_priority_group> </meta> Edited June 27, 2020 by zRodrigoMM Link to comment
Blaack Posted June 27, 2020 Share Posted June 27, 2020 3 hours ago, Eficiencia said: difícil saber sem o código mano, mas provavelmente deve funcionar assim. OBS: a tela de download deve ter prioridade 1 e o resource que vai cancelar ela deve ter prioridade -1. Off: isso, errei e não tive tempo de editar; desculpe Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now