Ezzel meg tudod oldani. Tulajdonképpen egyszerű a használata. A két konstansba beírod azokat a modelleket és hangokat amiről tudod, hogy minden kliensnek megvan és azt nem kell leellenőrizni h megvan-e. Gondolok itt ilyenekre, hogy az usp hangja, az usp modellje stb.
Kód: #include <amxmodx>
#include <cstrike>
#include <fakemeta>
#define VERSION "0.1"
new const g_Sounds[][] =
{
"ambience\3dmbridge.wav",
"ambience\3dmeagle.wav",
"ambience\3dmstart.wav",
"ambience\3dmthrill.wav",
"ambience\alarm1.wav",
"ambience\arabmusic.wav",
"ambience\Birds1.wav",
"ambience\Birds2.wav",
"ambience\Birds3.wav",
"ambience\Birds4.wav",
"ambience\Birds5.wav",
"ambience\Birds6.wav",
"ambience\Birds7.wav",
"ambience\Birds8.wav",
"ambience\Birds9.wav",
"ambience\car1.wav",
"ambience\car2.wav",
"ambience\cat1.wav",
"ambience\chimes.wav",
"ambience\cicada3.wav",
"ambience\copter.wav",
"ambience\cow.wav",
"ambience\crow.wav",
"ambience\dog1.wav",
"ambience\dog2.wav",
"ambience\dog3.wav",
"ambience\dog4.wav",
"ambience\dog5.wav",
"ambience\dog6.wav",
"ambience\dog7.wav",
"ambience\doorbell.wav",
"ambience\fallscream.wav",
"ambience\guit1.wav",
"ambience\kajika.wav",
"ambience\lv1.wav",
"ambience\lv2.wav",
"ambience\lv3.wav",
"ambience\lv4.wav",
"ambience\lv5.wav",
"ambience\lv6.wav",
"ambience\lv_elvis.wav",
"ambience\lv_fruit1.wav",
"ambience\lv_fruit2.wav",
"ambience\lv_fruitwin.wav",
"ambience\lv_jubilee.wav",
"ambience\lv_neon.wav",
"ambience\Opera.wav",
"ambience\rain.wav",
"ambience\ratchant.wav",
"ambience\rd_shipshorn.wav",
"ambience\rd_waves.wav",
"ambience\sheep.wav",
"ambience\sparrow.wav",
"ambience\thunder_clap.wav",
"ambience\waterrun.wav",
"ambience\wolfhowl01.wav",
"ambience\wolfhowl02.wav",
"de_torn\tk_steam.wav",
"de_torn\tk_windStreet.wav",
"de_torn\torn_AK-47.wav",
"de_torn\torn_ambience.wav",
"de_torn\torn_Bomb1.wav",
"de_torn\torn_Bomb2.wav",
"de_torn\torn_MGun1.wav",
"de_torn\torn_Templewind.wav",
"de_torn\torn_thndrstrike.wav",
"de_torn\torn_water1.wav",
"de_torn\torn_water2.wav",
"events\enemy_died.wav",
"events\friend_died.wav",
"events\task_complete.wav",
"events\tutor_msg.wav",
"hostage\hos1.wav",
"hostage\hos2.wav",
"hostage\hos3.wav",
"hostage\hos4.wav",
"hostage\hos5.wav",
"items\equip_nvg.wav",
"items\kevlar.wav",
"items\nvg_off.wav",
"items\nvg_on.wav",
"items\tr_kevlar.wav",
"plats\vehicle1.wav",
"plats\vehicle2.wav",
"plats\vehicle3.wav",
"plats\vehicle4.wav",
"plats\vehicle6.wav",
"plats\vehicle7.wav",
"plats\vehicle_brake1.wav",
"plats\vehicle_ignition.wav",
"plats\vehicle_start1.wav",
"player\bhit_flesh-1.wav",
"player\bhit_flesh-2.wav",
"player\bhit_flesh-3.wav",
"player\bhit_helmet-1.wav",
"player\bhit_kevlar-1.wav",
"player\breathe1.wav",
"player\breathe2.wav",
"player\death6.wav",
"player\die1.wav",
"player\die2.wav",
"player\die3.wav",
"player\headshot1.wav",
"player\headshot2.wav",
"player\headshot3.wav",
"player\pl_die1.wav",
"player\pl_dirt1.wav",
"player\pl_dirt2.wav",
"player\pl_dirt3.wav",
"player\pl_dirt4.wav",
"player\pl_duct1.wav",
"player\pl_duct2.wav",
"player\pl_duct3.wav",
"player\pl_duct4.wav",
"player\pl_fallpain1.wav",
"player\pl_fallpain2.wav",
"player\pl_fallpain3.wav",
"player\pl_grate1.wav",
"player\pl_grate2.wav",
"player\pl_grate3.wav",
"player\pl_grate4.wav",
"player\pl_jump1.wav",
"player\pl_jump2.wav",
"player\pl_ladder1.wav",
"player\pl_ladder2.wav",
"player\pl_ladder3.wav",
"player\pl_ladder4.wav",
"player\pl_metal1.wav",
"player\pl_metal2.wav",
"player\pl_metal3.wav",
"player\pl_metal4.wav",
"player\pl_pain2.wav",
"player\pl_pain4.wav",
"player\pl_pain5.wav",
"player\pl_pain6.wav",
"player\pl_pain7.wav",
"player\pl_shell1.wav",
"player\pl_shot1.wav",
"player\pl_slosh1.wav",
"player\pl_slosh2.wav",
"player\pl_slosh3.wav",
"player\pl_slosh4.wav",
"player\pl_snow1.wav",
"player\pl_snow2.wav",
"player\pl_snow3.wav",
"player\pl_snow4.wav",
"player\pl_snow5.wav",
"player\pl_snow6.wav",
"player\pl_step1.wav",
"player\pl_step2.wav",
"player\pl_step3.wav",
"player\pl_step4.wav",
"player\pl_swim1.wav",
"player\pl_swim2.wav",
"player\pl_swim3.wav",
"player\pl_swim4.wav",
"player\pl_tile1.wav",
"player\pl_tile2.wav",
"player\pl_tile3.wav",
"player\pl_tile4.wav",
"player\pl_tile5.wav",
"player\pl_wade1.wav",
"player\pl_wade2.wav",
"player\pl_wade3.wav",
"player\pl_wade4.wav",
"player\sprayer.wav",
"radio\blow.wav",
"radio\bombdef.wav",
"radio\bombpl.wav",
"radio\circleback.wav",
"radio\clear.wav",
"radio\com_followcom.wav",
"radio\com_getinpos.wav",
"radio\com_go.wav",
"radio\com_reportin.wav",
"radio\ct_affirm.wav",
"radio\ct_backup.wav",
"radio\ct_coverme.wav",
"radio\ct_enemys.wav",
"radio\ct_fireinhole.wav",
"radio\ct_imhit.wav",
"radio\ct_inpos.wav",
"radio\ct_point.wav",
"radio\ct_reportingin.wav",
"radio\ctwin.wav",
"radio\elim.wav",
"radio\enemydown.wav",
"radio\fallback.wav",
"radio\fireassis.wav",
"radio\flankthem.wav",
"radio\followme.wav",
"radio\getout.wav",
"radio\go.wav",
"radio\hitassist.wav",
"radio\hosdown.wav",
"radio\letsgo.wav",
"radio\locknload.wav",
"radio\matedown.wav",
"radio\meetme.wav",
"radio\moveout.wav",
"radio\negative.wav",
"radio\position.wav",
"radio\regroup.wav",
"radio\rescued.wav",
"radio\roger.wav",
"radio\rounddraw.wav",
"radio\sticktog.wav",
"radio\stormfront.wav",
"radio\takepoint.wav",
"radio\terwin.wav",
"radio\vip.wav",
"storm\thunder-theme.wav"
}
new const g_Models[][] =
{
"bag.mdl",
"bigtree.mdl",
"bush.mdl",
"chick.mdl",
"fern.mdl",
"grass.mdl",
"hostage.mdl",
"lv_bottle.mdl",
"orange.mdl",
"shield\p_shield_deagle.mdl",
"shield\p_shield_fiveseven.mdl",
"shield\p_shield_flashbang.mdl",
"shield\p_shield_glock18.mdl",
"shield\p_shield_hegrenade.mdl",
"shield\p_shield_knife.mdl",
"shield\p_shield_p228.mdl",
"shield\p_shield_smokegrenade.mdl",
"shield\p_shield_usp.mdl",
"shield\v_shield_deagle.mdl",
"shield\v_shield_fiveseven.mdl",
"shield\v_shield_flashbang.mdl",
"shield\v_shield_glock18.mdl",
"shield\v_shield_hegrenade.mdl",
"shield\v_shield_knife.mdl",
"shield\v_shield_p228.mdl",
"shield\v_shield_smokegrenade.mdl",
"shield\v_shield_usp.mdl",
"hostage.mdl",
"hostage01.mdl",
"hostage02.mdl",
"hostage03.mdl",
"hostage04.mdl",
"hostage05.mdl",
"hostage06.mdl",
"hostage07.mdl",
"hostage08.mdl",
"v_ak47.mdl",
"v_aug.mdl",
"v_awp.mdl",
"v_c4.mdl",
"v_deagle.mdl",
"v_elite.mdl",
"v_famas.mdl",
"v_fiveseven.mdl",
"v_flashbang.mdl",
"v_g3sg1.mdl",
"v_galil.mdl",
"v_glock18.mdl",
"v_hegrenade.mdl",
"v_m249.mdl",
"v_m3.mdl",
"v_m4a1.mdl",
"v_mac10.mdl",
"v_mp5.mdl",
"v_p228.mdl",
"v_scout.mdl",
"v_sg550.mdl",
"v_sg552.mdl",
"v_smokegrenade.mdl",
"v_tmp.mdl",
"v_ump45.mdl",
"v_usp.mdl",
"v_xm1014.mdl",
"p_ak47.mdl",
"p_aug.mdl",
"p_awp.mdl",
"p_c4.mdl",
"p_deagle.mdl",
"p_elite.mdl",
"p_famas.mdl",
"p_fiveseven.mdl",
"p_flashbang.mdl",
"p_g3sg1.mdl",
"p_galil.mdl",
"p_glock18.mdl",
"p_hegrenade.mdl",
"p_m249.mdl",
"p_m3.mdl",
"p_m4a1.mdl",
"p_mac10.mdl",
"p_mp5.mdl",
"p_p228.mdl",
"p_scout.mdl",
"p_sg550.mdl",
"p_sg552.mdl",
"p_smokegrenade.mdl",
"p_tmp.mdl",
"p_ump45.mdl",
"p_usp.mdl",
"p_xm1014.mdl",
"w_ak47.mdl",
"w_aug.mdl",
"w_awp.mdl",
"w_c4.mdl",
"w_deagle.mdl",
"w_elite.mdl",
"w_famas.mdl",
"w_fiveseven.mdl",
"w_flashbang.mdl",
"w_g3sg1.mdl",
"w_galil.mdl",
"w_glock18.mdl",
"w_hegrenade.mdl",
"w_m249.mdl",
"w_m3.mdl",
"w_m4a1.mdl",
"w_mac10.mdl",
"w_mp5.mdl",
"w_p228.mdl",
"w_scout.mdl",
"w_sg550.mdl",
"w_sg552.mdl",
"w_smokegrenade.mdl",
"w_tmp.mdl",
"w_ump45.mdl",
"w_usp.mdl",
"w_xm1014.mdl"
}
public plugin_precache()
{
register_forward(FM_PrecacheModel, "PrecacheModel")
register_forward(FM_PrecacheSound, "PrecacheSound")
}
public PrecacheModel(const szModel[])
{
for(new i = 0; i < sizeof(g_Models); i++)
{
if( containi(szModel, g_Models[i]) != -1 )
{
forward_return(FMV_CELL, 0)
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED
}
public PrecacheSound(const szSound[])
{
for(new i = 0; i < sizeof(g_Sounds); i++)
{
if( containi(szSound, g_Sounds[i]) != -1 )
{
forward_return(FMV_CELL, 0)
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED
}
|