- Сообщения
- 3
- Реакции
- 2
- Помог
- 1 раз(а)
- Баллы
- 3
- Ошибка
-
Crash due to unloaded w_*.mdl while it's suppose to be replaced.
- AMX Mod X
-
AMX Mod X 1.10.0.5474 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Dec 1 2025 07:50:06
Built from: https://github.com/alliedmodders/amxmodx/commit/0c31b612
Build ID: 5474:0c31b612
Core mode: JIT+ASM32
- Билд сервера
-
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.14.0.857-dev
Build date: 19:53:00 Mar 27 2025 (4002)
Build from: https://github.com/rehlds/ReHLDS/commit/89958d3
- ReGameDLL
-
ReGameDLL version: 5.28.0.756-dev
Build date: 19:20:12 Mar 27 2025
Build from: https://github.com/rehlds/ReGameDLL_CS/commit/96b2ef2
- Metamod версия
-
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 15:47:38 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
- Metamod плагины
-
Currently loaded plugins:
description stat pend file vers src load unload
[ 1] SafeNameAndChat RUN - safenameandchat.dll v1.1 ini ANY ANY
[ 2] Reunion RUN - reunion_mm.dll v0.2.0.25 ini Start Never
[ 3] ReAuthCheck RUN - reauthcheck_mm.dll v0.1.6 ini Start Never
[ 4] Revoice RUN - revoice_mm.dll v0.1.0.34 ini Start Never
[ 5] AMX Mod X RUN - amxmodx_mm.dll v1.10.0.5474 ini Start ANY
[ 6] Rechecker RUN - rechecker_mm.dll v2.5 ini Chlvl ANY
[ 7] ReSemiclip RUN - resemiclip_mm.dll v2.3.9 ini Chlvl ANY
[ 8] WHBlocker RUN - whblocker_mm.dll v1.5.697 ini Chlvl ANY
[ 9] POD-Bot mm RUN - podbot_mm.dll vV3B21 ini Chlvl ANY
[10] FakeMeta RUN - fakemeta_amxx.dll v1.10.0.5474 pl5 ANY ANY
[11] ReAPI RUN - reapi_amxx.dll v5.26.0.338-dev pl5 ANY Never
[12] CStrike RUN - cstrike_amxx.dll v1.10.0.5474 pl5 ANY ANY
[13] Ham Sandwich RUN - hamsandwich_amxx.dll v1.10.0.5474 pl5 ANY ANY
[14] Engine RUN - engine_amxx.dll v1.10.0.5474 pl5 ANY ANY
[15] MySQL RUN - mysql_amxx.dll v1.10.0.5474 pl5 ANY ANY
[16] Sockets Asynchronous RUN - sockets_async_amxx.dll v1.3b pl5 ANY ANY
[17] Fun RUN - fun_amxx.dll v1.10.0.5474 pl5 ANY ANY
[18] Next Client API RUN - nextclientapi_amxx.dll v1.4.0 pl5 ANY ANY
[19] CSX RUN - csx_amxx.dll v1.10.0.5474 pl5 ANY ANY
- Список плагинов
-
Currently loaded plugins:
id name version author url file status
[ 1] 0 Pre-Precacher (Remover 1.0.0 JohanCorn amx_preprec debug
[ 2] 1 Auto PreCache - Core 1.1.0 Kova mdl2wav_aut debug
[ 3] 2 [sMod] ~ Server Manage v1.0 shedi unknown sm_manager. debug
[ 4] 3 EzSck 2.2.53b Kova unknown EzSck.amxx debug
[ 5] 4 [SK BanSystem] v4.1 Kova & Shedi BanSystemv4 debug
[ 6] 5 [SK] - RegSystem v2.2 Shedi unknown sk_regsyste debug
[ 7] 6 Admin Base 1.10.0.547 AMXX Dev Team admin.amxx running
[ 8] 7 Admin Commands 1.10.0.547 AMXX Dev Team admincmd.am running
[ 9] 8 Menus Front-End 1.10.0.547 AMXX Dev Team menufront.a running
[ 10] 9 Commands Menu 1.10.0.547 AMXX Dev Team cmdmenu.amx running
[ 11] 10 Players Menu 1.10.0.547 AMXX Dev Team plmenu.amxx running
[ 12] 11 Maps Menu 1.10.0.547 AMXX Dev Team mapsmenu.am running
[ 13] 12 Plugin Menu 1.10.0.547 AMXX Dev Team pluginmenu. running
[ 14] 13 Admin Chat 1.10.0.547 AMXX Dev Team adminchat.a running
[ 15] 14 Anti Flood 1.10.0.547 AMXX Dev Team antiflood.a running
[ 16] 15 Admin Votes 1.10.0.547 AMXX Dev Team adminvote.a running
[ 17] 16 Pause Plugins 1.10.0.547 AMXX Dev Team pausecfg.am running
[ 18] 17 Stats Configuration 1.10.0.547 AMXX Dev Team statscfg.am running
[ 19] 18 StatsX 1.10.0.547 AMXX Dev Team statsx.amxx running
[ 20] 19 unknown unknown unknown unknown kgbbot.amxx running
[ 21] 20 Multijump 1.0 serfreeman1337 ReApi-Multi debug
[ 22] 21 DANS Menusu 0.1.1 ANONIM // Edit: Emotes.amxx debug
[ 23] 22 MultiWepManager Light 1.0 Kova MultiWepMan debug
[ 24] 23 Self Heal Syringe 1.0.0 Kova SelfHeal.am debug
[ 25] 24 [CSO] Wpn: Katana 1.1.0 JohanCorn -Rewor CSOW_Katana debug
[ 26] 25 [CSO] Wpn: Dual Katana 1.1.0 JohanCorn -Rewor CSOW_Dual_K debug
[ 27] 26 [CSO] Wpn: Balrog-XI 1.1.0 JohanCorn -Rewor CSOW_Barlog debug
[ 28] 27 [CSO] Wpn: Dual Infini 1.3.4 JohanCorn -Rewor CSOW_Dual_I debug
[ 29] 28 [CSO] Wpn: XM2010 1.1.0 JohanCorn -Rewor CSOW_XM2010 debug
[ 30] 29 [CSO] Wpn: Thanatos-3 1.2.0 Asep - Reworked: CSOW_Thanat debug
[ 31] 30 [CSO] Wpn: Skull-8 1.0 Chrescoe1 -Rewor CSOW_Skull- debug
[ 32] 31 [CSO] Wpn: Dual Infini 1.3.4 JohanCorn -Rewor CSOW_Dual_I debug
[ 33] 32 [CSO] Wpn: Balrog-I 2.0.0 Kova CSOW_Balrog debug
[ 34] 33 [CSO] Wpn: Savery 1.0.0 JohanCorn -Rewor CSOW_Savery debug
[ 35] 34 [CSO] Wpn: Batista 1.0.0 JohanCorn -Rewor CSOW_Batist debug
[ 36] 35 [CSO] Wpn: Strong Knif 1.0.0 JohanCorn -Rewor CSOW_Nata_K debug
[ 37] 36 [CSO] Wpn: Kujang 1.0.0 JohanCorn -Rewor CSOW_Kujang debug
[ 38] 37 [CSO] Wpn: Knig Cobra 1.0.0 JohanCorn -Rewor CSOW_King_C debug
[ 39] 38 [CSO] Wpn: Master Comb 1.0.0 JohanCorn -Rewor CSOW_Master debug
[ 40] 39 [CSO] Wpn: Combat Knif 1.0.0 JohanCorn -Rewor CSOW_Combat debug
[ 41] 40 [CSO] Wpn: Infinity Bl 1.0.0 JohanCorn -Rewor CSOW_Infini debug
[ 42] 41 [CSO] Wpn: Infinity Si 1.0.0 JohanCorn -Rewor CSOW_Infini debug
[ 43] 42 [CSO] Wpn: Cyclone 1.0.0 JohanCorn -Rewor CSOW_Cyclon debug
[ 44] 43 [CSO] Wpn: Deagle Gold 1.0.0 JohanCorn -Rewor CSOW_Desert debug
[ 45] 44 [CSO] Wpn: Beam Sword 1.0.0 Dias -Reworked:K CSOW_Beam_S debug
[ 46] 45 [CSO] Wpn: Holy Bomb 1.0.0 JohanCorn -Rewor CSOW_Holy_B debug
[ 47] 46 [CSO] Wpn: Brick Peace 1.0.0 m4m3ts -Reworked CSOW_Brick_ debug
[ 48] 47 [CSO] Wpn: Balrog-III 1.0.0 Dias -Reworked:K CSOW_Balrog debug
[ 49] 48 [CSO] Wpn: Volcano 1.0.0 Crock -Reworked: CSOW_Volcan debug
[ 50] 49 [CSO] Wpn: Dragon Blad 2.0 Dias -Reworked:K CSOW_Green_ debug
[ 51] 50 [CSO] Wpn: Remington M 1.0 Crock/LARS/heka CSOW_Reming debug
[ 52] 51 [CSO] Wpn: Barrett M95 1.0 Too Many Authors CSOW_Barret debug
[ 53] 52 [CSO] Wpn: HK23 1.0.0 Too Many Authors CSOW_HKM36E debug
[ 54] 53 [CSO] Wpn: SVD 1.0 LARS-DAY[BR]EAKE CSOW_Dragun debug
[ 55] 54 [CSO] Wpn: Daewoo USAS 1.0.0 Kova CSOW_Daewoo debug
[ 56] 55 [CSO] Wpn: Lighting SM 1.0.0 JohanCorn -Rewor CSOW_Lightn debug
[ 57] 56 [CSO] Wpn: MK14 Enhanc 1.0.0 Kova CSOW_M14_EB debug
[ 58] 57 [CSO] Wpn: Compound Bo 2.0 m4m3ts -Reworked CSOW_Compou debug
[ 59] 58 [CSO] Wpn: Janus-9 1.0.0 m4m3ts -Reworked CSOW_Janus- debug
[ 60] 59 [CSO] Wpn: Balrog-IX 1.0.0 m4m3ts -Reworked CSOW_Balrog debug
[ 61] 60 [CSO] Wpn: Gae Bolg 1.0 m4m3ts -Reworked CSOW_Gae_Bo debug
[ 62] 61 [CSO] Wpn: Razor Knife 1.1.0 Kova CSOW_Razor_ debug
[ 63] 62 [CSO] Wpn: Janus-3 1.0 m4m3ts -Reworked CSOW_Janus- debug
[ 64] 63 [CSO] Wpn: Janus-5 1.0 m4m3ts -Reworked CSOW_Janus- debug
[ 65] 64 [CSO] Wpn: Skull-5 2.0 m4m3ts -Reworked CSOW_Skull- debug
[ 66] 65 [CSO] Wpn: Skull-9 2.0.0 m4m3ts -Reworked CSOW_Skull- debug
[ 67] 66 [CSO] Wpn: Ruyi Stick 1.0.0 TERKECOREJZ -Rew CSOW_Ruyi_S debug
[ 68] 67 [CSO] Wpn: Butterfly K 1.1.0 Kova CSOW_Butter debug
[ 69] 68 [CSO] Wpn: Dragon Claw 2.0.0 Dias Leon -Rewor CSOW_Dragon debug
[ 70] 69 [CSO] Wpn: Knife Drago 1.0.0 JohanCorn -Rewor CSOW_Dragon debug
[ 71] 70 [CSO] Wpn: Musket 1.0.0 LARS-DAY[BR]EAKE CSOW_Musket debug
[ 72] 71 [CSO] Wpn: Papin 1.0.0 JohanCorn -Rewor CSOW_Papin. debug
[ 73] 72 [CSO] Wpn: Blaster 1.0 TooManyNames -Re CSOW_Blaste debug
[ 74] 73 [CSO] Wpn: MP5 Gold Ed 1.0.0 JohanCorn -Rewor CSOW_MP5_GG debug
[ 75] 74 [CSO] Wpn: Skull-1 1.0.0 m4m3ts -Reworked CSOW_Skull- debug
[ 76] 75 [CSO] Wpn: Skull-11 1.0.0 Crock/4yBak001 - CSOW_Skull- debug
[ 77] 76 [CSO] Wpn: Balrog-VII 1.0.0 Crock -Reworked: CSOW_Balrog debug
[ 78] 77 [CSO] Wpn: StG44 1.0 Kova CSOW_StG44. debug
[ 79] 78 [CSO] Wpn: QBB-95 1.0 Kova CSOW_QBB-95 debug
[ 80] 79 [CSO] Wpn: Thunderbolt 1.0.0 Dias -Reworked:K CSOW_Lightn debug
[ 81] 80 [CSO] Wpn: Tomahawk 1.0.0 JohanCorn -Rewor CSOW_Tomaha debug
[ 82] 81 [CSO] Wpn: Hunter Dagg 1.0.0 JohanCorn CSOW_Hunter debug
[ 83] 82 [CSO] Wpn: M1887 Gold 1.0 Crock/4yBak001 - CSOW_M1887_ debug
[ 84] 83 [CSO] Wpn: Janus-11 1.0.0 m4m3ts -Reworked CSOW_Janus- debug
[ 85] 84 [CSO] Wpn: Dual Shuwuj 1.0.0 JohanCorn -Rewor CSOW_Dual_S debug
[ 86] 85 [CSO] Wpn: Skull-6 1.0.0 LARS-BLOODLIKER CSOW_Skull- debug
[ 87] 86 [CSO] Wpn: M134 1.0 LARS-DAY[BR]EAKE CSOW_Zhu_Be debug
[ 88] 87 [CSO] Wpn: Thanatos-7 1.0.0 Dev!l -Reworked: CSOW_Thanat debug
[ 89] 88 [CSO] Wpn: Thanatos-11 1.0 m4m3ts -Reworked CSOW_Thanat debug
[ 90] 89 [CSO] Wpn: Thanatos-9 2.2.0 Dev!l -Reworked: CSOW_Thanat debug
[ 91] 90 [CSO] Wpn: Tomahawk Xm 1.0.0 JohanCorn -Rewor CSOW_Tomaha debug
[ 92] 91 [CSO] Wpn: Thanatos-1 1.0.0 JohanCorn -Rewor CSOW_Thanat debug
[ 93] 92 [CSO] Wpn: Dummy Weapo 1.0 Kova CSOW_DummyW debug
[ 94] 93 [CSO] Wpn: Nemcomen 1.0.0 JohanCorn -Rewor CSOW_Newcom debug
[ 95] 94 [CSO] Wpn: Tactical Kn 1.0.0 m4m3ts -Reworked CSOW_Triple debug
[ 96] 95 [CSO] Wpn: Tactical Kn 1.0.0 m4m3ts -Reworked CSOW_Double debug
[ 97] 96 [CSO] Wpn: Tactical Kn 1.0.0 m4m3ts -Reworked CSOW_Single debug
[ 98] 97 [CSO] Wpn: Scarecrow P 1.0.0 TERKECOREJZ -Rew CSOW_Scarec debug
[ 99] 98 [CSO] Wpn: Magnum Dril 1.0 Kova CSOW_Magnum debug
[100] 99 [CSO] Wpn: Oz Lion Pis 1.0 Kova CSOW_Lion_G debug
[101] 100 [CSO] Wpn: AK47 Paladi 1.0.0 Dev!l -Reworked: CSOW_AK-47_ debug
[102] 101 Auto PreCache - Finali 1.1.0 Kova mdl2wav_aut debug
[103] 102 EntityDataDisplay 1.1.0-menu Kova + menu rewr EntityDataD debug
[104] 103 Furien WallHang + Invi 1.0.4-reap Kova sk_nexon_fu debug
[105] 104 [SKMOD] ~ Nexon Furien 0.0.28 Shedi, Kova sk_nexon_co debug
[106] 105 Precacher Counter 1.0.0 JohanCorn amx_precach debug
[107] 106 Packed Models 1.2.0 AdamRichard21st packed_mode debug
107 plugins, 107 running
- Исходный код плагина
-
//https://github.com/AdamRichard21st/PackedModels/
#include < amxmodx >
#include < fakemeta >
#include < hamsandwich >
#define VERSION "1.2.0"
#define PM_SKIP_MAGIC 0x504D534B
#define MAX_CWEAPONBOX_ITEMS 6
#define CSW_BACKPACK CSW_P90 + 1
#define CUSTOM_CGRENADE_ID 33
#define CUSTOM_CWEAPONBOX_ID 34
/**
* Defines if dropped C4 backpack should be rendered
* from the packed models file. Values:
*
* true - packed backpack will be rendered
* false - default backpack will be rendered
*/
#define C4_BACKPACK_SUPPORT true
/**
* This list defines which weapons must not be rendered
* from packed models file. It affects p_ and w_ variants.
*
* Usage: Just uncomment weapons you want to be ignored.
*/
public const IGNORE_LIST[] = {
// fixed item, please, do not remove
CSW_NONE,
// CSW_P228,
// CSW_SCOUT,
// CSW_HEGRENADE,
// CSW_XM1014,
// CSW_C4,
// CSW_MAC10,
// CSW_AUG,
// CSW_SMOKEGRENADE,
// CSW_ELITE,
// CSW_FIVESEVEN,
// CSW_UMP45,
// CSW_SG550,
// CSW_GALIL,
// CSW_FAMAS,
// CSW_USP,
// CSW_GLOCK18,
// CSW_AWP,
// CSW_MP5NAVY,
// CSW_M249,
// CSW_M3,
// CSW_M4A1,
// CSW_TMP,
// CSW_G3SG1,
// CSW_FLASHBANG,
// CSW_DEAGLE,
// CSW_SG552,
// CSW_AK47,
// CSW_KNIFE,
// CSW_P90,
// CSW_BACKPACK,
};
enum PackedModelsAnimations
{
ANIM_WEAPON_PLAYER = 0,
ANIM_WEAPON_WORLD
}
public const ENTITY_BASE_CLASS[] = "info_target";
public const PACKED_MODELS_FILE[] = "models/hb_csnz/pw_weapons.mdl";
public ENTITIES[MAX_PLAYERS + 1];
public ignoredList;
public plugin_init()
{
register_plugin("Packed Models", VERSION, "AdamRichard21st");
RegisterHam(Ham_Spawn, "weaponbox", "OnWeaponBoxSpawn", .Post = true);
RegisterHam(Ham_Spawn, "grenade", "OnGrenadeSpawn", .Post = true);
register_forward(FM_SetModel, "OnSetModel");
CreateBaseEntities();
GetIgnoreList();
for (new i = CSW_P228, weaponName[32]; i <= CSW_P90; i++)
{
if (get_weaponname(i, weaponName, charsmax(weaponName)) && !ShouldIgnore(i))
{
RegisterHam(Ham_Item_Deploy, weaponName, "OnWeaponDeploy", .Post = true);
RegisterHam(Ham_Item_Holster, weaponName, "OnWeaponHolster", .Post = false);
}
}
}
public plugin_precache()
{
precache_model(PACKED_MODELS_FILE);
}
public plugin_end()
{
DestroyBaseEntities();
}
public OnWeaponDeploy(weapon)
{
if (pev_valid(weapon) != 2)
return;
new owner = get_ent_data_entity(weapon, "CBasePlayerItem", "m_pPlayer");
if (!is_user_alive(owner) || !ENTITIES[owner])
return;
if(pev(weapon, pev_impulse) == PM_SKIP_MAGIC)
{
set_pev(ENTITIES[owner], pev_body, CSW_NONE);
return;
}
HidePlayerWeapon(owner);
new weaponId = get_ent_data(weapon, "CBasePlayerItem", "m_iId");
set_pev(ENTITIES[owner], pev_body, weaponId);
}
public OnWeaponHolster(weapon)
{
if (pev_valid(weapon) != 2)
{
return;
}
new owner = pev(weapon, pev_owner);
if (!is_user_alive(owner) || !ENTITIES[owner])
{
return;
}
set_pev(ENTITIES[owner], pev_body, CSW_NONE);
}
public OnGrenadeSpawn(grenade)
{
if (!pev_valid(grenade))
{
return;
}
SetCustomId(grenade, CUSTOM_CGRENADE_ID);
}
public OnWeaponBoxSpawn(weaponbox)
{
if (!pev_valid(weaponbox))
{
return;
}
SetCustomId(weaponbox, CUSTOM_CWEAPONBOX_ID);
}
public OnSetModel(entity, const model[])
{
if (pev_valid(entity) != 2)
{
return FMRES_IGNORED;
}
switch (GetCustomId(entity))
{
case CUSTOM_CGRENADE_ID:
{
return RenderCustomGrenade(entity);
}
case CUSTOM_CWEAPONBOX_ID:
{
return RenderCustomWeaponBox(entity);
}
default:
{
if (ShouldIgnore(CSW_C4))
{
return FMRES_IGNORED;
}
static className[32];
pev(entity, pev_classname, className, charsmax(className));
if (equal(className, "grenade"))
{
return RenderCustomC4(entity);
}
}
}
return FMRES_IGNORED;
}
RenderCustomC4(grenade)
{
engfunc(EngFunc_SetModel, grenade, PACKED_MODELS_FILE);
set_pev(grenade, pev_body, CSW_C4);
set_pev(grenade, pev_sequence, ANIM_WEAPON_WORLD);
return FMRES_SUPERCEDE;
}
RenderCustomGrenade(grenade)
{
new grenadeId = GetCGrenadeType(grenade);
if (grenadeId == CSW_NONE || ShouldIgnore(grenadeId))
{
return FMRES_IGNORED;
}
engfunc(EngFunc_SetModel, grenade, PACKED_MODELS_FILE);
set_pev(grenade, pev_body, grenadeId);
set_pev(grenade, pev_sequence, ANIM_WEAPON_WORLD);
return FMRES_SUPERCEDE;
}
RenderCustomWeaponBox(weaponbox)
{
new bool:validWeapon;
new weapon;
for (new i = 0; i < MAX_CWEAPONBOX_ITEMS; i++)
{
weapon = get_ent_data_entity(weaponbox, "CWeaponBox", "m_rgpPlayerItems", i);
if (pev_valid(weapon))
{
validWeapon = true;
break;
}
}
if (!validWeapon)
{
return FMRES_IGNORED;
}
new weaponId = get_ent_data(weapon, "CBasePlayerItem", "m_iId");
if (ShouldIgnore(weaponId))
{
return FMRES_IGNORED;
}
if (weaponId == CSW_C4)
{
#if C4_BACKPACK_SUPPORT
weaponId = CSW_BACKPACK;
#else
return FMRES_IGNORED;
#endif
}
engfunc(EngFunc_SetModel, weaponbox, PACKED_MODELS_FILE);
set_pev(weaponbox, pev_body, weaponId);
set_pev(weaponbox, pev_sequence, ANIM_WEAPON_WORLD);
return FMRES_SUPERCEDE;
}
CreateBaseEntities()
{
new allocatedEntityName = engfunc(EngFunc_AllocString, ENTITY_BASE_CLASS);
new maxPlayers = get_maxplayers();
for (new i = 1; i <= maxPlayers; i++)
{
new entity = engfunc(EngFunc_CreateNamedEntity, allocatedEntityName);
if (pev_valid(entity))
{
set_pev(entity, pev_movetype, MOVETYPE_FOLLOW);
set_pev(entity, pev_aiment, i);
set_pev(entity, pev_rendermode, kRenderNormal);
engfunc(EngFunc_SetModel, entity, PACKED_MODELS_FILE);
ENTITIES[i] = entity;
}
}
}
DestroyBaseEntities()
{
new maxPlayers = get_maxplayers();
for (new i = 1; i <= maxPlayers; i++)
{
new entity = ENTITIES[i];
if (pev_valid(entity))
{
engfunc(EngFunc_RemoveEntity, entity);
}
}
}
HidePlayerWeapon(id)
{
set_pev(id, pev_weaponmodel2, "");
}
GetCGrenadeType(grenade)
{
new eventFlags = get_ent_data(grenade, "CGrenade", "m_usEvent");
if (eventFlags & (1 << 0))
{
return CSW_HEGRENADE;
}
if (eventFlags & (1 << 1))
{
return CSW_SMOKEGRENADE;
}
if (!eventFlags)
{
return CSW_FLASHBANG;
}
return CSW_NONE;
}
SetCustomId(entity, customId)
{
set_pev(entity, pev_euser1, customId);
}
GetCustomId(entity)
{
return pev(entity, pev_euser1);
}
GetIgnoreList()
{
for (new i = 0; i < sizeof IGNORE_LIST; i++)
{
ignoredList |= (1 << IGNORE_LIST[i]);
}
}
ShouldIgnore(weaponId)
{
return (ignoredList & (1 << weaponId));
}
amx_preprecacher.sma:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
new Unprecache, SpecCount[3] = { -1, ... };
new g_UnPrecacheModels[][] =
{
"models/shield/p_shield_deagle.mdl",
"models/shield/p_shield_fiveseven.mdl",
"models/shield/p_shield_flashbang.mdl",
"models/shield/p_shield_glock18.mdl",
"models/shield/p_shield_hegrenade.mdl",
"models/shield/p_shield_knife.mdl",
"models/shield/p_shield_p228.mdl",
"models/shield/p_shield_smokegrenade.mdl",
"models/shield/p_shield_usp.mdl",
"models/shield/v_shield_deagle.mdl",
"models/shield/v_shield_fiveseven.mdl",
"models/shield/v_shield_flashbang.mdl",
"models/shield/v_shield_glock18.mdl",
"models/shield/v_shield_hegrenade.mdl",
"models/shield/v_shield_knife.mdl",
"models/shield/v_shield_p228.mdl",
"models/shield/v_shield_smokegrenade.mdl",
"models/shield/v_shield_usp.mdl",
"models/p_p228.mdl",
"models/p_scout.mdl",
"models/p_hegrenade.mdl",
"models/p_xm1014.mdl",
"models/p_c4.mdl",
"models/p_mac10.mdl",
"models/p_aug.mdl",
"models/p_smokegrenade.mdl",
"models/p_elite.mdl",
"models/p_fiveseven.mdl",
"models/p_ump45.mdl",
"models/p_sg550.mdl",
"models/p_galil.mdl",
"models/p_famas.mdl",
"models/p_usp.mdl",
"models/p_glock18.mdl",
"models/p_awp.mdl",
"models/p_mp5.mdl",
"models/p_m249.mdl",
"models/p_m3.mdl",
"models/p_m4a1.mdl",
"models/p_tmp.mdl",
"models/p_g3sg1.mdl",
"models/p_flashbang.mdl",
"models/p_deagle.mdl",
"models/p_sg552.mdl",
"models/p_ak47.mdl",
"models/p_knife.mdl",
"models/p_p90.mdl",
"models/w_p228.mdl",
"models/w_scout.mdl",
"models/w_hegrenade.mdl",
"models/w_xm1014.mdl",
"models/w_c4.mdl",
"models/w_mac10.mdl",
"models/w_aug.mdl",
"models/w_smokegrenade.mdl",
"models/w_elite.mdl",
"models/w_fiveseven.mdl",
"models/w_ump45.mdl",
"models/w_sg550.mdl",
"models/w_galil.mdl",
"models/w_famas.mdl",
"models/w_usp.mdl",
"models/w_glock18.mdl",
"models/w_awp.mdl",
"models/w_mp5.mdl",
"models/w_m249.mdl",
"models/w_m3.mdl",
"models/w_m4a1.mdl",
"models/w_tmp.mdl",
"models/w_g3sg1.mdl",
"models/w_flashbang.mdl",
"models/w_deagle.mdl",
"models/w_sg552.mdl",
"models/w_ak47.mdl",
"models/w_knife.mdl",
"models/w_p90.mdl"
}
new g_UnPrecacheSounds[][] =
{
"weapons/ak47_boltpull.wav",
"weapons/ak47_clipin.wav",
"weapons/ak47_clipout.wav",
"weapons/aug_boltpull.wav",
"weapons/aug_boltslap.wav",
"weapons/aug_clipin.wav",
"weapons/aug_clipout.wav",
"weapons/aug_forearm.wav",
"weapons/awp_clipin.wav",
"weapons/awp_clipout.wav",
"weapons/awp_deploy.wav",
"weapons/boltdown.wav",
"weapons/boltpull1.wav",
"weapons/boltup.wav",
"weapons/c4_click.wav",
"weapons/c4_disarm.wav",
"weapons/c4_disarmed.wav",
"weapons/clipin1.wav",
"weapons/clipout1.wav",
"weapons/de_clipin.wav",
"weapons/de_clipout.wav",
"weapons/de_deploy.wav",
"weapons/elite_clipout.wav",
"weapons/elite_deploy.wav",
"weapons/elite_fire.wav",
"weapons/elite_leftclipin.wav",
"weapons/elite_reloadstart.wav",
"weapons/elite_rightclipin.wav",
"weapons/elite_sliderelease.wav",
"weapons/elite_twirl.wav",
"weapons/famas_boltpull.wav",
"weapons/famas_boltslap.wav",
"weapons/famas_clipin.wav",
"weapons/famas_clipout.wav",
"weapons/famas_forearm.wav",
"weapons/fiveseven_clipin.wav",
"weapons/fiveseven_clipout.wav",
"weapons/fiveseven_slidepull.wav",
"weapons/fiveseven_sliderelease.wav",
"weapons/g3sg1_clipin.wav",
"weapons/g3sg1_clipout.wav",
"weapons/g3sg1_slide.wav",
"weapons/galil_boltpull.wav",
"weapons/galil_clipin.wav",
"weapons/galil_clipout.wav",
"weapons/m249_boxin.wav",
"weapons/m249_boxout.wav",
"weapons/m249_chain.wav",
"weapons/m249_coverdown.wav",
"weapons/m249_coverup.wav",
"weapons/m3_insertshell.wav",
"weapons/m3_pump.wav",
"weapons/m4a1_boltpull.wav",
"weapons/m4a1_clipin.wav",
"weapons/m4a1_clipout.wav",
"weapons/m4a1_deploy.wav",
"weapons/m4a1_silencer_off.wav",
"weapons/m4a1_silencer_on.wav",
"weapons/mac10_boltpull.wav",
"weapons/mac10_clipin.wav",
"weapons/mac10_clipout.wav",
"weapons/mp5_clipin.wav",
"weapons/mp5_clipout.wav",
"weapons/mp5_slideback.wav",
"weapons/p228_clipin.wav",
"weapons/p228_clipout.wav",
"weapons/p228_slidepull.wav",
"weapons/p228_sliderelease.wav",
"weapons/p90_boltpull.wav",
"weapons/p90_clipin.wav",
"weapons/p90_clipout.wav",
"weapons/p90_cliprelease.wav",
"weapons/pinpull.wav",
"weapons/scout_bolt.wav",
"weapons/scout_clipin.wav",
"weapons/scout_clipout.wav",
"weapons/sg550_boltpull.wav",
"weapons/sg550_clipin.wav",
"weapons/sg550_clipout.wav",
"weapons/sg552_boltpull.wav",
"weapons/sg552_clipin.wav",
"weapons/sg552_clipout.wav",
"weapons/slideback1.wav",
"weapons/sliderelease1.wav",
"weapons/ump45_boltslap.wav",
"weapons/ump45_clipin.wav",
"weapons/ump45_clipout.wav",
"weapons/usp_clipin.wav",
"weapons/usp_silencer_off.wav",
"weapons/usp_silencer_on.wav",
"weapons/usp_slideback.wav",
"weapons/usp_sliderelease.wav"
}
public plugin_init()
{
register_plugin("Pre-Precacher (Remover)", "1.0.0", "JohanCorn");
new MapName[32];
get_mapname(MapName, charsmax(MapName));
log_to_file("pre-precacher.txt", "%s is Precached: (%i) Models | (%i) Sounds | (%i) Generic", MapName, SpecCount[0], SpecCount[1], SpecCount[2]);
}
public plugin_precache()
{
register_forward(FM_PrecacheModel, "fw_PrecacheModel");
register_forward(FM_PrecacheSound, "fw_PrecacheSound");
register_forward(FM_PrecacheModel, "fw_PrecacheModel_Post", 1);
register_forward(FM_PrecacheSound, "fw_PrecacheSound_Post", 1);
register_forward(FM_PrecacheGeneric, "fw_PrecacheGeneric_Post", 1);
}
public fw_PrecacheModel(const Model[])
{
Unprecache = 0;
for ( new i; i < sizeof(g_UnPrecacheModels); i++ )
{
if ( contain(Model, g_UnPrecacheModels[i]) != -1 )
{
Unprecache = 1;
break;
}
}
if ( Unprecache )
return FMRES_SUPERCEDE;
return FMRES_IGNORED;
}
public fw_PrecacheSound(const Sound[])
{
Unprecache = 0;
for ( new i; i < sizeof(g_UnPrecacheSounds); i++ )
{
if ( contain(Sound, g_UnPrecacheSounds[i]) != -1 )
{
Unprecache = 1;
break;
}
}
if ( Unprecache )
return FMRES_SUPERCEDE;
return FMRES_IGNORED;
}
public fw_PrecacheModel_Post(const Generic[])
{
static iRetVal
iRetVal = get_orig_retval()
if ( iRetVal < SpecCount[0] )
return FMRES_IGNORED;
SpecCount[0] = iRetVal;
return FMRES_HANDLED;
}
public fw_PrecacheSound_Post(const Sound[])
{
static iRetVal
iRetVal = get_orig_retval()
if ( iRetVal < SpecCount[1] )
return FMRES_IGNORED;
SpecCount[1] = iRetVal;
return FMRES_HANDLED;
}
public fw_PrecacheGeneric_Post(const Generic[])
{
static iRetVal
iRetVal = get_orig_retval()
if ( iRetVal < SpecCount[2] )
return FMRES_IGNORED;
SpecCount[2] = iRetVal;
return FMRES_HANDLED;
}
Hi everyone,
The given plugin is from this repo: https://github.com/AdamRichard21st/PackedModels
The only modification I made is that PM_SKIP_MAGIC was never called.
This plugin describes the following:
Features
- Uses only a single .mdl file to render all weapons p_*.mdl and w_*.mdl.
- Makes it able to reduce precache count by 58.
Disclaimer
Although this is a tool for rendering packed models in order to reduce the precache count, it does not unprecache the models by itself. Make sure to install an unprecache plugin that unprecaches all the p_*.mdl and w_*.mdl that fits better your server.
Based on that, I used the above code to unload the p_*.mdl and w_*.mdl.
My issue is that when I unload any of the w_*.mdl, the server crashes immediately on the first player spawn (likely because the model is missing).
How can I unload the w_*.mdl models properly, or what is a safe way of replacing them to reduce the number of actively loaded models?
(Only on the test server on Windows, prod is Linux, and the same thing happens there as well )
I have a crash dump as well, I can attach that if it's not an obvious solution from the provided info.
Thanks for your help in advance.[/CODE]