Перейти к содержанию
Авторизация  
hteppl

Нерабочая команда.

Рекомендуемые сообщения

hteppl

Мод Amazing ZM, полностью переделанный.

 

Проблема в том, что при выдаче VIP, записывается дата выдачи и окончания вип, сколько дней осталось.

 

Но переменная pVIP остается 0, при том, что раньше все работало. То есть, вип не активируется, а должно быть значение 1.

 

Для наглядности, вот фото

qvHjlfs.png

 

 

Команда выдачи

CMD:setvip(playerid,params[])
{
	if(Login[playerid]==0) return false;
	if(PInfo[playerid][pAdmin] < 4) return false;
	if(sscanf(params, "dd", params[0],params[1])) return SCM(playerid, 0x99cc00FF, "Информация: {FFFFFF}/setvip [ID] [Коль-во дней]");
	if(!IsPlayerConnected(params[0])) return SCM(playerid,-1, "Игрок Offline.");
	if(params[1] < 0 || params[1] > 365) return SCM(playerid, -1, "От 0 до 365.");
	if(params[1] >= 1)
	{
		PInfo[params[0]][pVip] = 1;
		format(Text, 256, "UPDATE `users` SET `GIVEVIP` = CURDATE() WHERE `pName` = '%s'", PInfo[params[0]][pName]);
		QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `GIVEDVIP` = CURDATE() WHERE `pName` = '%s'", PInfo[params[0]][pName]);
	    QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `LOSTVIP` = (CURDATE() + INTERVAL %d DAY) WHERE `pName` = '%s'", params[1], PInfo[params[0]][pName]);
	    QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `VDAYS`=DATEDIFF(`LOSTVIP`, `GIVEDVIP`) WHERE `pName` = '%s'", PInfo[params[0]][pName]);
		QueryEmpty(ConnectBD, Text);
		format(Text, 144, "[A] %s[%d] выдал VIP %s[%d] на %d дней.", PInfo[playerid][pName],playerid, PInfo[params[0]][pName],params[0],params[1]);
		SendAdminMessage(0x99CC00FF, Text);
		SendMes(params[0],COLOR_YELLOW, "Администратор %s[%d] выдал вам VIP на %d дней.", PInfo[playerid][pName], playerid, params[1]);
	}
	else if(params[0] == 0)
	{
 		PInfo[params[0]][pVip] = 0;
		format(Text, 256, "UPDATE `users` SET `GIVEVIP` = '0000-00-00' WHERE `pName` = '%s'", PInfo[params[0]][pName]);
		QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `GIVEDVIP` = '0000-00-00' WHERE `pName` = '%s'", PInfo[params[0]][pName]);
	    QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `LOSTVIP` = '0000-00-00' WHERE `pName` = '%s'", PInfo[params[0]][pName]);
	    QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `VDAYS` = '0' WHERE `pName` = '%s'", PInfo[params[0]][pName]);
		QueryEmpty(ConnectBD, Text);
		format(Text, 144, "[A] %s[%d] снял VIP %s[%d].", PInfo[playerid][pName],playerid, PInfo[params[0]][pName],params[0]);
		SendAdminMessage(0x99CC00FF, Text);
		SendMes(params[0],COLOR_YELLOW, "Администратор %s[%d] снял с вас VIP.", PInfo[playerid][pName], playerid, params[1]);
	}
	PInfo[params[0]][pVipEnd] = params[1];
	SaveAccount(params[0]);
    return true;
    //UPDATE `users` SET `TESTVIP` = (CURDATE()+10) WHERE `pName` = 'James_Lee'
    //UPDATE `users` SET `GIVEDVIP` = (CURDATE() + INTERVAL %d DAY) WHERE `pName` = 'James_Lee'
 //   format(Text, 256, "UPDATE `users` SET `LOSTVIP` = (CURDATE() + INTERVAL %d DAY) WHERE `pName` = '%s'", params[1], PInfo[params[0]][pName]);
}

В чем может быть проблема, не понимаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vegas

