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

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

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

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

[Урок] Делаем Донат систему с отправкой кода на email (mxINI)

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

A3st

Новичок
Урок & Мануал по разработке донат системы и использования a_mail.inc, mxini.inc
Всем привет :) Я разработал новую донат систему, без Mysql через инклуд a_mail.inc
Если у вас мод Samp-Rp (Копия), то там есть строчка PlayerInfo[playerid][pEmail].
И когда игрок регается на вашем сервере ему пишет введите Email он вводит и inputtext записывается в PlayerInfo[playerid][pEmail].
Затем система сохранения его сохраняет.
Донат система работает так: вы платите деньги администратору, затем администратор вводит CMD /givecode и выдает вам на Email код.
Вы получаете этот код по Email и вводите в /donate и радуетесь Vip Account и деньгами
Требования: Комманда /donate с полем ввода кода.
Код осуществления такого чуда:
В OnPlayerCommand
PHP:
else if(strcmp(cmd, "/givecode", true) == 0)
	{
	if(PlayerInfo[playerid][pAdmin] >= 6) //Админ ЛВЛ замените на свой
	{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return	SendClientMessage(playerid, COLOR_WHITE, "Введите: /givecode [ид] [код] [сумма кода]");
			new playa;
			new code;
			new money;
			new giveplayername[MAX_PLAYER_NAME];
			playa = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			code = strval(tmp);
			money = strval(tmp);
			if (PlayerInfo[playerid][pAdmin] >= 6) //Админ ЛВЛ замените на свой
			{
			    if(IsPlayerConnected(playa))
			    {
			        if(playa != INVALID_PLAYER_ID)
			        {
					GetPlayerName(playa, giveplayername, sizeof(giveplayername));
					new iniFile = ini_openFile("donate.ini");
			        	ini_setInteger(iniFile, code, money);
					ini_closeFile(iniFile);
					format(string, sizeof(string), "Вы выдали %s донат код %d с суммой %d", giveplayername, code, money);
					SendClientMessage(playerid, COLOR_BLUE, string);
					SendClientMessage(playa, COLOR_BLUE, "На ваш Email адрес был выслан специальный донат код");
					SendClientMessage(playa, COLOR_WHITE, "(( Введите специальный донат код в /donate. Удачной игры ))");
					format(string, sizeof(string), "Здравствуйте!\nВы заказывали специальный донат код от Samp-Rp\nДонат код был прислан вам на Email\nСпециальный донат код: %d\nВведите его в окошке /donate\n Приятной игры на нашем сервере Samp-Rp.ru", code);
					SendMail(PlayerInfo[playa][pEmail], "@", "no-reply@samp-rp.ru", "Донат Samp-Rp.", string);
				}
			}//not connected
		}
		return 1;
	}
И немного о a_mail.inc инклуде.
Комманда отправки писем очень проста. Сейчас я покажу её в использовании.
SendMail(adress[], prefix[], email[], name[], message[]);
adress[] - отвечает за Email адрес. В нашем случаи это адрес который был введен походу регистрации на сервере.
prefix[] - обычно это @ он отвечает за сам Email в Email всегда так к примеру Microsoft@mail.ru
email[] - Это сам Email адрес сервера который получает adress[],к примеру "Пришло сообщение от email[]", в нашем случаи это "Пришло сообщение от no-reply@samp-rp.ru"
name[] - Имя сообщения к примеру "настройка емаил." в нашем случаи "Донат Samp-Rp"
message[] - это сам текст Email сообщения который пришел на adress[], в нашем случаи "Здравствуйте!\nВы заказывали специальный донат код от Samp-Rp\nДонат код был пислан вам на Email\nСпециальный донат код: %d\nВведите его в окошке /donate\n Приятной игры на нашем сервере Samp-Rp.ru" %d это code который был вписан в string.
Скачать a_mail.inc сылка:
Если у вас нет комманды /donate и стандартый мод RLS или другой то делаем её :)
в OnPlayerCommand
PHP:
if (strcmp(cmd, "/donate", true, 10) == 0)
	{
		ShowPlayerDialog(playerid,1993,DIALOG_STYLE_INPUT,"Код 1","==========================\n            Введите код 1\n==========================","Готово","Отмена");
		return 1;
	}
далее в OnDialogResponse
Куданибудь
PHP:
case 1993: // Иди диалога
			{
				new donate;
				new iniFile = ini_openFile("donate.ini");
				if(ini_getInteger(iniFile, inputtext, donate) == 0)
				{
					PlayerInfo[playerid][pCash] += donate;
       				PlayerInfo[playerid][pDonatechet] += donate;
					GivePlayerMoney(playerid, donate);
					ini_removeKey(iniFile,inputtext);
				}
				else
				{
					ShowPlayerDialog(playerid,2325,DIALOG_STYLE_MSGBOX,"Ошибка","Вы ошиблись при вводе кодов","Ок","");
				}
				ini_closeFile(iniFile);
			}
Буду рад Спасибкам xD (( Специально для Role Play Серверов ))
P.S Кому не нравится данная тема, прошу не флудить, а проходить мимо!
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу