Система Регистрации..
Сис-ма регистрации -диалоги- используя SII
Что это?
Это простой мануал по созданию регистрации используя SII.
Шаг 1
Скачаем инклуд Ссылка: http://www.aussiegameserver.com/slick/www/samp/sii.php Закинем инклуд в Pawno > include.
Шаг 2
Добавим инклуд в самый верх вашего мода/скрипта
PHP код:
#include <SII>
SII инклуд содержит все нужные нам функции для создания сис-мы регистрации
Шаг 3
Добавим Define'ы диалогов
PHP код:
#define DIALOG_REGISTER 2000
#define DIALOG_LOGIN 2001
Шаг 4
Добавим цвета
PHP код:
#define WHITE "{FFFFFF}"
#define RED "{F81414}"
#define GREEN "{00FF22}"
#define LIGHTBLUE "{00CED1}"
Шаг 5
Создадим new под define'ами
PHP код:
new gPlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
Шаг 6
Добавим enum
PHP код:
enum pInfo
{
pPass,
pScore,
pCash,
pAdmin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
Шаг 7
Добавим stock
PHP код:
stock getINI(playerid)
{
new account[64];
format(account,30,"Users/%s.ini",gPlayerName[playerid]);
return account;
}
stock функция загрузит файлы
Шаг 8
Мы будем использовать родную функцию 'fexist', чтобы искать наш файл. Параметры установлены к нашей функции запаса, которую мы создали. Если файл будет существовать, то Вы получите диалог 'Логина'. Если аккаунта не будет, то Вы получите диалог регистрации.
PHP код:
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, gPlayerName[playerid], MAX_PLAYER_NAME);
if (fexist(getINI(playerid)))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""WHITE"Логин",""WHITE"Напишите вашь пароль.","Логин","Выйти");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""WHITE"Регистрация",""WHITE"Напишите вашь пароль,чтобы создать аккаунт.","Регистрация","Выйти");
}
return 1;
}
Шаг 9
Теперь идем в OnDialogResponse и добавляем следующее туда:
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if (response)
{
if(!strlen(inputtext)) {
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""WHITE"Регистрация",""RED"Вы ввели неправильный пароль.\n"WHITE"Напишите ниже вашь пароль для регистрации.","Регистрация","Выйти");
}
if(INI_Open(getINI(playerid))) {
INI_WriteString("Password",inputtext);
INI_WriteInt("Score",1);
INI_WriteInt("Cash",5000);
INI_WriteInt("Admin",0);
INI_Save();
INI_Close();
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""WHITE"Логин",""WHITE"Напишите ниже вашь пароль.","Логин","Выйти");
}
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(!strlen(inputtext)) {
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""WHITE"Логин",""RED"Вы ввели неправильный пароль.\n"WHITE"Напишите вашь пароль,чтобы войти.","Логин","Выйти");
}
if(INI_Open(getINI(playerid))) {
INI_ReadString(PlayerInfo[playerid][pPass],"Password",20);
if(strcmp(inputtext,PlayerInfo[playerid][pPass],false)) {
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""WHITE"Логин",""RED"Вы ввели неправильный пароль.\n"WHITE"Напишите вашь пароль,чтобы войти.","Логин","Выйти");
}
SetPlayerScore( playerid, INI_ReadInt("Score" ) );
ResetPlayerMoney( playerid );
GivePlayerMoney( playerid, INI_ReadInt( "Cash" ) );
PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
INI_Close();
}
}
}
}
return 1;
}
Шаг 10
Итак,наконец надо сделать сохранение статистики,когда игрок выходит с сервера.
PHP код:
public OnPlayerDisconnect(playerid, reason)
{
if(INI_Open(getINI(playerid))) {
INI_WriteInt("Score",PlayerInfo[playerid][pScore]);
INI_WriteInt("Cash",PlayerInfo[playerid][pCash]);
INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
INI_Save();
INI_Close();
}
return 1;
}
На этом все)
Ссылка: Тык
Статистика:
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Комментарии 2
Ссылка Скачивания