PDA

View Full Version : Precache Kit


Jhob94
03-14-2015, 16:53
Precache Kit
Annoying 512 precache limit? You have the control now!

This plugin allows you to check how many files are precached per map and per type (Sounds/Models/Generic). You can also check wich files are precached.
Another tool that this plugin has is Unprecache utility, wich allows you to unprecache any file that you want. Yet, be careful. If you unprecache one file that is used (for example models/v_knife.mdl), the server will probably crash.

Commands

precache_view -> Prints a message to the admin's console with precache information
precache_viewfull -> Log all the names of precached files at the map


Requirements

Orpheu (https://forums.alliedmods.net/showthread.php?t=116393)
You must compile this plugin locally


Credits

Hornet (https://forums.alliedmods.net/member.php?u=73639) - Signatures and base plugin
Arkshine (https://forums.alliedmods.net/member.php?u=7779) - Scripting help


Changelog

v0.0.1 at 14/03/2015 - First Release
v0.0.2 at 15/03/2015 - Minor Fixes

Jhob94
03-14-2015, 16:56
precache_view
*Current Map: de_dust2
*Total Precached: 616
*Sounds Precached: 396
*Models Precached: 215
*Generic Precached: 5

precache_viewfull
L 03/14/2015 - 21:24:26: ***** INITIALIZING VIEWFULL AT: de_dust2 *****
L 03/14/2015 - 21:24:26: * SOUND PRECACHE ( 396 Files ) *
L 03/14/2015 - 21:24:26: items/tr_kevlar.wav
L 03/14/2015 - 21:24:26: items/gunpickup2.wav
L 03/14/2015 - 21:24:26: weapons/awp1.wav
L 03/14/2015 - 21:24:26: weapons/boltpull1.wav
L 03/14/2015 - 21:24:26: weapons/boltup.wav
L 03/14/2015 - 21:24:26: weapons/boltdown.wav
L 03/14/2015 - 21:24:26: weapons/zoom.wav
L 03/14/2015 - 21:24:26: weapons/awp_deploy.wav
L 03/14/2015 - 21:24:26: weapons/awp_clipin.wav
L 03/14/2015 - 21:24:26: weapons/awp_clipout.wav
L 03/14/2015 - 21:24:26: items/9mmclip1.wav
L 03/14/2015 - 21:24:26: weapons/g3sg1-1.wav
L 03/14/2015 - 21:24:26: weapons/g3sg1_slide.wav
L 03/14/2015 - 21:24:26: weapons/g3sg1_clipin.wav
L 03/14/2015 - 21:24:26: weapons/g3sg1_clipout.wav
L 03/14/2015 - 21:24:26: weapons/zoom.wav
L 03/14/2015 - 21:24:26: weapons/ak47-1.wav
L 03/14/2015 - 21:24:26: weapons/ak47-2.wav
L 03/14/2015 - 21:24:26: weapons/ak47_clipout.wav
L 03/14/2015 - 21:24:26: weapons/ak47_clipin.wav
L 03/14/2015 - 21:24:26: weapons/ak47_boltpull.wav
L 03/14/2015 - 21:24:26: weapons/scout_fire-1.wav
L 03/14/2015 - 21:24:26: weapons/scout_bolt.wav
L 03/14/2015 - 21:24:26: weapons/scout_clipin.wav
L 03/14/2015 - 21:24:26: weapons/scout_clipout.wav
L 03/14/2015 - 21:24:26: weapons/zoom.wav
L 03/14/2015 - 21:24:26: items/9mmclip1.wav
L 03/14/2015 - 21:24:26: weapons/m249-1.wav
L 03/14/2015 - 21:24:26: weapons/m249-2.wav
L 03/14/2015 - 21:24:26: weapons/m249_boxout.wav
L 03/14/2015 - 21:24:26: weapons/m249_boxin.wav
L 03/14/2015 - 21:24:26: weapons/m249_chain.wav
L 03/14/2015 - 21:24:26: weapons/m249_coverup.wav
L 03/14/2015 - 21:24:26: weapons/m249_coverdown.wav
L 03/14/2015 - 21:24:26: items/9mmclip1.wav
L 03/14/2015 - 21:24:26: weapons/m4a1-1.wav
L 03/14/2015 - 21:24:26: weapons/m4a1_unsil-1.wav
L 03/14/2015 - 21:24:26: weapons/m4a1_unsil-2.wav
L 03/14/2015 - 21:24:26: weapons/m4a1_clipin.wav
L 03/14/2015 - 21:24:26: weapons/m4a1_clipout.wav
L 03/14/2015 - 21:24:26: weapons/m4a1_boltpull.wav
L 03/14/2015 - 21:24:26: weapons/m4a1_deploy.wav
L 03/14/2015 - 21:24:26: weapons/m4a1_silencer_on.wav
L 03/14/2015 - 21:24:26: weapons/m4a1_silencer_off.wav
L 03/14/2015 - 21:24:26: weapons/sg552-1.wav
L 03/14/2015 - 21:24:26: weapons/sg552-2.wav
L 03/14/2015 - 21:24:26: weapons/sg552_clipout.wav
L 03/14/2015 - 21:24:26: weapons/sg552_clipin.wav
L 03/14/2015 - 21:24:26: weapons/sg552_boltpull.wav
L 03/14/2015 - 21:24:26: weapons/aug-1.wav
L 03/14/2015 - 21:24:26: weapons/aug_clipout.wav
L 03/14/2015 - 21:24:26: weapons/aug_clipin.wav
L 03/14/2015 - 21:24:26: weapons/aug_boltpull.wav
L 03/14/2015 - 21:24:26: weapons/aug_boltslap.wav
L 03/14/2015 - 21:24:26: weapons/aug_forearm.wav
L 03/14/2015 - 21:24:26: weapons/sg550-1.wav
L 03/14/2015 - 21:24:26: weapons/sg550_boltpull.wav
L 03/14/2015 - 21:24:26: weapons/sg550_clipin.wav
L 03/14/2015 - 21:24:26: weapons/sg550_clipout.wav
L 03/14/2015 - 21:24:26: weapons/zoom.wav
L 03/14/2015 - 21:24:26: items/9mmclip1.wav
L 03/14/2015 - 21:24:26: weapons/m3-1.wav
L 03/14/2015 - 21:24:26: weapons/m3_insertshell.wav
L 03/14/2015 - 21:24:26: weapons/m3_pump.wav
L 03/14/2015 - 21:24:26: weapons/reload1.wav
L 03/14/2015 - 21:24:26: weapons/reload3.wav
L 03/14/2015 - 21:24:26: weapons/xm1014-1.wav
L 03/14/2015 - 21:24:26: weapons/reload1.wav
L 03/14/2015 - 21:24:26: weapons/reload3.wav
L 03/14/2015 - 21:24:26: items/9mmclip1.wav
L 03/14/2015 - 21:24:26: weapons/usp1.wav
L 03/14/2015 - 21:24:26: weapons/usp2.wav
L 03/14/2015 - 21:24:26: weapons/usp_unsil-1.wav
L 03/14/2015 - 21:24:26: weapons/usp_clipout.wav
L 03/14/2015 - 21:24:26: weapons/usp_clipin.wav
L 03/14/2015 - 21:24:26: weapons/usp_silencer_on.wav
L 03/14/2015 - 21:24:26: weapons/usp_silencer_off.wav
L 03/14/2015 - 21:24:26: weapons/usp_sliderelease.wav
L 03/14/2015 - 21:24:26: weapons/usp_slideback.wav
L 03/14/2015 - 21:24:26: weapons/mac10-1.wav
L 03/14/2015 - 21:24:26: weapons/mac10_clipout.wav
L 03/14/2015 - 21:24:26: weapons/mac10_clipin.wav
L 03/14/2015 - 21:24:26: weapons/mac10_boltpull.wav
L 03/14/2015 - 21:24:26: weapons/ump45-1.wav
L 03/14/2015 - 21:24:26: weapons/ump45_clipout.wav
L 03/14/2015 - 21:24:26: weapons/ump45_clipin.wav
L 03/14/2015 - 21:24:26: weapons/ump45_boltslap.wav
L 03/14/2015 - 21:24:26: items/9mmclip1.wav
L 03/14/2015 - 21:24:26: weapons/fiveseven-1.wav
L 03/14/2015 - 21:24:26: weapons/fiveseven_clipout.wav
L 03/14/2015 - 21:24:26: weapons/fiveseven_clipin.wav
L 03/14/2015 - 21:24:26: weapons/fiveseven_sliderelease.wav
L 03/14/2015 - 21:24:26: weapons/fiveseven_slidepull.wav
L 03/14/2015 - 21:24:26: weapons/p90-1.wav
L 03/14/2015 - 21:24:26: weapons/p90_clipout.wav
L 03/14/2015 - 21:24:26: weapons/p90_clipin.wav
L 03/14/2015 - 21:24:26: weapons/p90_boltpull.wav
L 03/14/2015 - 21:24:26: weapons/p90_cliprelease.wav
L 03/14/2015 - 21:24:26: items/9mmclip1.wav
L 03/14/2015 - 21:24:26: weapons/deagle-1.wav
L 03/14/2015 - 21:24:26: weapons/deagle-2.wav
L 03/14/2015 - 21:24:26: weapons/de_clipout.wav
L 03/14/2015 - 21:24:26: weapons/de_clipin.wav
L 03/14/2015 - 21:24:26: weapons/de_deploy.wav
L 03/14/2015 - 21:24:26: items/9mmclip1.wav
L 03/14/2015 - 21:24:26: weapons/p228-1.wav
L 03/14/2015 - 21:24:26: weapons/p228_clipout.wav
L 03/14/2015 - 21:24:26: weapons/p228_clipin.wav
L 03/14/2015 - 21:24:26: weapons/p228_sliderelease.wav
L 03/14/2015 - 21:24:26: weapons/p228_slidepull.wav
L 03/14/2015 - 21:24:26: items/9mmclip1.wav
L 03/14/2015 - 21:24:26: weapons/knife_deploy1.wav
L 03/14/2015 - 21:24:26: weapons/knife_hit1.wav
L 03/14/2015 - 21:24:26: weapons/knife_hit2.wav
L 03/14/2015 - 21:24:26: weapons/knife_hit3.wav
L 03/14/2015 - 21:24:26: weapons/knife_hit4.wav
L 03/14/2015 - 21:24:26: weapons/knife_slash1.wav
L 03/14/2015 - 21:24:26: weapons/knife_slash2.wav
L 03/14/2015 - 21:24:26: weapons/knife_stab.wav
L 03/14/2015 - 21:24:26: weapons/knife_hitwall1.wav
L 03/14/2015 - 21:24:26: weapons/glock18-1.wav
L 03/14/2015 - 21:24:26: weapons/glock18-2.wav
L 03/14/2015 - 21:24:26: weapons/clipout1.wav
L 03/14/2015 - 21:24:26: weapons/clipin1.wav
L 03/14/2015 - 21:24:26: weapons/sliderelease1.wav
L 03/14/2015 - 21:24:26: weapons/slideback1.wav
L 03/14/2015 - 21:24:26: weapons/357_cock1.wav
L 03/14/2015 - 21:24:26: weapons/de_clipin.wav
L 03/14/2015 - 21:24:26: weapons/de_clipout.wav
L 03/14/2015 - 21:24:26: weapons/mp5-1.wav
L 03/14/2015 - 21:24:26: weapons/mp5-2.wav
L 03/14/2015 - 21:24:26: weapons/mp5_clipout.wav
L 03/14/2015 - 21:24:26: weapons/mp5_clipin.wav
L 03/14/2015 - 21:24:26: weapons/mp5_slideback.wav
L 03/14/2015 - 21:24:26: weapons/tmp-1.wav
L 03/14/2015 - 21:24:26: weapons/tmp-2.wav
L 03/14/2015 - 21:24:26: weapons/elite_fire.wav
L 03/14/2015 - 21:24:26: weapons/elite_reloadstart.wav
L 03/14/2015 - 21:24:26: weapons/elite_leftclipin.wav
L 03/14/2015 - 21:24:26: weapons/elite_clipout.wav
L 03/14/2015 - 21:24:26: weapons/elite_sliderelease.wav
L 03/14/2015 - 21:24:26: weapons/elite_rightclipin.wav
L 03/14/2015 - 21:24:26: weapons/elite_deploy.wav
L 03/14/2015 - 21:24:26: items/9mmclip1.wav
L 03/14/2015 - 21:24:26: weapons/flashbang-1.wav
L 03/14/2015 - 21:24:26: weapons/flashbang-2.wav
L 03/14/2015 - 21:24:26: weapons/pinpull.wav
L 03/14/2015 - 21:24:26: weapons/hegrenade-1.wav
L 03/14/2015 - 21:24:26: weapons/hegrenade-2.wav
L 03/14/2015 - 21:24:26: weapons/he_bounce-1.wav
L 03/14/2015 - 21:24:26: weapons/pinpull.wav
L 03/14/2015 - 21:24:26: weapons/pinpull.wav
L 03/14/2015 - 21:24:26: weapons/sg_explode.wav
L 03/14/2015 - 21:24:26: weapons/c4_click.wav
L 03/14/2015 - 21:24:26: weapons/galil-1.wav
L 03/14/2015 - 21:24:26: weapons/galil-2.wav
L 03/14/2015 - 21:24:26: weapons/galil_clipout.wav
L 03/14/2015 - 21:24:26: weapons/galil_clipin.wav
L 03/14/2015 - 21:24:26: weapons/galil_boltpull.wav
L 03/14/2015 - 21:24:26: weapons/famas-1.wav
L 03/14/2015 - 21:24:26: weapons/famas-2.wav
L 03/14/2015 - 21:24:26: weapons/famas_clipout.wav
L 03/14/2015 - 21:24:26: weapons/famas_clipin.wav
L 03/14/2015 - 21:24:26: weapons/famas_boltpull.wav
L 03/14/2015 - 21:24:26: weapons/famas_boltslap.wav
L 03/14/2015 - 21:24:26: weapons/famas_forearm.wav
L 03/14/2015 - 21:24:26: weapons/famas-burst.wav
L 03/14/2015 - 21:24:26: weapons/debris1.wav
L 03/14/2015 - 21:24:26: weapons/debris2.wav
L 03/14/2015 - 21:24:26: weapons/debris3.wav
L 03/14/2015 - 21:24:26: weapons/grenade_hit1.wav
L 03/14/2015 - 21:24:26: weapons/grenade_hit2.wav
L 03/14/2015 - 21:24:26: weapons/grenade_hit3.wav
L 03/14/2015 - 21:24:26: weapons/bullet_hit1.wav
L 03/14/2015 - 21:24:26: weapons/bullet_hit2.wav
L 03/14/2015 - 21:24:26: items/weapondrop1.wav
L 03/14/2015 - 21:24:26: weapons/generic_reload.wav
L 03/14/2015 - 21:24:26: weapons/dryfire_pistol.wav
L 03/14/2015 - 21:24:26: weapons/dryfire_rifle.wav
L 03/14/2015 - 21:24:26: player/pl_shot1.wav
L 03/14/2015 - 21:24:26: player/pl_die1.wav
L 03/14/2015 - 21:24:26: player/headshot1.wav
L 03/14/2015 - 21:24:26: player/headshot2.wav
L 03/14/2015 - 21:24:26: player/headshot3.wav
L 03/14/2015 - 21:24:26: player/bhit_flesh-1.wav
L 03/14/2015 - 21:24:26: player/bhit_flesh-2.wav
L 03/14/2015 - 21:24:26: player/bhit_flesh-3.wav
L 03/14/2015 - 21:24:26: player/bhit_kevlar-1.wav
L 03/14/2015 - 21:24:26: player/bhit_helmet-1.wav
L 03/14/2015 - 21:24:26: player/die1.wav
L 03/14/2015 - 21:24:26: player/die2.wav
L 03/14/2015 - 21:24:26: player/die3.wav
L 03/14/2015 - 21:24:26: player/death6.wav
L 03/14/2015 - 21:24:26: radio/locknload.wav
L 03/14/2015 - 21:24:26: radio/letsgo.wav
L 03/14/2015 - 21:24:26: radio/moveout.wav
L 03/14/2015 - 21:24:26: radio/com_go.wav
L 03/14/2015 - 21:24:26: radio/rescued.wav
L 03/14/2015 - 21:24:26: radio/rounddraw.wav
L 03/14/2015 - 21:24:26: items/kevlar.wav
L 03/14/2015 - 21:24:26: items/ammopickup2.wav
L 03/14/2015 - 21:24:26: items/nvg_on.wav
L 03/14/2015 - 21:24:26: items/nvg_off.wav
L 03/14/2015 - 21:24:26: items/equip_nvg.wav
L 03/14/2015 - 21:24:26: weapons/c4_beep1.wav
L 03/14/2015 - 21:24:26: weapons/c4_beep2.wav
L 03/14/2015 - 21:24:26: weapons/c4_beep3.wav
L 03/14/2015 - 21:24:26: weapons/c4_beep4.wav
L 03/14/2015 - 21:24:26: weapons/c4_beep5.wav
L 03/14/2015 - 21:24:26: weapons/c4_explode1.wav
L 03/14/2015 - 21:24:26: weapons/c4_plant.wav
L 03/14/2015 - 21:24:26: weapons/c4_disarm.wav
L 03/14/2015 - 21:24:26: weapons/c4_disarmed.wav
L 03/14/2015 - 21:24:26: weapons/explode3.wav
L 03/14/2015 - 21:24:26: weapons/explode4.wav
L 03/14/2015 - 21:24:26: weapons/explode5.wav
L 03/14/2015 - 21:24:26: player/sprayer.wav
L 03/14/2015 - 21:24:26: player/pl_fallpain2.wav
L 03/14/2015 - 21:24:26: player/pl_fallpain3.wav
L 03/14/2015 - 21:24:26: player/pl_snow1.wav
L 03/14/2015 - 21:24:26: player/pl_snow2.wav
L 03/14/2015 - 21:24:26: player/pl_snow3.wav
L 03/14/2015 - 21:24:26: player/pl_snow4.wav
L 03/14/2015 - 21:24:26: player/pl_snow5.wav
L 03/14/2015 - 21:24:26: player/pl_snow6.wav
L 03/14/2015 - 21:24:26: player/pl_step1.wav
L 03/14/2015 - 21:24:26: player/pl_step2.wav
L 03/14/2015 - 21:24:26: player/pl_step3.wav
L 03/14/2015 - 21:24:26: player/pl_step4.wav
L 03/14/2015 - 21:24:26: common/npc_step1.wav
L 03/14/2015 - 21:24:26: common/npc_step2.wav
L 03/14/2015 - 21:24:26: common/npc_step3.wav
L 03/14/2015 - 21:24:26: common/npc_step4.wav
L 03/14/2015 - 21:24:26: player/pl_metal1.wav
L 03/14/2015 - 21:24:26: player/pl_metal2.wav
L 03/14/2015 - 21:24:26: player/pl_metal3.wav
L 03/14/2015 - 21:24:26: player/pl_metal4.wav
L 03/14/2015 - 21:24:26: player/pl_dirt1.wav
L 03/14/2015 - 21:24:26: player/pl_dirt2.wav
L 03/14/2015 - 21:24:26: player/pl_dirt3.wav
L 03/14/2015 - 21:24:26: player/pl_dirt4.wav
L 03/14/2015 - 21:24:26: player/pl_duct1.wav
L 03/14/2015 - 21:24:26: player/pl_duct2.wav
L 03/14/2015 - 21:24:26: player/pl_duct3.wav
L 03/14/2015 - 21:24:26: player/pl_duct4.wav
L 03/14/2015 - 21:24:26: player/pl_grate1.wav
L 03/14/2015 - 21:24:26: player/pl_grate2.wav
L 03/14/2015 - 21:24:26: player/pl_grate3.wav
L 03/14/2015 - 21:24:26: player/pl_grate4.wav
L 03/14/2015 - 21:24:26: player/pl_slosh1.wav
L 03/14/2015 - 21:24:26: player/pl_slosh2.wav
L 03/14/2015 - 21:24:26: player/pl_slosh3.wav
L 03/14/2015 - 21:24:26: player/pl_slosh4.wav
L 03/14/2015 - 21:24:26: player/pl_tile1.wav
L 03/14/2015 - 21:24:26: player/pl_tile2.wav
L 03/14/2015 - 21:24:26: player/pl_tile3.wav
L 03/14/2015 - 21:24:26: player/pl_tile4.wav
L 03/14/2015 - 21:24:26: player/pl_tile5.wav
L 03/14/2015 - 21:24:26: player/pl_swim1.wav
L 03/14/2015 - 21:24:26: player/pl_swim2.wav
L 03/14/2015 - 21:24:26: player/pl_swim3.wav
L 03/14/2015 - 21:24:26: player/pl_swim4.wav
L 03/14/2015 - 21:24:26: player/pl_ladder1.wav
L 03/14/2015 - 21:24:26: player/pl_ladder2.wav
L 03/14/2015 - 21:24:26: player/pl_ladder3.wav
L 03/14/2015 - 21:24:26: player/pl_ladder4.wav
L 03/14/2015 - 21:24:26: player/pl_wade1.wav
L 03/14/2015 - 21:24:26: player/pl_wade2.wav
L 03/14/2015 - 21:24:26: player/pl_wade3.wav
L 03/14/2015 - 21:24:26: player/pl_wade4.wav
L 03/14/2015 - 21:24:26: debris/wood1.wav
L 03/14/2015 - 21:24:26: debris/wood2.wav
L 03/14/2015 - 21:24:26: debris/wood3.wav
L 03/14/2015 - 21:24:26: plats/train_use1.wav
L 03/14/2015 - 21:24:26: plats/vehicle_ignition.wav
L 03/14/2015 - 21:24:26: buttons/spark5.wav
L 03/14/2015 - 21:24:26: buttons/spark6.wav
L 03/14/2015 - 21:24:26: debris/glass1.wav
L 03/14/2015 - 21:24:26: debris/glass2.wav
L 03/14/2015 - 21:24:26: debris/glass3.wav
L 03/14/2015 - 21:24:26: items/flashlight1.wav
L 03/14/2015 - 21:24:26: items/flashlight1.wav
L 03/14/2015 - 21:24:26: common/bodysplat.wav
L 03/14/2015 - 21:24:26: player/pl_pain2.wav
L 03/14/2015 - 21:24:26: player/pl_pain4.wav
L 03/14/2015 - 21:24:26: player/pl_pain5.wav
L 03/14/2015 - 21:24:26: player/pl_pain6.wav
L 03/14/2015 - 21:24:26: player/pl_pain7.wav
L 03/14/2015 - 21:24:26: common/wpn_hudoff.wav
L 03/14/2015 - 21:24:26: common/wpn_hudon.wav
L 03/14/2015 - 21:24:26: common/wpn_moveselect.wav
L 03/14/2015 - 21:24:26: common/wpn_select.wav
L 03/14/2015 - 21:24:26: common/wpn_denyselect.wav
L 03/14/2015 - 21:24:26: player/geiger6.wav
L 03/14/2015 - 21:24:26: player/geiger5.wav
L 03/14/2015 - 21:24:26: player/geiger4.wav
L 03/14/2015 - 21:24:26: player/geiger3.wav
L 03/14/2015 - 21:24:26: player/geiger2.wav
L 03/14/2015 - 21:24:26: player/geiger1.wav
L 03/14/2015 - 21:24:26: buttons/bell1.wav
L 03/14/2015 - 21:24:26: buttons/blip1.wav
L 03/14/2015 - 21:24:26: buttons/blip2.wav
L 03/14/2015 - 21:24:26: buttons/button11.wav
L 03/14/2015 - 21:24:26: buttons/latchunlocked2.wav
L 03/14/2015 - 21:24:26: buttons/lightswitch2.wav
L 03/14/2015 - 21:24:26: ambience/quail1.wav
L 03/14/2015 - 21:24:26: events/tutor_msg.wav
L 03/14/2015 - 21:24:26: events/enemy_died.wav
L 03/14/2015 - 21:24:26: events/friend_died.wav
L 03/14/2015 - 21:24:26: events/task_complete.wav
L 03/14/2015 - 21:24:26: common/null.wav
L 03/14/2015 - 21:24:26: items/suitchargeok1.wav
L 03/14/2015 - 21:24:26: items/gunpickup2.wav
L 03/14/2015 - 21:24:26: common/bodydrop3.wav
L 03/14/2015 - 21:24:26: common/bodydrop4.wav
L 03/14/2015 - 21:24:26: weapons/ric1.wav
L 03/14/2015 - 21:24:26: weapons/ric2.wav
L 03/14/2015 - 21:24:26: weapons/ric3.wav
L 03/14/2015 - 21:24:26: weapons/ric4.wav
L 03/14/2015 - 21:24:26: weapons/ric5.wav
L 03/14/2015 - 21:24:26: weapons/ric_metal-1.wav
L 03/14/2015 - 21:24:26: weapons/ric_metal-2.wav
L 03/14/2015 - 21:24:26: weapons/ric_conc-1.wav
L 03/14/2015 - 21:24:26: weapons/ric_conc-2.wav
L 03/14/2015 - 21:24:26: debris/bustmetal1.wav
L 03/14/2015 - 21:24:26: debris/bustmetal2.wav
L 03/14/2015 - 21:24:26: debris/metal1.wav
L 03/14/2015 - 21:24:26: debris/metal2.wav
L 03/14/2015 - 21:24:26: debris/metal3.wav
L 03/14/2015 - 21:24:26: debris/bustmetal1.wav
L 03/14/2015 - 21:24:26: debris/bustmetal2.wav
L 03/14/2015 - 21:24:26: debris/metal1.wav
L 03/14/2015 - 21:24:26: debris/metal2.wav
L 03/14/2015 - 21:24:26: debris/metal3.wav
L 03/14/2015 - 21:24:26: debris/bustmetal1.wav
L 03/14/2015 - 21:24:26: debris/bustmetal2.wav
L 03/14/2015 - 21:24:26: debris/metal1.wav
L 03/14/2015 - 21:24:26: debris/metal2.wav
L 03/14/2015 - 21:24:26: debris/metal3.wav
L 03/14/2015 - 21:24:26: debris/bustmetal1.wav
L 03/14/2015 - 21:24:26: debris/bustmetal2.wav
L 03/14/2015 - 21:24:26: debris/metal1.wav
L 03/14/2015 - 21:24:26: debris/metal2.wav
L 03/14/2015 - 21:24:26: debris/metal3.wav
L 03/14/2015 - 21:24:26: debris/bustmetal1.wav
L 03/14/2015 - 21:24:26: debris/bustmetal2.wav
L 03/14/2015 - 21:24:26: debris/metal1.wav
L 03/14/2015 - 21:24:26: debris/metal2.wav
L 03/14/2015 - 21:24:26: debris/metal3.wav
L 03/14/2015 - 21:24:26: debris/bustmetal1.wav
L 03/14/2015 - 21:24:26: debris/bustmetal2.wav
L 03/14/2015 - 21:24:26: debris/metal1.wav
L 03/14/2015 - 21:24:26: debris/metal2.wav
L 03/14/2015 - 21:24:26: debris/metal3.wav
L 03/14/2015 - 21:24:26: debris/bustmetal1.wav
L 03/14/2015 - 21:24:26: debris/bustmetal2.wav
L 03/14/2015 - 21:24:26: debris/metal1.wav
L 03/14/2015 - 21:24:26: debris/metal2.wav
L 03/14/2015 - 21:24:26: debris/metal3.wav
L 03/14/2015 - 21:24:26: debris/bustmetal1.wav
L 03/14/2015 - 21:24:26: debris/bustmetal2.wav
L 03/14/2015 - 21:24:26: debris/metal1.wav
L 03/14/2015 - 21:24:26: debris/metal2.wav
L 03/14/2015 - 21:24:26: debris/metal3.wav
L 03/14/2015 - 21:24:26: debris/bustmetal1.wav
L 03/14/2015 - 21:24:26: debris/bustmetal2.wav
L 03/14/2015 - 21:24:26: debris/metal1.wav
L 03/14/2015 - 21:24:26: debris/metal2.wav
L 03/14/2015 - 21:24:26: debris/metal3.wav
L 03/14/2015 - 21:24:26: debris/bustmetal1.wav
L 03/14/2015 - 21:24:26: debris/bustmetal2.wav
L 03/14/2015 - 21:24:26: debris/metal1.wav
L 03/14/2015 - 21:24:26: debris/metal2.wav
L 03/14/2015 - 21:24:26: debris/metal3.wav
L 03/14/2015 - 21:24:26: weapons/knife_deploy1.wav
L 03/14/2015 - 21:24:26: weapons/knife_hit1.wav
L 03/14/2015 - 21:24:26: weapons/knife_hit2.wav
L 03/14/2015 - 21:24:26: weapons/knife_hit3.wav
L 03/14/2015 - 21:24:26: weapons/knife_hit4.wav
L 03/14/2015 - 21:24:26: weapons/knife_slash1.wav
L 03/14/2015 - 21:24:26: weapons/knife_slash2.wav
L 03/14/2015 - 21:24:26: weapons/knife_stab.wav
L 03/14/2015 - 21:24:26: weapons/knife_hitwall1.wav
L 03/14/2015 - 21:24:26: weapons/glock18-1.wav
L 03/14/2015 - 21:24:26: weapons/glock18-2.wav
L 03/14/2015 - 21:24:26: weapons/clipout1.wav
L 03/14/2015 - 21:24:26: weapons/clipin1.wav
L 03/14/2015 - 21:24:26: weapons/sliderelease1.wav
L 03/14/2015 - 21:24:26: weapons/slideback1.wav
L 03/14/2015 - 21:24:26: weapons/357_cock1.wav
L 03/14/2015 - 21:24:26: weapons/de_clipin.wav
L 03/14/2015 - 21:24:26: weapons/de_clipout.wav
L 03/14/2015 - 21:24:26: weapons/hegrenade-1.wav
L 03/14/2015 - 21:24:26: weapons/hegrenade-2.wav
L 03/14/2015 - 21:24:26: weapons/he_bounce-1.wav
L 03/14/2015 - 21:24:26: weapons/pinpull.wav
L 03/14/2015 - 21:24:26: * MODEL PRECACHE ( 215 Files ) *
L 03/14/2015 - 21:24:26: sprites/voiceicon.spr
L 03/14/2015 - 21:24:26: models/w_kevlar.mdl
L 03/14/2015 - 21:24:26: models/w_battery.mdl
L 03/14/2015 - 21:24:26: models/w_antidote.mdl
L 03/14/2015 - 21:24:26: models/w_security.mdl
L 03/14/2015 - 21:24:26: models/w_longjump.mdl
L 03/14/2015 - 21:24:26: models/w_kevlar.mdl
L 03/14/2015 - 21:24:26: models/w_assault.mdl
L 03/14/2015 - 21:24:26: models/w_thighpack.mdl
L 03/14/2015 - 21:24:26: models/v_awp.mdl
L 03/14/2015 - 21:24:26: models/w_awp.mdl
L 03/14/2015 - 21:24:26: models/rshell_big.mdl
L 03/14/2015 - 21:24:26: models/w_9mmclip.mdl
L 03/14/2015 - 21:24:26: models/v_g3sg1.mdl
L 03/14/2015 - 21:24:26: models/w_g3sg1.mdl
L 03/14/2015 - 21:24:26: models/rshell.mdl
L 03/14/2015 - 21:24:26: models/v_ak47.mdl
L 03/14/2015 - 21:24:26: models/w_ak47.mdl
L 03/14/2015 - 21:24:26: models/rshell.mdl
L 03/14/2015 - 21:24:26: models/v_scout.mdl
L 03/14/2015 - 21:24:26: models/w_scout.mdl
L 03/14/2015 - 21:24:26: models/rshell_big.mdl
L 03/14/2015 - 21:24:26: models/w_9mmclip.mdl
L 03/14/2015 - 21:24:26: models/v_m249.mdl
L 03/14/2015 - 21:24:26: models/w_m249.mdl
L 03/14/2015 - 21:24:26: models/rshell.mdl
L 03/14/2015 - 21:24:26: models/w_9mmclip.mdl
L 03/14/2015 - 21:24:26: models/v_m4a1.mdl
L 03/14/2015 - 21:24:26: models/w_m4a1.mdl
L 03/14/2015 - 21:24:26: models/rshell.mdl
L 03/14/2015 - 21:24:26: models/v_sg552.mdl
L 03/14/2015 - 21:24:26: models/w_sg552.mdl
L 03/14/2015 - 21:24:26: models/rshell.mdl
L 03/14/2015 - 21:24:26: models/v_aug.mdl
L 03/14/2015 - 21:24:26: models/w_aug.mdl
L 03/14/2015 - 21:24:26: models/rshell.mdl
L 03/14/2015 - 21:24:26: models/v_sg550.mdl
L 03/14/2015 - 21:24:26: models/w_sg550.mdl
L 03/14/2015 - 21:24:26: models/rshell.mdl
L 03/14/2015 - 21:24:26: models/w_9mmclip.mdl
L 03/14/2015 - 21:24:26: models/v_m3.mdl
L 03/14/2015 - 21:24:26: models/w_m3.mdl
L 03/14/2015 - 21:24:26: models/shotgunshell.mdl
L 03/14/2015 - 21:24:26: models/v_xm1014.mdl
L 03/14/2015 - 21:24:26: models/w_xm1014.mdl
L 03/14/2015 - 21:24:26: models/shotgunshell.mdl
L 03/14/2015 - 21:24:26: models/w_shotbox.mdl
L 03/14/2015 - 21:24:26: models/v_usp.mdl
L 03/14/2015 - 21:24:26: models/w_usp.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_usp.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/v_mac10.mdl
L 03/14/2015 - 21:24:26: models/w_mac10.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/v_ump45.mdl
L 03/14/2015 - 21:24:26: models/w_ump45.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/w_9mmclip.mdl
L 03/14/2015 - 21:24:26: models/v_fiveseven.mdl
L 03/14/2015 - 21:24:26: models/w_fiveseven.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_fiveseven.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/v_p90.mdl
L 03/14/2015 - 21:24:26: models/w_p90.mdl
L 03/14/2015 - 21:24:26: models/rshell.mdl
L 03/14/2015 - 21:24:26: models/w_9mmclip.mdl
L 03/14/2015 - 21:24:26: models/v_deagle.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_deagle.mdl
L 03/14/2015 - 21:24:26: models/w_deagle.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/w_9mmclip.mdl
L 03/14/2015 - 21:24:26: models/v_p228.mdl
L 03/14/2015 - 21:24:26: models/w_p228.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_p228.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/w_9mmclip.mdl
L 03/14/2015 - 21:24:26: models/v_knife.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_knife.mdl
L 03/14/2015 - 21:24:26: models/w_knife.mdl
L 03/14/2015 - 21:24:26: models/v_glock18.mdl
L 03/14/2015 - 21:24:26: models/w_glock18.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_glock18.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/v_mp5.mdl
L 03/14/2015 - 21:24:26: models/w_mp5.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/v_tmp.mdl
L 03/14/2015 - 21:24:26: models/w_tmp.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/v_elite.mdl
L 03/14/2015 - 21:24:26: models/w_elite.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/w_9mmclip.mdl
L 03/14/2015 - 21:24:26: models/v_flashbang.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_flashbang.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_hegrenade.mdl
L 03/14/2015 - 21:24:26: models/v_smokegrenade.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_smokegrenade.mdl
L 03/14/2015 - 21:24:26: models/v_c4.mdl
L 03/14/2015 - 21:24:26: models/w_backpack.mdl
L 03/14/2015 - 21:24:26: models/v_galil.mdl
L 03/14/2015 - 21:24:26: models/w_galil.mdl
L 03/14/2015 - 21:24:26: models/rshell.mdl
L 03/14/2015 - 21:24:26: models/v_famas.mdl
L 03/14/2015 - 21:24:26: models/w_famas.mdl
L 03/14/2015 - 21:24:26: models/rshell.mdl
L 03/14/2015 - 21:24:26: models/w_weaponbox.mdl
L 03/14/2015 - 21:24:26: sprites/zerogxplode.spr
L 03/14/2015 - 21:24:26: sprites/WXplo1.spr
L 03/14/2015 - 21:24:26: sprites/steam1.spr
L 03/14/2015 - 21:24:26: sprites/bubble.spr
L 03/14/2015 - 21:24:26: sprites/bloodspray.spr
L 03/14/2015 - 21:24:26: sprites/blood.spr
L 03/14/2015 - 21:24:26: sprites/smokepuff.spr
L 03/14/2015 - 21:24:26: sprites/eexplo.spr
L 03/14/2015 - 21:24:26: sprites/fexplo.spr
L 03/14/2015 - 21:24:26: sprites/fexplo1.spr
L 03/14/2015 - 21:24:26: sprites/radio.spr
L 03/14/2015 - 21:24:26: sprites/b-tele1.spr
L 03/14/2015 - 21:24:26: sprites/c-tele1.spr
L 03/14/2015 - 21:24:26: sprites/ledglow.spr
L 03/14/2015 - 21:24:26: sprites/laserbeam.spr
L 03/14/2015 - 21:24:26: sprites/laserdot.spr
L 03/14/2015 - 21:24:26: models/grenade.mdl
L 03/14/2015 - 21:24:26: sprites/explode1.spr
L 03/14/2015 - 21:24:26: models/player.mdl
L 03/14/2015 - 21:24:26: models/player/leet/leet.mdl
L 03/14/2015 - 21:24:26: models/player/gign/gign.mdl
L 03/14/2015 - 21:24:26: models/player/vip/vip.mdl
L 03/14/2015 - 21:24:26: models/player/gsg9/gsg9.mdl
L 03/14/2015 - 21:24:26: models/player/guerilla/guerilla.mdl
L 03/14/2015 - 21:24:26: models/player/arctic/arctic.mdl
L 03/14/2015 - 21:24:26: models/player/sas/sas.mdl
L 03/14/2015 - 21:24:26: models/player/terror/terror.mdl
L 03/14/2015 - 21:24:26: models/player/urban/urban.mdl
L 03/14/2015 - 21:24:26: models/p_ak47.mdl
L 03/14/2015 - 21:24:26: models/p_aug.mdl
L 03/14/2015 - 21:24:26: models/p_awp.mdl
L 03/14/2015 - 21:24:26: models/p_c4.mdl
L 03/14/2015 - 21:24:26: models/w_c4.mdl
L 03/14/2015 - 21:24:26: models/p_deagle.mdl
L 03/14/2015 - 21:24:26: models/shield/p_shield_deagle.mdl
L 03/14/2015 - 21:24:26: models/p_flashbang.mdl
L 03/14/2015 - 21:24:26: models/shield/p_shield_flashbang.mdl
L 03/14/2015 - 21:24:26: models/p_hegrenade.mdl
L 03/14/2015 - 21:24:26: models/shield/p_shield_hegrenade.mdl
L 03/14/2015 - 21:24:26: models/p_glock18.mdl
L 03/14/2015 - 21:24:26: models/shield/p_shield_glock18.mdl
L 03/14/2015 - 21:24:26: models/p_p228.mdl
L 03/14/2015 - 21:24:26: models/shield/p_shield_p228.mdl
L 03/14/2015 - 21:24:26: models/p_smokegrenade.mdl
L 03/14/2015 - 21:24:26: models/shield/p_shield_smokegrenade.mdl
L 03/14/2015 - 21:24:26: models/p_usp.mdl
L 03/14/2015 - 21:24:26: models/shield/p_shield_usp.mdl
L 03/14/2015 - 21:24:26: models/p_fiveseven.mdl
L 03/14/2015 - 21:24:26: models/shield/p_shield_fiveseven.mdl
L 03/14/2015 - 21:24:26: models/p_knife.mdl
L 03/14/2015 - 21:24:26: models/shield/p_shield_knife.mdl
L 03/14/2015 - 21:24:26: models/w_flashbang.mdl
L 03/14/2015 - 21:24:26: models/w_hegrenade.mdl
L 03/14/2015 - 21:24:26: models/p_sg550.mdl
L 03/14/2015 - 21:24:26: models/p_g3sg1.mdl
L 03/14/2015 - 21:24:26: models/p_m249.mdl
L 03/14/2015 - 21:24:26: models/p_m3.mdl
L 03/14/2015 - 21:24:26: models/p_m4a1.mdl
L 03/14/2015 - 21:24:26: models/p_mac10.mdl
L 03/14/2015 - 21:24:26: models/p_mp5.mdl
L 03/14/2015 - 21:24:26: models/p_ump45.mdl
L 03/14/2015 - 21:24:26: models/p_p90.mdl
L 03/14/2015 - 21:24:26: models/p_scout.mdl
L 03/14/2015 - 21:24:26: models/p_sg552.mdl
L 03/14/2015 - 21:24:26: models/w_smokegrenade.mdl
L 03/14/2015 - 21:24:26: models/p_tmp.mdl
L 03/14/2015 - 21:24:26: models/p_elite.mdl
L 03/14/2015 - 21:24:26: models/p_xm1014.mdl
L 03/14/2015 - 21:24:26: models/p_galil.mdl
L 03/14/2015 - 21:24:26: models/p_famas.mdl
L 03/14/2015 - 21:24:26: models/p_shield.mdl
L 03/14/2015 - 21:24:26: models/w_shield.mdl
L 03/14/2015 - 21:24:26: sprites/shadow_circle.spr
L 03/14/2015 - 21:24:26: sprites/wall_puff1.spr
L 03/14/2015 - 21:24:26: sprites/wall_puff2.spr
L 03/14/2015 - 21:24:26: sprites/wall_puff3.spr
L 03/14/2015 - 21:24:26: sprites/wall_puff4.spr
L 03/14/2015 - 21:24:26: sprites/black_smoke1.spr
L 03/14/2015 - 21:24:26: sprites/black_smoke2.spr
L 03/14/2015 - 21:24:26: sprites/black_smoke3.spr
L 03/14/2015 - 21:24:26: sprites/black_smoke4.spr
L 03/14/2015 - 21:24:26: sprites/fast_wallpuff1.spr
L 03/14/2015 - 21:24:26: sprites/pistol_smoke1.spr
L 03/14/2015 - 21:24:26: sprites/pistol_smoke2.spr
L 03/14/2015 - 21:24:26: sprites/rifle_smoke1.spr
L 03/14/2015 - 21:24:26: sprites/rifle_smoke2.spr
L 03/14/2015 - 21:24:26: sprites/rifle_smoke3.spr
L 03/14/2015 - 21:24:26: sprites/smoke.spr
L 03/14/2015 - 21:24:26: models/hgibs.mdl
L 03/14/2015 - 21:24:26: models/agibs.mdl
L 03/14/2015 - 21:24:26: models/mil_crategibs.mdl
L 03/14/2015 - 21:24:26: models/mil_crategibs.mdl
L 03/14/2015 - 21:24:26: models/mil_crategibs.mdl
L 03/14/2015 - 21:24:26: models/mil_crategibs.mdl
L 03/14/2015 - 21:24:26: models/mil_crategibs.mdl
L 03/14/2015 - 21:24:26: models/mil_crategibs.mdl
L 03/14/2015 - 21:24:26: models/mil_crategibs.mdl
L 03/14/2015 - 21:24:26: models/mil_crategibs.mdl
L 03/14/2015 - 21:24:26: models/mil_crategibs.mdl
L 03/14/2015 - 21:24:26: models/mil_crategibs.mdl
L 03/14/2015 - 21:24:26: models/v_knife.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_knife.mdl
L 03/14/2015 - 21:24:26: models/w_knife.mdl
L 03/14/2015 - 21:24:26: models/v_glock18.mdl
L 03/14/2015 - 21:24:26: models/w_glock18.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_glock18.mdl
L 03/14/2015 - 21:24:26: models/pshell.mdl
L 03/14/2015 - 21:24:26: models/shield/v_shield_hegrenade.mdl
L 03/14/2015 - 21:24:26: * GENERIC PRECACHE ( 5 Files ) *
L 03/14/2015 - 21:24:26: sprites/scope_arc.tga
L 03/14/2015 - 21:24:26: sprites/scope_arc_nw.tga
L 03/14/2015 - 21:24:26: sprites/scope_arc_ne.tga
L 03/14/2015 - 21:24:26: sprites/scope_arc_sw.tga
L 03/14/2015 - 21:24:26: maps/de_dust2.txt

fysiks
03-14-2015, 17:33
Attach the source code so we don't need to download the whole thing.

Jhob94
03-14-2015, 17:37
My bad, done.

HamletEagle
03-15-2015, 05:43
You used orpheu :O ? Nice...

g_szMapName should be 32, this is the size used by game, if I remember well.
I would create g_tUnPrecache trie outside the if check, if the file doesn't exists it will be invalid and your checks will throw an error(TrieKeyExists(g_tUnPrecache, .....)).
Edit: After testing it seems that server crash when file doesn't exists, you should do as I said to avoid that.

When parsing the file, trim found data because if someone use a space before ";" your check will fail.
;sth. Here Data[0] is not ; but the line should be ignored.


formatex(szFile, charsmax(szFile), "%s/unprecacher.ini", szFile)

It should be format.

You didn't care to test this properly, because of:
log_amx("[ PRECACHE KIT ] %s NOT FOUND")
I think you see the mistake.
Use formatex and not format when not formatting in the same buffer from where you get values.
I think that you can use only one trie, instead of 3(models/sound/generic) and set with an identifier(0 for models, 1 for sounds and so on).

You are not saying anything about unprecacher.ini file, it should be created by the user or is this automatically ? Even if in archive, you should add the instructions to the first post.

Just what I saw when fastly reading your code...

zmd94
03-15-2015, 06:52
Yet, be careful. If you unprecache one file that is used (for example models/v_knife.mdl), the server will probably crash.So, it is possible for you to add some sort of code to prevent something like above to happen?

Jhob94
03-15-2015, 07:47
@Hamlet
Thanks for reporting, as you probably saw, distraction errors.
About unprecacher.ini installation, i will do it, when i have time.
About using one trie instead of 3, i dont see what's the point of doing that.

@zmd
no, i cant.
The game will crash depending of what file you unprecache. If you unprecache a model like knife, it will crash. If you unprecache an sound, it will throw an error on client side but i think it doesn't crash.

Arkshine
03-15-2015, 08:39
I remember starting something like that I've never finished.
If you want make this useful, just listing is not really helpful. The whole point of checking inside precached list is to see what is responsible to precache what files. It could be a pawn plugin, an amxx module or a metamod plugin. Having an global overview of this will help you to understand from where you could optimize, in the meaning reducing precache count, depending the map.
Basically to make this useful, you need to retrieve full details of everything.

"Unprecaching" is welcomed too, but this requires you filter things a bit more, because yes, you know when an entity is about to be created and you can block that. There are a lot of things you can do around that.

You should really study more the game and such.

Jhob94
03-15-2015, 09:22
I remember starting something like that I've never finished.
If you want make this useful, just listing is not really helpful. The whole point of checking inside precached list is to see what is responsible to precache what files. It could be a pawn plugin, an amxx module or a metamod plugin. Having an global overview of this will help you to understand from where you could optimize, in the meaning reducing precache count, depending the map.
Basically to make this useful, you need to retrieve full details of everything.

"Unprecaching" is welcomed too, but this requires you filter things a bit more, because yes, you know when an entity is about to be created and you can block that. There are a lot of things you can do around that.

You should really study more the game and such.

The point of this plugin is to people know what files are being precached and check what they don't need.
Yet, I see your point and i agree, this can be more advanced. I will give a try on my free time during weekends. But this plugin still being usefull for now since it still helping people having a control under the server. I also thought about unprecache per map but after thinking for a while i thought it doesn't worth it. I mean, i think its very unlikely that i want to unprecache an file in de_dust2 and not in cs_italy.

zmd94
03-15-2015, 09:54
Alright, Jhob94 (https://forums.alliedmods.net/member.php?u=187239). By the way, nice plugin. ;)

Arkshine
03-15-2015, 10:32
The point of this plugin is to people know what files are being precached and check what they don't need.

I mean:

How people are supposed to know from where file are precached?
How people are supposed to know what files they don't need?

Just listing is not enough.

That's the whole point having detailed informations, because it allows you to sort by plugin/modules/etc or by game data/custom. Then plugin could advise things from that. This requires you analyse the map too, that you know the game. And you do some configuration around that.

Having the count could help, but just knowing that has a limited effect, like it helps only in situation like how models/sounds I can add using my plugin. You can't really call that "control".

That's said It's a start, I'm just saying this needs to be way more advanced to be actually useful.

I mean, i think its very unlikely that i want to unprecache an file in de_dust2 and not in cs_italy.
I think you think wrong lol. Map can be very different and admin could want to do things per map (mod related).

HamletEagle
03-15-2015, 15:49
@Arkshine, in order to know from where the model comes can we hook with orpheu precache_model function ? If the model is precached with it, we can say that a plugin is doing that.

Jhob94
03-15-2015, 16:08
Well i am thinking about read binary file and get the data. But i must check how the map binary is done, i guess this is what arkshine wanted me to figure out.
Also i will have to check if there is a .res file for the map, but that is easy to read.

Arkshine
03-15-2015, 17:01
@Arkshine, in order to know from where the model comes can we hook with orpheu precache_model function ? If the model is precached with it, we can say that a plugin is doing that.

AMXX is a library like others.


@Jhob94, just open one, and you will see datas are "readable" (more or less end of file).

Linkin Hisoka
03-16-2015, 11:34
99% approved
very good plugin

#GoodJob

hornet
03-16-2015, 21:31
I mean:

Just listing is not enough.

That's the whole point having detailed informations, because it allows you to sort by plugin/modules/etc or by game data/custom. Then plugin could advise things from that. This requires you analyse the map too, that you know the game. And you do some configuration around that.

Jhob this would actually become a great tool if such features were implented. However at this stage this plugin seems to be just my plugin with a few messages :p

Jhob94
03-17-2015, 05:45
Jhob this would actually become a great tool if such features were implented. However at this stage this plugin seems to be just my plugin with a few messages :p

I know, i am working at it :)
Yesterday i fixed crash when unprecache a v_ model. Unprecaching sounds won't cause any crash. Will print a error message at client if is only played at client side, yet if is used with emitsound, everything seems ok.
Now i must fix w_ models crash and do as arkshine said, detailed info about precached files.

claudiuhks
03-17-2015, 05:54
99% approved
very good plugin

#GoodJob

Indeed Hisoka, plug-in looks amazing! :)

Good job, Jhob and thanks Arkshine.

m4m3ts
03-17-2015, 09:01
I know, i am working at it :)
Yesterday i fixed crash when unprecache a v_ model. Unprecaching sounds won't cause any crash. Will print a error message at client if is only played at client side, yet if is used with emitsound, everything seems ok.
Now i must fix w_ models crash and do as arkshine said, detailed info about precached files.

i've been doing this in my mod.
blocking v_,p_,w_ models.
v_ & p_ can be done with this, put in ham_deploy_post
set_pev(id, pev_viewmodel2, "")
set_pev(id, pev_weaponmodel2, "")

just working on weapon parameter in plugin_init what you need to block.

w_ can be done in FM_setmodel
example for blocking w_awp
if(szModel[7] == 'w' && szModel[8] == '_' && szModel[9] == 'a' && szModel[10] == 'w' && szModel[11] == 'p')
{
return FMRES_SUPERCEDE
}

thats my method.
very glad if you got a better/more efficient method.

Jhob94
03-17-2015, 09:44
Well that's not what i have done and is not something that i should do because it is a poor way.
What i have done for don't crash with v_ (that maybe work for p_ too, didn't tested) was hooking pfnModelIndex and return OrpheuSupercede if is one of the models that must not be precached.
For world models i pretend to use pfnSetModel, but i don't want to claim that it is going to work fine since i must look better about it into cssdk.

Off-Topic: Did you guys knew that the game has functions stub_PrecacheModel/Sound/Event that are actually fake functions? I didn't looked at it very deep but my guess is that they are pointers for the engine functions. Well, this guest is based on the fact that i didnt hooked this function and when i unprecached v_knife.mdl, it didn't crashed so i guess this function is some sort of mirror of the engine function. But as i said, didn't looked very deep to claim it :crab:

m4m3ts
03-17-2015, 10:30
Well that's not what i have done and is not something that i should do because it is a poor way.
What i have done for don't crash with v_ (that maybe work for p_ too, didn't tested) was hooking pfnModelIndex and return OrpheuSupercede if is one of the models that must not be precached.
For world models i pretend to use pfnSetModel, but i don't want to claim that it is going to work fine since i must look better about it into cssdk.

Off-Topic: Did you guys knew that the game has functions stub_PrecacheModel/Sound/Event that are actually fake functions? I didn't looked at it very deep but my guess is that they are pointers for the engine functions. Well, this guest is based on the fact that i didnt hooked this function and when i unprecached v_knife.mdl, it didn't crashed so i guess this function is some sort of mirror of the engine function. But as i said, didn't looked very deep to claim it :crab:

i mean, go on with your best method to block that models and put in your code in this thread too.
so user can freely block v,p,w models.
it would be great you do that.

