Description
Allows the server to change the client's weapon models (both world [as everyone sees it] and view [as you see it in your hands]) to whatever the server owner would like. This can change all weapons types, a single weapon index, a single userid, or a single steamid. Note: Clients must have all model files downloaded that you are attempting to use (See: mc_addmodeldownload and mc_addmateriald[color=darkred][size=150]Model Changer v1.0[/size][/color]
[color=indigo]Requirements[/color]:
[color=darkred]ES v2.0+[/color]
[url=http://forums.eventscripts.com/viewtopic.php?t=31398]modellib[/url] (Included in .zip. Thanks Saul!)
[color=indigo]Installation[/color]:
1) Place [color=green]modelchanger.py [/color] into [color=red]cstrike/addons/eventscripts/modelchanger/[/color]
2) Place [color=green]modellib.py[/color] into [color=red]cstrike/addons/eventscripts/_libs/python/[/color]
3) Add this to your [color=green]autoexec.cfg[/color]:
[code]es_load modelchanger[/code]
4) Restart your server. You need to fully restart your server for the library addition to take effect.
[color=indigo]Description[/color]:
Allows the server to change the client's weapon models (both world [as everyone sees it] and view [as you see it in your hands]) to whatever the server owner would like. This can change all weapons types, a single weapon index, a single userid, or a single steamid, or an entire team. This can also change player models of certain userid, steamids, or entire teams.
[color=indigo]Commands[/color]:
[quote]mc_addweaponclass <classname> <worldmodel> <viewmodel> - Set all weapons of classname to have specified world and view models.
mc_addweaponindex <index> <worldmodel> <viewmodel> - Set weapon at index to have specified world and view models.
mc_addweaponuserid <userid> <class> <worldmodel> <viewmodel> - Set player with userid with weapon of class to have specified world and viewmodels
mc_addweaponsteamid <steamid> <class> <worldmodel> <viewmodel> - Set player with steamid with weapon of class to have specified world and viewmodels
mc_addweaponteam <team> <class> <worldmodel> <viewmodel> - Set all players on specified team with weapon of class to have specified world and viewmodels
mc_addplayeruserid <userid> <model> - Set player with userid to have specified player model
mc_addplayersteamid <steamid> <model> - Set player with steamid to have specified player model
mc_addplayerteam <team> <model> - Set all players on specified team to have specified player model
mc_delweaponclass <classname> - No longer force world/view models on classname
mc_delweaponindex <index> - No longer force world/view models on index
mc_delweaponuserid <userid> <class> - No longer force world/view models on userid with weapon of class
mc_delweaponsteamid <steamid> <class> - No longer force world/view models on steamid with weapon of class
mc_delweaponteam <team> <class> - No longer force world/view models on all players of specified team
mc_delplayeruserid <userid> - No longer force player model on userid
mc_delplayersteamid <steamid> - No longer force player model on steamid
mc_delplayerteam <team> - No longer foce player model on all players of specified team[/quote]
[color=indigo]Credits[/color]:
Saul for finding out how to do all this cool view/world model stuff. And also for making modellib.
sahunhong for letting me know about [color=blue]sv_client_predict[/color]
Mishappp for letting me test on his Linux server.
[color=indigo]Example Script[/color]:
[syntax="es"]block load
{
//Set all glock's models to that of an aug
mc_addweaponclass weapon_glock weapons/w_rif_aug.mdl weapons/v_rif_aug.mdl
//Set player with this steamid to have a glock model of an aug
mc_addweaponsteamid "STEAM_0:1111" weapon_glock weapons/w_rif_aug.mdl weapons/v_rif_aug.mdl
//Set all terrorists to have a glock model of an aug
mc_addweaponteam #t weapon_glock weapons/w_rif_aug.mdl weapons/v_rif_aug.mdl
//Set player with this steamid to have a terrorist leet player model
mc_addplayersteamid "STEAM_0:1111" players/t_leet.mdl
//Set all terrorists to have a terrorist leet player model
mc_addplayerteam 2 players/t_leet.mdl
}
event player_connect
{
//Set this player's glock model to that of an aug
es mc_addweaponuserid event_var(userid) weapon_glock weapons/w_rif_aug.mdl weapons/v_rif_aug.mdl
//Set this player's model to that of a terrorist leet
es mc_addplayeruserid event_var(userid) players/t_leet.mdl
}
event player_spawn
{
es_xset w_index 0
es playerget weaponindex w_index event_var(userid) weapon_glock
//Set the weapon with this specific index to that of an aug
if (server_var(w_index) > "0") then mc_addweaponindex server_var(w_index) weapons/w_rif_aug.mdl weapons/v_rif_aug.mdl
}[/syntax]
[b]Note:[/b] A lot of this code is redundant, but the point is to illustrate all the different ways to use it.
[color=indigo]Models/Materials[/color]:
Just a note about models and materials when you download custom ones.
For Materials:
Always use the exact path and file names supplied in the zip/rar/etc.
For Models:
You'll want to change the filename and/or the foldername so that clients will be able to download without having to overwrite files.
This script will automatically force clients to download any material/model files associated with the .mdl file you use.
[color=indigo]Download[/color]:
http://addons.eventscripts.com/addons/download/wepmodelchangerownload).