Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Register, Login, Admin & Vip by [Asy]Akmal //
- // The Original Filterscript
- #include <a_samp>
- #include <dini>
- #include <dudb>
- #include <zcmd>
- #pragma unused ret_memcpy
- enum pInfo
- {
- pAdmin,
- pVip,
- pCash,
- pScore,
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- new gPlayerLogged[MAX_PLAYERS];
- #define SERVER_USER_FILE "players/%s.ini" // Create new folder name 'players' in scriptfiles
- #define DIALOG_REGISTER 1000
- #define DIALOG_LOGIN 1001
- public OnFilterScriptInit()
- {
- print("\n------------------------------------------");
- print(" Register, Login, Admin & Vip by [Asy]Akmal ");
- print("------------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- gPlayerLogged[playerid] = 0;
- new name[MAX_PLAYER_NAME], file[256];
- GetPlayerName(playerid, name, sizeof(name));
- format(file, sizeof(file), SERVER_USER_FILE, name);
- if (!dini_Exists(file))
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", "{F3FF02}Welcome!\n{FFFFFF}Type your password below to register a new account.", "Register", "Leave");
- }
- if(fexist(file))
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "{00FF00}You already register. {FFFFFF}Type your password below to login.", "Login", "Leave");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new name[MAX_PLAYER_NAME], file[256];
- GetPlayerName(playerid, name, sizeof(name));
- format(file, sizeof(file), SERVER_USER_FILE, name);
- if(gPlayerLogged[playerid] == 1)
- {
- dini_IntSet(file, "Score", GetPlayerScore(playerid));
- dini_IntSet(file, "Money", GetPlayerMoney(playerid));
- dini_IntSet(file, "Admin",PlayerInfo[playerid][pAdmin]);
- dini_IntSet(file, "Vip",PlayerInfo[playerid][pVip]);
- }
- gPlayerLogged[playerid] = 0;
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if (dialogid == DIALOG_REGISTER)
- {
- new name[MAX_PLAYER_NAME], file[256], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(file, sizeof(file), SERVER_USER_FILE, name);
- if(!response) return Kick(playerid);
- if (!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", "Welcome!\nType your password below to register a new account.", "Register", "Leave");
- dini_Create(file);
- dini_IntSet(file, "Password", udb_hash(inputtext));
- dini_IntSet(file, "Admin",PlayerInfo[playerid][pAdmin] = 0);
- dini_IntSet(file, "Vip",PlayerInfo[playerid][pVip] = 0);
- dini_IntSet(file, "Money",PlayerInfo[playerid][pCash] = 500);
- dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 0);
- format(string, 128, "You succesfully registered the nickname %s with password %s, you have been auto logged in.", name, inputtext);
- SendClientMessage(playerid, 0xFFFF00AA, string);
- gPlayerLogged[playerid] = 1;
- }
- if (dialogid == DIALOG_LOGIN)
- {
- new name[MAX_PLAYER_NAME], file[256];
- GetPlayerName(playerid, name, sizeof(name));
- format(file, sizeof(file), SERVER_USER_FILE, name);
- if(!response) return Kick(playerid);
- if (!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Input your password below to login.", "Login", "Leave");
- new tmp;
- tmp = dini_Int(file, "Password");
- if(udb_hash(inputtext) != tmp)
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "{FF0000}Wrong password!\n{FFFFFF}Input your correctly password below to login.", "Login", "Leave");
- }
- else
- {
- gPlayerLogged[playerid] = 1;
- PlayerInfo[playerid][pAdmin] = dini_Int(file, "Admin");
- PlayerInfo[playerid][pVip] = dini_Int(file, "Vip");
- SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
- SetPlayerMoney(playerid, PlayerInfo[playerid][pCash]);
- SendClientMessage(playerid, 0xFFFF00AA, "You have successfully logged in!");
- }
- }
- return 1;
- }
- // Suggestion command for player '/suggest'
- COMMAND:suggest(playerid, params[])
- {
- if(isnull(params)) return SendClientMessage(playerid, 0xFF0000AA, "#Syntax /suggest [suggestion]");
- new
- save_msg[ 128 ],
- player_name[ MAX_PLAYER_NAME ];
- GetPlayerName( playerid, player_name, MAX_PLAYER_NAME );
- SendClientMessage(playerid, 0xFFFF00AA, "Your suggesttion have been send, thank you");
- format( save_msg, sizeof ( save_msg ), "%s suggested: %s\r\n", player_name, params );
- new File: fileToWrite = fopen("suggestions.txt", io_append);
- fwrite(fileToWrite, save_msg);
- fclose(fileToWrite);
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment