Soprano
Новичок
При вводе команды /ban либо /kick пишет: You are not an admin
Помогите!Как исправить
Помогите!Как исправить
PHP:
if(strcmp(cmd, "/ban", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 6)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /ban [id] [причина]");
if(dostup[playerid] != 1) return ShowPlayerDialog(playerid,2934,DIALOG_STYLE_INPUT, "Админ авторизация", "Введите пароль\n\nПароль должен состоять из латинских букв и цифр\n размером от 6 до 15 символов", "Вход", "Отмена");
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pAdmin] > 0) return SendClientMessage(playerid, COLOR_GREY, "Администратор не может быть забанен!");
new ip[15];
GetPlayerIp(giveplayerid,ip,15);
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new year1, month1, day1, hour1, minute1, second1;
getdate(year1, month1, day1);
gettime(hour1, minute1, second1);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /ban [id] [причина]");
new year, month,day;
new hour, minute, second;
getdate(year, month, day);
gettime(hour, minute, second);
PlayerInfo[giveplayerid][pLocked] = 1;
format(string, sizeof(string), "Администратор: %s забанил %s. Причина: %s", sendername, giveplayer, (result));
SendClientMessageToAll(COLOR_LIGHTRED,string);
SendClientMessage(giveplayerid, COLOR_LIGHTRED, "Ваш аккаунт заблокирован. Подайте заявку на разблокировку на сайте: Samp-Rp.Ru");
SendClientMessage(giveplayerid, COLOR_WHITE, "Для выхода из игры используйте /q(uit)");
GetPlayerIp(giveplayerid,ip,sizeof(ip));
format(string, sizeof(string), "%s.ini",giveplayer);
new file = ini_openFile(string);
if(file < 0) print("нет файла");
else
{
ini_getString(file, "pIp",string);
ini_getString(file, "pIpReg",string);
printf("Найдено: %s, началось чтение файла с этим именем",string);
ini_closeFile(file);
format(string, sizeof(string), "Ник: [%s] | IP: [%s] | R: [IP: %s] | L: [IP: %s]",giveplayer,ip,string,string);
ABroadCast(COLOR_LIGHTRED, string, 1);
PlayerInfo[giveplayerid][pLocked] = 1;
Kick(giveplayerid);
}
return true;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Игрок не найден");
}
}
return true;
}
PHP:
else if(strcmp(cmd, "/kick", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /kick [id] [причина]");
if(dostup[playerid] != 1) return ShowPlayerDialog(playerid,2934,DIALOG_STYLE_INPUT, "Админ авторизация", "Введите пароль\n\nПароль должен состоять из латинских букв и цифр\n размером от 6 до 15 символов", "Вход", "Отмена");
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pAdmin] > 0) return SendClientMessage(playerid, COLOR_GREY, "Администратор не может быть кикнут!");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /kick [id] [reason]");
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "Администратор: %s кикнул %s. Причина: %s", sendername,giveplayer, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
Kick(giveplayerid);
return true;
}
}
}
return true;
}
Последнее редактирование:
