Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <a_mysql>
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 5
- // MySQL Connection //
- #define DB_Host "127.0.0.1"
- #define DB_User "root"
- #define DB_Pass ""
- #define DB_Data "smr_accounts"
- // Server Daten //
- ///////////////////////////////////////////////////////////////////////////////
- #define SERVERNAME "San Miami Roleplay"
- #define SERVERTAG "sMR"
- #define DATENBANKTAG "sMR"
- #define SERVERFARBE "{00AFFF}"
- #define SERVERFARBEHEX 0x00AFFF90
- #define HOST "San Miami Roleplay"
- #define SERVERVERSION "German Roleplay"
- #define MAPVERSION "San Andreas"
- #define MAXNPC "21"
- #define SCRIPTER "Eddy"
- ///////////////////////////////////////////////////////////////////////////////
- new DBHandle;
- enum
- {
- Dialog_Register = 1,
- Dialog_Geschlecht,
- Dialog_Alter,
- Dialog_Login
- }
- enum SpielerDaten
- {
- pName[MAX_PLAYER_NAME+1],
- pAlter,
- pBargeld,
- pKontoguthaben,
- pLastLogin[30],
- pRegDatum[30],
- pWrongPass,
- Float:pLeben,
- bool:pLogged
- }
- new Spieler[MAX_PLAYERS][SpielerDaten];
- forward LoadPlayerDataSequence(playerid, l_step);
- forward KickPlayer(playerid);
- /*-------------------------------------------------------------------------------------------------------------------------------------*/
- /* Script anfang */
- /*-------------------------------------------------------------------------------------------------------------------------------------*/
- main()
- {
- print(""#SERVERNAME" It's Possible. "#SERVERVERSION"\n");
- print("--------------------------------");
- print("Dieses Script [Version: It's Possible. "#SERVERVERSION"] steht unter Datenschutz und darf");
- print("nur von dem jenigen Besitzer benutzt/verwendet werden.");
- print("Falls diese Richtlinien nicht eingehalten werden,werden");
- print("Rechtlicheschritte gegen sie eingeleitet. Script von "#SCRIPTER".");
- print("© Copyright by "#SERVERTAG"");
- print("--------------------------------");
- print(""#SERVERNAME" It's Possible. "#SERVERVERSION"\n");
- }
- public OnGameModeInit()
- {
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- SetGameModeText("Blank Script");
- DBHandle = mysql_connect(DB_Host,DB_User,DB_Data,DB_Pass);
- CreateTables();
- mysql_log(LOG_ALL);
- SendRconCommand("hostname "#HOST"");
- SendRconCommand("gamemodetext "#SERVERVERSION"");
- SendRconCommand("mapname "#MAPVERSION"");
- SendRconCommand("weburl "#WEBURL"");
- SendRconCommand("maxnpc "#MAXNPC"");
- return 1;
- }
- public OnGameModeExit()
- {
- mysql_close();
- 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)
- {
- GetPlayerName(playerid,Spieler[playerid][pName],MAX_PLAYER_NAME);
- new query[160 + MAX_PLAYER_NAME];
- mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[playerid][pName]);
- mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",playerid,1);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(Spieler[playerid][pLogged])
- {
- SavePlayerData(playerid);
- }
- ResetPlayerVars(playerid);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetSpawnInfo(playerid,0,185,1958.3783, 1343.1572, 15.3746,0,0,0,0,0,0,0);
- 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)
- {
- if(!Spieler[playerid][pLogged]) return 0; SendClientMessage(playerid,0x861014FF,"Sie müssen sich zuerst Einloggen um Spawnen zu können!");
- 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[])
- {
- switch(dialogid)
- {
- case Dialog_Register:
- {
- if(!response)
- {
- SendClientMessage(playerid,0xFF0000FF,"Dieser Vorgang wurde Ab.-oder Unterbrochen\nBitte beenden Sie das Spiel, indem Sie /q als Textnachricht in den Chat eingeben.");
- SetTimerEx("KickPlayer",250,0,"i",playerid);
- return 1;
- }
- if(!inputtext[0] || !(3 <= strlen(inputtext) <= 10))
- {
- ShowPlayerDialog(playerid,Dialog_Register,DIALOG_STYLE_PASSWORD,"SmR: {0x3252BEFF}Registrierung","{FFFFFF}Herzlich Willkommen auf San Miami Roleplay\n\nUnser System hat Ihre Spielerinformationen\nnicht in unserer Datenbank gefunden. Um einen Charakter auf unserem Server zu Erstellen\nbenötigen wir einige Informationen. Als erstes tragen Sie Bitte ein Sicheres Passwort in das untere Feld ein.\nMerken Sie sich Ihr Passwort Gut.\n\nKlicken Sie anschließend auf Annehmen.","Annehmen","Abbrechen");
- return 1;
- }
- new query[650 + MAX_PLAYER_NAME],Tag,Monat,Jahr,Stunde,Minute,Sekunde;
- getdate(Tag,Monat,Jahr);
- gettime(Stunde,Minute,Sekunde);
- format(query,sizeof(query),"%02d.%02d.%d - %02d:%02d:%d",Tag,Monat,Jahr,Stunde,Minute,Sekunde);
- mysql_format(DBHandle, query, sizeof(query),"INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pBargeld`, `pKontoguthaben`, `pLastLogin`, `pRegDatum`, `pVersuche`, `pLeben`) VALUES ('%e','%e','%d','0','0','%s','%s','%d','100.0')",Spieler[playerid][pName],inputtext,Spieler[playerid][pAlter],query,query,Spieler[playerid][pWrongPass]);
- mysql_tquery(DBHandle, query, "", "");
- Spieler[playerid][pLogged] = true;
- SpawnPlayer(playerid);
- return 1;
- }
- case Dialog_Login:
- {
- if(!response)
- {
- SendClientMessage(playerid,0xFF0000FF,"Dieser Vorgang wurde Ab.-oder Unterbrochen\nBitte beenden Sie das Spiel, indem Sie /q als Textnachricht in den Chat eingeben.");
- SetTimerEx("KickPlayer",250,0,"i",playerid);
- return 1;
- }
- if(!inputtext[0] || !(3 <= strlen(inputtext) <= 25))
- {
- ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_INPUT,"SmR: {0x3252BEFF}Einloggen","{FFFFFF}Sie müssen von unserem System Identifiziert werden.\nGeben Sie dafür Ihr Passwort unten in das Feld ein.\n\n Klicken Sie anschließend auf Einloggen, damit Ihre Daten kontrolliert werden können.\n\nSie haben noch 3/3 versuche!","Einloggen","Abbrechen");
- return 1;
- }
- new query[180 + MAX_PLAYER_NAME];
- mysql_format(DBHandle, query,sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` ='%e' AND `pPasswort` ='%e'",Spieler[playerid][pName],inputtext);
- mysql_function_query(DBHandle, query, true,"LoadPlayerDataSequence","dd",playerid,2);
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- public LoadPlayerDataSequence(playerid, l_step)
- {
- switch(l_step)
- {
- case 1:
- {
- new count = cache_get_field_content_int(0,"count");
- if(count)
- {
- ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_INPUT,"SmR: {0x3252BEFF}Einloggen","{FFFFFF}Sie müssen von unserem System Identifiziert werden.\nGeben Sie dafür Ihr Passwort unten in das Feld ein.\n\n Klicken Sie anschließend auf Einloggen, damit Ihre Daten kontrolliert werden können.\n\nSie haben noch 3/3 versuche!","Einloggen","Abbrechen");
- return 1;
- }
- else
- {
- ShowPlayerDialog(playerid,Dialog_Register,DIALOG_STYLE_PASSWORD,"SmR: {0x3252BEFF}Registrierung","{FFFFFF}Herzlich Willkommen auf San Miami Roleplay\n\nUnser System hat Ihre Spielerinformationen\nnicht in unserer Datenbank gefunden. Um einen Charakter auf unserem Server zu Erstellen\nbenötigen wir einige Informationen. Als erstes tragen Sie Bitte ein Sicheres Passwort in das untere Feld ein.\n\nMerken Sie sich Ihr Passwort Gut.\n\nKlicken Sie anschließend auf Annehmen.","Annehmen","Abbrechen");
- return 1;
- }
- }
- case 2:
- {
- new count = cache_get_field_content_int(0,"count");
- if(count)
- {
- new query[160 + MAX_PLAYER_NAME];
- mysql_format(DBHandle, query ,sizeof(query),"SELECT * FROM `Accounts` WHERE `pName` = '%e'",Spieler[playerid][pName]);
- mysql_function_query(DBHandle, query, true,"LoadPlayerDataSequence","dd",playerid,3);
- return 1;
- }
- else
- {
- ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_PASSWORD,"SmR: {0xFF0000EE}Falsches Passwort","{FFFFFF}Das von Ihnen gewählte Passwort war leider nicht Richtig.\nGegebenfalls beachten Sie die Groß und Kleinschreibung.\n\nAchtung! Sie haben nur noch 2/3 versuche.","Einloggen","Abbrechen");
- return 1;
- }
- }
- case 3:
- {
- Spieler[playerid][pAlter] = cache_get_field_content_int(0,"pAlter");
- Spieler[playerid][pBargeld] = cache_get_field_content_int(0,"pBargeld");
- Spieler[playerid][pKontoguthaben] = cache_get_field_content_int(0,"pKontoguthaben");
- cache_get_field_content(0,"pLastLogin",Spieler[playerid][pLastLogin],DBHandle,30); // Länge angeben 30
- cache_get_field_content(0,"pRegDatum",Spieler[playerid][pRegDatum],DBHandle,30); // Länge angeben 30
- Spieler[playerid][pWrongPass] = cache_get_field_content_int(0,"pVersuche");
- Spieler[playerid][pLeben] = cache_get_field_content_float(100,"pLeben");
- Spieler[playerid][pLogged] = true;
- return 1;
- }
- default:
- {
- SendClientMessage(playerid,0x7D0000FF,"Es ist ein Fehler aufgetreten, Bitte starten Sie Ihren Clienten neu, und versuchen Sie es erneut,\nSollten weiterhin Fehler auftreten, so Melde Sie sich umgehend Bitte bei einem Teammitglied.");
- return 1;
- }
- }
- return 1;
- }
- stock SavePlayerData(playerid)
- {
- new query[650 + MAX_PLAYER_NAME],Tag,Monat,Jahr,Stunde,Minute,Sekunde;
- getdate(Tag,Monat,Jahr);
- gettime(Stunde,Minute,Sekunde);
- format(query,sizeof(query),"%02d.%02d.%d - %02d:%02d:%d",Tag,Monat,Jahr,Stunde,Minute,Sekunde);
- mysql_format(DBHandle, query, sizeof(query),"UPDATE `Accounts` SET `pAlter` = '%d', `pBargeld` = '%d', `pKontoguthaben` = '%d', `pLastLogin` = '%s', `pLeben` = '%.1f' WHERE `pName` = '%e'",Spieler[playerid][pAlter],Spieler[playerid][pBargeld],Spieler[playerid][pKontoguthaben],query,Spieler[playerid][pLeben],Spieler[playerid][pName]);
- mysql_tquery(DBHandle, query, "","");
- return 1;
- }
- stock ResetPlayerVars(playerid)
- {
- for(new x; SpielerDaten:x < SpielerDaten; ++x) Spieler[playerid][SpielerDaten:x] = 0;
- return 1;
- }
- stock CreateTables()
- {
- mysql_tquery(DBHandle,"CREATE TABLE IF NOT EXISTS `Accounts` (`ID` int(11) NOT NULL AUTO_INCREMENT, `pName` varchar(24), `pPasswort` varchar(24), `pAlter` int(2), `pBargeld` int(11), `pKontoguthaben` int(11), `pLastLogin` varchar(60), `pRegDatum` varchar(60), `pVersuche` int(11), `pLeben` float, PRIMARY KEY (`ID`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;","","");
- return 1;
- }
- public KickPlayer(playerid) return Kick(playerid);
- public OnQueryError(errorid, error[], callback[], query[], connectionHandle)
- {
- printf("Errorid %d",errorid);
- print(error);
- print(callback);
- print(query);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement