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

Проблема с промкодами..

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

#Pawno

Всем привет , вообщем почему то после одной активаций , больше промкод не у кого не работает. 
Хотя у других игроков должно срабатывать вот проверка. 

 

forward CheckPromo(playerid);
public CheckPromo(playerid)
{
	new rows,fields;
	cache_get_data(rows, fields);
	if(!rows) return SendClientMessage(playerid,-1,"{FE0000}??????: {FFFFFF}????????? ?? ??????????.");
	new accid;
	accid = cache_get_row_int(0, 0, dbHandle);
	if(accid == PI[playerid][pID]) return SendClientMessage(playerid,-1,"{FE0000}??????: {FFFFFF}?? ??? ???????????? ???? ????????, ????????? ????????? ??????????.");
	new qstring[128],code[16];
	GetPVarString(playerid,"CODE",code,sizeof(code));
	mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo` WHERE `name`='%s'", code);
	mysql_tquery(dbHandle, qstring, "ActivatePromo", "is", playerid, code);
	return 1;
}

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


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

Можете нормально скопировать из pawno код?

на русской раскладке.

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


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

forward CheckPromo(playerid);
public CheckPromo(playerid)
{
new rows,fields;
cache_get_data(rows, fields);
if(rows) return SendClientMessage(playerid,-1,"{FE0000}Ошибка: {FFFFFF}Вы уже активировали промокод, и не можете сделать это повторно.");
//new accid;
//accid = cache_get_row_int(0, 0, dbHandle);
//if(accid == PI[playerid][pID]) return SendClientMessage(playerid,-1,"{FE0000}Ошибка: {FFFFFF}Вы уже активировали этот промокод, повторная активация невозможна.");
new qstring[128],code[16];
GetPVarString(playerid,"CODE",code,sizeof(code));
mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo` WHERE `name`='%s'", code);
mysql_tquery(dbHandle, qstring, "ActivatePromo", "is", playerid, code);
return 1;
}
  • Like 1

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


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

if(rows) скинь, он можете много где попадаться, хотя... Короче, скинь всё, что с ним - сюда.


ActivatePromo сюда


accid сюда

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


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


new numb[3];
if(sscanf(inputtext, "piii",numb[0],numb[1],numb[2]))
{
strcat(totalstring,"{FFFFFF}?????? ?????????? ?????? ??? ?????, ?????????? ????????, ?????????? ?????????\n\n{4AA9CF}????:\n");
strcat(totalstring,"{FFFFFF}1. VIP ???????\n");
strcat(totalstring,"2. ??????? ??????\n");
strcat(totalstring,"3. ???????\n\n");
strcat(totalstring,"???? ?????? ??? '1', ?? ? ???????? ?????????? ????? - ?????????? ???, ? ??????? ??????? ????? ??????????? VIP ???????\n");
strcat(totalstring,"???? ??????? ???? '2' ? '3', ?? ?????????????? ?????????? ?????????? ??????? ??????, ? ???????? ??? ????????.\n\n");
strcat(totalstring,"{F6F7D8}????????? ??? ???????? ????? ????? ???????!\n");
strcat(totalstring,"??????: 1,30,10\n");
strcat(totalstring,"??? 1 - ??? ?????(VIP), 30 - ?????????? ????, 10 - ????? ????????? ????????? ?????????");
ShowPlayerDialog(playerid,D_PROMO+4,DIALOG_STYLE_INPUT,"???????? ????????? | {FE6060}???: 2",totalstring,"?????","?????");
return 1;
}
SetPVarInt(playerid,"TYPEPROMO",numb[0]),SetPVarInt(playerid,"AMOUNTPROMO",numb[1]),SetPVarInt(playerid,"ACTIVATEPROMO",numb[2]);
new qstring[128],promoname[16];
GetPVarString(playerid, "PROMO", promoname, sizeof(promoname));
mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo` WHERE `name`='%s'", promoname);
mysql_tquery(dbHandle, qstring, "CreatePromo", "is", playerid,promoname);
}


case D_PROMO+5:
{
if(!response) return cmd_menu(playerid);
/*new qstring[128];
mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo` WHERE `name`='%s'", inputtext);
mysql_tquery(dbHandle, qstring, "ActivatePromo", "is", playerid,inputtext);*/
new qstring[128];
SetPVarString(playerid, "CODE", inputtext);
//mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo_activations` WHERE `account_id` = '%d' AND `name_promo`='%s'", PI[playerid][pID], inputtext);
mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo_activations` WHERE `account_id` = '%d'",PI[playerid][pID]);
mysql_tquery(dbHandle, qstring, "CheckPromo", "i", playerid);
}


forward ActivatePromo(playerid,code[]);
public ActivatePromo(playerid,code[])
{
new rows,fields;
cache_get_data(rows, fields);
printf("?? ?????????? 2");
if(!rows) return SendClientMessage(playerid,-1,"{FE0000}??????: {FFFFFF}????????? ?? ??????????.");
new typepriz,amountpriz,nactivations,string[512],activate,block,data[24],typetext[34],typetext1[24];
new year,month,day;
new current_date = getdate(year, month, day);
for(new i; i {
typepriz = cache_get_row_int(i, 5, dbHandle);
amountpriz = cache_get_row_int(i, 6, dbHandle);
nactivations = cache_get_row_int(i, 3, dbHandle);
activate = cache_get_row_int(i, 1, dbHandle);
block = cache_get_row_int(i, 2, dbHandle);
cache_get_row(i, 4, data, dbHandle, 24);
switch(typepriz)
{
case 1: typetext = "VIP ??????? ?????? ??",typetext1 = "????",PI[playerid][pVip] = 1,PI[playerid][pVipTime] = current_date + amountpriz;
case 2: typetext = "??????? ?????? ? ??????????",typetext1 = "???",GiveMoney(playerid,amountpriz);
case 3: typetext = "??????? ? ??????????",typetext1 = "??.",PI[playerid][pCredits] += amountpriz;
}
}
if(block > 0) return SendClientMessage(playerid,-1,"{FE0000}??????: {FFFFFF}???????? ????????????.");
if(activate != 0)
{
format(string,sizeof(string),"{FFFFFF}???????? '%s' {FFFFFF}??? ??????????? {65A0D0}%s\n{FFFFFF}? ?????????, ?? ????????. ?? ??????, ????????? ? ?????? ???..",code,data);
ShowPlayerDialog(playerid,D_NULL,DIALOG_STYLE_MSGBOX,"{FE0000}??????",string,"???????","");
return true;
}
format(string,sizeof(string),"INSERT INTO `promo_activations` (`account_id`,`name_promo`) VALUES ('%d','%s')",PI[playerid][pID],code);
mysql_function_query(dbHandle, string, false, "", "");
SendClientMessage(playerid,COLOR_ORANGE,"???????????! ?? ???????????? ????????!");
format(string,sizeof(string),"???????? ????????: %s %d%s",typetext,amountpriz,typetext1),SendClientMessage(playerid,COLOR_ORANGE,string);
nactivations--;
format(string, sizeof(string), "UPDATE promo SET `nactivations`='%d' WHERE name='%s'", nactivations, code);
mysql_function_query(dbHandle, string, false, "", "");
if(nactivations == 0)
{
new hourss,minn,secc;
gettime(hourss,minn,secc);
format(string,100,"%s / %02d:%02d:%02d",date("%dd.%mm.%yyyy",gettime()),hourss,minn,secc);
format(string, sizeof(string), "UPDATE promo SET `activate`='1',`date`='%s' WHERE name='%s'", string,code);
mysql_function_query(dbHandle, string, false, "", "");
//return SendClientMessage(playerid,-1,"{FE0000}??????: {FFFFFF}?????????? ????????? ??? ????????? ?????????.");
return true;
}
DeletePVar(playerid,"CODE");
return 1;
}

 

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


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

@#Pawno,Раскладку смени  

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


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


case D_PROMO+5:
{
if(!response) return cmd_menu(playerid);
/*new qstring[128];
mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo` WHERE `name`='%s'", inputtext);
mysql_tquery(dbHandle, qstring, "ActivatePromo", "is", playerid,inputtext);*/
new qstring[128];
SetPVarString(playerid, "CODE", inputtext);
//mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo_activations` WHERE `account_id` = '%d' AND `name_promo`='%s'", PI[playerid][pID], inputtext);
mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo_activations` WHERE `account_id` = '%d'",PI[playerid][pID]);
mysql_tquery(dbHandle, qstring, "CheckPromo", "i", playerid);
}


forward CheckPromo(playerid);
public CheckPromo(playerid)
{
new rows,fields;
cache_get_data(rows, fields);
if(rows) return SendClientMessage(playerid,-1,"{FE0000}Ошибка: {FFFFFF}Вы уже активировали промокод, и не можете сделать это повторно.");
//new accid;
//accid = cache_get_row_int(0, 0, dbHandle);
//if(accid == PI[playerid][pID]) return SendClientMessage(playerid,-1,"{FE0000}Ошибка: {FFFFFF}Вы уже активировали этот промокод, повторная активация невозможна.");
new qstring[128],code[16];
GetPVarString(playerid,"CODE",code,sizeof(code));
mysql_format(dbHandle, qstring, sizeof(qstring), "SELECT * FROM `promo` WHERE `name`='%s'", code);
mysql_tquery(dbHandle, qstring, "ActivatePromo", "is", playerid, code);
return 1;
}
forward ActivatePromo(playerid,code[]);
public ActivatePromo(playerid,code[])
{
new rows,fields;
cache_get_data(rows, fields);
printf("Не существует 2");
if(!rows) return SendClientMessage(playerid,-1,"{FE0000}Ошибка: {FFFFFF}промокода не существует.");
new typepriz,amountpriz,nactivations,string[512],activate,block,data[24],typetext[34],typetext1[24];
new year,month,day;
new current_date = getdate(year, month, day);
for(new i; i {
typepriz = cache_get_row_int(i, 5, dbHandle);
amountpriz = cache_get_row_int(i, 6, dbHandle);
nactivations = cache_get_row_int(i, 3, dbHandle);
activate = cache_get_row_int(i, 1, dbHandle);
block = cache_get_row_int(i, 2, dbHandle);
cache_get_row(i, 4, data, dbHandle, 24);
switch(typepriz)
{
case 1: typetext = "VIP аккаунт сроком на",typetext1 = "дней",PI[playerid][pVip] = 1,PI[playerid][pVipTime] = current_date + amountpriz;
case 2: typetext = "Игровая валюта в количестве",typetext1 = "руб",GiveMoney(playerid,amountpriz);
case 3: typetext = "Кредиты в количестве",typetext1 = "кр.",PI[playerid][pCredits] += amountpriz;
}
}
if(block > 0) return SendClientMessage(playerid,-1,"{FE0000}Ошибка: {FFFFFF}промокод заблокирован.");
if(activate != 0)
{
format(string,sizeof(string),"{FFFFFF}Промокод '%s' {FFFFFF}уже активирован {65A0D0}%s\n{FFFFFF}К сожалению, Вы опоздали. Но ничего, получится в другой раз..",code,data);
ShowPlayerDialog(playerid,D_NULL,DIALOG_STYLE_MSGBOX,"{FE0000}Ошибка",string,"Закрыть","");
return true;
}
format(string,sizeof(string),"INSERT INTO `promo_activations` (`account_id`,`name_promo`) VALUES ('%d','%s')",PI[playerid][pID],code);
mysql_function_query(dbHandle, string, false, "", "");
SendClientMessage(playerid,COLOR_ORANGE,"Поздравляем! Вы активировали промокод!");
format(string,sizeof(string),"Промокод содержал: %s %d%s",typetext,amountpriz,typetext1),SendClientMessage(playerid,COLOR_ORANGE,string);
nactivations--;
format(string, sizeof(string), "UPDATE promo SET `nactivations`='%d' WHERE name='%s'", nactivations, code);
mysql_function_query(dbHandle, string, false, "", "");
if(nactivations == 0)
{
new hourss,minn,secc;
gettime(hourss,minn,secc);
format(string,100,"%s / %02d:%02d:%02d",date("%dd.%mm.%yyyy",gettime()),hourss,minn,secc);
format(string, sizeof(string), "UPDATE promo SET `activate`='1',`date`='%s' WHERE name='%s'", string,code);
mysql_function_query(dbHandle, string, false, "", "");
//return SendClientMessage(playerid,-1,"{FE0000}Ошибка: {FFFFFF}количество активаций для промокода исчерпано.");
return true;
}
DeletePVar(playerid,"CODE");
return 1;
}

 

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


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

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

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

×

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

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