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

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

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

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

Создаём простенький Drift сервер (урок 1)

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

Ceni[B]Frost

Дебютант
Такс здрасте мы начинаем создавать дрифт сервер

Система регистрации -Нет
Дрифт счётчик -Нет
Система телепортов и авто -Нет
Дофига маппинга =) -Нет

Так начнём будем делать регистрацию создаём новый проэкт в павно и видем там вот это

PHP:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" Blank Filterscript by your name here");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

#else

main()
{
	print("\n----------------------------------");
	print(" Blank Gamemode by your name here");
	print("----------------------------------\n");
}

#endif
Ну вам наверно тут обяснять ничего ненадо вы измените там на своё
Так далее качаем инклуд

И ко всем инклудам вставляем это
PHP:
#include <mxINI>
И далее ко всем #define
Вставляем вот это
PHP:
#define DIALOG_LOGIN 1
#define DIALOG_REGISTER 2 
#define WHITE "{FFFFFF}"
#define RED "{F81414}"
#define GREEN "{00FF22}"
#define LIGHTBLUE "{00CED1}"
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_LIGHTBLUE 0x01FCFFC8
#define COLOR_LIGHTGREEN 0x9ACD32AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_YELLOW2 0xF5DEB3AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_FADE1 0xE6E6E6E6
#define COLOR_FADE2 0xC8C8C8C8
#define COLOR_FADE3 0xAAAAAAAA
#define COLOR_FADE4 0x8C8C8C8C
#define COLOR_FADE5 0x6E6E6E6E
#define COLOR_PURPLE 0xC2A2DAAA
#define COLOR_INVIS 0xAFAFAF00
#define COLOR_SPEC 0xBFC0C200
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_VIOLET 0x9955DEEE
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_SEAGREEN 0x00EEADDF
#define COLOR_GRAYWHITE 0xEEEEFFC4
#define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
#define COLOR_GREENISHGOLD 0xCCFFDD56
#define COLOR_LIGHTBLUEGREEN 0x0FFDD349
#define COLOR_NEUTRALBLUE 0xABCDEF01
#define COLOR_LIGHTCYAN 0xAAFFCC33
#define COLOR_LEMON 0xDDDD2357
#define COLOR_MEDIUMBLUE 0x63AFF00A
#define COLOR_NEUTRAL 0xABCDEF97
#define COLOR_BLACK 0x00000000
#define COLOR_NEUTRALGREEN 0x81CFAB00
#define COLOR_DARKGREEN 0x12900BBF
#define COLOR_DARKBLUE 0x300FFAAB
#define COLOR_BLUEGREEN 0x46BBAA00
#define COLOR_PINK 0xFF66FFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_PURPLE 0xC2A2DAAA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_RED1 0xFF0000AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_CYAN 0x99FFFFAA
#define COLOR_TAN 0xFFFFCCAA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_KHAKI 0x999900AA
#define COLOR_LIME 0x99FF00AA
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_AQUA 0x33CCFFAA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_ISPOLZUY 0x7FB151F
После всех new вставляем это
PHP:
enum pInfo{
    pSpawn,
    pMoney
};
А это ко всем new
PHP:
new PlayerInfo[MAX_PLAYERS][pInfo];
Далее ищем паблик public OnPlayerConnect(playerid)
И туда вставляем это

PHP:
new string[128],stringer[512];
        new NamePlayer[40];
        GetPlayerName(playerid, NamePlayer, 40);
        format(string, sizeof(string), "%s.ini", NamePlayer);
        if(fexist(string))
        {
            format(stringer, 512, "{ffffff}Привет, %s.\n\
                                         Вы зашли на сервер ИМЯ СЕРВЕРА.\n\
                                         Этот ник уже зарегистрирован на сервере..\n\
                                        Приятной игры.", NamePlayer);
            ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_PASSWORD, "Авторизация.", stringer, "Ок", "Выход");
        }
        else
        {
            format(stringer, 512, "{ffffff}Привет, %s.\n\
                                         Вы зашли на сервер ИМЯ СЕРВЕРА.\n\
                                         Этот ник еще не зарегистрирован на сервере..\n\
                                        Приятной игры.", NamePlayer);
            ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Регистрация.", stringer, "Ок", "Выход");
        }
Так имя сервера измените на своё или напишите своё
Далее создадим диалог ищем там строчку

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

И туда вставляем это

PHP:
new stringer[256];
    new NamePlayer[40];
    GetPlayerName(playerid, NamePlayer, 40);
    if(dialogid == DIALOG_REGISTER)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                format(stringer, 512, "{ffffff}Привет, %s.\n\
                                         Вы зашли на сервер ИМЯСЕРВЕРА.\n\
                                         Этот ник еще не зарегистрирован на сервере..\n\
                                        Приятной игры.", NamePlayer);
                ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Регистрация.", stringer, "Ок", "Выход");
                return 1;
            }
            OnPlayerRegister(playerid, inputtext);
            return 1;
        }
        else
        {
            SendClientMessage(playerid, COLOR_WHITE, "Вы не зарегистрировались, и были кикнуты.");
            Kick(playerid);
        }
        return 1;
    }
    if(dialogid == DIALOG_LOGIN)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                format(stringer, 512, "{ffffff}Привет, %s.\n\
                                         Вы зашли на сервер ИМЯСЕРВЕРА.\n\
                                         Этот ник уже зарегистрирован на сервере..\n\
                                        Приятной игры.", NamePlayer);
                ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_PASSWORD, "Авторизация.", stringer, "Ок", "Выход");
                return 1;
            }
            OnPlayerLogin(playerid, inputtext);
            return 1;
        }
        else
        {
            SendClientMessage(playerid, COLOR_WHITE, "Вы не авторизовались, и были кикнуты.");
            Kick(playerid);
        }
    }
Так далее создадим стоки сохранения,авторизации и регистрации
Создадим сток регистрации

PHP:
stock OnPlayerRegister(playerid, password[])
{
    new string[255], PlayerName[40];
    GetPlayerName(playerid, PlayerName, 40);
    format(string, 64, "%s.ini", PlayerName);
    new iniFile = ini_createFile(string);
    if(iniFile < 0) iniFile = ini_openFile(string);
    ini_setString(iniFile, "Пароль", password);
    ini_setInteger(iniFile, "Бабло",0);
    ini_closeFile(iniFile);
    OnPlayerLogin(playerid, password);
    return 1;
}
Тут наверно измените на своё
Далее создадим сток авторизации

PHP:
stock OnPlayerLogin(playerid, password[])
{
    new string[512], NamePlayer[40], Password[32];
    GetPlayerName(playerid, NamePlayer, 40);
    format(string, 64, "%s.ini", NamePlayer);
    if(fexist(string))
    {
        new iniFile = ini_openFile (string);
        ini_getString(iniFile, "Пароль", Password);
        if(!strcmp(Password, password, true))
        {
            ini_getInteger(iniFile, "Спавн", PlayerInfo[playerid][pSpawn]);
            ini_getInteger(iniFile, "Бабло", PlayerInfo[playerid][pMoney]);
            ini_closeFile(iniFile);
            GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
            SpawnPlayer(playerid);
            return 1;
        }
        else
        {
            SendClientMessage(playerid,COLOR_WHITE,"Вы ввели неверный пароль.");
            format(string, 512, "{ffffff}Привет, %s.\n\
                                         Вы зашли на сервер ИМЯ СЕРВЕРА.\n\
                                         Этот ник уже зарегистрирован на сервере..\n\
                                        Приятной игры.", NamePlayer);
            ShowPlayerDialog(playerid, DIALOG_LOGIN , DIALOG_STYLE_PASSWORD, "Авторизация.", string, "Ок", "Выход");
            return 1;
        }
    }
    return 1;
}
stock OnPlayerSave(playerid)
{
    PlayerInfo[playerid][pMoney] = GetPlayerMoney(playerid);
    new string[128], PlayerName[40];
    GetPlayerName(playerid, PlayerName, 40);
    format(string, sizeof(string), "%s.ini", PlayerName);
    new iniFile = ini_openFile (string);
    ini_setInteger(iniFile, "Спавн",PlayerInfo[playerid][pSpawn]);
    ini_setInteger(iniFile, "Бабло",PlayerInfo[playerid][pMoney]);
    ini_closeFile(iniFile);
    return 1;
}
Такс ну первый урок подошёл к концу
Кому помог ставте +
Ждите 2 урок
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу