PDA

Просмотр полной версии : [Вопрос] /setleader



Tony_Rich
13.04.2015, 17:27
Привет ! у меня такая проблема, когда я дою лидирку мне даётся скин id 186
А когда я снимаю с себя лидирку то скин не меняется на старый а остаётся скин лидира !

Tony_Rich
14.04.2015, 11:53
Up UP UP....

gangzone.ini
14.04.2015, 20:09
Ставь значение скина фракции на 0

Desulaid
14.04.2015, 20:14
Было бы проще, если лицезреть команду

Tony_Rich
15.04.2015, 15:14
Было бы проще, если лицезреть команду


if(strcmp(cmd, "/setleader", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, -1, "/makeleader [ID Игрока] [ID Организации]");
return 1;
}
new para1;
new level;
new giveplayer[MAX_PLAYER_NAME];
new string[256];
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(level > 26 || level < 0) { SCM(playerid, -1, "{ffffff}ID фракции от 1 до 26"); return 1; }
if (PlayerInfo[playerid][pAdmin] >= 4)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new otext[50];
if(level == 0)
{
SetPlayerSkin(para1, PlayerInfo[para1][pSkin]);
PlayerInfo[para1][pRang] = 0;
PlayerInfo[para1][pMember] = 0;
PlayerInfo[para1][pLeader] = 0;
format(string, sizeof string, "{F28518}%s[ID %d] вы уволины из оргонизации", giveplayer ,otext);
SCM(para1, -1, string);
return 1;
}
else if(level == 1) { PlayerInfo[para1][pSkin] = 186; otext = "Администрация презедента"; PlayerInfo[para1][pRang] = 10; } //Adm.prez
PlayerInfo[para1][pLeader] = level;
PlayerInfo[para1][pMember] = level;
// format(string, sizeof(string), "{F28518}Вы назначили %s лидером %s.", giveplayer,otext);
SCM(playerid, -1, string);
format(string, sizeof(string), "{2577E1}Администратор %s, назначил(а) вас контролировать организацию «%s».",sendername ,otext);
SCM(para1, -1, string);
format(string, sizeof(string), "{ffffff}Вам доступна команда {228B22}/fuluval {ffffff}и команда {FA901E}/gosnov {ffffff}поздровляем!",sendername ,otext);
SCM(para1, -1, string);
format(string, sizeof(string), "{9DD548}Тепрь администратор сменит вам внешность и даст первые указания.",sendername ,otext);
SCM(para1, -1, string);
SetPlayerSkin(para1, PlayerInfo[para1][pSkin]);
}
}//not connected
}
else
{
SCM(playerid, -1, "{E47F2C}Команду могут использовать тока с 4 уровня администрации !");
if(GetLeader(level)) return SendClientMessage(playerid,COLOR_WHITE,"Лидер этой фракции уже есть!");
if(PlayerInfo[para1][pLeader]!=0) SetLeader(INVALID_PLAYER_ID,PlayerInfo[para1][pLeader]);
}
}
return 1;
}

- - - Добавлено - - -


Было бы проще, если лицезреть команду


if(strcmp(cmd, "/setleader", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, -1, "/makeleader [ID Игрока] [ID Организации]");
return 1;
}
new para1;
new level;
new giveplayer[MAX_PLAYER_NAME];
new string[256];
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(level > 26 || level < 0) { SCM(playerid, -1, "{ffffff}ID фракции от 1 до 26"); return 1; }
if (PlayerInfo[playerid][pAdmin] >= 4)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new otext[50];
if(level == 0)
{
SetPlayerSkin(para1, PlayerInfo[para1][pSkin]);
PlayerInfo[para1][pRang] = 0;
PlayerInfo[para1][pMember] = 0;
PlayerInfo[para1][pLeader] = 0;
format(string, sizeof string, "{F28518}%s[ID %d] вы уволины из оргонизации", giveplayer ,otext);
SCM(para1, -1, string);
return 1;
}
else if(level == 1) { PlayerInfo[para1][pSkin] = 186; otext = "Администрация презедента"; PlayerInfo[para1][pRang] = 10; } //Adm.prez
PlayerInfo[para1][pLeader] = level;
PlayerInfo[para1][pMember] = level;
// format(string, sizeof(string), "{F28518}Вы назначили %s лидером %s.", giveplayer,otext);
SCM(playerid, -1, string);
format(string, sizeof(string), "{2577E1}Администратор %s, назначил(а) вас контролировать организацию «%s».",sendername ,otext);
SCM(para1, -1, string);
format(string, sizeof(string), "{ffffff}Вам доступна команда {228B22}/fuluval {ffffff}и команда {FA901E}/gosnov {ffffff}поздровляем!",sendername ,otext);
SCM(para1, -1, string);
format(string, sizeof(string), "{9DD548}Тепрь администратор сменит вам внешность и даст первые указания.",sendername ,otext);
SCM(para1, -1, string);
SetPlayerSkin(para1, PlayerInfo[para1][pSkin]);
}
}//not connected
}
else
{
SCM(playerid, -1, "{E47F2C}Команду могут использовать тока с 4 уровня администрации !");
if(GetLeader(level)) return SendClientMessage(playerid,COLOR_WHITE,"Лидер этой фракции уже есть!");
if(PlayerInfo[para1][pLeader]!=0) SetLeader(INVALID_PLAYER_ID,PlayerInfo[para1][pLeader]);
}
}
return 1;
}

Neshta
15.04.2015, 16:45
Ну а что ты хочешь, сохраняя скин в PlayerInfo[playerid][pSkin] при назначении и используя его же при увольнении?
Для хранения скина внутри фракции отдельно можешь в enum pInfo добавить переменную, а можешь при спавне игрока проверять фракцию и применять нужный скин (второй способ лучше).