Доступ к архиву

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Донат [ ******** ] [GM:RLS]

Статус
В этой теме нельзя размещать новые ответы.

#define

Изучающий
Пользователь
Регистрация
11 Мар 2013
Сообщения
603
Лучшие ответы
0
Репутация
476
Система доната SVL

ко всем new:
PHP:
new Donate;
в enum pInfo
PHP:
pDonate,
в public OnPlayerConnect(playerid)
PHP:
PlayerInfo[playerid][pDonate] = 0;
в public OnPlayerLogin(playerid,password[])
PHP:
	ini_getInteger(File,"Donate",PlayerInfo[playerid][pDonate]);
в public OnPlayerRegister(playerid, password[])
PHP:
	ini_setInteger(File,"Donate",PlayerInfo[playerid][pDonate]);
в public OnPlayerSave(playerid)
PHP:
	ini_setInteger(File,"Donate",PlayerInfo[playerid][pDonate]);
в public OnPlayerUpdateRL(playerid)
PHP:
ini_setInteger(File,"Donate",PlayerInfo[playerid][pDonate]);
ко всем командам:
PHP:
    if(strcmp(cmd, "/donate", true) == 0)
	{
		ShowPlayerDialog(playerid, 12955, DIALOG_STYLE_LIST, "Донат", "[1] - Пополнение\n[2] - Обменять донат очки на деньги\n[3] - Игровые привелегии\n[4] - Донат-разблокировка аккаунтов\n[5] - Купить донат код", "Выбрать", "Отмена"); return true;
	}
в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
 		case 12955:
		{
			if(response)
			{
				switch(listitem)
				{
					case 0: ShowPlayerDialog(playerid, 12956, DIALOG_STYLE_INPUT, "« Донат »", "{FFFFFF}Введите ваш донат код в поле ввода:", "Продолжить", "Назад");
					case 1: format(string, sizeof(string), "{FFFFFF}Действующий тариф: {00B464}Обычный {FFFFFF}(1 к 15 тыс.)\n\nНа счету вашего аккаунта {00B464}%d {FFFFFF}донат очка(о/ов)\n\nМаксимально доступная выручка с обмена состовляет %d $", PlayerInfo[playerid][pDonate], PlayerInfo[playerid][pDonate]*15000), ShowPlayerDialog(playerid, 12953, DIALOG_STYLE_INPUT, "« Донат »", string, "Продолжить", "Назад");
					case 2: ShowPlayerDialog(playerid, 12957, DIALOG_STYLE_LIST, "« Донат »", "[0] - Убрать бан чата (20)\n[1] - Аннулировать варны (100)\n[2] - Прибавить 1 к игровому уровню (250)\n[3] - Удалить тюнинг с личного транспорта (50)\n[4] - Понизить уровень розыска (5)\n[5] - Прибавить 1000 к наркозависимости (20)\n[6] - Убавить 1000 от наркозависимости (20)\n[7] - Комплект оружия (40)\n[8] - Прибавить 10 к законопослушности (10)", "Выбрать", "Назад");
					case 3: ShowPlayerDialog(playerid, 12958, DIALOG_STYLE_INPUT, "« Донат »", "{FFFFFF}Вы можете разблокировать любой игровой аккаунт с помощью 300 донат очков.\nОчки будут списаны с вашего счета, только при успешном разбане.\n\nВведите логин заблокированного аккаунта:", "Разбан", "Назад");
					case 4: SendClientMessage(playerid, COLOR_WHITE, "Подробная информация на сайте: ВАШ САЙТ");
				}
			}
			else return true;
		}
		case 12956:
		{
			if(response)
			{
				if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 48, DIALOG_STYLE_INPUT, "« Донат »", "{FFFFFF}Введите ваш донат код в поле ввода:", "Продолжить", "Назад");
				new donate;
				new iniFile = ini_openFile("/logs/donate.ini");
				if(ini_getInteger(iniFile, inputtext, donate) == 0)
				{
					PlayerInfo[playerid][pDonate] += donate;
					format(string, sizeof(string), "Вы пополнили свой аккаунт на {00B464}%d {FFFFFF}очков", donate);
					SendClientMessage(playerid, COLOR_WHITE, string);
					ini_removeKey(iniFile, inputtext);
					ini_closeFile(iniFile);
				}
				else return ShowPlayerDialog(playerid, 69, DIALOG_STYLE_MSGBOX, "Ошибка", "{FFFFFF}Вы ошиблись при вводе кодов", "Готово", "");
			}
			else return ShowPlayerDialog(playerid, 12955, DIALOG_STYLE_LIST, "« Донат »", "[1] - Пополнение\n[2] - Обменять донат очки на деньги\n[3] - Игровые привелегии\n[4] - Донат-разблокировка аккаунтов\n[5] - Купить донат код", "Выбрать", "Отмена");
		}
		case 12953:
		{
			if(response)
			{
				if(!strlen(inputtext)) return format(string, sizeof(string), "{FFFFFF}Действующий тариф: {00B464}Обычный {FFFFFF}(1 к 15 тыс.)\n\nНа счету вашего аккаунта {00B464}%d {FFFFFF}донат очка(о/ов)\n\nМаксимально доступная выручка с обмена состовляет %d $", PlayerInfo[playerid][pDonate], PlayerInfo[playerid][pDonate]*15000), ShowPlayerDialog(playerid, 49, DIALOG_STYLE_INPUT, "« Донат »", string, "Выбрать", "Назад");
				new moneys;
				moneys = strval(inputtext);
				if(PlayerInfo[playerid][pDonate] < moneys) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
				if(moneys > 10000 || moneys < 1) return SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 1 и больше 10000");
				PlayerInfo[playerid][pBank] += moneys*15000;
				format(string, sizeof(string), "Ваш аккаунт успешно пополнен, деньги были переведены в банк!");
				SendClientMessage(playerid, COLOR_WHITE, string);
				PlayerInfo[playerid][pDonate] -= moneys;
			}
			else return ShowPlayerDialog(playerid, 12955, DIALOG_STYLE_LIST, "« Донат »", "[1] - Пополнение\n[2] - Обменять донат очки на деньги\n[3] - Игровые привелегии\n[4] - Донат-разблокировка аккаунтов\n[5] - Купить донат код", "Выбрать", "Отмена");
		}
		case 12957:
		{
			if(response)
			{
				switch(listitem)
				{
					case 0:
					{
						if(PlayerInfo[playerid][pDonate] < 20) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
						PlayerInfo[playerid][pMuted] = 0;
						PlayerInfo[playerid][pMuteTime] = 0;
						SendClientMessage(playerid, COLOR_WHITE, "Вы сняли бан чата за {00B464}20 {FFFFFF}донат очков");
						PlayerInfo[playerid][pDonate] -= 20;
					}
					case 1:
					{
						if(PlayerInfo[playerid][pDonate] < 100) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
						PlayerInfo[playerid][pWarns] = 0;
						SendClientMessage(playerid, COLOR_WHITE, "Вы аннулировали варны за {00B464}100 {FFFFFF}донат очков");
						PlayerInfo[playerid][pDonate] -= 100;
					}
					case 2:
					{
						if(PlayerInfo[playerid][pDonate] < 250) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
						PlayerInfo[playerid][pLevel] += 1;
						SendClientMessage(playerid, COLOR_WHITE, "Вы прибавили 1 к игровому уровню за {00B464}250 {FFFFFF}донат очков");
						PlayerInfo[playerid][pDonate] -= 250;
					}
					case 3:
					{
						if(PlayerInfo[playerid][pDonate] < 50) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
						CompVehDel(playerid);
						SendClientMessage(playerid, COLOR_WHITE, "Вы удалили тюнинг с личного транспорта за {00B464}50 {FFFFFF}донат очков");
						PlayerInfo[playerid][pDonate] -= 50;
					}
					case 4:
					{
						if(PlayerInfo[playerid][pDonate] < 5) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
						PlayerInfo[playerid][pZvezdi] =0;
                        PlayerInfo[playerid][pDonate] -=5;
                        SendClientMessage(playerid,COLOR_WHITE,"Вы понизили свой уровень розыска за {00B464}5 {FFFFFF}донат очков.");
					}
					case 5:
					{
						if(PlayerInfo[playerid][pDonate] < 20) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
                        PlayerInfo[playerid][pNarcoZavisimost] += 1000;
                        PlayerInfo[playerid][pDonate] -=20;
                        SendClientMessage(playerid,COLOR_WHITE,"Вы прибавили себе наркозависимость на 1000 за {00B464}20 {FFFFFF}донат очков.");
					}
					case 6:
					{
						if(PlayerInfo[playerid][pDonate] < 20) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
                        if(PlayerInfo[playerid][pNarcoZavisimost] < 1000) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: У вас нет наркозависимости!");
                        PlayerInfo[playerid][pNarcoZavisimost] -= 1000;
                        PlayerInfo[playerid][pDonate] -=20;
                        SendClientMessage(playerid,COLOR_WHITE,"Вы убавили себе наркозависимость на 1000 за {00B464}20 {FFFFFF}донат очков.");
					}
					case 7:
					{
						if(PlayerInfo[playerid][pDonate] < 40) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
                        GetWeaponPla(playerid, 24, 1000);
                        GetWeaponPla(playerid, 29, 1000);
                        GetWeaponPla(playerid, 31, 1000);
                        GetWeaponPla(playerid, 25, 1000);
                        PlayerInfo[playerid][pDonate] -=40;
                        SendClientMessage(playerid,COLOR_WHITE,"Вам выдан комплект оружия за {00B464}40 {FFFFFF}донат очков.");
					}
					case 8:
					{
						if(PlayerInfo[playerid][pDonate] < 10) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
						PlayerInfo[playerid][pDonate] -=10;
			            PlayerInfo[playerid][pZakonp] += 10;
			            SendClientMessage(playerid,COLOR_WHITE,"Вы прибавили себе законопослушность на 10 за {00B464}10 {FFFFFF}донат очков.");
					}
				}
			}
			else return ShowPlayerDialog(playerid, 12955, DIALOG_STYLE_LIST, "« Донат »", "[1] - Пополнение\n[2] - Обменять донат очки на деньги\n[3] - Игровые привелегии\n[4] - Донат-разблокировка аккаунтов\n[5] - Купить донат код", "Выбрать", "Отмена");
		}
		case 12958:
		{
			if(response)
			{
				if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 51, DIALOG_STYLE_INPUT, "« Донат »", "{FFFFFF}Вы можете разблокировать любой игровой аккаунт с помощью 300 донат очков.\nОчки будут списаны с вашего счета, только при успешном разбане.\n\nВведите логин заблокированного аккаунта:", "Разбан", "Назад");
				if(PlayerInfo[playerid][pDonate] < 300) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
				format(string, sizeof(string), "/users/%s.ini", inputtext);
				if(fexist(string))
				{
					new File = ini_openFile(string);
					ini_setInteger(File, "Locked", 0);
					ini_closeFile(File);
					format(string, sizeof(string), "Вы разбанили игровой аккаунт %s за {00B464}300 {FFFFFF}донат очков", inputtext);
					SendClientMessage(playerid, COLOR_WHITE, string);
					PlayerInfo[playerid][pDonate] -= 300;
				}
				else return SendClientMessage(playerid, COLOR_GREY, "Аккаунт не найден");
			}
			else return ShowPlayerDialog(playerid, 12955, DIALOG_STYLE_LIST, "« Донат »", "[1] - Пополнение\n[2] - Обменять донат очки на деньги\n[3] - Игровые привелегии\n[4] - Донат-разблокировка аккаунтов\n[5] - Купить донат код", "Выбрать", "Отмена");
		}
