• Players have to download models/materials/sounds every time they join?
    12 replies, posted
Basically what the title says. Example: Let's say someone needs to download DurgzMod materials & models. They download it and the next time they join the server, they have to download it again. Any ideas?
Make a download file called dl.lua (you can change the dl part to whatever you want), place it in lua/autorun/server/. Then open it, and on the first line put file.Delete("whatever/my.file") Do this for every file, make sure you only put one of these codes per line, and add 3 spaces before file.Delete. If you want a client to DOWNLOAD the file however, do the same as above except use resource.AddFile("whatever/my.file") You're welcome. Enjoy!
..Yes I want the client to download the file, and my FastDL is set up perfectly fine I believe..here's my code. [lua] function resource.AddDir(dir) dir = string.Replace(dir,"\\\\", "/") dir = string.Replace(dir, "\\", "/") local files, dirs = file.Find(dir.."/*", "GAME") for k, v in pairs(dirs) do resource.AddDir(dir.."/"..v) end for k, v in pairs(files) do local realpath = dir.."/"..v if(string.find(realpath, "addons", nil, false) ~= nil) then local path_array = string.Explode("/", dir.."/"..v) table.remove(path_array, 1) table.remove(path_array, 1) realpath = string.Implode("/", path_array) end resource.AddFile(realpath) end end resource.AddDir("addons/firearms/materials") resource.AddDir("addons/firearms/sound") resource.AddDir("addons/firearms/models") resource.AddDir("addons/damageeffect/materials/vortex") resource.AddDir("addons/durgz/models") resource.AddDir("addons/durgz/materials") resource.AddDir("addons/extinguisher/materials") resource.AddDir("addons/extinguisher/models") resource.AddDir("addons/extinguisher/sound") resource.AddDir("addons/Realisticblood/materials") [/lua]
You don't need to use resource.AddDir(""). Do something like this: --- Start File --- Win Music resource.AddFile("sound/song1.mp3") resource.AddFile("sound/song2.mp3") resource.AddFile("sound/song3.mp3") resource.AddFile("sound/song4.mp3") resource.AddFile("sound/song5.mp3") resource.AddFile("sound/song6.mp3") resource.AddFile("sound/song7.mp3") resource.AddFile("sound/song8.mp3") resource.AddFile("sound/song9.mp3") resource.AddFile("sound/song10.mp3") resource.AddFile("sound/song11.mp3") resource.AddFile("sound/song12.mp3") resource.AddFile("sound/song13.mp3") resource.AddFile("sound/song14.mp3") resource.AddFile("sound/song15.mp3") resource.AddFile("sound/song16.mp3") resource.AddFile("sound/song17.mp3") resource.AddFile("sound/song18.mp3") resource.AddFile("sound/song19.mp3") resource.AddFile("sound/song20.mp3") resource.AddFile("sound/song21.mp3") resource.AddFile("sound/song22.mp3") resource.AddFile("sound/song23.mp3") resource.AddFile("sound/song24.mp3") resource.AddFile("sound/song25.mp3") resource.AddFile("sound/song26.mp3") resource.AddFile("sound/song27.mp3") resource.AddFile("sound/song28.mp3") resource.AddFile("sound/song29.mp3") resource.AddFile("sound/song30.mp3") resource.AddFile("sound/song31.mp3") resource.AddFile("sound/song32.mp3") resource.AddFile("sound/song33.mp3") resource.AddFile("sound/song34.mp3") --- End Win Music --- Custom weapons --- VAL resource.AddFile("sound/vx/weapons/val/val.wav") resource.AddFile("materials/models/weapons/v_models/OLAFASVAL/other.vmt") resource.AddFile("materials/models/weapons/v_models/OLAFASVAL/reciever.vmt") resource.AddFile("materials/models/weapons/v_models/OLAFASVAL/wpn_vss.vmt") resource.AddFile("materials/models/weapons/other.vmt") resource.AddFile("materials/models/weapons/reciever.vmt") resource.AddFile("materials/models/weapons/wpn_vss.vmt") resource.AddFile("models/weapons/v_rif_val.mdl") resource.AddFile("materials/models/weapons/w_rif_ak47.mdl") --- End VAL --- Intervention resource.AddFile("materials/models/weapons/v_models/M82/M82.vmt") resource.AddFile("materials/models/weapons/w_models/M82/M82.vmt") resource.AddFile("materials/models/weapons/v_models/M98B/Main.vmt") resource.AddFile("materials/models/weapons/v_models/M98B/Scope.vmt") resource.AddFile("models/weapons/v_snip_hex.mdl") resource.AddFile("models/weapons/w_snip_hex.mdl") resource.AddFile("sound/vx/weapons/intervention/shoot.wav") --- End Intervention --- SPAS-12 resource.AddFile("materials/models/weapons/v_models/spas-12/spas.vmt") resource.AddFile("materials/models/weapons/w_models/w_spas12/spas.vmt") resource.AddFile("models/weapons/v_shot_xm10141.mdl") resource.AddFile("models/weapons/w_shot_xm10141.mdl") resource.AddFile("sound/vx/weapons/spas-12/shoot.wav") resource.AddFile("sound/vx/weapons/spas-12/insertshell.wav") resource.AddFile("sound/vx/weapons/spas-12/pump.wav") --- End SPAS-12 --- Colt resource.AddFile("models/weapons/v_pist_colt19.mdl") resource.AddFile("models/weapons/w_pist_colt19.mdl") resource.AddFile("materials/models/weapons/v_models/Kimono_1911/1911.vmt") resource.AddFile("materials/models/weapons/v_models/Kimono_1911/Mag.vmt") resource.AddFile("materials/models/weapons/v_models/Kimono_1911/1911.vmt") resource.AddFile("materials/models/weapons/v_models/Kimono_1911/Mag.vmt") resource.AddFile("sound/vx/colt/fire.wav") resource.AddFile("sound/vx/colt/draw.wav") resource.AddFile("sound/vx/colt/empty.wav") resource.AddFile("sound/vx/colt/in.wav") resource.AddFile("sound/vx/colt/out.wav") resource.AddFile("sound/vx/colt/slide.wav") --- End Colt --- G36C resource.AddFile("models/weapons/v_op2_g36.mdl") resource.AddFile("models/weapons/w_op2_g36.mdl") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_light1.vmt") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_main.vmt") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_d.vtf") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_exp.vtf") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_gloss.vtf") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_n.vtf") resource.AddFile("materials/models/weapons/w_models/arby26_g36c/m4_light1_d.vtf") resource.AddFile("materials/models/weapons/w_models/arby26_g36c/m4_light1_n.vtf") resource.AddFile("materials/rg/rg_parascope.vmt") resource.AddFile("sound/vx/g36c/m4a1-2.wav") resource.AddFile("sound/vx/g36c/clipin.wav") resource.AddFile("sound/vx/g36c/clipout.wav") resource.AddFile("sound/vx/g36c/empty.wav") resource.AddFile("sound/vx/g36c/m4a1_boltcatch.wav") resource.AddFile("sound/vx/g36c/m4a1_boltpull.wav") resource.AddFile("sound/vx/g36c/m4a1_clipin.wav") resource.AddFile("sound/vx/g36c/m4a1_clipout.wav") resource.AddFile("sound/vx/g36c/m4a1_deploy.wav") resource.AddFile("sound/vx/g36c/m4a1_silencer_off.wav") resource.AddFile("sound/vx/g36c/m4a1_silencer_on.wav") resource.AddFile("sound/vx/g36c/m4a1_silencer_on.wav") resource.AddFile("sound/vx/g36c/m4a1_unsil-1.wav") resource.AddFile("sound/vx/g36c/m4a1_unsil-2.wav") resource.AddFile("sound/vx/g36c/m16_boltcatch.wav") resource.AddFile("sound/vx/g36c/shell1.wav") resource.AddFile("sound/vx/g36c/shell2.wav") resource.AddFile("sound/vx/g36c/shell3.wav") --- End G36c --- SV-98 resource.AddFile("models/weapons/v_snip_awp2.mdl") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/shared/PKS-07.vmt") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/shared/scope_glass.vmt") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/scope_glass.vmt") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/SV-98/rounds.vmt") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/SV-98/SV-98.vmt") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/SV-98/SV-98_mag.vmt") resource.AddFile("materials/models/weapons/v_models/hands/t_phoenix.vmt") resource.AddFile("materials/models/weapons/v_models/watch/TS_belt_difffuse.vmt") resource.AddFile("materials/models/weapons/v_models/watch/TS_watch_difffuse.vmt") resource.AddFile("materials/models/weapons/v_models/watch/TS_watch_diffuse.vmt") resource.AddFile("materials/models/weapons/v_models/watch/TS_watch_glass.vmt") resource.AddFile("sound/vx/sv98/fire.wav") resource.AddFile("sound/vx/sv98/boltback.wav") resource.AddFile("sound/vx/sv98/boltlock.wav") resource.AddFile("sound/vx/sv98/boltpush.wav") resource.AddFile("sound/vx/sv98/clipin.wav") resource.AddFile("sound/vx/sv98/clipout.wav") resource.AddFile("sound/vx/sv98/cliptap.wav") resource.AddFile("sound/vx/sv98/deploy.wav") resource.AddFile("sound/vx/sv98/foley.wav") resource.AddFile("sound/vx/sv98/inserting.wav") --- End SV-98 --- Jihad resource.AddFile("materials/VGUI/ttt/c4_bomb.vmt") resource.AddFile( "sound/siege/jihad.wav" ) resource.AddFile( "sound/siege/big_explosion.wav" ) resource.AddFile( "models/weapons/v_jb.mdl" ) resource.AddFile( "models/weapons/v_jb.dx80" ) resource.AddFile( "models/weapons/v_jb.dx90" ) resource.AddFile( "models/weapons/v_jb.sw.vtx" ) resource.AddFile( "models/weapons/v_jb.vvd" ) resource.AddFile( "models/weapons/w_jb.mdl" ) resource.AddFile( "models/weapons/w_jb.dx80" ) resource.AddFile( "models/weapons/w_jb.dx90" ) resource.AddFile( "models/weapons/w_jb.sw.vtx" ) resource.AddFile( "models/weapons/w_jb.vvd" ) resource.AddFile( "models/weapons/w_jb.phy" ) resource.AddFile( "sound/siege/jishad.wav" ) resource.AddFile( "sound/siege/big_explosion.wav" ) resource.AddFile( "materials/models/weapons/v_models/pr0d.c4/bomb1.vmt" ) resource.AddFile( "materials/models/weapons/v_models/pr0d.c4/bomb1.vtf" ) resource.AddFile( "materials/mod
[QUOTE=sackcreator54;38720711]You don't need to use resource.AddDir(""). Do something like this: --- Start File --- Win Music resource.AddFile("sound/song1.mp3") resource.AddFile("sound/song2.mp3") resource.AddFile("sound/song3.mp3") resource.AddFile("sound/song4.mp3") resource.AddFile("sound/song5.mp3") resource.AddFile("sound/song6.mp3") resource.AddFile("sound/song7.mp3") resource.AddFile("sound/song8.mp3") resource.AddFile("sound/song9.mp3") resource.AddFile("sound/song10.mp3") resource.AddFile("sound/song11.mp3") resource.AddFile("sound/song12.mp3") resource.AddFile("sound/song13.mp3") resource.AddFile("sound/song14.mp3") resource.AddFile("sound/song15.mp3") resource.AddFile("sound/song16.mp3") resource.AddFile("sound/song17.mp3") resource.AddFile("sound/song18.mp3") resource.AddFile("sound/song19.mp3") resource.AddFile("sound/song20.mp3") resource.AddFile("sound/song21.mp3") resource.AddFile("sound/song22.mp3") resource.AddFile("sound/song23.mp3") resource.AddFile("sound/song24.mp3") resource.AddFile("sound/song25.mp3") resource.AddFile("sound/song26.mp3") resource.AddFile("sound/song27.mp3") resource.AddFile("sound/song28.mp3") resource.AddFile("sound/song29.mp3") resource.AddFile("sound/song30.mp3") resource.AddFile("sound/song31.mp3") resource.AddFile("sound/song32.mp3") resource.AddFile("sound/song33.mp3") resource.AddFile("sound/song34.mp3") --- End Win Music --- Custom weapons --- VAL resource.AddFile("sound/vx/weapons/val/val.wav") resource.AddFile("materials/models/weapons/v_models/OLAFASVAL/other.vmt") resource.AddFile("materials/models/weapons/v_models/OLAFASVAL/reciever.vmt") resource.AddFile("materials/models/weapons/v_models/OLAFASVAL/wpn_vss.vmt") resource.AddFile("materials/models/weapons/other.vmt") resource.AddFile("materials/models/weapons/reciever.vmt") resource.AddFile("materials/models/weapons/wpn_vss.vmt") resource.AddFile("models/weapons/v_rif_val.mdl") resource.AddFile("materials/models/weapons/w_rif_ak47.mdl") --- End VAL --- Intervention resource.AddFile("materials/models/weapons/v_models/M82/M82.vmt") resource.AddFile("materials/models/weapons/w_models/M82/M82.vmt") resource.AddFile("materials/models/weapons/v_models/M98B/Main.vmt") resource.AddFile("materials/models/weapons/v_models/M98B/Scope.vmt") resource.AddFile("models/weapons/v_snip_hex.mdl") resource.AddFile("models/weapons/w_snip_hex.mdl") resource.AddFile("sound/vx/weapons/intervention/shoot.wav") --- End Intervention --- SPAS-12 resource.AddFile("materials/models/weapons/v_models/spas-12/spas.vmt") resource.AddFile("materials/models/weapons/w_models/w_spas12/spas.vmt") resource.AddFile("models/weapons/v_shot_xm10141.mdl") resource.AddFile("models/weapons/w_shot_xm10141.mdl") resource.AddFile("sound/vx/weapons/spas-12/shoot.wav") resource.AddFile("sound/vx/weapons/spas-12/insertshell.wav") resource.AddFile("sound/vx/weapons/spas-12/pump.wav") --- End SPAS-12 --- Colt resource.AddFile("models/weapons/v_pist_colt19.mdl") resource.AddFile("models/weapons/w_pist_colt19.mdl") resource.AddFile("materials/models/weapons/v_models/Kimono_1911/1911.vmt") resource.AddFile("materials/models/weapons/v_models/Kimono_1911/Mag.vmt") resource.AddFile("materials/models/weapons/v_models/Kimono_1911/1911.vmt") resource.AddFile("materials/models/weapons/v_models/Kimono_1911/Mag.vmt") resource.AddFile("sound/vx/colt/fire.wav") resource.AddFile("sound/vx/colt/draw.wav") resource.AddFile("sound/vx/colt/empty.wav") resource.AddFile("sound/vx/colt/in.wav") resource.AddFile("sound/vx/colt/out.wav") resource.AddFile("sound/vx/colt/slide.wav") --- End Colt --- G36C resource.AddFile("models/weapons/v_op2_g36.mdl") resource.AddFile("models/weapons/w_op2_g36.mdl") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_light1.vmt") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_main.vmt") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_d.vtf") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_exp.vtf") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_gloss.vtf") resource.AddFile("materials/models/weapons/v_models/arby26_g36c/g36c_n.vtf") resource.AddFile("materials/models/weapons/w_models/arby26_g36c/m4_light1_d.vtf") resource.AddFile("materials/models/weapons/w_models/arby26_g36c/m4_light1_n.vtf") resource.AddFile("materials/rg/rg_parascope.vmt") resource.AddFile("sound/vx/g36c/m4a1-2.wav") resource.AddFile("sound/vx/g36c/clipin.wav") resource.AddFile("sound/vx/g36c/clipout.wav") resource.AddFile("sound/vx/g36c/empty.wav") resource.AddFile("sound/vx/g36c/m4a1_boltcatch.wav") resource.AddFile("sound/vx/g36c/m4a1_boltpull.wav") resource.AddFile("sound/vx/g36c/m4a1_clipin.wav") resource.AddFile("sound/vx/g36c/m4a1_clipout.wav") resource.AddFile("sound/vx/g36c/m4a1_deploy.wav") resource.AddFile("sound/vx/g36c/m4a1_silencer_off.wav") resource.AddFile("sound/vx/g36c/m4a1_silencer_on.wav") resource.AddFile("sound/vx/g36c/m4a1_silencer_on.wav") resource.AddFile("sound/vx/g36c/m4a1_unsil-1.wav") resource.AddFile("sound/vx/g36c/m4a1_unsil-2.wav") resource.AddFile("sound/vx/g36c/m16_boltcatch.wav") resource.AddFile("sound/vx/g36c/shell1.wav") resource.AddFile("sound/vx/g36c/shell2.wav") resource.AddFile("sound/vx/g36c/shell3.wav") --- End G36c --- SV-98 resource.AddFile("models/weapons/v_snip_awp2.mdl") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/shared/PKS-07.vmt") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/shared/scope_glass.vmt") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/scope_glass.vmt") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/SV-98/rounds.vmt") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/SV-98/SV-98.vmt") resource.AddFile("materials/models/Nirrti/BFP4F/weapons/SV-98/SV-98_mag.vmt") resource.AddFile("materials/models/weapons/v_models/hands/t_phoenix.vmt") resource.AddFile("materials/models/weapons/v_models/watch/TS_belt_difffuse.vmt") resource.AddFile("materials/models/weapons/v_models/watch/TS_watch_difffuse.vmt") resource.AddFile("materials/models/weapons/v_models/watch/TS_watch_diffuse.vmt") resource.AddFile("materials/models/weapons/v_models/watch/TS_watch_glass.vmt") resource.AddFile("sound/vx/sv98/fire.wav") resource.AddFile("sound/vx/sv98/boltback.wav") resource.AddFile("sound/vx/sv98/boltlock.wav") resource.AddFile("sound/vx/sv98/boltpush.wav") resource.AddFile("sound/vx/sv98/clipin.wav") resource.AddFile("sound/vx/sv98/clipout.wav") resource.AddFile("sound/vx/sv98/cliptap.wav") resource.AddFile("sound/vx/sv98/deploy.wav") resource.AddFile("sound/vx/sv98/foley.wav") resource.AddFile("sound/vx/sv98/inserting.wav") --- End SV-98 --- Jihad resource.AddFile("materials/VGUI/ttt/c4_bomb.vmt") resource.AddFile( "sound/siege/jihad.wav" ) resource.AddFile( "sound/siege/big_explosion.wav" ) resource.AddFile( "models/weapons/v_jb.mdl" ) resource.AddFile( "models/weapons/v_jb.dx80" ) resource.AddFile( "models/weapons/v_jb.dx90" ) resource.AddFile( "models/weapons/v_jb.sw.vtx" ) resource.AddFile( "models/weapons/v_jb.vvd" ) resource.AddFile( "models/weapons/w_jb.mdl" ) resource.AddFile( "models/weapons/w_jb.dx80" ) resource.AddFile( "models/weapons/w_jb.dx90" ) resource.AddFile( "models/weapons/w_jb.sw.vtx" ) resource.AddFile( "models/weapons/w_jb.vvd" ) resource.AddFile( "models/weapons/w_jb.phy" ) resource.AddFile( "sound/siege/jishad.wav" ) resource.AddFile( "sound/siege/big_explosion.wav" ) resource.AddFile( "materials/models/weapons/v_models/pr0d.c4/bomb1.vmt" ) resource.AddFile( "materials/models/weapons/v_models/pr0d.c4/bomb1.vtf" ) re
If it is an addon, it should automatically download all the files, if not, something is wrong with it, make sure your cfg has this exactly: sv_allowupload 1 sv_allowdownload 1 sv_downloadurl "http://yourwebsite.here/garrysmod" Make sure your sv_downloadurl doesn't have a / after garry's mod. Otherwise, I would just use resource.AddFile.
[QUOTE=sackcreator54;38720780]If it is an addon, it should automatically download all the files, if not, something is wrong with it, make sure your cfg has this exactly: sv_allowupload 1 sv_allowdownload 1 sv_downloadurl "http://yourwebsite.here/garrysmod" Make sure your sv_downloadurl doesn't have a / after garry's mod. Otherwise, I would just use resource.AddFile.[/QUOTE] In my cfg I have sv_downloadurl "myurl" -- I actually have my url there that is working I don't think I need sv_allowupload 1 and sv_allowdownload 1 My sv_downloadurl is working fine. My FastDL is XenonServers's fast DL, it's a little weird. My FastDL works on every other thing (like fire arms) it's just for DurgzMod. I'm pretty sure it's just DurgzMod. [editline]6th December 2012[/editline] Oh crap, now come to think of it I did not do the thing for durgz mod that I need to for everything else (extract every materials and models folder from addons into the root dir) This should fix it, if not i'll check back.
The only thing i have left to say is, find a svn link and get a newer version..?
[QUOTE=sackcreator54;38720860]The only thing i have left to say is, find a svn link and get a newer version..?[/QUOTE] DurgzMod is outdated, so i'm using a fixed version of it. I think I know how to fix it though now.
[QUOTE=sniperdude0;38720867]DurgzMod is outdated, so i'm using a fixed version of it. I think I know how to fix it though now.[/QUOTE] Good luck to you sir, last resort is resource.AddFile.
[QUOTE=sackcreator54;38720912]Good luck to you sir, last resort is resource.AddFile.[/QUOTE] Once again..that's not my problem. My script works fine.
[QUOTE=sackcreator54;38720711]You don't need to use resource.AddDir(""). Do something like this: ... [/QUOTE] This is bullshit. [CODE]-->> Resource manager --------------------------------------------------------->> --> Init & variables --------------------------------------------------------->> cr = {} cr.files = {} cr.folders = {} cr.path = GM.Folder .. "/content/" --> Functions --------------------------------------------------------->> function cr:parser( dir, data ) for index, item in pairs( data ) do if file.IsDir( dir .. item, "GAME" ) then if ( item != "maps" ) then table.insert( self.folders, dir .. item .. "/" ) end else table.insert( self.files, { item = string.gsub( dir .. item, self.path, "" ), path = dir .. item, size = file.Size( dir .. item, "GAME" ) } ) end end end function cr:generator() local files, folders = file.Find( self.path .. "*", "GAME" ) self:parser( self.path, files ) self:parser( self.path, folders ) for index, folder in pairs( self.folders ) do local files, folders = file.Find( folder .. "*", "GAME" ) self:parser( folder, files ) self:parser( folder, folders ) end for index, data in pairs( self.files ) do resource.AddFile( data.item ) end self:pack() end[/CODE]
Also, you can't add files to the download list that are inside of addons or gamemode content folders. Just add the files without the addon or gamemode path. If you have mygamemode/content/sound/mysound.wav then you should do resource.AddFile("mysound.wav") not resource.AddFile("gamemodes/mygamemode/content/sound/mysound.wav") When you install an addon or activate a gamemode, that content is mounted in to gmod. It exists inside the base directory as far as the game is concerned.
Sorry, you need to Log In to post a reply to this thread.