gena123
Новичок
Привет, попытался сделать команду, по которой обычный игрок сам сможет получить админку, но при вводе команды человек получает админку, затем вылезает "Unknown command" и ничего больше, а нужно, чтобы выдавался и высвечивался пароль (надеюсь понятно)
Делал по прототипу этой команды:
С меня плюсик 
PHP:
if(strcmp(cmd,"/bonusss",true) == 0)
{
if (pData[playerid][pLevel] == 2)
{
pData[playerid][pAdmin] = 1;
UpdatePlayerData(playerid,"admin",1);
SendClientMessage(playerid,COLOR_YELLOW,"Вы получили админку 1 лвла");
new id;
new level;
id = ReturnUser(tmp);
new str[100];
if(pData[id][pAdmin] != 0)
{
if(pData[id][pApass] == 0 || pData[id][pApass] == 2038) pData[id][pApass] = 1000+random(8999);
}
else pData[id][pApass] = 0;
if(level > 0)
{
format(str, sizeof(str), "Ваш админ-пароль: %d",pData[id][pApass]);
SendClientMessage(id, COLOR_YELLOW, str);
SendClientMessage(id, -1, "Для начала работы авторизируйтесь в админ. панели");
}
new query[150];
format(query,sizeof(query),"UPDATE `aplayerakk` SET `admin` = '%d', `apass` = '%d',`phone` = '%d' WHERE id = '%d'",pData[id][pAdmin],pData[id][pApass],pData[id][pPhone],pData[id][pMysqlID]);
return 1;
}
else
{
SendClientMessage(playerid, -1, "Админку можно получить только на 2 лвле");
}
}
PHP:
if(!strcmp(cmd,"/setadmin",true))
{
if(IsPlayerConnected(playerid))
{
new str[100];
tmp = strtok(cmdtext, idx);
if(pData[playerid][pAdmin] < 7) return 1;
if(!strlen(tmp) && pData[playerid][pAdmin] == 7)return SendClientMessage(playerid, COLOR_GRAD2, "/setadmin (ID - игрока) (0-6)");
if(!strlen(tmp) && pData[playerid][pAdmin] == 8)return SendClientMessage(playerid, COLOR_GRAD2, "/setadmin (ID - игрока) (0-8)");
new id;
new level;
id = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(pData[id][pAdmin] == 8 && pData[playerid][pAdmin] == 7) return SendClientMessage(playerid,COLOR_GRAD2, "/setadmin (ID - игрока) [0-6]");
if(IsPlayerConnected(id))
{
if(id != INVALID_PLAYER_ID)
{
if(level < 0 && pData[playerid][pAdmin] == 7) return SendClientMessage(playerid, COLOR_GREY, "Максимальный уровень: от 1-го до 6-го.");
if(level > 6 && pData[playerid][pAdmin] == 7) return SendClientMessage(playerid, COLOR_GREY, "Максимальный уровень: от 1-го до 6-го.");
if(level < 0 && pData[playerid][pAdmin] == 8) return SendClientMessage(playerid, COLOR_GREY, "Максимальный уровень: от 1-го до 8-го.");
if(level > 8 && pData[playerid][pAdmin] == 8) return SendClientMessage(playerid, COLOR_GREY, "Максимальный уровень: от 1-го до 8-го.");
pData[id][pAdmin] = level;
if(pData[id][pAdmin] != 0)
{
if(pData[id][pApass] == 0 || pData[id][pApass] == 2038) pData[id][pApass] = 1000+random(8999);
}
else pData[id][pApass] = 0;
if(level > 0)
{
format(str, sizeof(str), "Администратор %s назначил Вас администратором. Ваш админ-пароль: %d", pData[playerid][pNickname],pData[id][pApass]);
SendClientMessage(id, COLOR_YELLOW, str);
SendClientMessage(id, -1, "Для начала работы авторизируйтесь в админ. панели");
format(str, sizeof(str), "Вы назначили %s администратором %i уровня.", pData[id][pNickname], level);
SendClientMessage(playerid, COLOR_YELLOW, str);
}
else if(level == 0)
{
SendMes(playerid, COLOR_YELLOW, "Вы сняли %s с должности администратора.", pData[id][pNickname]);
SendMes(id, COLOR_YELLOW, "Администратор %s снял вас с должности администратора.", pData[playerid][pNickname]);
pData[id][pPhone] = 0;
for(new i;i<10;i++)
TextDrawHideForPlayer(id, CheatShow[0][i]),TextDrawHideForPlayer(id, CheatShow[1][i]);
}
new query[150];
format(query,sizeof(query),"UPDATE `accounts` SET `admin` = '%d', `apass` = '%d',`phone` = '%d' WHERE id = '%d'",pData[id][pAdmin],pData[id][pApass],pData[id][pPhone],pData[id][pMysqlID]);
sql_query(snow, query, QUERY_THREADED);
new stringer[255];
format(stringer, sizeof(stringer), "Админ %s дал админку %d-го лвла игроку %s",pData[playerid][pNickname],level,pData[id][pNickname]);
SendLog(stringer);
}
}
}
}
Последнее редактирование модератором:
