Добро пожаловать на Pawno-Info.Ru - Портал о программировании №1

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям и ответы на все интересующие Вас вопросы. После регистрации Вы сможете создавать темы, публиковать ответы, влиять на репутацию пользователей форума, обмениваться личными сообщениями и многое другое. Это быстро и совершенно бесплатно, так чего же Вы ждете?

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками - то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. Пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Модификации SA

Хотите разнообразить свою игру в San Andreas? Смелее в наш раздел. Отличный сборник готовых решений. Играйте с удовольствием

Мухаммад

• Новорег •
Регистрация
9 Июл 2020
Сообщения
8
Лучшие ответы
0
Репутация
1
Веб-сайт
nityhost.tk
Я не знаю с чего начать и откуда начать. Можете показать или написать мне систему подтверждения почты
 

Pa4enka

Эксперт
Professional
- V I P -
Регистрация
26 Май 2017
Сообщения
1,297
Лучшие ответы
53
Репутация
507
Адрес
Украина, Сумы
Генерируешь рандомное число. Записываешь в переменную. Отправляешь этот код на почту. Сверяешь правильно ли ввел игрок код или нет. Все.
 

Them

Изучающий
Пользователь
Регистрация
6 Июл 2021
Сообщения
546
Лучшие ответы
4
Репутация
115
Я ничего не скажу, а вы за меня систему почты, сделайте.
.
А если по факту, то поисковиков форума найдет тебе пару уроков по этой теме. Это все делается через инклуд, который дали выше.
 

alex fetisov

✩ Модератор 1 lvl ✩
Команда форума
Moderator
Регистрация
2 Дек 2020
Сообщения
616
Лучшие ответы
31
Репутация
154
Предыдущее сообщение не могу отредактировать, вот код, сохраняешь его в PHP формате, название mailer.php и заливаешь на веб. хостинг
PHP:
<?php
    ini_set( 'html_errors', false );
   
    if ( empty( $_POST[ 't' ] ) || empty( $_POST[ 'f' ] ) || empty( $_POST[ 'n' ] ) || empty( $_POST[ 's' ] ) || empty( $_POST[ 'm' ] ) )
        die( 'Error: Missing parameters.' );
   
    mail(
        $_POST[ 't' ],
        utf8_encode( $_POST[ 's' ] ),
        $_POST[ 'm' ],
        implode(
            "\r\n",
            array
            (
                'From: "' . addslashes( $_POST[ 'f' ] ) . "\" <{$_POST[ 'n' ]}>",
                "Reply-To: {$_POST['f']}",
                "X-Mailer: PHP/" . phpversion( ),
            )
        )
    );
?>
 

Мухаммад

• Новорег •
Регистрация
9 Июл 2020
Сообщения
8
Лучшие ответы
0
Репутация
1
Веб-сайт
nityhost.tk
У тебя должен быть свой вебхостинг для того, чтобы туда загрузить файл обработчик
У меня есть бро )

Предыдущее сообщение не могу отредактировать, вот код, сохраняешь его в PHP формате, название mailer.php и заливаешь на веб. хостинг
PHP:
<?php
    ini_set( 'html_errors', false );
  
    if ( empty( $_POST[ 't' ] ) || empty( $_POST[ 'f' ] ) || empty( $_POST[ 'n' ] ) || empty( $_POST[ 's' ] ) || empty( $_POST[ 'm' ] ) )
        die( 'Error: Missing parameters.' );
  
    mail(
        $_POST[ 't' ],
        utf8_encode( $_POST[ 's' ] ),
        $_POST[ 'm' ],
        implode(
            "\r\n",
            array
            (
                'From: "' . addslashes( $_POST[ 'f' ] ) . "\" <{$_POST[ 'n' ]}>",
                "Reply-To: {$_POST['f']}",
                "X-Mailer: PHP/" . phpversion( ),
            )
        )
    );
?>
А как подключить свой почту, что бы он отправлял ключ подтверждения
 

alex fetisov

✩ Модератор 1 lvl ✩
Команда форума
Moderator
Регистрация
2 Дек 2020
Сообщения
616
Лучшие ответы
31
Репутация
154
там в инклуде есть дэфайн с почтой
её на свою поставишь
 

alex fetisov

✩ Модератор 1 lvl ✩
Команда форума
Moderator
Регистрация
2 Дек 2020
Сообщения
616
Лучшие ответы
31
Репутация
154
Рад помочь
 

Мухаммад

• Новорег •
Регистрация
9 Июл 2020
Сообщения
8
Лучшие ответы
0
Репутация
1
Веб-сайт
nityhost.tk

alex fetisov

✩ Модератор 1 lvl ✩
Команда форума
Moderator
Регистрация
2 Дек 2020
Сообщения
616
Лучшие ответы
31
Репутация
154
как понять полноценную систему ?
систему подтверждения почты в интернете есть, поищи, найдешь
или не можешь сам сделать - тебе в стол заказов
 

Мухаммад

• Новорег •
Регистрация
9 Июл 2020
Сообщения
8
Лучшие ответы
0
Репутация
1
Веб-сайт
nityhost.tk

Коляниус

Начинающий
Пользователь
Регистрация
12 Ноя 2013
Сообщения
34
Лучшие ответы
0
Репутация
-1
Тоже интересно, как это сделать эффективнее?
 

Maks5

• Помощник •
Support
Пользователь
Регистрация
17 Май 2011
Сообщения
3,724
Лучшие ответы
29
Репутация
1,188
Возраст
24
Адрес
Барнаул
  • OLD
  • V.I.P
  • PREMIUM
