Перейти к содержанию
Авторизация  
Belka

Помогите с регистрацией

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

Belka

Я делал регистрацию авторизацию по видео уроку
 

Помогите сделать сюда систему выбора города

Заранее спасибо

 

main() { }
// ==================== [ Инклуды ] ====================
#include <a_samp>
#include <a_engine>
#include <a_mysql>
#include <dc_cmd>
#include <sscanf2>
#include <foreach>
#include <object>
#include <mxdate>
// ==================== [ MySQL ] ====================
#define MySQL_HOST "localhost"
#define MySQL_USER "root"
#define MySQL_BD   "vgprp"
#define MySQL_PASS ""
// ==================== [ Цвета ] ====================
#define COLOR_YELLOW 0xFFFF00FF
#define COLOR_RED   0xFF0000FF
#define COLOR_WHITE  0xFFFFFFFF
// ==================== [ Дефайны ] ====================
#define f(  format(string, sizeof(string),
#define GN(%1)   Player[%1][pName]
#define publics%0(%1)   forward%0(%1); public%0(%1)
#define SPD  ShowPlayerDialog
#define DSI  DIALOG_STYLE_INPUT
#define SCM  SendClientMessage
#define Kickk(%1)  SetTimerEx("kick", 20, false, "i", %1)
#define DSM  DIALOG_STYLE_MSGBOX
// ==================== [ Переменные ] ====================
new ConnectMySQL;
enum pInfo
{
pName[MAX_PLAYER_NAME],
pLevel,
pPass[21],
pSex,
pSkin
}
new Player[MAX_PLAYERS][pInfo];
new bool: Login[MAX_PLAYERS];
// ==================== [ Паблики ] ====================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new string[201];
switch(dialogid)
{
   case 1:
   {
       if(response)
       {
       if(!strlen(inputtext))
       {
           f("{FFFFFF}Здравствуйте {FFFF00}%s!\n{FFFFFF}Вы зашли на сервер {FFFF00}Ultra Role Play\n\n{FFFFFF}Это аккаунт не зарегистрирован\nДля регистрации аккаунта введите свой пароль:", GN(playerid));
    SPD(playerid, 1, DSI, "Регистрация", string, "Далее", "Выход");
    return true;
       }
       for(new i = strlen(inputtext); i != 0; --i)
       switch(inputtext[i])
       {
           case 'А'..'Я', 'а'..'я': return SPD(playerid, 1, DSI, "{FF0000}Ошибка!", "{FF4040}Пароль не должен состоять из русских символов\nПожалуйста, повторите попытку:", "Далее", "Выход");
       }
       if(strlen(inputtext) < 6 || strlen(inputtext) > 20) return SPD(playerid, 1, DSI, "{FF0000}Ошибка!", "{FF4040}Пароль не должен содержать менее 6-ти или более 20-ти символов\nПожалуйста, повторите попытку:", "Далее", "Выход");
       strmid(Player[playerid][pPass], inputtext, 0, strlen(inputtext), 20);
       SPD(playerid, 2, DSM, "Выбор пола", "{FFFFFF}Выберите свой пол:", "Мужской", "Женский");
}
else
{
   SCM(playerid, COLOR_RED, "Вы были кикнуты. Для выхода введите /q");
   Kickk(playerid);
}
   }
   case 2:
   {
       if(response)
       {
           Player[playerid][pSex] = 1;
           Player[playerid][pSkin] = 137;
       }
       else
       {
           Player[playerid][pSex] = 2;
           Player[playerid][pSkin] = 77;
       }
       Player[playerid][pLevel] = 1;
          SpawnPlayer(playerid);
       mysql_format(ConnectMySQL, string, sizeof(string), "INSERT INTO `accounts` (`Name`, `Level`, `Skin`, `Sex`, `Pass`) VALUES ('%s', '%d', '%d', '%d', '%s')", GN(playerid), Player[playerid][pLevel], Player[playerid][pSkin], Player[playerid][pSex], Player[playerid][pPass]);
       mysql_function_query(ConnectMySQL, string, true, "Registr", "d", playerid);
       Login[playerid] = true;
       SCM(playerid, COLOR_WHITE, "Поздравляем вас с успешной регистрацией аккаунта!");
   }
   case 3:
   {
       if(response)
       {
           if(!strlen(inputtext))
           {
               f("{FFFFFF}Здравствуйте {FFFF00}%s!\n{FFFFFF}Вы зашли на сервер {FFFF00}Ultra Role Play\n\n{FFFFFF}Это аккаунт зарегистрирован\nДля авторизации аккаунта введите свой пароль:", GN(playerid));
    SPD(playerid, 3, DSI, "Авторизация", string, "Далее", "Выход");
               return true;
           }
           mysql_format(ConnectMySQL, string, sizeof(string), "SELECT * FROM `accounts` WHERE `Name` = '%e' AND `Pass` = '%e'", GN(playerid), inputtext);
           return mysql_function_query(ConnectMySQL, string, true, "OnLogin", "d", playerid);
       }
       else
       {
           SCM(playerid, COLOR_RED, "Вы были кикнуты. Для выхода введите /q");
   Kickk(playerid);
       }
   }
}
return true;
}
public OnGameModeInit()
{
SetGameModeText("VG-RP");
DisableInteriorEnterExits();
EnableStuntBonusForAll(0);
LimitPlayerMarkerRadius(50.0);
Objects();
ConnectMySQL = mysql_connect(MySQL_HOST, MySQL_USER, MySQL_BD, MySQL_PASS);
mysql_function_query(ConnectMySQL, "SET NAMES utf8", false, "", "");
return true;
}
public OnGameModeExit()
{
mysql_close(ConnectMySQL);
return true;
}
public OnPlayerRequestClass(playerid, classid)
{
return true;
}
public OnPlayerConnect(playerid)
{
new string[128];
GetPlayerName(playerid, Player[playerid][pName], MAX_PLAYER_NAME);
f("SELECT `Level` FROM `accounts` WHERE `Name` = '%s'", GN(playerid));
mysql_function_query(ConnectMySQL, string, true, "PlayerRegition", "d", playerid);
Claer(playerid);
return true;
}
public OnPlayerDisconnect(playerid, reason)
{
return true;
}
public OnPlayerSpawn(playerid)
{
SetPlayerSpawn(playerid);
return true;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return true;
}
public OnVehicleSpawn(vehicleid)
{
return true;
}
public OnVehicleDeath(vehicleid, killerid)
{
return true;
}
public OnPlayerText(playerid, text[])
{
return true;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
return false;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return true;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return true;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return true;
}
public OnPlayerEnterCheckpoint(playerid)
{
return true;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return true;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return true;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return true;
}
public OnRconCommand(cmd[])
{
return true;
}
public OnPlayerRequestSpawn(playerid)
{
return false;
}
public OnObjectMoved(objectid)
{
return true;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return true;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return true;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return true;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return true;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return true;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return true;
}
public OnPlayerExitedMenu(playerid)
{
return true;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return true;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return true;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return true;
}
public OnPlayerUpdate(playerid)
{
return true;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return true;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return true;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return true;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return true;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return true;
}
publics PlayerRegition(playerid)
{
new string[201];
new rows;
new rows2;
cache_get_data(rows, rows2);
SCM(playerid, COLOR_YELLOW, "Добро пожаловать на сервер Ultra Role Play");
if(rows)
{
   f("{FFFFFF}Здравствуйте {FFFF00}%s!\n{FFFFFF}Вы зашли на сервер {FFFF00}Ultra Role Play\n\n{FFFFFF}Это аккаунт зарегистрирован\nДля авторизации аккаунта введите свой пароль:", GN(playerid));
   SPD(playerid, 3, DSI, "Авторизация", string, "Далее", "Выход");
}
else
{
   f("{FFFFFF}Здравствуйте {FFFF00}%s!\n{FFFFFF}Вы зашли на сервер {FFFF00}Ultra Role Play\n\n{FFFFFF}Это аккаунт не зарегистрирован\nДля регистрации аккаунта введите свой пароль:", GN(playerid));
   SPD(playerid, 1, DSI, "Регистрация", string, "Далее", "Выход");
}
return true;
}
publics kick(playerid)
{
Kick(playerid);
return true;
}
publics Registr(i)
{
new string[128];
mysql_format(ConnectMySQL, string, sizeof(string), "SELECT * FROM `accounts` WHERE `Name` = '%e' AND `Pass` = '%e'", GN(i), Player[i][pPass]);
return mysql_function_query(ConnectMySQL, string, true, "OnLogin", "d", i);
}
publics OnLogin(i)
{
new rows;
new rows2;
new string[200];
cache_get_data(rows, rows2);
if(rows)
{
cache_get_field_content(0, "Pass", Player[i][pPass], ConnectMySQL, 20);
Player[i][pLevel] = cache_get_field_content_int(0, "Level");
Player[i][pSkin] = cache_get_field_content_int(0, "Skin");
Player[i][pSex] = cache_get_field_content_int(0, "Sex");
Login[i] = true;
SpawnPlayer(i);
}
else
{
   f("{FFFFFF}Здравствуйте {FFFF00}%s!\n{FFFFFF}Вы зашли на сервер {FFFF00}Ultra Role Play\n\n{FFFFFF}Это аккаунт зарегистрирован\nДля авторизации аккаунта введите свой пароль:", GN(i));
   SPD(i, 3, DSI, "Авторизация", string, "Далее", "Выход");
   SCM(i, COLOR_RED, "Пароль введен неверно!");
}
return true;
}
// ==================== [ Стоки ] ====================
stock Claer(playerid)
{
Login[playerid] = false;
}
stock SetPlayerSpawn(playerid)
{
SetPlayerSkin(playerid, Player[playerid][pSkin]);
SetPlayerScore(playerid, Player[playerid][pLevel]);
if(Player[playerid][pLevel] > 0)
{
   SetPlayerPos(playerid, 1153.9601,-1768.5813,16.5938);
   SetPlayerFacingAngle(playerid, 2.4830);
   SetPlayerInterior(playerid, 0);
   SetPlayerVirtualWorld(playerid, 0);
   SetCameraBehindPlayer(playerid);
}
}
// ==================== [ Комманды сервера ] ====================

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


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

?,Vano Glad?)
Сейчас сделаю и скину в лс)

Изменено пользователем ROMA4610

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


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

,Отправил. 

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

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

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

×

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

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