Jump to content

file


Nerses

Recommended Posts

Posted

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.

Posted

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.

Posted
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. 

Posted
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?

Posted
read this viewtopic.php?f=108&t=86587

thanks to god there is someone called xxMadeXx made it :D

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.

Posted
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>  

Posted

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'.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...