First of all, your code. It's not "beutieful", eg. you include cstrike, but not even use it. You make a string called CTMODEL, but yet you only use it twice. You could actually take full advantage and use it in every function. + Only the .mdl file has to be downloaded.
2nd of. The error box isn't because of the script, it's because the model is outdated (it's broken :/).
PHP Code:
#include <sourcemod>
#include <sdktools>
#define CTMODEL "models/player/custom_player/voikanaa/mw2/shadowcompany.mdl"
public void OnPluginStart()
{
HookEvent("player_spawn", Event_PlayerSpawn);
}
public void OnMapStart()
{
PrecacheModel(CTMODEL);
AddFileToDownloadsTable(CTMODEL);
}
public Action Event_PlayerSpawn(Event hEvent, const char[] sName, bool bDontBroadcast)
{
int iClient = GetClientOfUserId(hEvent.GetInt("userid"));
SetEntityModel(iClient, CTMODEL);
}