pWeapon->SetModelIndex(I::ModelInfo->GetModelIndex(MODEL_FLIP));
Тебе не достаточно будет менять modelindex только в viewmodel у игрока, нужно ещё менять и у самого оружия
Ps у тебя там ещё вроде как ошибка
if (WorldModel)
PWEAPON->MODELINDEX() = MODELINDEX + 1;
Должно быть наверное WorldModel->ModelIndex() = ModelIndex + 1;