Question

Всем привет! 

 

Суть проблемы такова что при выдаче бана игроку не обновляется дата и  месяц разблокирования игрока.

 

На первом скрине - Показана дата и время в правом верхнем угла, в окне с баном показана информация о блокировки аккаунта. 

На втором скрине - Показана с информацией о блокировки аккаунта. На дату разблокировки смотрите!

 

Суть проблемы на изображениях: *Кликабельно*

 

Спойлер

CMD:ban(playerid, params[])
{
    if(GetAdmin(playerid) >= 4)
    {
        if(!AdminLogin[playerid]) return SEM(playerid, AdminLoginOff);
		else if(sscanf(params, "ddS()[32]", params[0], params[1], params[2])) return SEM(playerid, "Введите: /ban [id игрока] [кол-во дней] [причина]");
		else if(!IsPlayerConnected(params[0])) return SEM(playerid, PlayerOff);
		else if(!PlayerLogin[params[0]]) return SEM(playerid, PlayerLoginOff);
		else if(!(1 <= params[1] <= 30)) return SEM(playerid, "Количество дней от 1 до 30!");
		{
		    if(GetFrac(params[0])) LeaveFracPlayer(params[0]);
		    format(stringer, sizeof(stringer), "Администратор %s заблокировал аккаунт игроку %s на %d дней. Причина: %s", GetName(playerid), 	 GetName(params[0]), params[1], params[2]);
			SCMTA(COLOR_RED, stringer);

			format(stringer, sizeof(stringer),
			"\
			{FF9900}  Ваш акаунт был заблокирован администрацией сервера!\n\
			{FFFFFF}_______________________________________________________\n\n\
			{FFFFFF}Имя игрока:\t\t\t\t\t"SERVER_COLOR"%s\n\
			{FFFFFF}Ник администратора:\t\t\t\t"SERVER_COLOR"%s\n\
			{FFFFFF}Причина блокировки:\t\t\t"SERVER_COLOR"%s\n\
			{FFFFFF}Время блокировки:\t\t\t\t"SERVER_COLOR"%d дней.\n\
			{FFFFFF}_______________________________________________________",
			GetName(params[0]), GetName(playerid), params[2], params[1]);
			SPD(params[0], dNull, d_info, "Вы получили блокировку акаунта!", stringer, "Закрыть", "");
		}
  		new Data[24], UnBanData[24];
		new year, month, day;
		getdate(year, month, day);
		format(Data, sizeof(Data), "%02d %s %04d г.", day, month_name[month-1], year);
		format(UnBanData, sizeof(UnBanData), "%02d %s %04d г.", day+params[1], month_name[month-1], year);
		mysql_query_string[0] = EOS;
		format(mysql_query_string, sizeof(mysql_query_string), "INSERT INTO "T_BANS" (Name,Admin,Data,TimeBan,UnBan,Respon) VALUES 	('%s','%s','%s',%d,'%s','%s')", GetName(params[0]), GetName(playerid), Data, params[1], UnBanData, params[2]);
		mysql_tquery(mysql, mysql_query_string, "", "");
		return Tkick(params[0]);
	}
	return true;
}

 

 

Edited by Andrei_Morozov
Причина: Поправления!

Share this post


Link to post

4 answers to this question

  • 0

@Andrei_Morozov В БД (база данных) тоже никаких изменений нет? 

Share this post


Link to post
  • 0
2 часа назад, DEST сказал:

@Andrei_Morozov В БД (база данных) тоже никаких изменений нет? 

В БД запись тоже самая что и на скринах!

 

Share this post


Link to post
  • 0

скидывай сам диалог а не команду

Share this post


Link to post
  • 0
16 часов назад, MuhammadPawn сказал:

скидывай сам диалог а не команду

 

Вот!

