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

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

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

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

sscanf /ban /warn - Ошибки

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

qrudik

Ученик
Вообщем в /warn - После 3 предупреждений не банит
PHP:
if(strcmp(cmd, "/warn", true) == 0)
    {
        if(Player[playerid][pAdmin] < 3) return send(playerid, 0xff0000ff, UnAdminMes);
        if(AdminDuty[playerid] == 0 && Player[playerid][pAdmin] != 9) return send(playerid, 0xff0000ff, UnAdminDuty);
        new days, ip[32], dates[16], unbandate, year, day, str[255],month;
        if(sscanf(params, "ds[64]", params[0], params[1]))return send(playerid, 0x33CCFFFF, "[КОМАНДЫ]{FFFFFF} /warn [Ид] [Причина]");
        if(!IsPlayerConnected(params[0])) return send(playerid, 0xff0000ff, NoConnectGivePlayer);
        Player[params[0]][pWarns] += 1;
        f(string, "Администратор %s дал предупреждение игроку %s, Причина: %s",  sendername(playerid), sendername(params[0]), params[1]);
        format(string,sizeof(string),"%s дал предупреждение игроку  %s Причина: %s.",sendername(playerid), sendername(params[0]), params[1]);
        WriteLog(string, "/logs/acmd/warn.log");
        SendClientMessageToAll(0xFF4500FF, string);
        SaveAccount(params[0]);
        if(Player[params[0]][pWarns] == 3)
        {
        Player[params[0]][pWarns] = 0;
        GetPlayerName(params[0], sendername(params[0]), 32);
        GetPlayerIp(params[0], ip, 32);
        unbandate = gettime() + days*86400;
        getdate(year, month, day);
        format(dates, 16, "%02d.%02d.%04d", day, month, year);
        f(string, "%s был забанен на 5 дней. Причина: 3 предупреждения.", sendername(params[0]));
        SendClientMessageToAll(0xFF4500FF, string);
        format(str, sizeof(str), "INSERT INTO bans (name, ip, bandate, time, unbandate, reason) VALUES ('%s', '%s', '%s', %d, %d, '%s')", sendername(params[0]), ip, dates, days, unbandate, params[1]);
        mysql_query(str);
        }
        return 1;
    }
/ban-Бан как бы кикает т.е банишь игрока,а он перезаходит и дальше играет
PHP:
if(!strcmp(cmd, "/ban", true))
	{
		if(Player[playerid][pAdmin] < 3) return send(playerid, 0xff0000ff, UnAdminMes);
		if(AdminDuty[playerid] == 0 && Player[playerid][pAdmin] != 9) return send(playerid, 0xff0000ff, UnAdminDuty);
		new ip[32], dates[16], unbandate, str[255], year, month, day;
		if(sscanf(params, "uds[64]", params[0], params[1], params[2])) return send(playerid,0x33CCFFFF,"[КОМАНДЫ]{FFFFFF} /ban [ID игрока] [Кол-во дней] [Причина]");
		if(!IsPlayerConnected(params[0]) || params[0] == INVALID_PLAYER_ID) return send(playerid, 0xFF0000AA, "{FFFF00}*Внимание*: {FFFFFF}данный игрок не в сети");
		if(params[1] > 60) return send(playerid, 0xff0000ff, ""vError" срок бана - не больше 60 дней!");
		GetPlayerIp(params[0], ip, 32);
		format(str, sizeof(str), "* %s(%d) забанен администрацией сервера. Срок бана в днях: %d. Причина: %s *", sendername(params[0]), params[0], params[1], params[2]);
		SendClientMessageToAll(0xFFFF00AA, str);
		unbandate = gettime() + params[1]*86400;
		getdate(year, month, day);
		format(dates, 16, "%02d.%02d.%04d", day, month, year);
		format(str, sizeof(str), "INSERT INTO bans (name, ip, bandate, time, unbandate, reason) VALUES ('%s', '%s', '%s', %d, %d, '%s')", sendername(params[0]), ip, dates, params[1], unbandate, params[2]);
		mysql_query(str);
		SetTimerEx("KickFix",1000,0,"i",params[0]);
		return 1;
	}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу