Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <a_mysql>
- #define SQL_HOST "localhost"
- #define SQL_USER "root"
- #define SQL_PASS ""
- #define SQL_DATA "db_1"
- #define Function%0(%1) forward%0(%1); public%0(%1)
- #define DIALOG_REGISTER 0
- #define DIALOG_LOGIN 1
- #define colorWhite 0xffffffff
- #define colorRed 0xcc0000ff
- #define colorLightBlue 0x00afffff
- #define ORT_INSEL 0
- #define ORT_STADT 1
- enum SpielerInfo
- {
- pName[MAX_PLAYER_NAME],
- pAdmin,
- pOrt,
- pBanned
- }
- new pInfo[MAX_PLAYERS][SpielerInfo];
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- mysql_debug(1);
- Connect_To_Database();
- SetGameModeText("Blank Script");
- 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)
- {
- if(GetPVarInt(playerid, "loggedIn") == 0)
- {
- if(mysql_CheckAccount(playerid) == 0)
- {
- ClearChatBox(playerid, 2);
- SendClientMessage(playerid, colorRed, " |-Servername-| ");
- SendClientMessage(playerid, colorRed, "Account nicht gefunden, registriere dich bitte!");
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "**Registration**", "Gebe bitte ein Passwort ein.\nMit dem Passwort wirst du dich später einloggen also solltest du es dir merken.", "Registrieren", "Abbrechen");
- }
- else if(mysql_CheckAccount(playerid) == 1)
- {
- ClearChatBox(playerid, 2);
- SendClientMessage(playerid, colorRed, " |-Servername-| ");
- SendClientMessage(playerid, colorLightBlue, "Account gefunden, logge dich bitte ein!");
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "**Login**", "Gebe bitte dein Passwort ein dich einzuloggen.\n Du hast noch 3 von 3 Versuchen!", "Login", "Abbrechen");
- }
- }
- 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)
- {
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SavePlayer(playerid);
- DeletePVar(playerid, "loggedIn");
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- /*if(pInfo[playerid][pOrt] == ORT_INSEL)
- {
- //Spawn auf Insel
- }
- else if(pInfo[playerid][pOrt] == ORT_STADT)
- {
- //Spawn in Stadt
- }*/
- 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[])
- {
- if (strcmp("/mycommand", cmdtext, true, 10) == 0)
- {
- // Do something here
- return 1;
- }
- 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[])
- {
- new Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, sizeof(Name));
- switch(dialogid)
- {
- case DIALOG_REGISTER:
- {
- if(response) //Wenn register geklickt oder enter gedrückt
- {
- if(strlen(inputtext) <= 6 || strlen(inputtext) >= 20)
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "**Registration**", "Beachte, das passwort muss mindestens 6 Zeichen,\ndarf aber maximal 20 Zeichen lang sein!", "Registrieren", "Abbrechen");
- else
- {
- CreateAccount(playerid, inputtext);
- SetPVarInt(playerid, "loggedIn", 1);
- SendClientMessage(playerid, colorLightBlue, "Erfolgreich registriert, viel Spaß!");
- SpawnPlayer(playerid);
- }
- }
- else
- {
- SendClientMessage(playerid, colorRed, "Du hast den Vorgang abgebrochen!");
- Kick(playerid);
- }
- }
- case DIALOG_LOGIN:
- {
- if(response) //Wenn login geklickt oder enter gedrückt
- {
- if(!strcmp(inputtext, mysql_ReturnPasswort(Name), true)) //Wenn das passwort übereinstimmt
- {
- LoadPlayer(playerid);
- if(pInfo[playerid][pBanned] == 1)return SendClientMessage(playerid, colorRed, "Du bist gebannt!"), Kick(playerid);
- else
- {
- SetPVarInt(playerid, "loggedIn", 1);
- SendClientMessage(playerid, colorLightBlue, "Erfolgreich einbgeloggt, viel Spaß!");
- SpawnPlayer(playerid);
- SetPlayerColor(playerid, colorWhite);
- }
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "**Login**", "Das Passwort war falsch, bitte versuche es nochmal.", "Login", "Abbrechen");
- }
- }
- else
- {
- SendClientMessage(playerid, colorRed, "Du hast den Vorgang abgebrochen!");
- Kick(playerid);
- }
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- 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 `reallife` WHERE `Name` = '%s'", Name);
- mysql_query(Query);
- mysql_store_result();
- count = mysql_num_rows();
- mysql_free_result();
- return count;
- }
- stock mysql_ReturnPasswort(Name[])
- {
- new query[130], Get[130];
- mysql_real_escape_string(Name, Name);
- format(query, 128, "SELECT `passwort` FROM `reallife` WHERE `Name` = '%s'", Name);
- 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_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 Float: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;
- }
- stock ClearChatBox(playerid, zeilen) //zeilen = Zeilen die nicht gelöscht werden
- {
- new Zeilen = 10 - zeilen;
- for(new i = 0; i < Zeilen; i++)
- {
- SendClientMessage(playerid, colorWhite, " ");
- }
- return 1;
- }
- 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 `reallife` (`Name`, `Password`) VALUES ('%s', '%s')", Name, pass);
- mysql_SetInt("reallife", "Admin", 0, "Name", pInfo[playerid][pName]);
- mysql_SetInt("reallife", "Ort", 0, "Name", pInfo[playerid][pName]);
- mysql_SetInt("reallife", "Banned", 0, "Name", pInfo[playerid][pName]);
- mysql_query(query);
- return true;
- }
- stock LoadPlayer(playerid)
- {
- if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
- {
- GetPlayerName(playerid, pInfo[playerid][pName], MAX_PLAYER_NAME);
- pInfo[playerid][pAdmin] = mysql_GetInt("reallife", "Admin", "Name", pInfo[playerid][pName]);
- pInfo[playerid][pOrt] = mysql_GetInt("reallife", "Ort", "Name", pInfo[playerid][pName]);
- pInfo[playerid][pBanned] = mysql_GetInt("reallife", "Banned", "Name", pInfo[playerid][pName]);
- }
- return 1;
- }
- stock SavePlayer(playerid)
- {
- if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
- {
- if(GetPVarInt(playerid,"Eingeloggt") == 1)
- {
- mysql_SetInt("reallife", "Admin", pInfo[playerid][pAdmin], "Name", pInfo[playerid][pName]);
- mysql_SetInt("reallife", "Ort", pInfo[playerid][pOrt], "Name", pInfo[playerid][pName]);
- mysql_SetInt("reallife", "Banned", pInfo[playerid][pBanned], "Name", pInfo[playerid][pName]);
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement