Перейти к содержанию
Dresis

Мод CR-MP с нуля [ Урок №2 ]

Рекомендуемые сообщения

Dresis

Всем снова здравствуйте с вами DreSiS!

сегодня мы будем делать регистрацию на инклуде mxINI.
Заранее благодарю вас за просмотр моего урока!

 

 

1.Масив и сохранение
 

Спойлер

 



 

прошу смотреть и читать внимательно, конечно же можете скопровать),
и так, пишем:

 


#include <mxINI> // загружаем функцию mxINI ссылка в 1-ом уроке на все файлы

загружаемую функцию вписываем ко всем инклудам!
можете сделать красиво как постарался я:

image.png.36e1ad4573e024c225af28f993c892fc.png

 

итак давайте теперь перейдем ниже.

и пишем следующее:

 


enum pInfo //название enum`а
{
	pPass[32], // масив для с сохроненным паролем. 32 - макс. количество цыфр/букв 
}
//Сразу создаем переменную player для будущих использований   (new - переменная хронящая в себе информацию)
new Player[MAX_PALEYRS][pInfo]//Создав переменную мы исполуем enum pInfo!

 

Эта функция нам необходима для сохранения аккаунта, куда информация будет сохранятся сделаем позже!
а сейчас сделаем регистрацию( так как я не хочу 3 часа подключать это все к базе данных, я сделаю регистрацию без mysql )
и так переходим в самый низ вашего мода!

image.thumb.png.de28482fb6a0e18b69fd9700e2a835b2.png

 

и пишем следующие:
 


stock SavePlayer(playerid) // stock-(знаю только то что для создание диологов)playerid( для показа того для кого он активирован)
{
	new string[32]; //локальная переменная( можно искользовать только в пределах скобок)([32]- у меня стоит pPass[32] поэтому я тут поставил 32 цел-ое число)
  		new playername[MAX_PLAYERS_NAME];// лок. переменная и масив для получении имени игрока которое стоит у всех в клиенте.
		GetPlayerName(playerid,playername, sizeof(playername));// Получаем имя игрока (нечего объяснять я думаю)
		format(string, sizeof(string), players/%s.ini,playername);//format- формат.строк sizeof(string)-неогр. строки, players/%s-путь где сохраняються.
		iniFile = iniopenFile(string);// Открываем файл по пути которое указали.    (players/%s.ini)
		ini_setString(iniFile,"Pass",Player[playerid][pPass]);// записываем пароль указанный при регистрации
		ini_closeFile(iniFile); // Закрываем файл (нечего объяснять я думаю) 
}

(все раставленно ровно,при изминени получите варнинг от павно.)

 

следующий пункт.

 


 

 

Спойлер

 

2.Создание регистрации и авторизации

 

система регистрации не токая простая как вам кажется с игры, любой разработчик Pawno вам скажет что регистрация это только начало работы.

ищем public OnPlayerConnect; - (когда игроки подключаются проискходит. (и то что вы там прописали, там текстдравы ставится и всякая лабуда которую мы будем делать))


у вас будет так:

Вписываем новую переменную ко всем невам.

 


new PAccount[MAX_PLAYERS];// Есть аккаунт, или нет

 

потом у вас будет так:

image.png.687320fbec7412ab7778d521ab75eae2.png

 

как я написал уже , нужно писать в OnPlayerConnect.
 

вписываем это

 


public OnPlayerConnect(playerid)
{
	new playername[MAX_PLAYER_NAME];// Масив имени игрока, для регистрации его ника
	new string[128];// Путь до папки с именем игрока ( мы указывали в пункте Масивы и сохранения)(желательно поставить 128 масив в переменной string)
	GetPlayerName(playerid,playername,sizeof(playername));// Узнаём имя игрока с папки players.
	format(string,sizeof(string),"players/%s.ini", playername);// Путь к файлу с аккаунтом
	if(fexist(string))// Проверка на файл, если он есть то выполняется следующее действие.
	{
		PAccount[playerid] = 1;// Если аккаунт присутствует то будет 1, т.е авторизация.
	}
	else
	{
		PAccount[playerid] = 0;// если аккаунта нету то выполняется регистрация.
	}
	return 1;
}

 

Получится так:

 

image.thumb.png.dc2846884dad8d0c57c978c977397424.png

 

фухх как я устал писать))

вообщем не отстаем писать.

переходим к public OnPlayerRequestClass ( OnPlayerRequestClass - паблик для хранений диологов (не путайте со сток).

и пишем далее:

 


	if(PAccount[playerid] == 1)// Если аккаунт есть
        {
            ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте!\nВаш аккаунт уже зарегестрирован на сервере!\nВведите свой настаящий пароль в окно","Ввод","");// Показываем диалог входа в игру. Стиль диалога выставляем на ввод текста.
        }
        else// Если аккаунта нет
        {
            ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Окно Регистрации","Здравствуйте!\nВаш аккаунт не найден.\nЗарегистрируйтесь введя пароль в окошко","Ввод","");// Показываем диалог регистрации. Стиль диалога выставляем на ввод текста.
        }

вы сами сможете стамбулировать или скачать любой тамбулятор(не реклама) в интернете

я много чего объяснял и тут вы уже поймете что к чему в надписях выше

а какие существуют диалоги, короче вся инфа снизу!

теперь впишите это в конец мода(писать долго будет но попытайтесь написать, так лучше поймете язык павно)
 


forward OnPlayerRegister(playerid, password[]);
public OnPlayerRegister(playerid, password[])// Паблик регистрации
{
        if(IsPlayerConnected(playerid))
        {
            	new string[64];// Масив с путём для файла
                new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
                GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
                format(string,sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для сохранения
                new iniFile = ini_createFile(string);// Создаём файл с именем игрока в папке players
                if(iniFile < 0)// Если Файла нет
                {
                        iniFile = ini_openFile(string);// Открываем
                }
                if(iniFile >= 0)// Если файл есть
                {
                        strmid(Player[playerid][pPass],password,0,strlen(password),255);// Присваиваем масиву pPass, значение password[]
                        ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
                        ini_closeFile(iniFile);// Закрываем файл
                        ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт есть на сервере\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
                }
        }
        return 1;
}

тут тоже объяснять мне нечего потому-что все что нужно я вам описал,
теперь это тоже в конец мода пожалуйсто:

 


forward OnPlayerLogin(playerid,password[]);
public OnPlayerLogin(playerid,password[])
{
if(IsPlayerConnected(playerid))// Проверка на подключение игрока
	{
		new string[64];// Масив с путём для файла
		new pass[64];// Масив с паролем
		new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
		GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
		format(string,sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для загрузки
		new iniFile = ini_openFile(string);// Открываем файл
		ini_getString(iniFile,"Pass",pass,64);// Загружаем пароль
		if(strcmp(pass,password,true) == 0)// Если введёный пароль, соответсвует паролю при регистрации, то загружаем акк
	{
	ini_getString(iniFile,"Pass",Player[playerid][pPass],64);// Загружаем пароль
	ini_closeFile(iniFile);// Закрываем файл
	}
		else// Если пароль не верен..
	{
	ini_closeFile(iniFile);// Закрываем файл
	ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт есть на сервере\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
	return 1;
	}
		SendClientMessage(playerid,0xFF00000,"Добро пожаловать на наш сервер");// Выводим игрок сообщение
		SpawnPlayer(playerid);// Спавним игрока
	}
return 1;
}



и так переходим в последний на сегодня пункт, переходим в OnDialogResponse

и пишем:

 


if(dialogid == 1)// Ид диалога Для Логина
        {
            if(response)// Если игрок нажал первую кнопку входа
            {
                        if(!strlen(inputtext))// Если окно ввода пустое, выводим диалог снова
                {
                    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт есть на сервере\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
                    return 1;
                }
                new pass[64];// Масив с паролем
                strmid(pass,inputtext,0,strlen(inputtext),64);// Считываем текст с диалога
                OnPlayerLogin(playerid,pass);// Запускаем паблик входа
            }
            else// Если игрок нажал Esc, вернём ему диалог
            {
                ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Окно Входа","Здравствуйте\nВаш аккаунт есть на сервере\nВведите свой пароль в окошко","Ввод","");// Показываем диалог входа в игру.
            }
        }
        if(dialogid == 2)// Ид диалога для регистрации
        {
            if(response)// Если игрок нажал первую кнопку 
            {
                if(!strlen(inputtext))// Если окно ввода пустое, выводим диалог снова
                {
                ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Окно Регистрации","Здравствуйте\nВаш аккаунт не найден.\nЗарегистрируйтесь введя пароль в окошко","Ввод","");// Показываем диалог регистрации.
                    return 1;
                }
                new pass[64];// Масив с паролем
                strmid(pass,inputtext,0,strlen(inputtext),64);// Считываем текст с диалога
                OnPlayerRegister(playerid,pass);// Запускаем паблик регистрации
            }
            else// Если игрок нажал Esc, вернём ему диалог
            {
            ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Окно Регистрации","Здравствуйте\nВаш аккаунт не найден.\nЗарегистрируйтесь введя пароль в окошко","Ввод","");// Показываем диалог регистрации.
            }
        }


на этом все запускаем сервер и наслаждаемся новой регистрацией!

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 


Все что вам нужно узнать с этого урока:

mxINI - библиотека функций (используют вместо mysql, типо база данных только находятся в файлах а не в сети)
new - переменная сохраняющийся в себе информацию,
------ new ------
str - string ( целое ) %s -строки цыфры, число или слово
float - (вещественное) %d - 0.0, числа, к примеру целое равно 3, вы его перевели на флоат и получилось 3.0 или 3.00000
все что покачто знаю я и мне это помогает.
--------------------
Диалоги

DIALOG_STYLE_INPUT
DIALOG_STYLE_LIST

DIALOG_STYLE_WEAPON

DIALOG_STYLE_REG 
как я помню) 
----------------------------------------------------------------------
Спасибо тем кто поддержал меня и так же писали в коментарии что так что не так, ценю всех особенно EgasVegas  
выкладывать пытаюсь каждый день так что до завтра,ожидайте новый урок!

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ilya_Turchenko

Что делать?

Снимок.PNG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
failed

Не вижу смысла этого поста, так как в ютубе есть видео, которые более понятны

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Yarik_Criminalovski

Почему столько ошибок? 

Спойлер

C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(28) : error 001: expected token: ";", but found "new"
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(30) : error 001: expected token: ";", but found "public"
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(57) : warning 217: loose indentation
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(60) : warning 217: loose indentation
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(60) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(60) : error 004: function "Itter_OnPlayerConnect" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(77) : warning 225: unreachable code
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(77) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(77) : error 004: function "Itter_OnPlayerDisconnect" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(82) : warning 225: unreachable code
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(82) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(82) : error 004: function "OnPlayerSpawn" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(87) : warning 225: unreachable code
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(87) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(87) : error 004: function "OnPlayerDeath" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(92) : warning 225: unreachable code
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(92) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(92) : error 004: function "OnVehicleSpawn" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(97) : warning 225: unreachable code
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(97) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(97) : error 004: function "OnVehicleDeath" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(102) : warning 225: unreachable code
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(102) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(102) : error 004: function "OnPlayerText" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(107) : warning 225: unreachable code
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(107) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(107) : error 004: function "dc_cmd_OnPlayerCommandText" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(112) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(112) : error 004: function "OnPlayerEnterVehicle" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(117) : warning 225: unreachable code
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(117) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(117) : error 004: function "OnPlayerExitVehicle" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(122) : warning 225: unreachable code
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(122) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(122) : error 004: function "OnPlayerStateChange" is not implemented
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(127) : warning 225: unreachable code
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(127) : error 029: invalid expression, assumed zero
C:\Users\Yaroslav\Desktop\Новая папка\gamemodes\Smoutch.pwn(127) : error 004: function "OnPlayerEnterCheckpoint" is not implemented

Код:

//-------------------------Includes--------------------------//
#include <a_samp>
#include <mxINI>
#include <a_mysql>
#include <streamer>
#include <sscanf2>
#include <crp>
#include <dc_cmd>
#include <foreach>
//-------------------------Define---------------------------//
main()
{
    print("\n----------------------------------");
    print(" Smoutch RolePlay ");
    print("----------------------------------\n");
}
#define SERVER_NAME                 "Smoutch RolePlay"
#define SERVER_MODE                 "Smoutch"
#define SERVER_MAP                  "Russian"
#define SERVER_SITE                 "test"

enum pInfo //Название
{
    pPass[64], // Сохранение пароля. 64 Символа
}
//----------------------------{New}------------------//
new Player[MAX_PLAYERS][pInfo]
new PAccount[MAX_PLAYERS]

public OnGameModeInit()
{
    SetGameModeText(SERVER_MODE);
    SendRconCommand("hostname "SERVER_NAME);
    SendRconCommand("mapname "SERVER_MAP);
    SendRconCommand("weburl "SERVER_NAME);
    SetGameModeText("Smoutch RolePlay");
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 93.5223,1337.2987,29.4460);
    SetPlayerCameraLookAt(playerid, 93.5223,1337.2987,29.4460);
    if(PAccount[playerid] == 1)// ???? ??????? ????
        {
            ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Вход","Здравствуйте!\nВаш аккаунт зарегистрирован на сервере!\nВведите ваш пароль ниже","Ввод","");// ?????????? ?????? ????? ? ????. ????? ??????? ?????????? ?? ???? ??????.
        }
        else
        {
            ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация","Здравствуйте!\nВаш аккаунт не зарегестрирован на сервере.\nЗарегестрируйтесь введя пароль в поле ниже","Далее","");// ?????????? ?????? ???????????. ????? ??????? ?????????? ?? ???? ??????.
    return 1;
}

public OnPlayerConnect(playerid)
{
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),"players/%s.ini", playername);
    if(fexist(string))
    {
        PAccount[playerid] = 1;
    }
    else
    {
        PAccount[playerid] = 0;
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}

stock SavePlayer(playerid) 
{
    new string[32];
          new playername[MAX_PLAYERS_NAME];
        GetPlayerName(playerid,playername, sizeof(playername));
        format(string,? sizeof(string), players/%s.ini,playername);
        iniFile = iniopenFile(string);
        ini_setString(iniFile,"Pass",Player[playerid][pPass]);
        ini_closeFile(iniFile); 
}
forward OnPlayerRegister(playerid, password[]);
public OnPlayerRegister(playerid, password[]) // Регистрация //
{
        if(IsPlayerConnected(playerid))
        {
            new string[64]:
            new playername[MAX_PLAYER_NAME];
            GetPlayerName(playerid, playername, sizeof(playername));
            format(string, sizeof(string), "players/%s.ini", playername);
            new iniFile = ini_createFile(string);
            if(iniFile < 0)
            {
                iniFile = ini_openFile(string);
            }
            if(iniFile >= 0)
            {
                    strmid(Player[playerid][pPass],password,0,strlen(password),255);
                    ini_setString(iniFile,"Pass",Player[playerid][pPass]);
                    ini_closeFile(iniFile);
                    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Вход","Здравствуйте!\nВаш аккаунт зарегистрирован на сервере!\nВведите ваш пароль ниже","Ввод","");//Вход в игру//
            }
        }
        return 1;
}
forward OnPlayerLogin(playerid,password[]);
public OnPlayerLogin(playerid,password[])
{
if(IsPlayerConnected(playerid))
    {
        new string[64];
        new pass[64];
        new playername[MAX_PLAYER_NAME];
        GetPlayerName(playerid, playername, sizeof(playername));
        format(string,sizeof(string), "players/%s.ini", playername);
        new iniFile = ini_openFile(string);
        ini_getString(iniFile,"Pass",pass,64);
        if(strcmp(pass,password,true) == 0)
    {
    ini_getString(iniFile,"Pass",Player[playerid][pPass],64);
    ini_closeFile(iniFile);
    }
        else
    {
    ini_closeFile(iniFile);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Вход","Здравствуйте!\nВаш аккаунт зарегистрирован на сервере!\nВведите ваш пароль ниже","Ввод","");
    return 1;
    }
        SendClientMessage(playerid,0xFF00000,"Вас приветствует Smoutch RP!");
        SpawnPlayer(playerid);
    }
return 1;
}
if(dialogid == 1)// ?? ??????? ??? ??????
        {
            if(response)// ???? ????? ????? ?????? ?????? ?????
            {
                        if(!strlen(inputtext))// ???? ???? ????? ??????, ??????? ?????? ?????
                {
                    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Вход","Здравствуйте!\nВаш аккаунт зарегистрирован на сервере!\nВведите ваш пароль ниже","Ввод","");// ?????????? ?????? ????? ? ????.
                    return 1;
                }
                new pass[64];// ????? ? ???????
                strmid(pass,inputtext,0,strlen(inputtext),64);// ????????? ????? ? ???????
                OnPlayerLogin(playerid,pass);// ????????? ?????? ?????
            }
            else// ???? ????? ????? Esc, ?????? ??? ??????
            {
                ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Вход","Здравствуйте!\nВаш аккаунт зарегистрирован на сервере!\nВведите ваш пароль ниже","Ввод","");// ?????????? ?????? ????? ? ????.
            }
        }
        if(dialogid == 2)// ?? ??????? ??? ???????????
        {
            if(response)// ???? ????? ????? ?????? ??????
            {
                if(!strlen(inputtext))// ???? ???? ????? ??????, ??????? ?????? ?????
                {
                ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация","Здравствуйте!\nВаш аккаунт не зарегестрирован на сервере.\nЗарегестрируйтесь введя пароль в поле ниже","Далее","");// ?????????? ?????? ???????????.
                    return 1;
                }
                new pass[64];// ????? ? ???????
                strmid(pass,inputtext,0,strlen(inputtext),64);// ????????? ????? ? ???????
                OnPlayerRegister(playerid,pass);// ????????? ?????? ???????????
            }
            else// ???? ????? ????? Esc, ?????? ??? ??????
            {
            ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация","Здравствуйте!\nВаш аккаунт не зарегестрирован на сервере.\nЗарегестрируйтесь введя пароль в поле ниже","Далее","");// ?????????? ?????? ???????????.
            }
        }

 

Изменено пользователем mikilov
Добавил спойлер (код)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.