Спойлер

		new hour, minuite, second, year, month, day;
		gettime(hour, minuite, second);
		getdate(year, month, day);

		new ban_string[750], Name[24], Data[24], Respon[24], TimeBan[4], Admin[24], UnBan[24];
	    cache_get_row(0, 0, Name, MAX_PLAYER_NAME); // Имя кого заблокировали
	    cache_get_row(0, 1, Admin, MAX_PLAYER_NAME); // Администратора который заблокировал
	    cache_get_row(0, 2, Data, 24); // Дата блокировки
     	cache_get_row(0, 3, TimeBan, 4); // Время блокировки
     	cache_get_row(0, 4, UnBan, 24); // Дата разблокировки
	    cache_get_row(0, 5, Respon, 24); // Причина блокировки
		format(ban_string, sizeof(ban_string), "\
		\t\t\t{FF0000}Ваш аккаунт заблокирован!{FFFFFF}\n\
  		_______________________________________________________________\n\n\
		"SERVER_COLOR"Имя игрового персонажа:{FFFFFF}\t\t\t\t%s\n\
		"SERVER_COLOR"Вас заблокировал администратор:{FFFFFF}\t\t\t%s\n\
		"SERVER_COLOR"Причина блокировки:{FFFFFF}\t\t\t\t%s\n\
		"SERVER_COLOR"Время блокировки:{FFFFFF}\t\t\t\t\t%s д.\n\
		"SERVER_COLOR"Дата блокировки:{FFFFFF}\t\t\t\t\t%s\n\
		"SERVER_COLOR"Дата разблокировки:{FFFFFF}\t\t\t\t\t%s\n\
		_______________________________________________________________\n\n\
		"SERVER_COLOR"Дата:{FFFFFF}\t\t\t\t\t\t\t%02d %s %04d г.\n\
		"SERVER_COLOR"Время:{FFFFFF}\t\t\t\t\t\t\t%02d:%02d:%02d\n\n\
		Если Вы не согласны с решением администратора\n\
		обратитесь на форум: "SERVER_COLOR""SERVER_FORUM"{FFFFFF}, в раздел ''"SERVER_COLOR"Жалобы{FFFFFF}''.",
		Name, Admin, Respon, TimeBan, Data, UnBan, day, month_name[month-1], year, hour, minuite, second);
		SPD(playerid, dNull, d_info, " ", ban_string, "Принять!", "");
		return Tkick(playerid);

 

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • zerolora
      By zerolora
      Всем привет, помогите пожалуйста разобраться. Что за беда с командой. Младшие ранги могут банить основателей на раз-два. Хотя в команде вроде как есть защита FD
       
      CMD:ban(playerid, params[]) {     if(PI[playerid][pAdmin] < 3) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);     if(!ADuty{playerid}) return callcmd::apanel(playerid);     static id, days, reason[30];     if(sscanf(params, "uds[30]", id, days, reason)) return SCM(playerid, COLOR_RED, !"Используй: /ban [id] [days 1-30] [Причина]");     if(id == INVALID_PLAYER_ID) return 0;     if(GetString(PN(id), ""FULL_FD"") && !GetString(PN(id), ""FULL_FD2"")) return SCM(playerid, COLOR_RED, "Нельзя забанить создателя");     if(strlen(reason) > 30) return SCM(playerid, COLOR_RED, !"Не больше 30 символов!");     if(IsAIP(reason)) return 1;     if(CheckIsADomen(playerid, reason)) return 1;     if(!(1 <= days <= 30)) return SCM(playerid, COLOR_RED, !"Используй: /ban [id] [days 1-30] [Причина]");     if(id == playerid) return SCM(playerid, COLOR_GREY, !"Вы не можете выдать наказание самому себе!");     ASCMToAllf(COLOR_LIGHTRED, "Администратор %s[%i] забанил игрока %s[%i] на %i дней. Причина: %s", PN(playerid), playerid, PN(id), id, days, reason);     AntiReAction(playerid);     SPDf(id, 0, DIALOG_STYLE_MSGBOX, !"", !"Закрыть", !"", !"Вы получили бан аккаунта, если вы не согласны с решением Администратора, то напишите жалобу на форум, приложив данный скриншот.\n{2D8E35}%s", ServerCFG[server_forum]);     UpdatePlayerDataInt(id, "Warns", 0);     BanName(PN(id), PN(playerid), days, reason);     PI[playerid][pReputation] += 5;     UpdatePlayerDataInt(playerid, "Reputation", PI[playerid][pReputation]);     //  aml(8, playerid, PN(id), reason, days);     str_1[0] = EOS, f(str_1, sizeof(str_1), "%s[%i] забанил игрока %s[%i] на %i дней. Причина: %s", PN(playerid), playerid, PN(id), id, days, reason);     SavePunish(0, str_1, id);     return J_Kick(id); }