because if you give a feature to unprecache those models, sound & sprite, you should give the solution too for avoid crash.

Jhob94
03-17-2015, 10:35
i mean, go on with your best method to block that models and put in your code in this thread too.
so user can freely block v,p,w models.
it would be great you do that.

because if you give a feature to unprecache those models, sound & sprite, you should give the solution too for avoid crash.

I won't update plugin every time i add a small new thing.

The version v0.0.3 will have crash issues fixed (all of them).
The version v0.0.4 will be a version with detailed precache view.
And v0.0.X if new things come to the To Do list.

m4m3ts
03-17-2015, 10:48
I won't update plugin every time i add a small new thing.

The version v0.0.3 will have crash issues fixed (all of them).
The version v0.0.4 will be a version with detailed precache view.
And v0.0.X if new things come to the To Do list.

nice !
go ahead volks !

btw, r u Jove from csbte ?

Lycode
05-29-2015, 21:49
precache_view
*Current Map: de_dust2
*Total Precached: 616
*Sounds Precached: 396
*Models Precached: 215
*Generic Precached: 5


*Total Precached: 616
How does that work when the precache limit is 512? The plugin even reported over 900 precaches when I tried it out.

It also seems to repeat the same precaches if they're precached by different plugins. Which I would like to think the game does not count as an extra precache as it's still the exact same file.

Jhob94
05-29-2015, 21:59
There is 2 kind of crash that you can find out. First 512 items limit, that is based at resource type. Not mixed.
The other one is 1280 items limit that you can send to one client.

At precache view you can see 616 as total, and they aren't all sent to the client. So it's safe.

Sounds precached are 396, so it's fine too because it will not reach 512.

Lycode
05-29-2015, 22:12
Resource type meaning 512 models, 512 sounds, 512 generic limit? While the sum of them can not exceed 1280?

I have: * SOUND PRECACHE ( 675 Files ) *
Would that mean there are a lot of "repeat" sound precaches?

Edit:


At precache view you can see 616 as total, and they aren't all sent to the client. So it's safe.

Do you mean by that, that any file the user already has does not count towards the 1280? Meaning if the user already downloaded all the files before, the total count sent to the user is 0?

Jhob94
05-30-2015, 06:10
You could have repeated sounds. I forgot to make something for that. But i guess that the crash happens depending of amount of files used. Imagine that the server precaches v_m4a1.mdl but with chronic's replacemente plugin you use v_m4a1_new.mdl, both of them will be used.

baneado
07-24-2017, 18:54
I won't update plugin every time i add a small new thing.

The version v0.0.3 will have crash issues fixed (all of them).
The version v0.0.4 will be a version with detailed precache view.
And v0.0.X if new things come to the To Do list.