@hteppl, я мб щас скажу глупую вещь, но где в этом коде смена pVip на единичку? Типа я вижу всё , кроме него, ну чисто логические рассуждения ^^

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
MOP TTEX
CMD:setvip(playerid,params[])
{
	if(Login[playerid]==0) return false;
	if(PInfo[playerid][pAdmin] < 4) return false;
	if(sscanf(params, "dd", params[0],params[1])) return SCM(playerid, 0x99cc00FF, "Информация: {FFFFFF}/setvip [ID] [Коль-во дней]");
	if(!IsPlayerConnected(params[0])) return SCM(playerid,-1, "Игрок Offline.");
	if(params[1] < 0 || params[1] > 365) return SCM(playerid, -1, "От 0 до 365.");
	if(params[1] >= 1)
	{
		PInfo[params[0]][pVip] = 1;
		format(Text, 256, "UPDATE `users` SET `GIVEVIP` = CURDATE() WHERE `pName` = '%s'", PInfo[params[0]][pName]);
		QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `pVip` = 1 WHERE `pName` = '%s'", PInfo[params[0]][pName]);
		QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `GIVEDVIP` = CURDATE() WHERE `pName` = '%s'", PInfo[params[0]][pName]);
	    QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `LOSTVIP` = (CURDATE() + INTERVAL %d DAY) WHERE `pName` = '%s'", params[1], PInfo[params[0]][pName]);
	    QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `VDAYS`=DATEDIFF(`LOSTVIP`, `GIVEDVIP`) WHERE `pName` = '%s'", PInfo[params[0]][pName]);
		QueryEmpty(ConnectBD, Text);
		format(Text, 144, "[A] %s[%d] выдал VIP %s[%d] на %d дней.", PInfo[playerid][pName],playerid, PInfo[params[0]][pName],params[0],params[1]);
		SendAdminMessage(0x99CC00FF, Text);
		SendMes(params[0],COLOR_YELLOW, "Администратор %s[%d] выдал вам VIP на %d дней.", PInfo[playerid][pName], playerid, params[1]);
	}
	else if(params[0] == 0)
	{
 		PInfo[params[0]][pVip] = 0;
		format(Text, 256, "UPDATE `users` SET `GIVEVIP` = '0000-00-00' WHERE `pName` = '%s'", PInfo[params[0]][pName]);
		QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `GIVEDVIP` = '0000-00-00' WHERE `pName` = '%s'", PInfo[params[0]][pName]);
	    QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `LOSTVIP` = '0000-00-00' WHERE `pName` = '%s'", PInfo[params[0]][pName]);
	    QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `VDAYS` = '0' WHERE `pName` = '%s'", PInfo[params[0]][pName]);
		QueryEmpty(ConnectBD, Text);
		format(Text, 256, "UPDATE `users` SET `pVip` = 0 WHERE `pName` = '%s'", PInfo[params[0]][pName]);
		QueryEmpty(ConnectBD, Text);
		format(Text, 144, "[A] %s[%d] снял VIP %s[%d].", PInfo[playerid][pName],playerid, PInfo[params[0]][pName],params[0]);
		SendAdminMessage(0x99CC00FF, Text);
		SendMes(params[0],COLOR_YELLOW, "Администратор %s[%d] снял с вас VIP.", PInfo[playerid][pName], playerid, params[1]);
	}
	PInfo[params[0]][pVipEnd] = params[1];
	SaveAccount(params[0]);
    return true;
    //UPDATE `users` SET `TESTVIP` = (CURDATE()+10) WHERE `pName` = 'James_Lee'
    //UPDATE `users` SET `GIVEDVIP` = (CURDATE() + INTERVAL %d DAY) WHERE `pName` = 'James_Lee'
 //   format(Text, 256, "UPDATE `users` SET `LOSTVIP` = (CURDATE() + INTERVAL %d DAY) WHERE `pName` = '%s'", params[1], PInfo[params[0]][pName]);
}

попробуй так

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vegas

:261D: Вот об этой строке я говорил

format(Text, 256, "UPDATE `users` SET `pVip` = 1 WHERE `pName` = '%s'", PInfo[params[0]][pName]);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.