Fix a crash after cs_set_user_model is used with model_index set.

This commit is contained in:
Arkshine 2016-04-07 20:27:27 +02:00
parent fdebeab612
commit 253dec94d1

View File

@ -897,16 +897,16 @@ static cell AMX_NATIVE_CALL cs_set_user_model(AMX *amx, cell *params)
GET_OFFSET("CBasePlayer", m_modelIndexPlayer); GET_OFFSET("CBasePlayer", m_modelIndexPlayer);
char model[260]; char modelpath[260];
ke::SafeSprintf(model, sizeof(model), "models/player/%s/%s.mdl", newModel, newModel); ke::SafeSprintf(modelpath, sizeof(modelpath), "models/player/%s/%s.mdl", newModel, newModel);
for (size_t i = 0; i < HL_MODEL_MAX; ++i) for (size_t i = 0; i < HL_MODEL_MAX; ++i)
{ {
if (Server->model_precache[i] && !strcmp(Server->model_precache[i], model)) if (Server->model_precache[i] && !strcmp(Server->model_precache[i], modelpath))
{ {
if (pPlayer->v.modelindex != i) if (pPlayer->v.modelindex != i)
{ {
SET_MODEL(pPlayer, model); SET_MODEL(pPlayer, STRING(ALLOC_STRING(modelpath)));
} }
set_pdata<int>(pPlayer, m_modelIndexPlayer, i); set_pdata<int>(pPlayer, m_modelIndexPlayer, i);