Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Вопрос] Баг с /ban

Статус
В этой теме нельзя размещать новые ответы.

Robert_Deniro

Ученик
Когда ввожу /ban, написано в чат что был забанен, а на самом деле - нет. Я просто могу пере зайти и все - бана как и не было.
PHP:
if(strcmp(cmd, "/ban", true) == 0)
 {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
     SendMe(playerid, COLOR_ISPOLZUY, "OG: /ban [id] [Количество дней] [Причина]");
     return 1;
    }
    giveplayerid = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
     SendMe(playerid, COLOR_ISPOLZUY, "OG: /ban [id] [Количество дней] [Причина]");
     return 1;
    }
    if(PlayerInfo[playerid][pAdmin]<PlayerInfo[playerid][pAdmin])
    {
    SendMe(playerid, COLOR_RED, "Вы не можете забанить администратора, выше вас");
    return 1;
    }
    new days = strval(tmp);
    new length = strlen(cmdtext);
						while ((idx < length) && (cmdtext[idx] <= ' '))
						{
							idx++;
						}
						new offset = idx;
						new result[64];
						//new banstring[64];
						while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
						{
							result[idx - offset] = cmdtext[idx];
							idx++;
						}
						result[idx - offset] = EOS;
						if(!strlen(result))
						{
							SendMe(playerid, COLOR_GRAD2, "OG: /ban [id] [Количество дней] [Причина]");
							return 1;
						}
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
        if(IsPlayerConnected(giveplayerid))
        {
	 if(days < 1 || days > 999)
	 {
	 SendMe(playerid, COLOR_RED, "Количество дней может быть не меньше 1, не больше 999");
	 return 1;
	 }
     new curdate = getdate();
     GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
     GetPlayerName(playerid, sendername, sizeof(sendername));
     new hour,minute,second,year,month,day;
     gettime(hour,minute,second);
     getdate(year,month,day);
     format(string, sizeof(string), "<tr><td>%d</td><td>%s</td><td>%d-%d-%d %d:%d:%d</td><td>%d</td><td>%s</td><td>%s</td></tr>",idbana, giveplayer,year,day,month,hour,minute,second, days,sendername,(result));
	 BanLog(string);
	 idbana++;
	 new playerip[16];
	 GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
	 format(string,sizeof(string),"/rcon banip %d",playerip);
	 SendRconCommand(string);
     PlayerInfo[giveplayerid][pBan] = 1;
     PlayerInfo[giveplayerid][pBanTime] = curdate+days;
     PlayerInfo[giveplayerid][pBanData] = curdate;
     format(string, sizeof(string), "%s забанен администратором %s, Причина: %s", giveplayer, sendername , (result));
	 SendMeToAll(COLOR_LIGHTRED, string);
	 SendMe(giveplayerid,0xdb6e47aa,"Сделайте скриншот (F8), если хотите разбаниться ");
	 ShowPlayerDialog(giveplayerid,8890,DIALOG_STYLE_MSGBOX,"- Блокировка Аккаунта -",coordsstring1,"Выход","");
     Kick(giveplayerid);
     SaveStuff();
        }
    }
    return 1;
 }
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу