Muvik
Начинающий
- Регистрация
- 5 Окт 2016
- Сообщения
- 33
- Лучшие ответы
- 0
- Репутация
- 9
• Авто донат по кодам.
Систему делаю на MXINI
Заходи в мод, идём к public "OnGameModeInit()"
Потом создаём команды такие как:
Далее идём в enum pInfo
Следующий шаг:
Идём к public "OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])"
Далее услуги:
Далее активация кода:
И делаем саму покупку админки:
И делаем создание кода:
Не забудьте создать Текстовый документ и название DonateCodes.ini
Надеюсь я заслужил на +
Систему делаю на MXINI
Заходи в мод, идём к public "OnGameModeInit()"
PHP:
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); // Закрываем файл
PHP:
if(strcmp(cmdtext, "/donate", true) == 0)
{
new string1[256],plname[MAX_PLAYER_NAME];
GetPlayerName(playerid,plname,sizeof(plname));
format(string1,sizeof(string1),"{00FFFF}>>{ffffff}Меню {00FFFF}>>{ffffff}Доната",plname);
ShowPlayerDialog(playerid,100,DIALOG_STYLE_LIST,string1,"Донат-Баланс\nПлатные услуги\nАктивировать Код","Выбор","Отмена");
return 1;
}
PHP:
if (strcmp("/setdonatecode", cmdtext, true, 10) == 0)
{
if(IsPlayerAdmin(playerid))
{
if(!RegCode) ShowPlayerDialog(playerid,104,DIALOG_STYLE_INPUT,"Создание Кода","{FFFFFF}Введите {FF0000}Код {FFFFFF}который будет использоваться при активации","Далее","Отмена");
else SendClientMessage(playerid,-1,"{FF0000}[Ошибка] {FFFFFF}Кто-то уже активировал этот Код.");
}
return 1;
}
PHP:
new bool:RegCode = false;
new RegCodes[32];
PHP:
pRub,
PHP:
if(strcmp(cmd, "/givedonate", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 12) return 1;
new string1[128],sendern[MAX_PLAYER_NAME],targetplayer[MAX_PLAYER_NAME],giveplayerid,value;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREEN, "{ff0000}[Правка] {ffffff}/givedonate [ID игрока] [количество денег]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREEN, "{ff0000}[Правка] {ffffff}/givedonate [ID игрока] [количество денег]");
return 1;
}
value = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_RED, "{ff0000}[Ошибка] {ffffff}Игрок не найден");
GetPlayerName(giveplayerid, targetplayer, sizeof(targetplayer));
GetPlayerName(playerid, sendern, sizeof(sendern));
if(value < 1) return SendClientMessage(playerid, COLOR_RED,"{ff0000}[Правка] {ffffff}Неверное колличество доната");
format(string1,sizeof(string1),"Администратор %s Пополнил вам Донат-Баланс на %i рублей",sendern,value);
SendClientMessage(giveplayerid,COLOR_GREEN,string1);
format(string1,sizeof(string1),"Вы пополнили Донат-Баланс на %i рублей игроку %s",value,targetplayer);
SendClientMessage(playerid,COLOR_GREEN,string1);
PlayerInfo[giveplayerid][pRub] += value;
format(string1,sizeof(string1),"players/%s.ini",targetplayer);
new iniFile = ini_openFile(string1);
ini_setInteger(iniFile,"Rub",PlayerInfo[playerid][pRub]);
return 1;
}
Идём к public "OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])"
PHP:
if(dialogid == 100)
{
if(response)
{
switch(listitem)
{
case 0:
{
new string1[128];
format(string1,sizeof(string1),"{FFFFFF}На вашем балансе: {FFFF00}%i {FFFFFF}рублей",PlayerInfo[playerid][pRub]);
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Баланс",string1,"OK","");
}
case 1: ShowPlayerDialog(playerid,101,DIALOG_STYLE_LIST,"{00FFFF}>>{ffffff}Услуги","{FFFFFF}Свои услуги.\nСвои услуги.\nСвои услуги.","Выбор","Назад"); // Вводить сюда свои услуги
case 2: ShowPlayerDialog(playerid,102,DIALOG_STYLE_INPUT,"{00FFFF}>>{ffffff}Активация Кода","Введите выданный Вам код в окно снизу:","Ввод","Назад");
case 3: SendClientMessage(playerid,-1,"Измените код, чтобы написать свои условия");
}
}
}
PHP:
if(dialogid == 101)
{
if(response)
{
switch(listitem)
{
case 0: ShowPlayerDialog(playerid,103,DIALOG_STYLE_LIST,"{00FFFF}>>{ffffff}Административные права","1 уровень: {FF0000}50{ffffff} Рублей\n2 уровень:{FF0000}100{ffffff} Рублей\n3 уровень:{FF0000}150{ffffff} Рублей\n4 уровень:{FF0000}230{ffffff} Рублей\n5 уровень:{FF0000}325{ffffff} Рублей\n6 уровень:{FF0000}415{ffffff} Рублей\n7 уровень:{FF0000}525{ffffff} Рублей\n8 уровень:{FF0000}650{ffffff} Рублей\n9 уровень:{FF0000}735{ffffff} Рублей\n10 уровень:{FF0000}850{ffffff} Рублей","Купить","Отмена");
}
}
}
PHP:
if(dialogid == 102)
{
if(response)
{
if(strlen(inputtext) > 0)
{
new DonCod = ini_openFile("DonateCodes.ini"),Rub;
ini_getInteger(DonCod,inputtext,Rub);
if(Rub <= 0) ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"{00FFFF}>>{ffffff}Активация","{ffffff}Такого {FF0000}Кода {ffffff}не существует.\nЕсли вдруг он не работает, напишите об этом {FF0000}Администрации {FFFFFF}Сервера.","OK","");
else
{
new string[256];
format(string,sizeof(string),"{00FFFF}>>{ffffff}Активация прошла успешно! На Ваш счет зачисленно +%i Рублей!",Rub);
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"{FFFFFF}Активация {FF0000}Кода {ffffff}Прошла Успешно!",string,"OK","");
PlayerInfo[playerid][pRub] += Rub;
ini_removeKey(DonCod,inputtext);
}
ini_closeFile(DonCod);
}
}
}
PHP:
if(dialogid == 103)
{
if(response)
{
switch(listitem)
{
case 0:
{
if(PlayerInfo[playerid][pRub] < 50) return SendClientMessage(playerid,COLOR_RED,"{FFFFFF}У вас недостаточно денег на {ff0000}Донат-Балансе.");
PlayerInfo[playerid][pAdmin] = 1,SendClientMessage(playerid,COLOR_GREEN,"{FFFFFF}Вы приобрели 1 уровень администратора"),PlayerInfo[playerid][pRub] -= 50; //Цены свои
}
case 1:
{
if(PlayerInfo[playerid][pRub] < 100) return SendClientMessage(playerid,COLOR_RED,"{FFFFFF}У вас недостаточно денег на {ff0000}Донат-Балансе.");
PlayerInfo[playerid][pAdmin] = 2,SendClientMessage(playerid,COLOR_GREEN,"{FFFFFF}Вы приобрели 2 уровень администратора"),PlayerInfo[playerid][pRub] -= 100; //Цены свои
}
case 2:
{
if(PlayerInfo[playerid][pRub] < 150) return SendClientMessage(playerid,COLOR_RED,"{FFFFFF}У вас недостаточно денег на {ff0000}Донат-Балансе.");
PlayerInfo[playerid][pAdmin] = 3,SendClientMessage(playerid,COLOR_GREEN,"{FFFFFF}Вы приобрели 3 уровень администратора"),PlayerInfo[playerid][pRub] -= 150; //Цены свои
}
case 3:
{
if(PlayerInfo[playerid][pRub] < 230) return SendClientMessage(playerid,COLOR_RED,"{FFFFFF}У вас недостаточно денег на {ff0000}Донат-Балансе.");
PlayerInfo[playerid][pAdmin] = 4,SendClientMessage(playerid,COLOR_GREEN,"{FFFFFF}Вы приобрели 4 уровень администратора"),PlayerInfo[playerid][pRub] -= 230; //Цены свои
}
case 4:
{
if(PlayerInfo[playerid][pRub] < 325) return SendClientMessage(playerid,COLOR_RED,"{FFFFFF}У вас недостаточно денег на {ff0000}Донат-Балансе.");
PlayerInfo[playerid][pAdmin] = 5,SendClientMessage(playerid,COLOR_GREEN,"{FFFFFF}Вы приобрели 5 уровень администратора"),PlayerInfo[playerid][pRub] -= 325; //Цены свои
}
case 5:
{
if(PlayerInfo[playerid][pRub] < 415) return SendClientMessage(playerid,COLOR_RED,"{FFFFFF}У вас недостаточно денег на {ff0000}Донат-Балансе.");
PlayerInfo[playerid][pAdmin] = 6,SendClientMessage(playerid,COLOR_GREEN,"{FFFFFF}Вы приобрели 6 уровень администратора"),PlayerInfo[playerid][pRub] -= 415; //Цены свои
}
case 6:
{
if(PlayerInfo[playerid][pRub] < 525) return SendClientMessage(playerid,COLOR_RED,"{FFFFFF}У вас недостаточно денег на {ff0000}Донат-Балансе.");
PlayerInfo[playerid][pAdmin] = 7,SendClientMessage(playerid,COLOR_GREEN,"{FFFFFF}Вы приобрели 7 уровень администратора"),PlayerInfo[playerid][pRub] -= 525; //Цены свои
}
case 7:
{
if(PlayerInfo[playerid][pRub] < 650) return SendClientMessage(playerid,COLOR_RED,"{FFFFFF}У вас недостаточно денег на {ff0000}Донат-Балансе.");
PlayerInfo[playerid][pAdmin] = 8,SendClientMessage(playerid,COLOR_GREEN,"{FFFFFF}Вы приобрели 8 уровень администратора"),PlayerInfo[playerid][pRub] -= 650; //Цены свои
}
case 8:
{
if(PlayerInfo[playerid][pRub] < 735) return SendClientMessage(playerid,COLOR_RED,"{FFFFFF}У вас недостаточно денег на {ff0000}Донат-Балансе.");
PlayerInfo[playerid][pAdmin] = 9,SendClientMessage(playerid,COLOR_GREEN,"{FFFFFF}Вы приобрели 9 уровень администратора"),PlayerInfo[playerid][pRub] -= 735; //Цены свои
}
case 9:
{
if(PlayerInfo[playerid][pRub] < 850) return SendClientMessage(playerid,COLOR_RED,"{FFFFFF}У вас недостаточно денег на {ff0000}Донат-Балансе.");
PlayerInfo[playerid][pAdmin] = 10,SendClientMessage(playerid,COLOR_GREEN,"{FFFFFF}Вы приобрели 10 уровень администратора"),PlayerInfo[playerid][pRub] -= 850; //Цены свои
}
}
}
}
PHP:
if(dialogid == 104)
{
if(response)
{
if(strlen(inputtext) > 0)
{
RegCode = true;
format(RegCodes,sizeof(RegCodes),"%s",inputtext);
ShowPlayerDialog(playerid,105,DIALOG_STYLE_INPUT,"Создание Кода","Введите количество Руб:","Регистрация","Отмена");
}
}
}
PHP:
if(dialogid == 105)
{
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,"{FFFFFF}Вы успешно создали данный {FF0000}Код.");
}
}
}
Надеюсь я заслужил на +
Последнее редактирование: