Переключение текстдрава при выборе скина
Есть текстдравы переключение между скинами при регистрации. Очень странная ситуация, при выборе мужского пола, переключение скинов работает нормально, но при выборе женского пола при переключение на предыдущие скины, как бы скины меняются на те, которых вообще нет в массиве.
Как это выглядет в игре
Код реализации
PHP код:
// В настройках (отдельный инклюд)
#define PLAYER_MODELS_MALE 2, 3, 4, 5, 6, 7
#define PLAYER_MODELS_FEMALE 12, 13, 40, 41, 55
// В переменных
new const player_models[2][] =
{
{PLAYER_MODELS_MALE, -1},
{PLAYER_MODELS_FEMALE, -1}
};
// OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
if(playertextid == PTD_join[playerid][5] ||
playertextid == PTD_join[playerid][6])
{
new model_picker =
((playertextid == PTD_join[playerid][6]) ? (1) : (-1)) +
GetPVarInt(playerid, "model_picker");
if(model_picker == -1)
{
while(player_models[player[playerid][player_gender]][model_picker]
!= -1)
{
model_picker++;
}
model_picker--;
}
else if(player_models[player[playerid][player_gender]][model_picker]
== -1)
{
model_picker = 0;
}
PlayerTextDrawSetPreviewModel(playerid, PTD_join[playerid][4],
(player[playerid][player_model] =
player_models[player[playerid][player_gender]][model_picker]));
PlayerTextDrawShow(playerid, PTD_join[playerid][4]);
SetPVarInt(playerid, "model_picker", model_picker);
return 1;
}
// Выбор пола
player[playerid][player_gender] = response;
PlayerTextDrawSetString(playerid, PTD_join[playerid][0],
(!response) ? ("Мужской") : ("Женский"));
PlayerTextDrawShow(playerid, PTD_join[playerid][0]);
PlayerTextDrawSetPreviewModel(playerid, PTD_join[playerid][4],
(player[playerid][player_model] = player_models[response][0]));
PlayerTextDrawShow(playerid, PTD_join[playerid][4]);
SetPVarInt(playerid, "model_picker", 0);
printf("Gender: %d", player[playerid][player_gender]);
return 1;