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

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

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

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

Донат сервис на системе A1pay

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

Modesto

Умник
>ТРЕБОВАНИЯ<

1. Наличие сайте с FTP доступом.
2. Знание хотя бы самое маленькое php и MySQL. (не знаете вообще что это такое, не беритесь.)
​

1. Начнём с регистрации на сайте услуг биллинга. Заходим по адресу В правом верхнем углу выбираем "Вход для клиентов" либо "Регистрация" войти можно через гугл, яндекс, майл... После входа выбираем "Инструменты" вверху.​




2.Нажимаем "Добавить сервис"
Открывается​



Далее указываем всё как на картинке (нажмите на неё, чтобы увеличить). "ваш_сайт" замените на адрес вашего сайта. Нажимаем добавить.

3.




Теперь нажимаем "Создать кнопку" (выделено на картинке). Заполняем поля и нажимаем "Создать код кнопки"​


4.Получаем код кнопки и пока оставим это.
Идём в phpmyadmin вашего сайта и создаём таблицу, допустим "Donate" и создаём такие поля:​


5.Теперь, непосредственно на вашем сайте создаём файлы script.php donate.php nodonate.php
В файл script.php записываем следующий код (В коде изменяем Логины , Пароли , и Базу данных , больше нечего)
(Эти файлы вы можете создать в программе Notepad++ и загрузить на свой сайт через FileZilla)
​

PHP:
<?
FUNCTION A1Lite_processor ($t,$secret) // не что вроде public (комментарии удали)
{
$params = array(        'tid' => $t['tid'],
'name' => $t['name'], 
'comment' => $t['comment'],
'partner_id' => $t['partner_id'],
'service_id' => $t['service_id'],
'order_id' => $t['order_id'],
'type' => $t['type'],
'partner_income' => $t['partner_income'],
'system_income' => $t['system_income']
);
$params['check'] = md5(join('', array_values($params)) . $secret);
if ($params['check'] === $t['check'])
{
// Действия по зачислению платежа. A1Lite - Ключи совпали.
$ok=TRUE;
}
else
{
// Действия по ошибке. A1Lite - Ключи не совпали.
$ok= FALSE;
}
 
return $ok;
}
$secret = 'KEY'; // секретный ключ который указали при регистрации на a1pay (ИЗМЕНЯЕМ ПОД СЕБЯ)
if(A1Lite_processor($_POST,$secret) === TRUE)
{
        $code = rand(1000000,10000000); //От этих чисел получаем кода
        $email = $_POST['email']; // получаем e-mail, указанный клиентом
        $text = "Здравствуйте!\r\nВот ваш донат код: '$code'\r\n 
        Чтобы его использовать, введите в игре /donate в окошко, которое появится введите данный код."; // пишем письмо клиенту
        mail($email, "Пополнение средств на сервере ********", $text); // отправляем письмо клиенту
        $money = 100000; // Деньги которые игрок получает при вводе правильного кода (меняем под себя)
        $db = mysql_connect("localhost", "root", "") or die("Ошибка подключения к серверу."); //подключаемся к базе сайта (ДАННЫЕ ПИШЕМ СВОИ)
        mysql_select_db("SITE") or die("Не выбрана база!"); //выбираем базу 
        mysql_query("INSERT INTO `Donate` (Code,Money,Status) VALUES ('$code','$money','1')"); // записываем всю эту конитель в базу (`Donate` 'это назавание таблицы )
}
else
{
        echo 'Not'; // здесь выведем сообщение, если игрок как попытался обмануть вас
}
?>

6.Теперь заполняем файл donate.php (тут уже не только код, но и весь скелет сайта) В нужное место добавьте код:
​
PHP:
FUNCTION A1Lite_processor ($t,$secret)
{
$params = array(        'tid' => $t['tid'],
'name' => $t['name'], 
'comment' => $t['comment'],
'partner_id' => $t['partner_id'],
'service_id' => $t['service_id'],
'order_id' => $t['order_id'],
'type' => $t['type'],
'partner_income' => $t['partner_income'],
'system_income' => $t['system_income'],
);
$params['check'] = md5(join('', array_values($params)) . $secret);
if ($params['check'] === $t['check'])
{
        $ok=TRUE;
}
else
{
// Действия по ошибке. A1Lite - Ключи не совпали.
$ok= FALSE;
}
return $ok;
}
$secret = 'KEY'; // Изменяем ключ под себя
if(A1Lite_processor($_GET,$secret) == TRUE)
{
echo 'На ваш e-mail выслан код. Введите в игре /donate в это окошко введите код, посланный вам на почту.'; // сообщение выдаваемое игроку, может быть любое, это не важно
}
else
{
echo 'Произошла ошибка.'; // игрок попытался вас надурить
}
7.Файл nodonate.php заполните сами, этот файл вызывается только когда на сервере произошла ошибка.
Теперь идём в pawno.​

8.В OnPlayerCommandText(playerid, cmdtext[])​
PHP:
else if(strcmp(cmd, "/donate", true) == 0)
        {
            ShowPlayerDialog(playerid, 197, DIALOG_STYLE_INPUT, "Пополнение счёта.","Введите донат-код полученный вами на e-mail в поле ниже.",
            "Далее","Закрыть"); // выведем игроку окошко, куда он введёт код
            return 1;
        }

В OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])​
PHP:
 else if(dialogid == 197)
        {
            if(response)
            {
                if(!strlen(inputtext) || (!IsNumeric(inputtext)))
                {
                            ShowPlayerDialog(playerid, 197, DIALOG_STYLE_INPUT, "Пополнение счёта.","Введите донат-код полученный вами на e-mail в поле ниже.",
                            "Далее","Закрыть");
                                return 1;
                    }
                    new code = strval(inputtext);
                    format(string, sizeof(string),"SELECT Money FROM Donate WHERE Code = '%d' AND Status = '1'",code);
                    mysql_query(string);
                    mysql_store_result();
                    if(mysql_num_rows())
                    {
                                new name[24], money;
                                mysql_fetch_row_format(name, "|");
                    sscanf(name, "p<|>d",money);
                                PlayerInfo[playerid][pBankMoney] += money; // выдаем деньги в банк (как на SAMP-RP ) можно изменить типо под PlayerInfo[playerid][pDonateMoney] += dmoney
                                format(string, sizeof(string),"Ваш счёт пополнен на %d рублей. Деньги лежат в банке.",money);
                                SendClientMessage(playerid, COLOR_ORANGE, string);
                                format(string, sizeof(string),"UPDATE Donate SET Status = '0' WHERE Code = '%d'",code);
                                mysql_query(string);
                        }
                        else
                        {
                            ShowPlayerDialog(playerid, 19, DIALOG_STYLE_MSGBOX, "EROR", "Ошибка! Этот код либо не существует, либо не действителен.","Ок", "");//если код не правильный
                        }
            }
        }
Вот собственно и всё, код останется в базе данных, но не будет активен, а можно и удалять. Если что-то не понятно - спрашивайте, помог ставьте "+"
Да, чтобы проверить можно создать кнопку с ценой 1 рубль и задонатить, думаю рубль никому не жалко.



Работы Modesto
[Мануал] - Донат сервис на системе A1pay
[Мануал] - Система Бара и меню ( Уроки От Modesto )
​
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу