viewing paste Unknown #5833 | Text

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
//**********************************************************************************
// ____                    _                                            _   _  ____ 
//|  _ \ ___   ___   ____ | |  ___   ____   ___   ___   __  ___   _  _ | |_| |/ __ |
//| |__// _ \ / _ \ |  _ \| | / _ \ |  _ \ / _ \ /  _| / _)/ _ \ | \| ||___  |\__  |
//| |  |  __/ ||_|| | |__/| ||  __/ | |__/|  __/ | |  _\ \ ||_|| | \\ |    | |   | |
//|_|___\___|_\___/_| |___|_|_\___|_| |____\___|_|_|_(___/ \___/_|_|\_|____|_|___|_|
//------------------|_|-------------|_|---------------------------------------------
//**********************************************************************************
//===== 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;
}
Viewed 560 times, submitted by Guest.