Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #define COLOR_BLUE 0x0000BBAA
- #include <a_samp>
- #include <dutils>
- #include <Dini>
- #pragma unused ret_memcpy
- enum pInfo
- {
- AdminLevel,
- level,
- cash,
- password,
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Login Script");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- new name[MAX_PLAYER_NAME], file[128];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- format(file, sizeof(file), ".../Users/%s.ini", name);
- if(!fexist(file))
- {
- SendClientMessage(playerid, COLOR_BLUE, "Welcome!");
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "You must register, please enter your chosen password below!", "Register", "Cancel");
- }
- else
- {
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- SendClientMessage(playerid, COLOR_BLUE, "Welcome back!");
- SendClientMessage(playerid, COLOR_BLUE, str);
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Please Login", "Enter Your Password Below", "Login", "Cancel");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new file[128], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- format(file, sizeof(file), ".../Users/%s.ini", name);
- if(dini_Exists(file)) {
- dini_IntSet(file, "password", PlayerInfo[playerid][password]);
- dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
- dini_IntSet(file, "cash", PlayerInfo[playerid][cash]);
- dini_IntSet(file, "level", PlayerInfo[playerid][level]);
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 1) {
- new file[128], name[MAX_PLAYER_NAME], str[128];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- format(file, sizeof(file), ".../Users/%s.ini", name);
- if(response) {
- if(strlen(inputtext)) {
- dini_Create(file);
- dini_IntSet(file, "password", num_hash(inputtext));
- dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
- dini_IntSet(file, "cash", PlayerInfo[playerid][cash]);
- dini_IntSet(file, "level", PlayerInfo[playerid][level]);
- SendClientMessage(playerid, COLOR_BLUE, "You have logged in.");
- PlayerInfo[playerid][level] = dini_Int(file, "level");
- PlayerInfo[playerid][cash] = dini_Int(file, "cash");
- PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
- }
- }
- else {
- Kick(playerid);
- }
- }
- if(dialogid == 2) {
- new file[128], name[MAX_PLAYER_NAME], str[128];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- format(str, sizeof(str), ".../Users/%s.ini", name);
- if(response) {
- if(strlen(inputtext)) {
- if(num_hash(inputtext) != dini_Int(file, "password")) {
- SendClientMessage(playerid, COLOR_BLUE, "You have entered the wrong password.");
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Please Login", "To login, enter your password", "Login", "Cancel");
- }
- else {
- SendClientMessage(playerid, COLOR_BLUE, "Succesfuly logged in");
- PlayerInfo[playerid][level] = dini_Int(file, "level");
- PlayerInfo[playerid][cash] = dini_Int(file, "cash");
- GivePlayerMoney(playerid, dini_Int(file, "cash"));
- PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
- }
- }
- }
- else {
- Kick(playerid);
- }
- }
- return 1;
- }
- #endif
Add Comment
Please, Sign In to add comment