Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Seifistration System with login menu by Seif
- GUI modification by erorcun
- */
- /*x---------------------------------Important-------------------------------------x*/
- //**INCLUDES**//
- #include <a_samp>
- #include <dcmd>
- //**PRAGMAS**//
- //**MISC**//
- /*x---------------------------------Defining-------------------------------------x*/
- //**COLORS*//
- #define GREEN 0x21DD00FF
- #define RED 0xE60000FF
- #define ADMIN_RED 0xFB0000FF
- #define YELLOW 0xFFFF00FF
- #define ORANGE 0xF97804FF
- #define LIGHTRED 0xFF8080FF
- #define LIGHTBLUE 0x00C2ECFF
- #define PURPLE 0xB360FDFF
- #define PLAYER_COLOR 0xFFFFFFFF
- #define BLUE 0x1229FAFF
- #define LIGHTGREEN 0x38FF06FF
- #define DARKPINK 0xE100E1FF
- #define DARKGREEN 0x008040FF
- #define ANNOUNCEMENT 0x6AF7E1FF
- #define COLOR_SYSTEM 0xEFEFF7AA
- #define GREY 0xCECECEFF
- #define PINK 0xD52DFFFF
- #define DARKGREY 0x626262FF
- #define AQUAGREEN 0x03D687FF
- #define NICESKY 0x99FFFFAA
- #define WHITE 0xFFFFFFFF
- //**MISC**//
- #define ACCOUNTS_FOLDER "/Accounts/%s.ini"
- #define BLACKLIST_FOLDER "/Blacklist/%s.txt"
- #define LOGIN_DELAY 3 // Seconds. Default = 3 seconds
- //**VARIABLES**//
- enum aInfo
- {
- aPassword[128],
- aLogged,
- Score,
- Money,
- AdminLevel,
- }
- ;
- new AccountInfo[MAX_PLAYERS][aInfo];
- new register[MAX_PLAYERS];
- new login[MAX_PLAYERS];
- forward GivePlayerEP(playerid, amount);
- forward LogIn(playerid);
- forward OnPlayerUpdate(playerid);
- forward GetPlayerMotel(playerid);
- forward SetPlayerMotel(playerid, id);
- forward PayTimer();
- forward GivePlayerServerMoney(playerid, Float:amount);
- forward GetPlayerServerMoney(playerid);
- /*x---------------------------------CallBacks-------------------------------------x*/
- public OnPlayerConnect(playerid)
- {
- AccountInfo[playerid][aLogged] = 0;
- AccountInfo[playerid][AdminLevel] = 0;
- AccountCheck(playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- OnPlayerUpdate(playerid);
- AccountInfo[playerid][aLogged] = 0;
- register[playerid] = 0;
- login[playerid] = 0;
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if (response == 1)
- {
- if(dialogid == 12345)
- {
- if(strlen(inputtext))
- {
- Encrypt(inputtext);
- new player[MAX_PLAYER_NAME];
- GetPlayerName(playerid, player, 50);
- new string3[32];
- new playername3[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername3, sizeof(playername3));
- format(string3, sizeof(string3), ACCOUNTS_FOLDER, playername3);
- new ip[20];
- GetPlayerIp(playerid,ip,sizeof(ip));
- new File: hFile = fopen(string3, io_write);
- if (hFile)
- {
- strmid(AccountInfo[playerid][aPassword], inputtext, 0, strlen(inputtext), 255);
- new var[128];
- format(var, 128, "Password=%s\n", AccountInfo[playerid][aPassword]);fwrite(hFile, var);
- format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
- fclose(hFile);
- printf("%s is signed up.",playername3);
- SendClientMessage(playerid, GREEN, "|- Ihr Eintrag wurde erfolgreich durchgeführt. Jetzt können Sie sich anmelden. -|");
- new girismsg[256];
- format(girismsg,256,"Welcome\n\nUsername: %s\n\nPlease enter your password:",playername3);
- ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Reset");
- register[playerid] = 0;
- login[playerid] = 1;
- }
- }
- else if(!strlen(inputtext))
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- new kayitmsg[256];
- format(kayitmsg,256,"Welcome\n\n%s please register your name\n\nEnter new password",name);
- ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Register",kayitmsg,"Register"," Reset");
- register[playerid] = 1;
- login[playerid] = 0;
- }
- }
- if(dialogid == 12346)
- {
- Encrypt(inputtext);
- new string2[128];
- new playername2[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername2, sizeof(playername2));
- format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
- new File: UserFile = fopen(string2, io_read);
- if ( UserFile )
- {
- new PassData[256];
- new keytmp[256], valtmp[256];
- fread( UserFile , PassData , sizeof( PassData ) );
- keytmp = ini_GetKey( PassData );
- if( strcmp( keytmp , "Password" , true ) == 0 )
- {
- valtmp = ini_GetValue( PassData );
- strmid(AccountInfo[playerid][aPassword], valtmp, 0, strlen(valtmp)-1, 255);
- }
- if(strcmp(AccountInfo[playerid][aPassword],inputtext, true ) == 0)
- {
- if(strlen(inputtext))
- {
- for(new p = 0; p < strlen(AccountInfo[playerid][aPassword]); p++)
- {
- inputtext[p] = '?';
- }
- SetTimerEx("LogIn", LOGIN_DELAY*1000, 0, "d", playerid);
- printf("%s is logged in.",playername2);
- new key[256] , val[256];
- new Data[256];
- while ( fread( UserFile , Data , sizeof( Data ) ) )
- {
- key = ini_GetKey( Data );
- if(strcmp(key, "Score", true) == 0)
- {
- val = ini_GetValue(Data);
- SetPlayerScore(playerid, strval(val));
- }
- else if(strcmp(key, "Money", true) == 0)
- {
- val = ini_GetValue(Data);
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid, strval(val));
- }
- else if(strcmp(key, "AdminLevel", true) == 0)
- {
- val = ini_GetValue(Data);
- AccountInfo[playerid][AdminLevel] = strval(val);
- }
- }
- fclose(UserFile);
- }
- }
- else
- {
- if(strlen(inputtext))
- {
- new girismsg[256];
- format(girismsg,256,"INCORRECT PASSWORD\n\nPlease enter your password:");
- ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Reset");
- login[playerid] = 1;
- register[playerid] = 0;
- fclose(UserFile);
- return 1;
- }
- }
- if(!strlen(inputtext))
- {
- new girismsg[256];
- printf("%s falsches Passwort verwendet wurde.",playername2);
- format(girismsg,256,"INCORRECT PASSWORD\n\nPlease enter your password:");
- ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Reset");
- login[playerid] = 1;
- register[playerid] = 0;
- fclose(UserFile);
- return 1;
- }
- }
- }
- if(dialogid == 12347)
- {
- Encrypt(inputtext);
- new string2[128];
- new playername2[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername2, sizeof(playername2));
- format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
- new File: UserFile = fopen(string2, io_read);
- if ( UserFile )
- {
- new PassData[256];
- new keytmp[256], valtmp[256];
- fread( UserFile , PassData , sizeof( PassData ) );
- keytmp = ini_GetKey( PassData );
- if( strcmp( keytmp , "Password" , true ) == 0 )
- {
- valtmp = ini_GetValue( PassData );
- strmid(AccountInfo[playerid][aPassword], valtmp, 0, strlen(valtmp)-1, 255);
- }
- if(strcmp(AccountInfo[playerid][aPassword],inputtext, true ) == 0)
- {
- if(strlen(inputtext))
- {
- for(new p = 0; p < strlen(AccountInfo[playerid][aPassword]); p++)
- {
- inputtext[p] = '?';
- }
- SetTimerEx("LogIn", LOGIN_DELAY*1000, 0, "d", playerid);
- printf("%s is logged in.",playername2);
- new key[256] , val[256];
- new Data[256];
- while ( fread( UserFile , Data , sizeof( Data ) ) )
- {
- key = ini_GetKey( Data );
- if(strcmp(key, "Score", true) == 0)
- {
- val = ini_GetValue(Data);
- SetPlayerScore(playerid, strval(val));
- }
- else if(strcmp(key, "Money", true) == 0)
- {
- val = ini_GetValue(Data);
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid, strval(val));
- }
- else if(strcmp(key, "AdminLevel", true) == 0)
- {
- val = ini_GetValue(Data);
- AccountInfo[playerid][AdminLevel] = strval(val);
- }
- }
- fclose(UserFile);
- }
- }
- else
- {
- if(strlen(inputtext))
- {
- new girismsg[256];
- printf("%s falsches Passwort verwendet wurde.",playername2);
- format(girismsg,256,"INCORRECT PASSWORD\n\nPlease enter your password:");
- ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Reset");
- login[playerid] = 1;
- register[playerid] = 0;
- fclose(UserFile);
- return 1;
- }
- }
- if(!strlen(inputtext))
- {
- new girismsg[256];
- printf("%s falsches Passwort verwendet wurde.",playername2);
- format(girismsg,256,"INCORRECT PASSWORD\n\nPlease enter your password:");
- ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Reset");
- login[playerid] = 1;
- register[playerid] = 0;
- fclose(UserFile);
- return 1;
- }
- }
- }
- }
- else
- {
- if(dialogid == 12345 || dialogid == 12346 || dialogid == 12347)
- {
- AccountCheck(playerid);
- }
- }
- return 0;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- 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 OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- stock ini_GetKey( line[] )
- {
- new keyRes[256];
- keyRes[0] = 0;
- if ( strfind( line , "=" , true ) == -1 ) return keyRes;
- strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
- return keyRes;
- }
- stock ini_GetValue( line[] )
- {
- new valRes[256];
- valRes[0]=0;
- if ( strfind( line , "=" , true ) == -1 ) return valRes;
- strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
- return valRes;
- }
- AccountCheck(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- new string[128];
- format(string, sizeof(string), ACCOUNTS_FOLDER, name);
- if (AccountInfo[playerid][aLogged] == 0)
- {
- if (!fexist(string))
- {
- new kayitmsg[256];
- format(kayitmsg,256,"Welcome\n\n%s please register your name\n\nEnter your new password:",name);
- ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Register",kayitmsg,"Register"," Reset");
- register[playerid] = 1;
- login[playerid] = 0;
- }
- else if (fexist(string))
- {
- new girismsg[256];
- format(girismsg,256,"Welcome\n\nUsername: %s\n\nPlease enter your password:",name);
- ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Reset");
- register[playerid] = 0;
- login[playerid] = 1;
- }
- }
- return 1;
- }
- public LogIn(playerid)
- {
- AccountInfo[playerid][aLogged] = 1;
- register[playerid] = 0;
- login[playerid] = 0;
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- if(AccountInfo[playerid][aLogged] == 1)
- {
- AccountInfo[playerid][Money] = GetPlayerMoney(playerid);
- AccountInfo[playerid][Score] = GetPlayerScore(playerid);
- new string3[128];
- new playername3[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername3, sizeof(playername3));
- format(string3, sizeof(string3), ACCOUNTS_FOLDER, playername3);
- new ip[20];
- GetPlayerIp(playerid,ip,sizeof(ip));
- new File: hFile = fopen(string3, io_write);
- if (hFile)
- {
- new var[128];
- format(var, 128, "Password=%s\n", AccountInfo[playerid][aPassword]);fwrite(hFile, var);
- format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
- format(var, 128, "AdminLevel=%i\n", AccountInfo[playerid][AdminLevel]);fwrite(hFile, var);
- format(var, 128, "Score=%i\n", AccountInfo[playerid][Score]);fwrite(hFile, var);
- format(var, 128, "Money=%i\n", AccountInfo[playerid][Money]);fwrite(hFile, var);
- fclose(hFile);
- }
- }
- }
- return 1;
- }
- Encrypt(string[])
- {
- for(new x=0; x < strlen(string); x++)
- {
- string[x] += (3^x) * (x % 15);
- if(string[x] > (0xff))
- {
- string[x] -= 256;
- }
- }
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(kick, 4, cmdtext);
- dcmd(ban, 3, cmdtext);
- return 0;
- }
- dcmd_kick(playerid, params[])
- {
- if(AccountInfo[playerid][AdminLevel] < 2) SendClientMessage(playerid, RED, "-Warning- You need to be level 2 to use this command!");
- else
- {
- new id, reason[64];
- if(sscanf(params, "is", id, reason)) SendClientMessage(playerid, RED, "-Warning- Syntax: /kick [id] [reason]");
- else if(id == INVALID_PLAYER_ID) SendClientMessage(playerid, RED, "-Warning- This is an invalid ID!");
- else
- {
- new string[256];
- new name[100];
- new name2[100];
- GetPlayerName(playerid, name, 100);
- GetPlayerName(id, name2, 100);
- format(string, 256, "-PlayerInfo- Administrator %s has kicked %s[%i] (Reason: %s)", name, name2, id, reason);
- SendClientMessageToAll(YELLOW, string);
- Kick(id);
- }
- }
- return 1;
- }
- dcmd_ban(playerid, params[])
- {
- if(AccountInfo[playerid][AdminLevel] < 3) SendClientMessage(playerid, RED, "-Warning- You need to be level 3 to use this command!");
- else
- {
- new id, reason[64];
- if(sscanf(params, "is", id, reason)) SendClientMessage(playerid, RED, "-Warning- Syntax: /ban [id] [time (minutes)] [reason]");
- else if(id == INVALID_PLAYER_ID) SendClientMessage(playerid, RED, "-Warning- This is an invalid ID!");
- else
- {
- new string[256];
- new name[100];
- new name2[100];
- GetPlayerName(playerid, name, 100);
- GetPlayerName(id, name2, 100);
- format(string, 256, "-PlayerInfo- Administrator %s has banned %s[%i] (Reason: %s)", name, name2, id, reason);
- SendClientMessageToAll(YELLOW, string);
- Ban(id);
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement