Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //includes
- #include <a_samp>
- #include <a_mysql>
- //defines
- #define SCM SendClientMessage
- #define function%0(%1) forward %0(%1); public %0(%1)
- #define COLOR_DARKRED 0xF00E25FF
- //new
- new SQL = -1, gQuery[256], gString[256], incercariparola[MAX_PLAYERS];
- enum pInfo {
- pSQLID,
- pName[MAX_PLAYER_NAME],
- pPassword[32],
- pEmail[32],
- pGender
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- enum {
- // Register
- DIALOG_REGISTER,
- DIALOG_EMAIL,
- DIALOG_GENDER,
- //login
- DIALOG_LOGIN
- }
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SQL = mysql_connect("localhost", "root", "yt_db", "");
- // Don't use these lines if it's a filterscript
- SetGameModeText("curutulmeu");
- 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)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- 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, "Register", "Scrie o parola pentru a te putea inregistra(minim 6 caractere, maxim 32):", "Select", "Cancel");
- 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), "Parola ta contine %d caractere.", strlen(inputtext));
- SCM(playerid, COLOR_DARKRED, gString);
- format(PlayerInfo[playerid][pPassword], 32, inputtext);
- ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Seteaza-ti un email:", "Select", "Cancel");
- }
- case DIALOG_EMAIL: {
- if(!response) return Kick(playerid);
- if(strlen(inputtext) < 6 || strlen(inputtext) > 32) return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Seteaza-ti un email:", "Select", "Cancel");
- mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE 'users' SET 'Email'='%s' WHERE 'ID'='%d'",inputtext, PlayerInfo[playerid][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "");
- gString[0] = EOS;
- format(gString, sizeof(gString), "Email setat: %s", inputtext);
- SCM(playerid, COLOR_DARKRED, gString);
- format(PlayerInfo[playerid][pEmail], 32, inputtext);
- ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_MSGBOX, "Gender", "Seteaza-ti sexul:", "Masculin", "Feminin");
- }
- case DIALOG_GENDER: {
- switch(response) {
- case 0: {
- PlayerInfo[playerid][pGender] = 1;
- SCM(playerid, -1, "Sex setat feminin");
- }
- case 1: {
- PlayerInfo[playerid][pGender] = 0;
- SCM(playerid, -1, "Sex setat masculin");
- }
- }
- mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE 'users' SET 'Gender'='%d' WHERE 'ID'='%d'",PlayerInfo[playerid][pGender], PlayerInfo[playerid][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "");
- gString[0] = EOS;
- SpawnPlayer(playerid);
- }
- 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;
- }
- //commands
- //stocks and functions
- function onLogin(playerid) {
- switch(cache_num_rows()) {
- case 0: {
- incercariparola[playerid] ++;
- gString[0] = EOS;
- format(gString, sizeof(gString), "Parola incorecta!(%d/3 incercari ramase!)");
- SCM(playerid, COLOR_DARKRED, gString);
- if(incercariparola[playerid] == 3) Kick(playerid);
- else ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Scrie parola ta pentru a te loga:", "Select", "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 logat. [Gender: %s, Name: %s, Password: %s, Email: %s", GetName(playerid), PlayerInfo[playerid][pSQLID], PlayerInfo[playerid][pGender], PlayerInfo[playerid][pName], PlayerInfo[playerid][pPassword], PlayerInfo[playerid][pEmail]);
- }
- }
- }
- stock GetName(playerid) {
- new playerName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- return playerName;
- }
- 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, "Register", "Scrie o parola pentru a te putea inregistra(minim 6 caractere, maxim 32):", "Select", "Cancel");
- case 1: ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Scrie parola ta pentru a te loga:", "Select", "Cancel");
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement