• Forced Downloads
    3 replies, posted
I need to make it so when people join one of my servers they are forced to download textures.
[lua]add.Resource("path/thing")[/lua] Example: [lua]add.Resource("models/player/gman_high.mdl")[/lua] This will make the client download Gman playermodel, if he doesent have it already. You put the file in "garrysmod/lua/autorun/server/resource.lua". Hope I helped.
Thank you, I was looking for this too.
Another way to do things, especially in bulk, is to have a lua file with the following code. [lua]local ClientResources = 0; local function ProcessFolder ( Location ) for k, v in pairs(file.Find(Location .. '*')) do if file.IsDir(Location .. v) then ProcessFolder(Location .. v .. '/') else local OurLocation = string.gsub(Location .. v, '../addons/ADDON-NAME-HERE/', '') if !string.find(Location, '.db') then ClientResources = ClientResources + 1; resource.AddFile(OurLocation); end end end end if !SinglePlayer() then ProcessFolder('../addons/ADDON-NAME-HERE/models/'); ProcessFolder('../addons/ADDON-NAME-HERE/materials/'); ProcessFolder('../addons/ADDON-NAME-HERE/sound/'); end[/lua] As an example. Just put it in autorun/server with whatever name you want. Should what you're seeking for others to download not be an addon, then a slight alteration is needed. [lua]local ClientResources = 0; local function ProcessFolder ( Location ) for k, v in pairs(file.Find(Location .. '*')) do if file.IsDir(Location .. v) then ProcessFolder(Location .. v .. '/') else local OurLocation = string.gsub(Location .. v, '../materials/', '') if !string.find(Location, '.db') then ClientResources = ClientResources + 1; resource.AddFile(OurLocation); end end end end if !SinglePlayer() then ProcessFolder('../materials/models/MATERIAL-FOLDER'); end[/lua] Not tested that but I think it would work. Not to mention that you'd have to do that for each folder to be parsed, but it beats manually doing resource.AddFile.
Sorry, you need to Log In to post a reply to this thread.