Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <a_mysql>
- new SQL = -1, gQuery[256], gString[256];
- #define function%0(%1) forward %0(%1); public %0(%1)
- #define SCM SendClientMessage
- #define COLOR_RED 0xff0000FF
- #define COLOR_LGREEN 0x00ff00FF
- #define COLOR_YELLOW 0xffff00FF
- new
- incercariParola[MAX_PLAYERS];
- enum pInfo {
- pSQLID,
- pName[MAX_PLAYER_NAME],
- pPassword[32],
- pGender,
- pAge,
- pEmail[32]
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- enum {
- // Register
- DIALOG_REGISTER,
- DIALOG_GENDER,
- DIALOG_AGE,
- DIALOG_EMAIL,
- // Login
- DIALOG_LOGIN
- }
- main() { }
- public OnGameModeInit()
- {
- SQL = mysql_connect("secret", "secret", "secret", "secret");
- // Don't use these lines if it's a filterscript
- SetGameModeText("RPG Romania v0.02");
- AddPlayerClass(0, 1673.9183, 1447.8816, 10.7840, 268.1043, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- TogglePlayerSpectating(playerid, false);
- SetPlayerPos(playerid, 1673.9183, 1447.8816, 10.7840);
- SetPlayerCameraPos(playerid, 1817.4180,1461.2587,43.6696);
- SetPlayerCameraLookAt(playerid, 1817.4180,1461.2587,43.6696);
- return 1;
- }
- public OnPlayerConnect(playerid) {
- incercariParola[playerid] = 0;
- gQuery[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE `Name`='%s' LIMIT 1", GetName(playerid));
- mysql_tquery(SQL, gQuery, "checkAccount", "i", playerid);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
- switch(dialogid) {
- case DIALOG_REGISTER: {
- if(!response)
- return Kick(playerid);
- if(strlen(inputtext) < 6 || strlen(inputtext) > 32)
- return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "SERVER: Registration", "Welcome to the B-Friends RPG Server\n\nPlease enter your desired password below!", "Register", "Cancel")
- && SCM(playerid, COLOR_RED, "Parola trebuie sa contina intre 6 si 32 caractere!");
- gQuery[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "INSERT INTO `users` (`Name`, `Password`) VALUES ('%s', '%s')", GetName(playerid), inputtext);
- mysql_tquery(SQL, gQuery, "insertAccount", "i", playerid);
- gString[0] = EOS;
- format(gString, sizeof(gString), "Welcome to B-Friends RPG, %s.", GetName(playerid));
- SCM(playerid, COLOR_YELLOW, gString);
- format(PlayerInfo[playerid][pPassword], 32, inputtext);
- ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_MSGBOX, "Alege sexul caracterului", "Alege sexul caracterului tau.", "Barbat", "Femeie");
- }
- case DIALOG_GENDER: {
- switch(response) {
- case 0: {
- PlayerInfo[playerid][pGender] = 0;
- SCM(playerid, COLOR_YELLOW, "Sex setat: femeie.");
- }
- case 1: {
- PlayerInfo[playerid][pGender] = 1;
- SCM(playerid, COLOR_YELLOW, "Sex setat: barbat.");
- }
- }
- gQuery[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `Gender`='%d' WHERE ID='%d'", PlayerInfo[playerid][pGender], PlayerInfo[playerid][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "", playerid);
- ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta", "Scrie varsta caracterului tau:", "Ok", "");
- }
- case DIALOG_AGE: {
- if(!response)
- return Kick(playerid);
- new tmppass[64];
- mysql_real_escape_string(inputtext, tmppass);
- new age = strval(tmppass);
- if(age > 7 && age < 50) {
- PlayerInfo[playerid][pAge] = age;
- gQuery[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `Age`='%d' WHERE `ID`='%d'", PlayerInfo[playerid][pAge], PlayerInfo[playerid][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "", playerid);
- ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Email:\n(ex: my_email@yahoo.com)", "Ok", "");
- SCM(playerid, -1, "Introdu adresa de email. Emailul te poate ajuta pentru a-ti recupera parola, in caz ca o uiti.");
- }
- else return ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Varsta", "Scrie varsta caracterului tau:", "Ok", "");
- }
- case DIALOG_EMAIL: {
- if(!response)
- return Kick(playerid);
- if(strlen(inputtext) < 6 || strlen(inputtext) > 32)
- return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Email:\n(ex: my_email@yahoo.com)", "Ok", "")
- && SCM(playerid, COLOR_RED, "Emailul trebuie sa contina intre 6 si 32 caractere!");
- gQuery[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `Email`='%s' WHERE `ID`='%d'", inputtext, PlayerInfo[playerid][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "", playerid);
- gString[0] = EOS;
- format(gString, sizeof(gString), "Email setat: %s", inputtext);
- SCM(playerid, COLOR_YELLOW, gString);
- format(PlayerInfo[playerid][pEmail], 32, inputtext);
- SpawnPlayer(playerid);
- SCM(playerid, COLOR_YELLOW, "Distractie placuta!");
- }
- case DIALOG_LOGIN: {
- if(!response)
- return Kick(playerid);
- mysql_format(SQL, gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE `Name`='%s' AND `Password`='%s' LIMIT 1", GetName(playerid), inputtext);
- mysql_tquery(SQL, gQuery, "onLogin", "i", playerid);
- }
- }
- return 1;
- }
- function onLogin(playerid) {
- switch(cache_num_rows()) {
- case 0: {
- incercariParola[playerid] ++;
- gString[0] = EOS;
- format(gString, sizeof(gString), "Parola incorecta! (%d/3 incercari ramase)", incercariParola[playerid]);
- SCM(playerid, COLOR_RED, gString);
- if(incercariParola[playerid] == 3) Kick(playerid);
- else ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "SERVER: Login", "Welcome to the B-Friends RPG Server\n\nPlease enter your password below!", "Login", "Cancel");
- }
- case 1: {
- new
- result[64];
- PlayerInfo[playerid][pSQLID] = cache_get_field_content_int(0, "ID");
- PlayerInfo[playerid][pGender] = cache_get_field_content_int(0, "Gender");
- cache_get_field_content(0, "Name", result); format(PlayerInfo[playerid][pName], MAX_PLAYER_NAME, result);
- cache_get_field_content(0, "Password", result); format(PlayerInfo[playerid][pPassword], 32, result);
- cache_get_field_content(0, "Email", result); format(PlayerInfo[playerid][pEmail], 32, result);
- printf("%s (user: %d) s-a conectat. [Password: %s, Email: %s, Gender:%d]", GetName(playerid), PlayerInfo[playerid][pSQLID], PlayerInfo[playerid][pPassword], PlayerInfo[playerid][pEmail], PlayerInfo[playerid][pGender]);
- for(new i = 0; i < 25; i++) SCM(playerid, -1, " ");
- SCM(playerid, COLOR_YELLOW, "Te-ai conectat cu succes!");
- SpawnPlayer(playerid);
- }
- }
- return 1;
- }
- function insertAccount(playerid) {
- PlayerInfo[playerid][pSQLID] = cache_insert_id();
- printf("%s s-a inregistrat cu SQLID-ul #%d.", GetName(playerid), PlayerInfo[playerid][pSQLID]);
- return 1;
- }
- function checkAccount(playerid) {
- switch(cache_num_rows()) {
- case 0: ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "SERVER: Registration", "Welcome to the B-Friends RPG Server\n\nPlease enter your desired password below!", "Register", "Cancel");
- case 1: ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "SERVER: Login", "Welcome to the B-Friends RPG Server\n\nPlease enter your password below!", "Login", "Cancel");
- }
- return 1;
- }
- stock GetName(playerid) {
- new playerName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- return playerName;
- }
Add Comment
Please, Sign In to add comment