PDA

Просмотр полной версии : [Вопрос] Проблема в команде uval



ALIT13
22.01.2016, 22:29
Проблема в команде когда пишу /uval то мне даётся скин CJ

CMD:uval(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 5) return true;
if(sscanf(params, "d",params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Ââåäèòå: /uval [id]");
if(!IsPlayerConnected(params[0])) return true;
if(IsPlayerInAnyVehicle(params[0])) return SendClientMessage(playerid,COLOR_WHITE,"Èãðîê â ìàøèíå");
if(PlayerInfo[params[0]][pMember] == 0) return SendClientMessage(playerid,COLOR_WHITE,"Èãðîê íå ñîñòîèò â îðãàíèçàöèè!");
format(YCMDstr, sizeof(YCMDstr), "%s âûãíàë âàñ èç îðãàíèçàöèè",GN(playerid));
SendClientMessage(params[0], 0x6495EDFF, YCMDstr);
format(YCMDstr, sizeof(YCMDstr), "Âû âûãíàëè %s èç îðãàíèçàöèè",GN(playerid));
SendClientMessage(playerid, 0x6495EDFF, YCMDstr);
SendClientMessage(params[0], 0x6495EDFF, "Òåïåðü âû ñíîâà ãðàæäàíñêèé");
PlayerInfo[params[0]][pMember] = 0;
PlayerInfo[params[0]][pSkin] = 0;
PlayerInfo[params[0]][pRank] = 0;
SetPlayerArmour(params[0],0);
ResetPlayerWeapons(params[0]);
SetPlayerColor(params[0], 0xFFFFFF00);
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
return true;
}

Почему ?

Роуди.
22.01.2016, 22:33
PlayerInfo[params[0]][pSkin] = 0;
Возможно до Вас дойдет :)

ALIT13
22.01.2016, 22:36
PlayerInfo[params[0]][pSkin] = 0;
Возможно до Вас дойдет :)

как сделать чтоб скин возвращался ? который был

Роуди.
22.01.2016, 22:38
как сделать чтоб скин возвращался ? который был

При инвайте игрока в организацию записать его скин в переменную.

VVWVV
22.01.2016, 22:41
Очень распространённая ошибка, возникающая из-за невнимательности самого программиста. Ошибка заключается в том, что вы обнуляете значения в массиве. Это может происходит где угодно, например, при сохранении, либо же как у вас в коде самой команды:

PlayerInfo[params[0]][pSkin] = 0;

Также очень сомнительной считаю операцию присвоения скина игроку, например, вот:

SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);

Зачем вы выдаёте скин отправителю команды, если пытаетесь восстановить скин другого игрока?

Роуди.
22.01.2016, 22:45
Очень распространённая ошибка, возникающая из-за невнимательности самого программиста. Ошибка заключается в том, что вы обнуляете значения в массиве. Это может происходит где угодно, например, при сохранении, либо же как у вас в коде самой команды:

PlayerInfo[params[0]][pSkin] = 0;

Также очень сомнительной считаю операцию присвоения скина игроку, например, вот:

SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);

Зачем вы выдаёте скин отправителю команды, если пытаетесь восстановить скин другого игрока?

Зачем досконально описывать все, если было достаточно указать ТС на строку с ошибкой.

VVWVV
22.01.2016, 22:57
Зачем досконально описывать все, если было достаточно указать ТС на строку с ошибкой.

К примеру, он захочет протестировать на друге, однако у него ничего не выйдет, и он снова пойдёт писать новую тему сюда.

Kurbanoff
23.01.2016, 14:33
Убери


PlayerInfo[params[0]][pSkin] = 0;




SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);

замени на


SetPlayerSkin(params[0], PlayerInfo[playerid][pSkin]);



CMD:uval(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 5) return true;
if(sscanf(params, "d",params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Ââåäèòå: /uval [id]");
if(!IsPlayerConnected(params[0])) return true;
if(IsPlayerInAnyVehicle(params[0])) return SendClientMessage(playerid,COLOR_WHITE,"Èãðîê â ìàøèíå");
if(PlayerInfo[params[0]][pMember] == 0) return SendClientMessage(playerid,COLOR_WHITE,"Èãðîê íå ñîñòîèò â îðãàíèçàöèè!");
format(YCMDstr, sizeof(YCMDstr), "%s âûãíàë âàñ èç îðãàíèçàöèè",GN(playerid));
SendClientMessage(params[0], 0x6495EDFF, YCMDstr);
format(YCMDstr, sizeof(YCMDstr), "Âû âûãíàëè %s èç îðãàíèçàöèè",GN(playerid));
SendClientMessage(playerid, 0x6495EDFF, YCMDstr);
SendClientMessage(params[0], 0x6495EDFF, "Òåïåðü âû ñíîâà ãðàæäàíñêèé");
PlayerInfo[params[0]][pMember] = 0;
// PlayerInfo[params[0]][pSkin] = 0;
PlayerInfo[params[0]][pRank] = 0;
SetPlayerArmour(params[0],0);
ResetPlayerWeapons(params[0]);
SetPlayerColor(params[0], 0xFFFFFF00);
SetPlayerSkin(params[0], PlayerInfo[playerid][pSkin]);
return true;
}