Where are them? :cry:

RAW_192
07-30-2017, 05:01
Where are the logs created?

Because i cant find the logs in amxmodx-logs

Jhob94
07-31-2017, 21:06
Where are them? :cry:

I stopped working at this plugin since a plugin approver was going to make a bigger plugin that also included this feature. I have been away from alliedmodders and coding for a while, not sure if he already did it or if he is working on it.

arC`
07-12-2019, 08:34
Where are the logs created?

Because i cant find the logs in amxmodx-logs

same

OciXCrom
07-12-2019, 09:50
They should be in "logs/Precache/mapname.txt", but I don't see the code trying to create the "Precache" folder if it's not there, so it won't log anything. You need to manually create the "Preache" folder inside "logs".

Natsheh
01-29-2021, 09:50
I made an update for this plugin fixing the issues which are...


Didn't create the log directory folder inside of amxmodx/logs
Fixing the counting of precached resources.
Made the log file filled only on the creation which is 1 time only until you delete the file.
Added the ability to remove maps resources which whom got unprecached.
Added auto entity remover when entity's model is unprecached. ( version 0.4 )
Unprecaches files that are counted over the limits. ( version 0.4 )

Natsheh
02-01-2021, 14:25
released version 0.4 (https://forums.alliedmods.net/showpost.php?p=2734781&postcount=33)

Jhob94
11-10-2021, 11:17
I made an update for this plugin fixing the issues which are...


Didn't create the log directory folder inside of amxmodx/logs
Fixing the counting of precached resources.
Made the log file filled only on the creation which is 1 time only until you delete the file.
Added the ability to remove maps resources which whom got unprecached.
Added auto entity remover when entity's model is unprecached. ( version 0.4 )
Unprecaches files that are counted over the limits. ( version 0.4 )


HamletEagle was supposed to add this plugin features on his entity resources replacement plugin. Not sure if he did it since i've been away for a really long time

Natsheh
12-16-2021, 15:58
HamletEagle was supposed to add this plugin features on his entity resources replacement plugin. Not sure if he did it since i've been away for a really long time

I am trying to catch the max precache resources but so far i am failing because i don't know whether the model of a brush entity counts or not, also not sure what else counts?