Серёжа Шардин
Компетентный
Подскажите с чего писать new.pwn
Готова проста сис-ма регистрации... (с паблика)
С чего лучше начинать, что лучше использовать и т.д. (по подробнее желательно)
Готова проста сис-ма регистрации... (с паблика)
С чего лучше начинать, что лучше использовать и т.д. (по подробнее желательно)
PHP:
#include <a_samp>
#include <mxINI>
#include <sscanf2>
//=========================[ Define ]===========================================
#define PlayerInfo Player
//=========================[ Forward ]==========================================
forward OnPlayerLogin(playerid,password[]);
forward OnPlayerRegister(playerid, password[]);
//==============================================================================
enum pInfo
{
pPass[64],
pAdmin,
}
//============================[ New's ]==========================================
new Player[MAX_PLAYERS][pInfo];
new PAccount[MAX_PLAYERS];
//==============================================================================
main()
{
}
//===============================[ Public ]=====================================
public OnGameModeInit()
{
SetGameModeText("Role Play");// Название мода
DisableInteriorEnterExits();///Уберёт жёлтые пикапы входа
EnableStuntBonusForAll(0); /// Убирёт Stunt бонусы
AddPlayerClass(3,1154.2495,-1767.0430,16.5938,2.7590,0,0,0,0,0,0); // савн в Лс
return 1;
}
//==============================================================================
public OnGameModeExit()
{
return 1;
}
//==============================================================================
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
//--------------------------------------------------------------------------
if(PAccount[playerid] == 1)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT, "Авторизация", "{FFFFFF}Добро пожаловать на Role Play\n{FFFFFF}Вы зарегестрированы\n\n{FFFFFF}Введите ваш пароль:", "Войти", "");
}
else
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT, "Регистрация", "{ffffff}Добро пожаловать на сервер Role Play\n{ffffff}Чтобы начать игру вам необходимо пройти регистрацию\n\nВведите пароль для вашего аккаунта\nОн будет запрашиваться каждый раз,когда вы заходите на сервер\n\n\t{66cc33}Примечания:\n\t- Пароль может состоять из русских и латинских символов\n\t- Пароль чувствителен к регистру\n\t- Длина пароля от 6-ти до 15 символов", "Войти", "Выйти");
}
//--------------------------------------------------------------------------
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 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_setInteger(iniFile,"Admin",Player[playerid][pAdmin]);
ini_closeFile(iniFile);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT, "Авторизация", "{FFFFFF}Добро пожаловать на Role Play\n{FFFFFF}Вы зарегестрированы\n\n{FFFFFF}Введите ваш пароль:", "Войти", "");
}
}
return 1;
}
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_getInteger(iniFile,"Admin",Player[playerid][pAdmin]);
ini_closeFile(iniFile);// Закрываем файл
}
else// Если пароль не верен..
{
ini_closeFile(iniFile);// Закрываем файл
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT, "Авторизация", "{FFFFFF}Добро пожаловать на Role Play\n{FFFFFF}Вы зарегестрированы\n\n{FFFFFF}Введите ваш пароль:", "Войти", "");
return 1;
}
SpawnPlayer(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[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// действие
return 1;
}
return 0;
}
//==============================================================================
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[])
{
if(dialogid == 1)
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT, "Авторизация", "{FFFFFF}Добро пожаловать на Role Play\n{FFFFFF}Вы зарегестрированы\n\n{FFFFFF}Введите ваш пароль:", "Войти", "");
return 1;
}
new pass[64];
strmid(pass,inputtext,0,strlen(inputtext),64);
OnPlayerLogin(playerid,pass);// Запускаем паблик входа
}
else
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT, "Авторизация", "{FFFFFF}Добро пожаловать на Role Play\n{FFFFFF}Вы зарегестрированы\n\n{FFFFFF}Введите ваш пароль:", "Войти", "");
}
}
if(dialogid == 2)
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT, "Регистрация", "{ffffff}Добро пожаловать на сервер Role Play\n{ffffff}Чтобы начать игру вам необходимо пройти регистрацию\n\nВведите пароль для вашего аккаунта\nОн будет запрашиваться каждый раз,когда вы заходите на сервер\n\n\t{66cc33}Примечания:\n\t- Пароль может состоять из русских и латинских символов\n\t- Пароль чувствителен к регистру\n\t- Длина пароля от 6-ти до 15 символов", "Войти", "Выйти");
return 1;
}
new pass[64];
strmid(pass,inputtext,0,strlen(inputtext),64);
OnPlayerRegister(playerid,pass);
}
else
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT, "Регистрация", "{ffffff}Добро пожаловать на сервер Role Play\n{ffffff}Чтобы начать игру вам необходимо пройти регистрацию\n\nВведите пароль для вашего аккаунта\nОн будет запрашиваться каждый раз,когда вы заходите на сервер\n\n\t{66cc33}Примечания:\n\t- Пароль может состоять из русских и латинских символов\n\t- Пароль чувствителен к регистру\n\t- Длина пароля от 6-ти до 15 символов", "Войти", "Выйти");
}
}
return 1;
}
//==============================================================================
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
//===========================[ Stock ]==========================================
stock SavePlayer(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_openFile(string);// Открываем файл по тому пути который указали.
ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
ini_setInteger(iniFile,"Admin",Player[playerid][pAdmin]);// Записываем уровень админа
ini_closeFile(iniFile);// Закрываем файл
}
//==========================[ public\forward ]==================================
Последнее редактирование:
