WOODY GRIFFINS
Дебютант
Доброго времени суток.
Сегодня я попытаюсь Вам показать, как можно сделать систему промокодов для ютуберов.
Итак, начнем.
PINFO - меняйте на свое.
pLVL - на свое
pDonateMoney - на свое
pPayDayHad - на свое
pCash - на свое
#define Ok "Ок"
#define Cancel "Отмена"
Сперва нам нужно создать переменные в enum pInfo
Далее нужно в OnPlayerConnect добавить
Далее, нам нужно добавить в загрузку аккаунта(onplayerlogin) следующий код:
Идем в создание аккаунтаl(onplayerregister):
И в сохранение аккаунта:
Итак, переменные готовы. Нам нужно теперь разобраться с диалогами.
в OnDialogResponse:
в Public OnPlayerCommandText:
Команда для ввода промокода есть, диалог есть, сохранение информации есть.
Теперь нам нужно выдать бонус. Для этого переходим в stock PayDay( выдача зарплаты )
Вот и все....
Теперь у вас все должно работать : )
Сегодня я попытаюсь Вам показать, как можно сделать систему промокодов для ютуберов.
Итак, начнем.
PINFO - меняйте на свое.
pLVL - на свое
pDonateMoney - на свое
pPayDayHad - на свое
pCash - на свое
#define Ok "Ок"
#define Cancel "Отмена"
Сперва нам нужно создать переменные в enum pInfo
PHP:
pPromoUse,
promonumber,
promonumber2,
promonumber3,
promonumber4,
promonumber5,
promonumber6,
promonumber7,
promonumber8,
PHP:
PINFO[playerid][promonumber] = 0;
PINFO[playerid][promonumber2] = 0;
PINFO[playerid][promonumber3] = 0;
PINFO[playerid][promonumber4] = 0;
PINFO[playerid][promonumber5] = 0;
PINFO[playerid][promonumber6] = 0;
PINFO[playerid][promonumber7] = 0;
PINFO[playerid][promonumber8] = 0;
PINFO[playerid][pPromoUse] = 0;
PHP:
ini_getInteger(File,"promonumber",PINFO[playerid][promonumber]);
ini_getInteger(File,"promonumber2",PINFO[playerid][promonumber2]);
ini_getInteger(File,"promonumber3",PINFO[playerid][promonumber3]);
ini_getInteger(File,"promonumber4",PINFO[playerid][promonumber4]);
ini_getInteger(File,"promonumber5",PINFO[playerid][promonumber5]);
ini_getInteger(File,"promonumber6",PINFO[playerid][promonumber6]);
ini_getInteger(File,"promonumber7",PINFO[playerid][promonumber7]);
ini_getInteger(File,"promonumber8",PINFO[playerid][promonumber8]);
ini_getInteger(File,"pPromoUse",PINFO[playerid][pPromoUse]);
PHP:
ini_setInteger(File,"promonumber",PINFO[playerid][promonumber]);
ini_setInteger(File,"promonumber2",PINFO[playerid][promonumber2]);
ini_setInteger(File,"promonumber3",PINFO[playerid][promonumber3]);
ini_setInteger(File,"promonumber4",PINFO[playerid][promonumber4]);
ini_setInteger(File,"promonumber5",PINFO[playerid][promonumber5]);
ini_setInteger(File,"promonumber6",PINFO[playerid][promonumber6]);
ini_setInteger(File,"promonumber7",PINFO[playerid][promonumber7]);
ini_setInteger(File,"promonumber8",PINFO[playerid][promonumber8]);
ini_setInteger(File,"pPromoUse",PINFO[playerid][pPromoUse]);
PHP:
ini_setInteger(File,"promonumber",PINFO[playerid][promonumber]);
ini_setInteger(File,"promonumber2",PINFO[playerid][promonumber2]);
ini_setInteger(File,"promonumber3",PINFO[playerid][promonumber3]);
ini_setInteger(File,"promonumber4",PINFO[playerid][promonumber4]);
ini_setInteger(File,"promonumber5",PINFO[playerid][promonumber5]);
ini_setInteger(File,"promonumber6",PINFO[playerid][promonumber6]);
ini_setInteger(File,"promonumber7",PINFO[playerid][promonumber7]);
ini_setInteger(File,"promonumber8",PINFO[playerid][promonumber8]);
ini_setInteger(File,"pPromoUse",PINFO[playerid][pPromoUse]);
в OnDialogResponse:
PHP:
case : 6536
{
if(!response) return true;
if(response)
{
if(strfind(inputtext, "code", true) != -1) // "code " менять на свой промокод. Пример: "#pawno"
{
PINFO[playerid][promonumber] = 1;
SendClientMessage(playerid, 0x99FF00FF, "Поздравляем. Вы активировали промокод!");
SendClientMessage(playerid, -1, "На 4 уровне вы получите: 5000 доната, 2 млн.вирт, 3 очка опыта.");
}
if(strfind(inputtext, "code", true) != -1)
{
PINFO[playerid][promonumber2] = 1;
SendClientMessage(playerid, 0x99FF00FF, "Поздравляем. Вы активировали промокод!");
SendClientMessage(playerid, -1, "На 4 уровне вы получите: 5000 доната, 2 млн.вирт, 3 очка опыта.");
}
if(strfind(inputtext, "code", true) != -1)
{
PINFO[playerid][promonumber3] = 1;
SendClientMessage(playerid, 0x99FF00FF, "Поздравляем. Вы активировали промокод!");
SendClientMessage(playerid, -1, "На 4 уровне вы получите: 5000 доната, 2 млн.вирт, 3 очка опыта.");
}
if(strfind(inputtext, "code", true) != -1)
{
PINFO[playerid][promonumber4] = 1;
SendClientMessage(playerid, 0x99FF00FF, "Поздравляем. Вы активировали промокод!");
SendClientMessage(playerid, -1, "На 4 уровне вы получите: 5000 доната, 2 млн.вирт, 3 очка опыта.");
}
if(strfind(inputtext, "code", true) != -1)
{
PINFO[playerid][promonumber5] = 1;
SendClientMessage(playerid, 0x99FF00FF, "Поздравляем. Вы активировали промокод!");
SendClientMessage(playerid, -1, "На 4 уровне вы получите: 5000 доната, 2 млн.вирт, 3 очка опыта.");
}
if(strfind(inputtext, "code", true) != -1)
{
PINFO[playerid][promonumber6] = 1;
SendClientMessage(playerid, 0x99FF00FF, "Поздравляем. Вы активировали промокод!");
SendClientMessage(playerid, -1, "На 4 уровне вы получите: 5000 доната, 2 млн.вирт, 3 очка опыта.");
}
if(strfind(inputtext, "code", true) != -1)
{
PINFO[playerid][promonumber7] = 1;
SendClientMessage(playerid, 0x99FF00FF, "Поздравляем. Вы активировали промокод!");
SendClientMessage(playerid, -1, "На 4 уровне вы получите: 5000 доната, 2 млн.вирт, 3 очка опыта.");
}
if(strfind(inputtext, "code", true) != -1)
{
PINFO[playerid][promonumber8] = 1;
SendClientMessage(playerid, 0x99FF00FF, "Поздравляем. Вы активировали промокод!");
SendClientMessage(playerid, -1, "На 4 уровне вы получите: 5000 доната, 2 млн.вирт, 3 очка опыта.");
}
}
}
PHP:
else if (strcmp(cmd, "/promocode", true) == 0)
{
if(PINFO[playerid][pPromoUse] == 1) return SCM(playerid,COLOR_GREY,"Вы уже активировали промокод и получили приз.");
if(PINFO[playerid][pPayDayHad] < 5) return SendClientMessage(playerid, COLOR_GREY, "Чтобы активировать промокод, необходимо отыграть 5 часов.");
if(PINFO[playerid][promonumber] == 1) return SendClientMessage(playerid, COLOR_GREY, "Вы уже активировали промокод!");
if(PINFO[playerid][promonumber2] == 1) return SendClientMessage(playerid, COLOR_GREY, "Вы уже активировали промокод!");
if(PINFO[playerid][promonumber3] == 1) return SendClientMessage(playerid, COLOR_GREY, "Вы уже активировали промокод!");
if(PINFO[playerid][promonumber4] == 1) return SendClientMessage(playerid, COLOR_GREY, "Вы уже активировали промокод!");
if(PINFO[playerid][promonumber5] == 1) return SendClientMessage(playerid, COLOR_GREY, "Вы уже активировали промокод!");
if(PINFO[playerid][promonumber6] == 1) return SendClientMessage(playerid, COLOR_GREY, "Вы уже активировали промокод!");
if(PINFO[playerid][promonumber7] == 1) return SendClientMessage(playerid, COLOR_GREY, "Вы уже активировали промокод!");
if(PINFO[playerid][promonumber8] == 1) return SendClientMessage(playerid, COLOR_GREY, "Вы уже активировали промокод!");
SPD(playerid,6536,DIALOG_STYLE_INPUT, "{30C3F0}Промокод","Введите промокод в стрчоку ниже",Ok,Cancel);
return true;
}
Теперь нам нужно выдать бонус. Для этого переходим в stock PayDay( выдача зарплаты )
PHP:
if(PINFO[i][pPromoUse] == 0 && PINFO[playerid][pLVL] == 4 PINFO[playerid][pExp] == 1) // проверка на лвл, опыт, использование промокода ране
{
if(PINFO[i][promonumber] == 1 || PINFO[i][promonumber2] == 1 || PINFO[i][promonumber3] == 1
|| PINFO[i][promonumber4] == 1 || PINFO[i][promonumber5] == 1 || PINFO[i][promonumber6] == 1
|| PINFO[i][promonumber7] == 1 || PINFO[i][promonumber8] == 1) // промокодв
{
PINFO[i][pDonateMoney] += 5000;
PINFO[i][pCash] += 2000000;
PINFO[i][pPayDayHad] += 3;
PINFO[i][pPromoUse] = 1; // призы
PINFO[i][promonumber] = 0; // обнуление промокодов игроку
PINFO[i][promonumber2] = 0;
PINFO[i][promonumber3] = 0;
PINFO[i][promonumber4] = 0;
PINFO[i][promonumber5] = 0;
PINFO[i][promonumber6] = 0;
PINFO[i][promonumber7] = 0;
PINFO[i][promonumber8] = 0;
SCM(i, TEAM_GROVE_COLOR,"Поздравялем. Вы получили 2 млн вирт, 5000 доната и 3 очка опыта за промокод!");
return true;
}
}
}
Теперь у вас все должно работать : )
