Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_mysql>
- //============================
- #define SQL_HOST "127.0.0.1"
- #define SQL_USER "root"
- #define SQL_PASS "db213"
- #define SQL_DATA "samp_db"
- //============================
- Function OnPlayerRequestClass(playerid, classid)
- {
- // new string[250];
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- if(IsPlayerNPC(playerid))
- {
- SpawnPlayer(playerid);
- return 1;
- }
- PlayerPlaySound(playerid, 1176, 0.0, 0.0, 0.0);
- PlayerInfo[playerid][pModel] = Peds[classid][0];
- SetPlayerTeamFromClass(playerid,classid);
- {
- new string[120];
- GetPlayerName(playerid, playername, sizeof(playername));
- SendClientMessage(playerid, COLOR_CONNECT, "|___ WILLKOMMEN AUF DEM SERVER ___|");
- if(GetPVarInt(playerid,"Eingeloggt") == 0)
- {
- if(mysql_CheckAccount(playerid) == 1)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Dein Name wurde gefunden, bitte logg dich ein.");
- format(string,sizeof(string),"Willkommen auf dem Server!\nDein Account wurde in der Datenbank gefunden:\n \nName: %s\n \nDu kannst dich nun einloggen.",playername);
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"German Life of Reality",string,"Einloggen","Abbrechen");
- SetPlayerHealth(playerid,100);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- }
- else if(mysql_CheckAccount(playerid) == 0)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Dein Name wurde nicht gefunden, bitte registrier dich.");
- ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_MSGBOX,"Life of Reality - Willkommen","{FFFFFF}Willkommen auf {A5E200}Life of Reality{FFFFFF}.\nUm hier spielen zu können benötigst du einen Account.\n\nMöchtest du einen erstellen?","Erstellen","Abbrechen");
- }
- }
- InterpolateCameraPos(playerid, 1466.411743, -1305.122924, 334.888977, 1881.644042, -1442.338134, 155.319107, 60000);
- InterpolateCameraLookAt(playerid, 1470.233276, -1305.162963, 331.664886, 1877.097900, -1440.350097, 155.935928, 60000);
- }
- return 1;
- }
- //==================================================== DIALOG: Login und Register
- switch(dialogid)
- {
- case DIALOG_REG:
- {
- if(response)
- {
- ShowPlayerDialog(playerid,DIALOG_REG2,DIALOG_STYLE_INPUT,"Account anlegen","Bitte gib dein gewünschtes Passwort in das Feld ein:","Registrieren","Abbrechen");
- }
- }
- case DIALOG_REG2:
- {
- if(response)
- {
- if(strlen(inputtext) == 0)
- {
- ShowPlayerDialog(playerid,DIALOG_REG2,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurtz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
- return 1;
- }
- else
- {
- CreateAccount(playerid, inputtext);
- SetPVarInt(playerid,"Eingeloggt",1);
- SpawnPlayer(playerid);
- gPlayerLogged[playerid] = 1;
- return 1;
- }
- }
- else
- {
- Kick(playerid);
- }
- }
- case DIALOG_LOGIN:
- {
- if(response)
- {
- if(strlen(inputtext) == 0)
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
- return 1;
- }
- else
- {
- new SpielerName1[MAX_PLAYER_NAME];
- GetPlayerName(playerid, SpielerName1, MAX_PLAYER_NAME);
- if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName1), true))
- {
- SetPVarInt(playerid,"Eingeloggt",1);
- LoadPlayer(playerid);
- SpawnPlayer(playerid);
- gPlayerLogged[playerid] = 1;
- return 1;
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
- return 1;
- }
- }
- }
- else
- {
- Kick(playerid);
- }
- }
- }
- //====================================================
- stock Connect_To_Database()
- {
- mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS); //Wir versuchen mit den Angaben die wir oben im Script gemacht haben uns mit dem MySQL Server zu verbinden.
- if(mysql_ping() == 1) //Es wird überprüft ob die Verbindung steht.
- {
- //Falls ja wird das in die Console geschrieben und die Funktion wird beendet.
- print("<-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!");
- return true;
- }
- else
- {
- //Falls nicht wird erneut versucht eine verbindung aufzubauen.
- print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
- print("<-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");
- mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
- if(mysql_ping() == 1)
- {
- print("<-| [MYSQL] Es konnte im 2 Versuch eine Verbindung hergestellt werden!");
- return true;
- }
- else
- {
- //Falls das auch nicht Funktioniert wird der Server zur Sicherheit wieder heruntergefahren.
- print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
- print("<-| [MYSQL] Der Server wird nun beendet!");
- SendRconCommand("exit");
- return true;
- }
- }
- }
- stock mysql_CheckAccount(playerid)
- {
- new Query[128],Name[MAX_PLAYER_NAME],count;
- GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
- mysql_real_escape_string(Name, Name);
- format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", Name);
- mysql_query(Query);
- mysql_store_result();
- count = mysql_num_rows();
- mysql_free_result();
- return count;
- }
- stock CreateAccount(playerid, pass[])
- {
- new query[256],Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
- mysql_real_escape_string(Name,Name);
- mysql_real_escape_string(pass,pass);
- format(query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')", Name, pass);
- mysql_query(query);
- return true;
- }
- stock mysql_ReturnPasswort(Name[])
- {
- new query[130], Get[130];
- mysql_real_escape_string(Name, Name);
- format(query, 128, "SELECT `passwort` FROM `accounts` WHERE `Name` = '%s'", Name);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_row(Get);
- mysql_free_result();
- return Get;
- }
- stock LoadPlayer(playerid)
- {
- if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
- {
- GetPlayerName(playerid, PlayerInfo[playerid][pSpieler], MAX_PLAYER_NAME);
- PlayerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", PlayerInfo[playerid][pSpieler]);
- }
- return 1;
- }
- stock SavePlayer(playerid)
- {
- if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
- {
- if(GetPVarInt(playerid,"Eingeloggt") == 1)
- {
- mysql_SetInt("accounts", "Level", PlayerInfo[playerid][pLevel], "Name", PlayerInfo[playerid][pSpieler]);
- }
- }
- return 1;
- }
- stock mysql_GetString(Table[], Field[], Where[], Is[])
- {
- new query[128], Get[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Is, Is);
- format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_row(Get);
- mysql_free_result();
- return Get;
- }
- stock mysql_GetInt(Table[], Field[], Where[], Is[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Is, Is);
- format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
- mysql_query(query);
- mysql_store_result();
- new sqlint = mysql_fetch_int();
- mysql_free_result();
- return sqlint;
- }
- stock mysql_GetFloat(Table[], Field[], Where[], Is[])
- {
- new query[128], Float:sqlfloat;
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Is, Is);
- format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_float(sqlfloat);
- mysql_free_result();
- return sqlfloat;
- }
- stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Where2, Where2);
- format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
- mysql_query(query);
- return true;
- }
- stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(To, To);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Where2, Where2);
- format(query, 128, "UPDATE `%s` SET `%s` = '%s' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
- mysql_query(query);
- return true;
- }
- stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Where2, Where2);
- format(query, 128, "UPDATE `%s` SET `%s` = '%f' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
- mysql_query(query);
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement