Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <YSI\y_iterate>
- #include <YSI\y_timers>
- #include <YSI\y_master>
- #include <YSI\y_commands>
- #include <YSI\y_va>
- #include <YSI\y_inline>
- #include <a_mysql>
- #include <easyDialog>
- main() {}
- new SQL, gQuery[256], gString[512];
- #define function%0(%1) forward%0(%1); public %0(%1)
- #define COLOR_SERVER 0x207a8eFF
- #define COLOR_WHITE -1
- #define SendFormatMessage va_SendClientMessage
- enum pInfo
- {
- pSQLID,
- pName[24],
- pPassword[128],
- pEmail[128],
- pLoginTries
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- public OnGameModeInit()
- {
- mysql_log(LOG_ERROR | LOG_WARNING, LOG_TYPE_TEXT);
- SQL = mysql_connect("localhost", "root", "leysx", "");
- if(mysql_errno() != 0)
- print("Baza de date nu s-a conectat.");
- else
- print("Baza de date s-a conectat.");
- SetGameModeText("0.0.1");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- TogglePlayerSpectating(playerid, true);
- return 1;
- }
- stock GetPlayerNameEx(playerid)
- {
- new name[24];
- GetPlayerName(playerid, name, 24);
- return name;
- }
- public OnPlayerConnect(playerid)
- {
- PlayerInfo[playerid][pLoginTries] = 0;
- gQuery[0] = (EOS);
- mysql_format(SQL, gQuery, sizeof gQuery, "SELECT * FROM `server_accounts` WHERE `Name` = `%e` LIMIT 1", GetPlayerNameEx(playerid));
- mysql_pquery(SQL, gQuery, "CheckPlayerAccount", "d", playerid);
- defer Camera(playerid);
- return 1;
- }
- timer Camera[500](playerid)
- {
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return true;
- }
- function CheckPlayerAccount(playerid)
- {
- gString[0] = (EOS);
- switch(cache_num_rows())
- {
- case 0:
- {
- format(gString, sizeof gString, "Bine ai venit, %s.\nScrie o parola pentru a te inregistra:", GetPlayerNameEx(playerid));
- Dialog_Show(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", gString, "Register", "Quit");
- }
- case 1:
- {
- new lastLogin[64];
- cache_get_field_content(0, "LastLogin", lastLogin);
- format(gString, sizeof gString, "Bine ai revenit, %s.\nScrie mai jos parola contului tau:\n\nUltima logare: %s", GetPlayerNameEx(playerid), lastLogin);
- Dialog_Show(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", gString, "Login", "Quit");
- }
- }
- return true;
- }
- stock GetDateTime()
- {
- new string[64], hour, minute, second, year, month, day;
- gettime(hour, minute, second);
- getdate(year, month, day);
- format(string, sizeof string, "%02d:%02d:%02d - %02d/%02d/%d", hour, minute, second, day, month, year);
- return string;
- }
- Dialog:DIALOG_REGISTER(playerid, response, listitem, inputtext[])
- {
- if(!response)
- return Kick(playerid);
- if(strlen(inputtext) < 8 || strlen(inputtext) > 64)
- return Dialog_Show(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Scrie o parola pentru a te inregistra:\n{AFAFAF}Numarul de caractere trebuie sa fie format din 64 - 32.", "Register", "Quit");
- format(PlayerInfo[playerid][pName], 24, GetPlayerNameEx(playerid));
- format(PlayerInfo[playerid][pPassword], 128, inputtext);
- gQuery[0] = (EOS);
- mysql_format(SQL, gQuery, sizeof gQuery, "INSERT INTO `server_accounts` (Name, Password, RegisterDate, lastLogin) VALUES (`%e`, `%e`, `%e`, `%e`)", GetPlayerNameEx(playerid), inputtext, GetDateTime(), GetDateTime());
- inline CheckSQLID()
- {
- PlayerInfo[playerid][pSQLID] = cache_insert_id();
- printf("New account: %s (%d).", GetPlayerNameEx(playerid), playerid);
- return true;
- }
- mysql_pquery_inline(SQL, gQuery, using inline CheckSQLID, "");
- Dialog_Show(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "E-mail", "Scrie mai jos adresa ta de E-mail:", "Ok", "");
- return true;
- }
- Dialog:DIALOG_EMAIL(playerid, response, listitem, inputtext[])
- {
- if(!response)
- return Dialog_Show(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "E-mail", "Scrie mai jos adresa ta de E-mail:", "Ok", "");
- if(strlen(inputtext) < 8 || strlen(inputtext) > 128 || !IsValidEmailAdress(inputtext))
- return Dialog_Show(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "E-mail", "Scrie mai jos adresa ta de E-mail:\n{AFAFAF}Adresa de E-mail nu este valida.", "Ok", "");
- format(PlayerInfo[playerid][pEmail], 128, inputtext);
- mysqlQuery("UPDATE `server_accounts` SET `Email` = `%s` WHERE `ID` = `%d`", PlayerInfo[playerid][pEmail], PlayerInfo[playerid][pSQLID]);
- SendFormatMessage(playerid, COLOR_SERVER, "(Notice) {FFFFFF}Adresa de E-mail este: %s", PlayerInfo[playerid][pEmail]);
- TogglePlayerSpectating(playerid, false);
- SpawnPlayer(playerid);
- return true;
- }
- Dialog:DIALOG_LOGIN(playerid, response, listitem, inputtext[])
- {
- if(!response)
- return Kick(playerid);
- gQuery[0] = (EOS);
- mysql_format(SQL, gQuery, sizeof gQuery, "SELECT * FROM `server_accounts` WHERE `Name` = `%e` AND `Password` = `%e` LIMIT 1", GetPlayerNameEx(playerid), inputtext);
- mysql_pquery(SQL, gQuery, "OnPlayerLogin", "d", playerid);
- return true;
- }
- function OnPlayerLogin(playerid)
- {
- switch(cache_num_rows())
- {
- case 0:
- {
- PlayerInfo[playerid][pLoginTries]++;
- if(PlayerInfo[playerid][pLoginTries] == 3)
- {
- Kick(playerid);
- }
- Dialog_Show(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Scrie mai jos parola contului tau:", "Login", "Quit");
- }
- case 1:
- {
- cache_get_field_content(0, "Name", PlayerInfo[playerid][pName]);
- cache_get_field_content(0, "Password", PlayerInfo[playerid][pPassword]);
- cache_get_field_content(0, "Email", PlayerInfo[playerid][pEmail]);
- PlayerInfo[playerid][pSQLID] = cache_get_field_content_int(0, "ID");
- ClearChat(playerid);
- SendFormatMessage(playerid, COLOR_WHITE, "Bine ai venit, %s.", GetPlayerNameEx(playerid));
- TogglePlayerSpectating(playerid, false);
- SpawnPlayer(playerid);
- }
- }
- return true;
- }
- stock ClearChat(playerid, lines = 25)
- {
- for(new i = 0; i < lines; i++)
- {
- SendClientMessage(playerid, COLOR_WHITE, "");
- }
- return true;
- }
- stock mysqlQuery(const text[], va_args<>)
- {
- new string[256];
- va_format(string, sizeof string, text, va_start<1>);
- mysql_pquery(SQL, string, "", "");
- return true;
- }
- IsValidEmailAdress(const email[])
- {
- new at_pos = strfind(email, "@", true);
- if(at_pos >= 1)
- {
- new offset = (at_pos + 1), dot_pos = strfind(email, ".", true, offset);
- if(dot_pos > offset)
- {
- return 1;
- }
- }
- return 0;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- TogglePlayerControllable(playerid, true);
- 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[])
- {
- 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[])
- {
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement