Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //**********************************************************************************
- // ____ _ _ _ ____
- //| _ \ ___ ___ ____ | | ___ ____ ___ ___ __ ___ _ _ | |_| |/ __ |
- //| |__// _ \ / _ \ | _ \| | / _ \ | _ \ / _ \ / _| / _)/ _ \ | \| ||___ |\__ |
- //| | | __/ ||_|| | |__/| || __/ | |__/| __/ | | _\ \ ||_|| | \\ | | | | |
- //|_|___\___|_\___/_| |___|_|_\___|_| |____\___|_|_|_(___/ \___/_|_|\_|____|_|___|_|
- //------------------|_|-------------|_|---------------------------------------------
- //**********************************************************************************
- //===== rAthena Script =============================================================
- //= Security Manager
- //===== By: ========================================================================
- //= Peopleperson49 (Eddie)
- //===== Start Date: ================================================================
- //= 07MAR2010
- //===== Current Version: ===========================================================
- //= 1.4
- //===== Compatible With: ===========================================================
- //= rAthena SVN
- //===== Description: ===============================================================
- //= Allows a player to set up a password to help protect their account. It uses a
- //= simple OnWhisperGlobal function.
- //===== Version Control: ===========================================================
- //= 1.0 First Version.
- //= 1.1 Added option to change the current password.
- //= 1.2 Optomized script to remove #PWCheck and just use the #AccountPW$. Thanks to
- //= Joseph on rAthena.org.
- //= 1.3 Replaced the last #PWCheck that I missed before.
- //= 1.4 Replaced the whisper command with bindatcmd function.
- //===== Additional Comments:========================================================
- //=
- //==================================================================================
- - script SecurityManager -1,{
- OnInit:
- bindatcmd("security","SecurityManager::OnAtcommand");
- end;
- OnAtcommand:
- switch(prompt("Change Current Password:Set New Password:Delete Current Password:Why Passwords Are Important?")) {
- case 1:
- if(#PWCheck==0) { mes "You do not currently have a password set."; close; }
- mes "Please enter your current personal account password.";
- input .@AccountPW$;
- if(.@AccountPW$!=#AccountPW$) { next; mes "That password does not match your original one."; close; }
- next;
- mes "What would you like to change your current password to?";
- input .@AccountPW$;
- next;
- set .@RandomFinalize,rand(100,999);
- mes "Are you sure you want to change your password to ^FF0000"+.@AccountPW$+"^000000? If your 100% sure type the number ^0000FF"+.@RandomFinalize+"^000000.";
- input .@Finalize;
- if(.@Finalize!=.@RandomFinalize) { next; mes "It is probably for the best that you keep your current password!"; close; }
- set #AccountPW$,.@AccountPW$;
- set #PWCheck,1;
- next;
- mes "You password has been set as ^FF0000"+#AccountPW$+"^000000.";
- close;
- case 2:
- if(#PWCheck!=0) { mes "You already have a personal account password."; close; }
- mes "What would you like your new password to be?";
- input .@AccountPW$;
- next;
- set .@RandomFinalize,rand(100,999);
- mes "Are you sure you want to set your password to ^FF0000"+.@AccountPW$+"^000000? If your 100% sure type the number ^0000FF"+.@RandomFinalize+"^000000.";
- input .@Finalize;
- if(.@Finalize!=.@RandomFinalize) { next; mes "You really should set up a personal account password."; close; }
- set #AccountPW$,.@AccountPW$;
- set #PWCheck,1;
- next;
- mes "Your password has been set as ^FF0000"+#AccountPW$+"^000000.";
- close;
- case 3:
- if(#PWCheck==0) { mes "You do not currently have a personal account password set."; close; }
- mes "Please enter your current personal account password.";
- input .@AccountPW$;
- if(.@AccountPW$!=#AccountPW$) { next; mes "That password does not match your original one."; close; }
- next;
- set .@RandomFinalize,rand(100,999);
- mes "Are you sure you want to clear your current password? If your 100% sure type the number ^0000FF"+.@RandomFinalize+"^000000.";
- input .@Finalize;
- if(.@Finalize!=.@RandomFinalize) { next; mes "It is probably for the best that you keep your current password!"; close; }
- set #AccountPW$,0;
- set #PWCheck,0;
- mes "Your password has been deleted.";
- close;
- case 4:
- mes "- Setting a personal account password adds an additional layer of defense to protecting your account.";
- mes "- It cannot be accessed by GameMaster's or other players without direct access to the RoUG database.";
- mes "- The downside is that if you forget your password it cannot be easily retrieved!";
- mes "- Passwords must be from 4 to 16 characters long and are CASE SENSITIVE!";
- close;
- case 255:
- mes "Your security is our business!";
- close;
- }
- }
- OnPCLoginEvent:
- if(#AccountPW$!="") { next; mes "[Securty Manager]"; mes "Enter your personal account password."; input .@AccountPW$; if(.@AccountPW$!=#AccountPW$) { mes "[Securty Manager]"; mes "Invalid password entry."; close2; atcommand "@kick "+strcharinfo(0); end; } next; mes "[Securty Manager]"; mes "You password has been accepted."; }
- end;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement