Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- //==========[ Includes ]==========//
- #include <a_samp>
- #include <a_mysql>
- #include <md5>
- #include <a_http>
- //==========[ Farben ]==========//
- #define ROT 0xFF1400FF
- #define WEISS 0xFFFFFFFF
- #define ORANGE 0xFFB400FF
- //==========[ Dialoge ]==========//
- enum{
- DIALOG_REGISTER,
- DIALOG_REGISTER2,
- DIALOG_REGISTER3,
- DIALOG_LOGIN,
- DIALOG_LOGIN2,
- DIALOG_SETTINGS,
- DIALOG_PWC,
- DIALOG_PWC2
- }
- //==========[ Forwards ]==========//
- forward KickEx(playerid);
- forward EmailSenden(index, response_code, data[]);
- //==========[ MySQL Daten ]==========//
- #define MYSQL_HOST ""
- #define MYSQL_USER ""
- #define MYSQL_PW ""
- #define MYSQL_DB ""
- //==========[ Sonstiges ]==========//
- new kick_status[MAX_PLAYERS];
- new login_status[MAX_PLAYERS];
- #define MAIL_DOMAIN "ni130511_1.vweb19.nitrado.net/samp"
- public OnFilterScriptInit()
- {
- print("\n----------------------------------");
- print(" Passwort Vergessen Filterscript geladen");
- print("----------------------------------\n");
- mysql_debug(1);
- ConnectMySQL();
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new dstring[500],sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- if(!CheckUser(sName)){
- format(dstring,sizeof(dstring),"Herzlich Willkommen auf TG - RP %s\nDein Account wurde nicht gefunden, gebe nun ein Passwort ein.",sName);
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"TG - RP || Register",dstring,"Registrieren","Abbrechen");
- }
- else{
- format(dstring,sizeof(dstring),"Herzlich Willkommen zurück auf TG - RP %s\nDein Account wurde gefunden, gebe nun dein Passwort ein.",sName);
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"TG - RP || Login",dstring,"Anmelden","Abbrechen");
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp(cmdtext,"/einstellungen",true) == 0){
- ShowPlayerDialog(playerid,DIALOG_SETTINGS,DIALOG_STYLE_LIST,"TG - RP || Einstellungen","1. Passwort Ändern","Auswählen","Abbrechen");
- return 1;
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid){
- case DIALOG_REGISTER:{
- if(response){
- if(!strlen(inputtext)){
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"TG - RP || Register","FEHLER: Es wurde nichts eingegeben.\nGebe nun ein Passwort ein.","Registrieren","Abbrechen");
- }
- else if(strlen(inputtext) < 6){
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"TG - RP || Register","FEHLER: Es wurden weniger als 6 Zeichen eingegeben.\nUm die Sicherheit deines Accounts zu garantieren, wähle bitte ein Passwort mit 6 Zeichen.\nWähle ebenfalls ein Passwort das du sonst nirgends verwendest.","Registrieren","Abbrechen");
- }
- else if(strlen(inputtext) >= 6){
- CreateAccount(playerid,MD5_Hash(inputtext));
- ShowPlayerDialog(playerid,DIALOG_REGISTER2,DIALOG_STYLE_INPUT,"TG - RP || Register","Gebe nun deine E-Mail Adresse ein.\nDiese wird für das UCP benötigt","Weiter","");
- }
- }
- else{
- SendClientMessage(playerid,ROT,"Du hast die Registrierung abgebrochen");
- KickEx(playerid);
- }
- }
- case DIALOG_REGISTER2:{
- if(response){
- if(strfind(inputtext,"@",true) != -1){
- UpdatePlayerString(playerid,"EMail",inputtext);
- ShowPlayerDialog(playerid,DIALOG_REGISTER3,DIALOG_STYLE_MSGBOX,"TG - RP || Finish","Du hast nun erfolgreich einen Account angelegt.\nMöchtest du eine Einführung von einem Admin?","Ja","Nein");
- }
- else{
- ShowPlayerDialog(playerid,DIALOG_REGISTER2,DIALOG_STYLE_INPUT,"TG - RP || Register","FEHLER: Format - email@email.de\nGebe nun deine E-Mail Adresse ein.\nDiese wird für das UCP benötigt","Weiter","");
- }
- }
- else{
- ShowPlayerDialog(playerid,DIALOG_REGISTER2,DIALOG_STYLE_INPUT,"TG - RP || Register","Gebe nun deine E-Mail Adresse ein.\nDiese wird für das UCP benötigt","Weiter","");
- }
- }
- case DIALOG_REGISTER3:{
- if(response){
- SendClientMessage(playerid,WEISS,"Alles klar, es wird nun ein Administrator/Supporter kontaktiert, sofern einer Online ist");
- }
- else{
- SendClientMessage(playerid,WEISS,"Alle klar, du kannst, sofern gewünscht, mit /tutorial das Tutorial anschauen");
- SendClientMessage(playerid,WEISS,"Das Team wünscht dir viel Spaß auf dem Server");
- }
- }
- case DIALOG_LOGIN:{
- if(response){
- if(!strlen(inputtext)){
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"TG - RP || Login","FEHLER: Es wurde nichts eingegeben.\nGebe nun dein Passwort ein","Anmelden","Abbrechen");
- }
- else{
- if(!strcmp(CheckPW(playerid),MD5_Hash(inputtext),false)){
- SendClientMessage(playerid,WEISS,"Du hast dich erfolgreich eingeloggt");
- SpawnPlayer(playerid);
- }
- else{
- switch(login_status[playerid]){
- case 0:{
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"TG - RP || Login","FEHLER: Das eingegebene Passwort ist Falsch. (1/3)\nGebe nun dein Passwort ein","Anmelden","Abbrechen");
- login_status[playerid]++;
- }
- case 1:{
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"TG - RP || Login","FEHLER: Das eingegebene Passwort ist Falsch. (2/3)\nGebe nun dein Passwort ein","Anmelden","Abbrechen");
- login_status[playerid]++;
- }
- case 2:{
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"TG - RP || Login","FEHLER: Das eingegebene Passwort ist Falsch. (3/3)\nGebe nun dein Passwort ein","Anmelden","Abbrechen");
- login_status[playerid]++;
- }
- case 3:{
- ShowPlayerDialog(playerid,DIALOG_LOGIN2,DIALOG_STYLE_MSGBOX,"TG - RP || Login","Du hast dein Passwort dreimal falsch eingegeben.\nDu kannst nun einmal Reconnecten, oder die Passwort vergessen Funktion anwenden.","Reconnect","Passwort Vergessen");
- }
- }
- }
- }
- }
- else{
- SendClientMessage(playerid,ROT,"Du hast den Loginvorgang abgebrochen");
- KickEx(playerid);
- }
- }
- case DIALOG_LOGIN2:{
- if(response){
- SendClientMessage(playerid,ROT,"Du wurdest Gekickt");
- KickEx(playerid);
- }
- else{
- new string[300],sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(string,sizeof(string), "%s/pw_reset.php?mail=%s&username=%s",MAIL_DOMAIN,GetString(playerid,"EMail"),sName);
- HTTP(playerid, HTTP_GET,string, " ", "EmailSenden");
- }
- }
- case DIALOG_SETTINGS:{
- if(response){
- ShowPlayerDialog(playerid,DIALOG_PWC,DIALOG_STYLE_PASSWORD,"TG - RP || Passwort Ändern","Gebe nun dein altes Passwort ein","Weiter","Zurück");
- }
- }
- case DIALOG_PWC:{
- if(response){
- if(!strcmp(CheckPW(playerid),MD5_Hash(inputtext),false)){
- ShowPlayerDialog(playerid,DIALOG_PWC2,DIALOG_STYLE_PASSWORD,"TG - RP || Passwort Ändern","Gebe nun ein neues Passwort ein","Weiter","");
- }
- else ShowPlayerDialog(playerid,DIALOG_PWC,DIALOG_STYLE_PASSWORD,"TG - RP || Passwort Ändern","FEHLER: Das eingegebene Passwort stimmt nicht mit deinem jetzigen überein\nGebe nun dein altes Passwort ein","Weiter","Zurück");
- }
- else ShowPlayerDialog(playerid,DIALOG_SETTINGS,DIALOG_STYLE_LIST,"TG - RP || Einstellungen","1. Passwort Ändern","Auswählen","Abbrechen");
- }
- case DIALOG_PWC2:{
- if(response){
- new string[200];
- UpdatePlayerString(playerid,"Passwort",MD5_Hash(inputtext));
- format(string,sizeof(string),"Dein Passwort wurde erfolgreich auf %s geändert",inputtext);
- SendClientMessage(playerid,WEISS,string);
- ShowPlayerDialog(playerid,DIALOG_SETTINGS,DIALOG_STYLE_LIST,"TG - RP || Einstellungen","1. Passwort Ändern","Auswählen","Abbrechen");
- }
- else ShowPlayerDialog(playerid,DIALOG_PWC2,DIALOG_STYLE_PASSWORD,"TG - RP || Passwort Ändern","Gebe nun ein neues Passwort ein","Weiter","");
- }
- }
- return 1;
- }
- stock GetString(playerid,name[]){
- new query[100],sName[MAX_PLAYER_NAME],value[50];
- GetPlayerName(playerid,sName,sizeof(sName));
- mysql_real_escape_string(sName,sName);
- format(query,sizeof(query),"SELECT `%s` FROM `accounts` WHERE `Name`='%s'",name,sName);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_row(value);
- mysql_free_result();
- return value;
- }
- stock UpdatePlayerString(playerid, name[], value[]){
- new query[100],sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- mysql_real_escape_string(sName,sName);
- mysql_real_escape_string(name,name);
- mysql_real_escape_string(value,value);
- format(query,sizeof(query),"UPDATE `accounts` SET `%s`='%s' WHERE `Name`='%s'",name,value,sName);
- mysql_query(query);
- return 1;
- }
- stock CreateAccount(playerid, pass[]){
- new query[800], sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- mysql_real_escape_string(sName,sName);
- mysql_real_escape_string(pass,pass);
- format(query,sizeof(query),"INSERT INTO `accounts` (`Name`,`Passwort`) VALUES ('%s','%s')",sName,pass);
- mysql_query(query);
- print(query);
- return 1;
- }
- stock CheckUser(Name[]){
- new query[100], count;
- 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 CheckPW(playerid){
- new query[100],sName[MAX_PLAYER_NAME],pass[50];
- GetPlayerName(playerid,sName,sizeof(sName));
- mysql_real_escape_string(sName,sName);
- format(query,sizeof(query),"SELECT `Passwort` FROM `accounts` WHERE `Name`='%s'",sName);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_row(pass);
- mysql_free_result();
- return pass;
- }
- stock ConnectMySQL(){
- mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_DB,MYSQL_PW);
- if(mysql_ping() == 1){
- print("Der Verbindungsaufbau war erfolgreich.");
- return true;
- }
- else{
- print("Es konnte keine Verbindung aufgebaut werden.");
- print("Es wird erneut versucht eine Verbindung aufzubauen.");
- if(mysql_ping() == 1){
- print("Es konnte beim zweiten Versuch eine Verbindung aufgebaut werden.");
- return true;
- }
- else{
- print("Es konnte beim zweiten Versuch keine Verindung aufgebaut werden.");
- print("Der Server wird nun beendet");
- SendRconCommand("exit");
- return true;
- }
- }
- }
- public EmailSenden(index, response_code, data[])
- {
- if(response_code == 200)
- {
- new dstring[500],sName[MAX_PLAYER_NAME];
- GetPlayerName(index,sName,sizeof(sName));
- SendClientMessage(index, WEISS, "E-Mail gesendet");
- format(dstring,sizeof(dstring),"Herzlich Willkommen zurück auf TG - RP %s\nDein Account wurde gefunden, gebe nun dein Passwort ein.",sName);
- ShowPlayerDialog(index,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"TG - RP || Login",dstring,"Anmelden","Abbrechen");
- login_status[index] = 0;
- }
- else
- {
- new dstring[500],sName[MAX_PLAYER_NAME];
- GetPlayerName(index,sName,sizeof(sName));
- SendClientMessage(index, ROT, "FEHLER: Senden von E-Mail fehlgeschlagen");
- format(dstring,sizeof(dstring),"Herzlich Willkommen zurück auf TG - RP %s\nDein Account wurde gefunden, gebe nun dein Passwort ein.",sName);
- ShowPlayerDialog(index,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"TG - RP || Login",dstring,"Anmelden","Abbrechen");
- }
- return 1;
- }
- public KickEx(playerid){
- if(!kick_status[playerid]){
- kick_status[playerid] = 1;
- SetTimerEx("KickEx",200,false,"i",playerid);
- }
- else{
- Kick(playerid);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement