PDA

Просмотр полной версии : [Вопрос] Не рандомит скины при регистрации



ADE
28.02.2015, 16:52
Карочи не выдает скин. Я сделал массив, где хранятся ID скинов, далее рандомлю их (логирование показало, что оно работает) а скин не выдается. Вроде бы все правильно сделал :с



new SetPlayerSkinMen[10] = {78, 79, 133, 134, 135, 136, 137, 200, 212, 230};
new SetPlayerSkinWomen[6] = {77, 129, 130, 131, 196, 197};

if(response)
{
pInfo[playerid][pSex] = 1; // мужчина
new skin = random(sizeof(SetPlayerSkinMen));
SetPlayerSkin(playerid,SetPlayerSkinMen[skin]);
}
if(!response)
{
pInfo[playerid][pSex] = 2; // женщина
new skin = random(sizeof(SetPlayerSkinWomen));
SetPlayerSkin(playerid,SetPlayerSkinWomen[skin]);
}
pInfo[playerid][pSkin] = GetPlayerSkin(playerid);
//SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
printf("%i",pInfo[playerid][pSkin]);
SpawnPlayer(playerid);
OnPlayerRegister(playerid);

Mazzilla
28.02.2015, 17:08
new SetPlayerSkinMen[] = {78, 79, 133, 134, 135, 136, 137, 200, 212, 230};
new SetPlayerSkinWomen[] = {77, 129, 130, 131, 196, 197};

if(response)
{
pInfo[playerid][pSex] = 1; // мужчина
new skin = random(sizeof(SetPlayerSkinMen));
SetPlayerSkin(playerid,SetPlayerSkinMen[skin]);
}
else
{
pInfo[playerid][pSex] = 2; // женщина
new skin = random(sizeof(SetPlayerSkinWomen));
SetPlayerSkin(playerid,SetPlayerSkinWomen[skin]);
}
pInfo[playerid][pSkin] = GetPlayerSkin(playerid);
//SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
printf("%i",pInfo[playerid][pSkin]);
SpawnPlayer(playerid);
OnPlayerRegister(playerid);
Так пробуйте. И что у вас в лог выводит? 0?

ADE
28.02.2015, 18:04
new SetPlayerSkinMen[] = {78, 79, 133, 134, 135, 136, 137, 200, 212, 230};
new SetPlayerSkinWomen[] = {77, 129, 130, 131, 196, 197};

if(response)
{
pInfo[playerid][pSex] = 1; // мужчина
new skin = random(sizeof(SetPlayerSkinMen));
SetPlayerSkin(playerid,SetPlayerSkinMen[skin]);
}
else
{
pInfo[playerid][pSex] = 2; // женщина
new skin = random(sizeof(SetPlayerSkinWomen));
SetPlayerSkin(playerid,SetPlayerSkinWomen[skin]);
}
pInfo[playerid][pSkin] = GetPlayerSkin(playerid);
//SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
printf("%i",pInfo[playerid][pSkin]);
SpawnPlayer(playerid);
OnPlayerRegister(playerid);
Так пробуйте. И что у вас в лог выводит? 0?

Неа, не помогло. Но в логах все хорошо, id выводит. Может я как то не так выдаю скин? :D

Mazzilla
28.02.2015, 18:13
В OnPlayerSpawn значит он меняется.

ADE
28.02.2015, 18:31
В OnPlayerSpawn значит он меняется.

Разве что выдает скин еще раз, думаешь проблема в этом?

else
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1202.8914,-1759.4736,13.5867);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
SetPlayerColor(playerid, COLOR_WHITE);
}

XakeP
28.02.2015, 18:58
В OnPlayerRegister давай глянем

ADE
28.02.2015, 20:00
В OnPlayerRegister давай глянем

Ничего интересного :с


stock OnPlayerRegister(playerid)
{
new sqlname[MAX_PLAYER_NAME], day, month, year;
GetPlayerName(playerid, sqlname, 24);
getdate(year, month, day);
new bnum = 99999+random(999999)+playerid * 2;
format(query, sizeof(query), "INSERT INTO `"T_ACCOUNT"` (`Name`, `Key`, `Sex`, `Email`, `Ban`, `Member`, `Leader`, `Char`, `Rank`, `Health`, `Armor`, `Jail`, `JailTime`, `BankNumber`) VALUE ('%s', '%s', %i, '%s', %i, %i, %i, %d, %i, %f, %f, %i, %d, %d)",
sqlname, pInfo[playerid][pKey], pInfo[playerid][pSex], pInfo[playerid][pEmail], pInfo[playerid][pBan], pInfo[playerid][pMember], pInfo[playerid][pLeader], pInfo[playerid][pChar], pInfo[playerid][pRank], pInfo[playerid][pHealth], pInfo[playerid][pArmor], pInfo[playerid][pJail], pInfo[playerid][pJailTime], bnum);
mysql_query(query);
SetPVarInt(playerid, "Logged", 1);
OnPlayerLogin(playerid, pInfo[playerid][pKey]);
return true;
}