Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* _
- |_|
- _ __ ___ __ _ _ __ _ _ _ ____
- | '_ ` _ \ / _` | '__\| | | | |\
- | | | | | | (_| | | | | |_| | ----
- |_| |_| |_|\__,_|_| |_|_____| ___/
- _ _
- | | |_|
- __| | __ _ __ _ __ _ _ __ ___ __
- / _` |/ ||\| '_ \| '__\| | '_ ` _ \ / _ \
- |(_| | |___| |_) | | | | | | | | | (_) |
- \__,_|\___/| .__/|_| |_|_| |_| |_|\___/
- | | dual Filterscript
- |_|
- Das Script darf nur auf www.sa-mp.de und seinen Unterseiten zum
- Download angeboten werden (außer mit Erlaubnis von Mario_DePrimo).
- Es darf weder zum Verkauf angeboten, noch als das eigene Werk
- ausgegeben werden.
- --------------------------------------------------------------
- Wenn ihr dini Nutzen wollt so erstellt im Scriptfilesordner einen ordner mit den Namen
- "Player" !
- Bei MySQL müsst ihr nur die zugangsdaten angeben und der rest ersetllt sich von allein
- */
- #define saveart 1 //1 MySQL / 2 Dini ((Auswahl ob es Dini sein soll oder MySQL))
- #if saveart == 1
- #define SQL_Host "127.0.0.1" //Host
- #define SQL_User "root" //Benutzer
- #define SQL_Pass "" //Benutzer-Passwort
- #define SQL_DatB "test" //Datenbank
- #endif
- #if saveart == 2
- #include <a_samp>
- #include <dini>
- #include <md5>
- #endif
- #if saveart == 1
- #include <a_samp>
- #include <a_mysql>
- #include <md5>
- #endif
- /*====={Serversachen}=====*/
- #define header "Register/Login by Marius_DePrimo" //Dialog Header (überschrift)
- /*========================*/
- /*====={Dialoge}=====*/
- #if saveart == 1
- #define DIALOG_REGISTER 602
- #define DIALOG_LOGIN 603
- #endif
- #if saveart == 2
- #define diaRegister 600
- #define diaLogin 601
- #endif
- /*===================*/
- /*====={Spieler Enum}=====*/
- enum Spieler
- {
- pName,
- sLoggedIn
- }
- new Player[MAX_PLAYERS][Spieler];
- /*========================*/
- public OnFilterScriptInit()
- {
- /*=====[Tabellenzeug]=====*/
- #if saveart == 1
- mysql_connect(SQL_Host,SQL_User,SQL_DatB,SQL_Pass);
- if(mysql_ping() == 1)
- {
- print("<-| [MySQL] Datenbank wurde erfolgreich gefunden! |->");
- new sql[1024];
- format(sql,sizeof(sql),"CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT, `Name` varchar(255), `Passwort` varchar(255), `Adminlevel` int(11), `Geld` int(11),");
- format(sql,sizeof(sql),"%s`Skin` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;",sql);
- mysql_query(sql);
- print("MySQL Tabellen überprüft/erstellt");
- }
- else
- {
- print("<-| [MySQL] Datenbank wurde nicht gefunden! |->");
- print("<-| [MySQL] Stellen sie ihr Script auf dini um! |->");
- print("<-| [MySQL] Server wird Beendet |->");
- SendRconCommand("exit");
- }
- #endif
- /*========================*/
- /*====={SERVER Daten}=====*/
- print("-Ø Dual Register/Login system by Marius_DePrimo Ø-");
- /*========================*/
- return 1;
- }
- public OnFilterScriptExit()
- {
- mysql_close(1);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- /*====={Account Sachen}=====*/
- #if saveart == 1
- if(Player[playerid][sLoggedIn] == 0)
- {
- if(mysql_CheckAccount(playerid) == 0)
- {
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,header,"Bitte Gib ein Passwort an:","Register","Exit");
- }
- else if(mysql_CheckAccount(playerid) == 1)
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,header,"Bitte gib dein Passwort ein:","Login","Abbrechen");
- }
- }
- #endif
- #if saveart == 2
- new player[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(player,sizeof(player),"/Player/%s.ini",name);
- if(dini_Exists(player))
- {
- new string[128];
- format(string,sizeof(string),"{FFFFFF}Der Account{FF6E00} %s {FFFFFF}wurde wieder gefunden.\n Gebe nun dein Passwort ein",PlayerName(playerid));
- ShowPlayerDialog(playerid,diaLogin,DIALOG_STYLE_INPUT,header,string,"Einloggen","");
- }
- else
- {
- new string[128];
- format(string,sizeof(string),"{FFFFFF}Der Account{FF6E00} %s {FFFFFF}wurde nicht gefunden.\nBitte geben sie nun ihr Passwort ein",PlayerName(playerid));
- ShowPlayerDialog(playerid,diaRegister,DIALOG_STYLE_INPUT,header,string,"Registrieren","");
- }
- #endif
- /*==========================*/
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- /*====={Player Sachen}=====*/
- if(Player[playerid][sLoggedIn] == 1)
- {
- SpeicherSpieler(playerid);
- }
- Player[playerid][sLoggedIn] = 0;
- /*=========================*/
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- /*=====[Account Sachen]=====*/
- #if saveart == 1
- switch(dialogid)
- {
- case DIALOG_REGISTER:
- {
- if(response)
- {
- if(strlen(inputtext) == 0)
- {
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
- return 1;
- }
- else
- {
- Erstell(playerid, inputtext);
- Player[playerid][sLoggedIn] = 1;
- SpawnPlayer(playerid);
- return 1;
- }
- }
- else
- {
- Kick(playerid);
- }
- }
- case DIALOG_LOGIN:
- {
- if(response)
- {
- if(strlen(inputtext) == 0)
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,header,"Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
- return 1;
- }
- else
- {
- new SpielerName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
- if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true))
- {
- Player[playerid][sLoggedIn] = 1;
- LadePlayer(playerid);
- SpawnPlayer(playerid);
- return 1;
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,header,"Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
- return 1;
- }
- }
- }
- else
- {
- Kick(playerid);
- }
- }
- }
- #endif
- #if saveart == 2
- if(dialogid == diaLogin)
- {
- if(response == 0)
- {
- ShowPlayerDialog(playerid,diaLogin,DIALOG_STYLE_INPUT,header,"Passwort eingeben:","Einloggen","");
- }
- if(response == 1)
- {
- if(!strlen(inputtext))
- {
- ShowPlayerDialog(playerid,diaLogin,DIALOG_STYLE_INPUT,header,"Passwort eingeben:","Einloggen","");
- }
- else
- {
- Lade(playerid,MD5_Hash(inputtext));
- }
- }
- }
- if(dialogid == diaRegister)
- {
- if(response == 0)
- {
- ShowPlayerDialog(playerid,diaRegister,DIALOG_STYLE_INPUT,header,"Bitte gib dein gewünschtes Passwort ein:","Registrieren","");
- }
- if(response == 1)
- {
- if(!strlen(inputtext))
- {
- ShowPlayerDialog(playerid,diaRegister,DIALOG_STYLE_INPUT,header,"Bitte gib dein gewünschtes Passwort ein:","Registrieren","");
- }
- else
- {
- Erstell(playerid,MD5_Hash(inputtext));
- }
- }
- }
- #endif
- /*==========================*/
- return 1;
- }
- stock Erstell(playerid,key[])
- {
- #if saveart == 1
- new query[256],Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
- mysql_real_escape_string(Name,Name);
- mysql_real_escape_string(key,key);
- format(query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')", Name, key);
- mysql_query(query);
- return true;
- #endif
- #if saveart == 2
- new player[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(player,sizeof(player),"/Player/%s.ini",name);
- dini_Create(player);
- dini_Set(player,"Passwort",key);
- GivePlayerMoney(playerid,5000);
- SpawnPlayer(playerid);
- SpeicherSpieler(playerid);
- return 1;
- #endif
- }
- stock Lade(playerid,key[])
- {
- #if saveart == 1
- #endif
- #if saveart == 2
- new player[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(player,sizeof(player),"/Player/%s.ini",name);
- if(!strcmp(key,dini_Get(player,"Passwort"),false))
- {
- Player[playerid][sLoggedIn] = 1;
- LadePlayer(playerid);
- return 1;
- }
- else
- {
- ShowPlayerDialog(playerid,diaLogin,DIALOG_STYLE_INPUT,header,"Passwort eingeben:","Einloggen","Abbrechen");
- return 1;
- }
- #endif
- }
- stock LadePlayer(playerid)
- {
- #if saveart == 1
- if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
- {
- GetPlayerName(playerid, Player[playerid][pName], MAX_PLAYER_NAME);
- SetPlayerSkin(playerid,mysql_GetInt("accounts", "Skin", "Name", Player[playerid][pName]));
- GivePlayerMoney(playerid,mysql_GetInt("accounts", "Geld", "Name", Player[playerid][pName]));
- }
- #endif
- #if saveart == 2
- new player[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(player,sizeof(player),"/Player/%s.ini",name);
- SetPlayerSkin(playerid,dini_Int(player,"Skin"));
- GivePlayerMoney(playerid,dini_Int(player,"Geld"));
- return 1;
- #endif
- }
- stock SpeicherSpieler(playerid)
- {
- #if saveart == 1
- if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
- {
- if(Player[playerid][sLoggedIn] == 1)
- {
- mysql_SetInt("accounts", "Skin", GetPlayerSkin(playerid), "Name", Player[playerid][pName]);
- mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", Player[playerid][pName]);
- }
- }
- #endif
- #if saveart == 2
- new player[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(player,sizeof(player),"/Player/%s.ini",name);
- dini_IntSet(player,"Skin",GetPlayerSkin(playerid));
- dini_IntSet(player,"Geld",GetPlayerMoney(playerid));
- return 1;
- #endif
- }
- /*==========================*/
- /*=====[MySQL]=====*/
- 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 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 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;
- }
- /*=================*/
- /*====={Stocks}=====*/
- //PlayerName
- stock PlayerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- /*==================*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement