Thanks for that, it's stopped the crashes.
However, for some reason my code isn't actually changing the players model.
Code:
PrintToChatAll("Start Class Check");
if (TF2_GetPlayerClass(target) == TF2_GetClass("scout"))
{
SetEntityModel(target, "models/player/hwm/scout.mdl");
PrintToChatAll("done");
}else{
if (TF2_GetPlayerClass(target) == TF2_GetClass("soldier"))
{
SetEntityModel(target, "models/player/hwm/soldier.mdl");
PrintToChatAll("done");
}else{
if (TF2_GetPlayerClass(target) == TF2_GetClass("pyro"))
{
SetEntityModel(target, "models/player/hwm/pyro.mdl");
PrintToChatAll("done");
}else{
if (TF2_GetPlayerClass(target) == TF2_GetClass("heavy"))
{
SetEntityModel(target, "models/player/hwm/heavy.mdl");
PrintToChatAll("done");
}else{
if (TF2_GetPlayerClass(target) == TF2_GetClass("engineer"))
{
SetEntityModel(target, "models/player/hwm/engineer.mdl");
PrintToChatAll("done");
}else{
if (TF2_GetPlayerClass(target) == TF2_GetClass("demoman"))
{
SetEntityModel(target, "models/player/hwm/pyro.mdl");
PrintToChatAll("done");
}else{
if (TF2_GetPlayerClass(target) == TF2_GetClass("spy"))
{
SetEntityModel(target, "models/player/hwm/spy.mdl");
PrintToChatAll("done");
}else{
if (TF2_GetPlayerClass(target) == TF2_GetClass("medic"))
{
SetEntityModel(target, "models/player/hwm/medic.mdl");
PrintToChatAll("done");
}else{
if (TF2_GetPlayerClass(target) == TF2_GetClass("sniper"))
{
SetEntityModel(target, "models/player/hwm/sniper.mdl");
PrintToChatAll("done");
}else{
PrintToChatAll("Class Not Found, No Model Set");
}
}
}
}
}
}
}
}
}
The output I get is
Start Class Check
Done
I placed the Precashing in the OnMapStart() method