Добавляем команду:
PHP:
 else if(strcmp(cmd, "/givedonate", true) == 0)
        {
            if(PlayerInfo[playerid][pAdmin] == 6) // Изменяем на свой лвл адм
            {
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) return    SendClientMessage(playerid, COLOR_WHITE, "Введите: /givedonate [playerid] [кол-во очков]");
                new playa;
                playa = ReturnUser(tmp);
                tmp = strtok(cmdtext, idx);
                Donate = strval(tmp);
                if(PlayerInfo[playerid][pAdmin] == 6)
                {
                    if(IsPlayerConnected(playa))
                    {
                        if(playa != INVALID_PLAYER_ID)
                        {
                            format(string, sizeof(string), "%d переведено на счет игроку", Donate);
                            SendClientMessage(playerid, COLOR_WHITE, string);
                            PlayerInfo[playa][pDonate] += Donate;
                            SendClientMessage(playa, COLOR_NEWS, "Пополнение доната аккаунта");
                            format(string, sizeof(string),"Пополнение на: {d53e07}$%d", Donate);
                            SendClientMessage(playa, COLOR_WHITE, string);
                            format(string, sizeof(string), "Донат счет: {d53e07}$%d", PlayerInfo[playa][pDonate]);
                            SendClientMessage(playa, COLOR_WHITE, string);
                        }
                    }
                }
            }
            return true;
        }
Ссылка на файл donate.ini: ПАРОЛЬ: pawno



Парочка скриншотов:




 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу