Nerses Posted May 13, 2015 Share Posted May 13, 2015 Hello everyone. I have a question. Is it possible to make it so that players were waiting for the end download files from the server and through the server so they played? That is, files that worked on the server, not need the players waited to finish loading. Link to comment
darhal Posted May 13, 2015 Share Posted May 13, 2015 (edited) this may help : viewtopic.php?f=108&t=86587 Edited May 13, 2015 by Guest Link to comment
novo Posted May 13, 2015 Share Posted May 13, 2015 It actually is possible. You may make the players load the necessary client-sided code and simultaneously download files (ref. latent events) during their play and replacing textures or whatever else you expect doing with these. Link to comment
Walid Posted May 13, 2015 Share Posted May 13, 2015 Hello everyone. I have a question. Is it possible to make it so that players were waiting for the end download files from the server and through the server so they played? That is, files that worked on the server, not need the players waited to finish loading. yes it's possible All what you need is -- meta.xml download="false" -- Using "false" will mean files Will Not Be Downloaded on resource start. -- Function downloadFile() -- use it to download files when the player spawn. -- Events onClientPlayerSpawn onClientFileDownloadComplete -- This event is triggered when a file has been downloaded after downloadFile has been successfully called. Link to comment
Nerses Posted May 15, 2015 Author Share Posted May 15, 2015 Hello everyone. I have a question. Is it possible to make it so that players were waiting for the end download files from the server and through the server so they played? That is, files that worked on the server, not need the players waited to finish loading. yes it's possible All what you need is -- meta.xml download="false" -- Using "false" will mean files Will Not Be Downloaded on resource start. -- Function downloadFile() -- use it to download files when the player spawn. -- Events onClientPlayerSpawn onClientFileDownloadComplete -- This event is triggered when a file has been downloaded after downloadFile has been successfully called. Can provide a sample of how it will look this function for example? Link to comment
darhal Posted May 15, 2015 Share Posted May 15, 2015 read this viewtopic.php?f=108&t=86587 thanks to god there is someone called xxMadeXx made it Link to comment
Walid Posted May 15, 2015 Share Posted May 15, 2015 try to do it by yourself then post your code here and i will help you. Link to comment
Nerses Posted May 15, 2015 Author Share Posted May 15, 2015 read this viewtopic.php?f=108&t=86587 thanks to god there is someone called xxMadeXx made it So why do I need this script? I need the script which only works with the server, so a player three hours is not my torrents cars and once these files that worked through the server. Link to comment
Nerses Posted May 17, 2015 Author Share Posted May 17, 2015 try to do it by yourself then post your code here and i will help you. Let it be the script of cars, like mine for example skript txd = engineLoadTXD ( "bmwm5.txd" ) engineImportTXD ( txd, 526 ) dff = engineLoadDFF ( "bmwm5.dff", 0 ) engineReplaceModel ( dff, 526 ) txd = engineLoadTXD ( "cclass.txd" ) engineImportTXD ( txd, 458 ) dff = engineLoadDFF ( "cclass.dff", 0 ) engineReplaceModel ( dff, 458 ) txd = engineLoadTXD ( "continental.txd" ) engineImportTXD ( txd, 474 ) dff = engineLoadDFF ( "continental.dff", 0 ) engineReplaceModel ( dff, 474 ) txd = engineLoadTXD ( "E63.txd" ) engineImportTXD ( txd, 585 ) dff = engineLoadDFF ( "E63.dff", 0 ) engineReplaceModel ( dff, 585 ) txd = engineLoadTXD ( "ford.txd" ) engineImportTXD ( txd, 527 ) dff = engineLoadDFF ( "ford.dff", 0 ) engineReplaceModel ( dff, 527 ) txd = engineLoadTXD ( "G65.txd" ) engineImportTXD ( txd, 490 ) dff = engineLoadDFF ( "G65.dff", 0 ) engineReplaceModel ( dff, 490 ) txd = engineLoadTXD ( "lamborgini.txd" ) engineImportTXD ( txd, 587 ) dff = engineLoadDFF ( "lamborgini.dff", 0 ) engineReplaceModel ( dff, 587 ) txd = engineLoadTXD ( "lexus.txd" ) engineImportTXD ( txd, 421 ) dff = engineLoadDFF ( "lexus.dff", 0 ) engineReplaceModel ( dff, 421 ) txd = engineLoadTXD ( "M3.txd" ) engineImportTXD ( txd, 517 ) dff = engineLoadDFF ( "M3.dff", 0 ) engineReplaceModel ( dff, 517 ) txd = engineLoadTXD ( "M5.txd" ) engineImportTXD ( txd, 546 ) dff = engineLoadDFF ( "M5.dff", 0 ) engineReplaceModel ( dff, 546 ) txd = engineLoadTXD ( "M6.txd" ) engineImportTXD ( txd, 603 ) dff = engineLoadDFF ( "M6.dff", 0 ) engineReplaceModel ( dff, 603 ) txd = engineLoadTXD ( "maserati.txd" ) engineImportTXD ( txd, 451 ) dff = engineLoadDFF ( "maserati.dff", 0 ) engineReplaceModel ( dff, 451 ) txd = engineLoadTXD ( "muslane.txd" ) engineImportTXD ( txd, 580 ) dff = engineLoadDFF ( "muslane.dff", 0 ) engineReplaceModel ( dff, 580 ) txd = engineLoadTXD ( "Porsche.txd" ) engineImportTXD ( txd, 400 ) dff = engineLoadDFF ( "Porsche.dff", 0 ) engineReplaceModel ( dff, 400 ) txd = engineLoadTXD ( "RRS.txd" ) engineImportTXD ( txd, 505 ) dff = engineLoadDFF ( "RRS.dff", 0 ) engineReplaceModel ( dff, 505 ) txd = engineLoadTXD ( "S65.txd" ) engineImportTXD ( txd, 560 ) dff = engineLoadDFF ( "S65.dff", 0 ) engineReplaceModel ( dff, 560 ) txd = engineLoadTXD ( "SL65.txd" ) engineImportTXD ( txd, 555 ) dff = engineLoadDFF ( "SL65.dff", 0 ) engineReplaceModel ( dff, 555 ) txd = engineLoadTXD ( "X5.txd" ) engineImportTXD ( txd, 579 ) dff = engineLoadDFF ( "X5.dff", 0 ) engineReplaceModel ( dff, 579 ) txd = engineLoadTXD ( "X6M.txd" ) engineImportTXD ( txd, 470 ) dff = engineLoadDFF ( "X6M.dff", 0 ) engineReplaceModel ( dff, 470 ) txd = engineLoadTXD ( "ML63.txd" ) engineImportTXD ( txd, 489 ) dff = engineLoadDFF ( "ML63.dff", 0 ) engineReplaceModel ( dff, 489 ) txd = engineLoadTXD ( "mclaren.txd" ) engineImportTXD ( txd, 506 ) dff = engineLoadDFF ( "mclaren.dff", 0 ) engineReplaceModel ( dff, 506 ) txd = engineLoadTXD ( "r352.txd" ) engineImportTXD ( txd, 419 ) dff = engineLoadDFF ( "r352.dff", 0 ) engineReplaceModel ( dff, 419 ) txd = engineLoadTXD ( "CAMRY.txd" ) engineImportTXD ( txd, 534 ) dff = engineLoadDFF ( "CAMRY.dff", 0 ) engineReplaceModel ( dff, 534 ) txd = engineLoadTXD ( "X6.txd" ) engineImportTXD ( txd, 599 ) dff = engineLoadDFF ( "X6.dff", 0 ) engineReplaceModel ( dff, 599 ) txd = engineLoadTXD ( "X5M.txd" ) engineImportTXD ( txd, 495 ) dff = engineLoadDFF ( "X5M.dff", 0 ) engineReplaceModel ( dff, 495 ) txd = engineLoadTXD ( "e63amg.txd" ) engineImportTXD ( txd, 480 ) dff = engineLoadDFF ( "e63amg.dff", 0 ) engineReplaceModel ( dff, 480 ) txd = engineLoadTXD ( "A7.txd" ) engineImportTXD ( txd, 567 ) dff = engineLoadDFF ( "A7.dff", 0 ) engineReplaceModel ( dff, 567 ) txd = engineLoadTXD ( "vogue.txd" ) engineImportTXD ( txd, 412 ) dff = engineLoadDFF ( "vogue.dff", 0 ) engineReplaceModel ( dff, 412 ) txd = engineLoadTXD ( "slk.txd" ) engineImportTXD ( txd, 558 ) dff = engineLoadDFF ( "slk.dff", 0 ) engineReplaceModel ( dff, 558 ) txd = engineLoadTXD ( "one77.txd" ) engineImportTXD ( txd, 576 ) dff = engineLoadDFF ( "one77.dff", 0 ) engineReplaceModel ( dff, 576 ) txd = engineLoadTXD ( "R8.txd" ) engineImportTXD ( txd, 439 ) dff = engineLoadDFF ( "R8.dff", 0 ) engineReplaceModel ( dff, 439 ) meta <meta> <info author="fsdf" description="dwadwa" version="1.0" type="script" /> <include resource="freeroam"/> <script src="script.lua" type="client"/> <file src="bmwm5.txd" type="client"/> <file src="bmwm5.dff" type="client"/> <file src="cclass.txd" type="client"/> <file src="cclass.dff" type="client"/> <file src="continental.txd" type="client"/> <file src="continental.dff" type="client"/> <file src="E63.txd" type="client"/> <file src="E63.dff" type="client"/> <file src="ford.txd" type="client"/> <file src="ford.dff" type="client"/> <file src="G65.txd" type="client"/> <file src="G65.dff" type="client"/> <file src="lamborgini.txd" type="client"/> <file src="lamborgini.dff" type="client"/> <file src="lexus.txd" type="client"/> <file src="lexus.dff" type="client"/> <file src="M3.txd" type="client"/> <file src="M3.dff" type="client"/> <file src="M5.txd" type="client"/> <file src="M5.dff" type="client"/> <file src="M6.txd" type="client"/> <file src="M6.dff" type="client"/> <file src="maserati.txd" type="client"/> <file src="maserati.dff" type="client"/> <file src="muslane.txd" type="client"/> <file src="muslane.dff" type="client"/> <file src="Porsche.txd" type="client"/> <file src="Porsche.dff" type="client"/> <file src="RRS.txd" type="client"/> <file src="RRS.dff" type="client"/> <file src="S65.txd" type="client"/> <file src="S65.dff" type="client"/> <file src="SL65.txd" type="client"/> <file src="SL65.dff" type="client"/> <file src="X5.txd" type="client"/> <file src="X5.dff" type="client"/> <file src="X6M.txd" type="client"/> <file src="X6M.dff" type="client"/> <file src="ML63.txd" type="client"/> <file src="ML63.dff" type="client"/> <file src="mclaren.txd" type="client"/> <file src="mclaren.dff" type="client"/> <file src="r352.txd" type="client"/> <file src="r352.dff" type="client"/> <file src="CAMRY.txd" type="client"/> <file src="CAMRY.dff" type="client"/> <file src="X6.txd" type="client"/> <file src="X6.dff" type="client"/> <file src="X5M.txd" type="client"/> <file src="X5M.dff" type="client"/> <file src="e63amg.txd" type="client"/> <file src="e63amg.dff" type="client"/> <file src="A7.txd" type="client"/> <file src="A7.dff" type="client"/> <file src="vogue.txd" type="client"/> <file src="vogue.dff" type="client"/> <file src="slk.txd" type="client"/> <file src="slk.dff" type="client"/> <file src="one77.txd" type="client"/> <file src="one77.dff" type="client"/> <file src="R8.txd" type="client"/> <file src="R8.dff" type="client"/> </meta> Link to comment
novo Posted May 19, 2015 Share Posted May 19, 2015 In order for this to work, the files should also be included in meta.xml with the download attribute set to "false". Then you can simply download the files you wish using downloadFile and then executing any necessary code attached to onClientFileDownloadComplete. local files = {} files.textures = {infernus = {status = {txd = false, dff = false}, "infernus.txd", "infernus.dff"}} files.images = {"something.png"} function files:download () for key, value in pairs(self) do if type(value) == "table" then for key, value in pairs(value) do if type(value) == "table" then -- textures (as it contains sub-tables) for index, file in ipairs(value) do -- status will be ignored as it's not a numerical index downloadFile(value) -- infernus.txd / infernus.dff / ... end else downloadFile(value) -- something.png / ... end end end end end addEventHandler("onClientFileDownloadComplete", root, function(name, success) if not success then return end -- Example if name == "infernus.txd" then files.textures.infernus.status.txd = true elseif name == "infernus.dff" then files.textures.infernus.status.dff = true end -- if files.textures.infernus.status.txd and files.textures.infernus.status.dff then -- both files are downloaded engineImportTXD(engineLoadTXD("infernus.txd"), 425) engineReplaceModel(engineLoadDFF("infernus.dff", 0), 425) end end ) Just for you to get an idea about what you would need, though does not mean the upper way is the unique functional nor the most efficient. What I did above is downloading both texture files (infernus.txd and infernus.dff) and checking whether both files are downloaded before replacing a model with them, using a couple of booleans named there as 'status'. 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