Fd08
Нуль
- Регистрация
- 18 Май 2019
- Сообщения
- 4
- Лучшие ответы
- 0
- Репутация
- 0
Здравствуйте, как сделать чтобы игрок мог активировать несколько промокодов, так - как сейчас он может только 1.
Код:
public CheckPromo(playerid)
{
new rows,fields;
cache_get_data(rows, fields);
if(rows) return SendClientMessage(playerid,-1,"Вы уже активировали один из промокодов!");
new qstring[128],code[16];
GetPVarString(playerid,"CODE",code,sizeof(code));
mysql_format(connects, qstring, sizeof(qstring), "SELECT * FROM `promo` WHERE `name`='%s'", code);
mysql_tquery(connects, qstring, "ActivatePromo", "is", playerid, code);
return 1;
}
public ActivatePromo(playerid,code[])
{
new rows,fields;
cache_get_data(rows, fields);
printf("Не существует 2");
if(!rows) return SendClientMessage(playerid,-1,"Ошибка: {FFFFFF}промокода не существует.");
new typepriz,amountpriz,nactivations,string[1024],activate,block,data[24],typetext[34],typetext1[24];
new year,month,day;
new current_date = getdate(year, month, day);
for(new i; i < rows; i++)
{
typepriz = cache_get_row_int(i, 5, connects);
amountpriz = cache_get_row_int(i, 6, connects);
nactivations = cache_get_row_int(i, 3, connects);
activate = cache_get_row_int(i, 1, connects);
block = cache_get_row_int(i, 2, connects);
cache_get_row(i, 4, data, connects, 24);
switch(typepriz)
{
case 1: typetext = "VIP аккаунт сроком на",typetext1 = " дней",Player[playerid][pVIP] = current_date + amountpriz;
case 2: typetext = "Игровая валюта в количестве",typetext1 = " руб",Player[playerid][pMoney] += amountpriz;
case 3: typetext = "Кредиты в количестве",typetext1 = " кр.",Player[playerid][pBonus] += amountpriz;
}
}
if(block > 0) return SendClientMessage(playerid,-1,"Ошибка: {FFFFFF}промокод заблокирован.");
if(activate != 0)
{
format(string,sizeof(string),"{FFFFFF}Промокод '%s' {FFFFFF}уже активирован {65A0D0}%s\n{FFFFFF}К сожалению, Вы опоздали. Но ничего, получится в другой раз..",code,data);
ShowPlayerDialog(playerid,9999,DIALOG_STYLE_MSGBOX,"{FE0000}Ошибка",string,"Закрыть","");
return true;
}
format(string,sizeof(string),"INSERT INTO `promo_activations` (`account_id`,`name_promo`) VALUES ('%d','%s')",Player[playerid][ID],code);
mysql_function_query(connects, string, false, "", "");
SendClientMessage(playerid,COLOR_ORANGE,"Поздравляем! Вы активировали промокод!");
format(string,sizeof(string),"Промокод содержал: %s %d%s",typetext,amountpriz,typetext1),SendClientMessage(playerid,COLOR_BLUE,string);
nactivations--;
format(string, sizeof(string), "UPDATE promo SET `nactivations`='%d' WHERE name='%s'", nactivations, code);
mysql_function_query(connects, 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(connects, string, false, "", "");
return true;
}
DeletePVar(playerid,"CODE");
return 1;
}