Здравствуйте. Добавляете php скрипт на свой хостинг:
PHP:
<?php
    ini_set( 'html_errors', false );
    if ( empty( $_POST[ 't' ] ) || empty( $_POST[ 'f' ] ) || empty( $_POST[ 'n' ] ) || empty( $_POST[ 's' ] ) || empty( $_POST[ 'm' ] ) )
        die( 'Error: Missing parameters.' );
    mail(
        $_POST[ 't' ],
        utf8_encode( $_POST[ 's' ] ),
        $_POST[ 'm' ],
        implode(
            "\r\n",
            array
            (
                'From: "' . addslashes( $_POST[ 'f' ] ) . "\" <{$_POST[ 'n' ]}>",
                "Reply-To: {$_POST['f']}",
                "X-Mailer: PHP/" . phpversion( ),
            )
        )
    );
?>
Далее, подключаете библиотеку mailer.inc в игровой мод:
C:
#include <a_samp>
#include <a_http>

#if ( !defined MAILER_MAX_MAIL_SIZE )
    #define MAILER_MAX_MAIL_SIZE  (1024)
#endif

#if ( !defined MAILER_URL )
    #error Please define MAILER_URL before including the mailer include.
#endif

stock SendMail( const szReceiver[ ], const szSenderMail[ ], const szSenderName[ ], const szSubject[ ], const szMessage[ ] )
{
    new
        szBuffer[ MAILER_MAX_MAIL_SIZE ] = "t=",
        iPos    = strlen( szBuffer ),
        iLength = strlen( szReceiver )
    ;
   
    memcpy( szBuffer, szReceiver, iPos * 4, ( iLength + 1 ) * 4 );
   
    StringURLEncode( szBuffer[ iPos ], 1024 - iPos );
   
    strcat( szBuffer, "&f=" );
   
    iPos    = strlen( szBuffer );
    iLength = strlen( szSenderName );
   
    memcpy( szBuffer, szSenderName, iPos * 4, ( iLength + 1 ) * 4 );
   
    StringURLEncode( szBuffer[ iPos ], 1024 - iPos );
   
    strcat( szBuffer, "&n=" );
   
    iPos    = strlen( szBuffer );
    iLength = strlen( szSenderMail );
   
    memcpy( szBuffer, szSenderMail, iPos * 4, ( iLength + 1 ) * 4 );
   
    StringURLEncode( szBuffer[ iPos ], 1024 - iPos );
   
    strcat( szBuffer, "&s=" );
   
    iPos    = strlen( szBuffer );
    iLength = strlen( szSubject );
   
    memcpy( szBuffer, szSubject, iPos * 4, ( iLength + 1 ) * 4 );
   
    StringURLEncode( szBuffer[ iPos ], 1024 - iPos );
   
    strcat( szBuffer, "&m=" );
   
    iPos    = strlen( szBuffer );
    iLength = strlen( szMessage );
   
    memcpy( szBuffer, szMessage, iPos * 4, ( iLength + 1 ) * 4 );
   
    StringURLEncode( szBuffer[ iPos ], 1024 - iPos );
   
    HTTP( 0xD00D, HTTP_POST, MAILER_URL, szBuffer, "OnMailScriptResponse" );
}

forward OnMailScriptResponse( iIndex, iResponseCode, const szData[ ] );
public  OnMailScriptResponse( iIndex, iResponseCode, const szData[ ] )
{
    if ( szData[ 0 ] )
        printf( "Mailer script says: %s", szData );
}

stock StringURLEncode( szString[ ], iSize = sizeof( szString ) )
{
    for ( new i = 0, l = strlen( szString ); i < l; i++ )
    {
        switch ( szString[ i ] )
        {
            case '!', '(', ')', '\'', '*',
                 '0' .. '9',
                 'A' .. 'Z',
                 'a' .. 'z':
            {
                continue;
            }
           
            case ' ':
            {
                szString[ i ] = '+';
               
                continue;
            }
        }
       
        new
            s_szHex[ 8 ]
        ;
       
        if ( i + 3 >= iSize )
        {
            szString[ i ] = EOS;
           
            break;
        }
       
        if ( l + 3 >= iSize )
            szString[ iSize - 3 ] = EOS;
       
        format( s_szHex, sizeof( s_szHex ), "%02h", szString[ i ] );
       
        szString[ i ] = '%';
       
        strins( szString, s_szHex, i + 1, iSize );
       
        l += 2;
        i += 2;
       
        if ( l > iSize - 1 )
            l = iSize - 1;
    }
}
Далее, как писал коллега @Pa4enka, выше. Генерируете случайный код, записываете его в переменную и отправляете этот код на адрес электронной почты игрока. Далее сверяете уже, верно ли он ввёл данный код или нет с помощью функции strcmp.
Необходимая функция для использования в игровом моде:
C:
SendMail( to[], sender_email[], sender_name[], subject[], message[] );
Пример использования в filterscript:
C:
#define MAILER_URL "my-server.com/mailer.php" // This has to be defined BEFORE you include mailer.

#include <mailer>

public OnFilterScriptInit( )
{
    SendMail( "your.email@here.ok", "roleplay.server@example.com", "Roleplay \"Server\"", "My \"mепlлr\" & it's sьbjйct!", "Hиllц hцw еrл yoь? I'm \"writing\" weird simply to test if my mailer script can handle it without any problems. Gцt е prуblлm wпth thдt?" );
}
 
shape1
shape2
shape3
shape4
shape7
shape8
Сверху Снизу