TommiSamp
Умник
Здравствуйте. Не могли бы Вы мне помочь. Нужно сделать место "Услуга1" - выдача админ. прав за GameGold. Прошу помочь.
PHP:
#define FILTERSCRIPT
#include <a_samp>
#include <mxINI>
#if defined FILTERSCRIPT
new DonatePoints[MAX_PLAYERS];
new bool:RegCode = false;
new RegCodes[32];
public OnFilterScriptInit()
{
new DonateFile = ini_openFile("DonateCodes.ini"); // Пытаемся обнаружить файл DonateCodes.ini
if(DonateFile < 0) { // Не обнаруженно
print("\nБаза данных с Donate кодами не обнаружен!");
DonateFile = ini_createFile("DonateCodes.ini"); // создаем файл
print("База данных с Donate кодами создан!\n");
} else { // Обнаруженно
print("\nБаза данных с Donate кодами обнаруженна!\n");
}
ini_closeFile(DonateFile); // Закрываем файл
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print("\n----------------------------------");
print("Система Доната");
print("Автор: iBublik");
print("Версия: 1.0.0");
print("----------------------------------\n");
}
#endif
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/donate", cmdtext, true, 10) == 0)
{
new string[256],plname[MAX_PLAYER_NAME];
GetPlayerName(playerid,plname,sizeof(plname));
format(string,sizeof(string),"Меню Доната | Аккаунт: %s | Баланс: %i DP",plname,DonatePoints[playerid]);
ShowPlayerDialog(playerid,50,DIALOG_STYLE_LIST,string,"[*] Услуги\n[*] Активировать Код\n[*] Запросить Код","Выбор","Отмена");
return 1;
}
if (strcmp("/setdonatecode", cmdtext, true, 10) == 0)
{
if(IsPlayerAdmin(playerid)) {
if(!RegCode) {
ShowPlayerDialog(playerid,60,DIALOG_STYLE_INPUT,"Создание Кода","Введите Код, который будет использоваться при активации","Далее","Отмена");
} else {
SendClientMessage(playerid,-1,"Кто-то уже активирует код...");
}
}
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid) {
case 50: {
if(response) {
switch(listitem) {
case 0: ShowPlayerDialog(playerid,51,DIALOG_STYLE_LIST,"Услуги","Услуга1\nУслуга2\nУслуга3","Выбор","Назад"); // Вводить сюда свои услуги
case 1: ShowPlayerDialog(playerid,52,DIALOG_STYLE_INPUT,"Активация Кода","Введите выданный Вам код в окно снизу:","Ввод","Назад");
case 3: SendClientMessage(playerid,-1,"Измените код, чтобы написать свои условия");
}
}
}
case 52: {//1
if(response) {//2
if(strlen(inputtext)) {//3
new DonCod = ini_openFile("DonateCodes.ini");
new GameGold;
ini_getInteger(DonCod,inputtext,GameGold);
if(GameGold <= 0) {//4
ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"Ошибка Активации","Данный Код не зарегистрирован в системе!\nПопробуйте ввести свой код заного\n\nЕсли эта проблема повторяется - свяжитесь с администрацией.","OK","");
}//4
else {//4
new string[256];
format(string,sizeof(string),"Активация прошла успешно! На Ваш счет зачисленно +%i DonatePoints!",GameGold);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"Активация Прошла Успешно!",string,"OK","");
DonatePoints[playerid] += GameGold;
ini_removeKey(DonCod,inputtext);
}//4
ini_closeFile(DonCod);
}//3
}//2
}//1
case 60: {
if(response) {
if(strlen(inputtext)) {
RegCode = true;
format(RegCodes,sizeof(RegCodes),"%s",inputtext);
ShowPlayerDialog(playerid,61,DIALOG_STYLE_INPUT,"Регистрация Кода","Введите количество DP:","Регистрация","Отмена");
}
}
}
case 61: {
if(response) {
if(strlen(inputtext)) {
RegCode = false;
new iniFile = ini_openFile("DonateCodes.ini");
ini_setInteger(iniFile,RegCodes,strval(inputtext));
ini_closeFile(iniFile);
SendClientMessage(playerid,-1,"Код создан!");
}
}
}
}
return 1;
}
