I'm using this Ingame Second Password from rosemount and I modified some of it just to add some effects but it seems players could use @warp or @jump to avoid this security. Normally the script has the sc_berserk to prevent the players from warping or jumping but few of them manage to jump or warp while in the status.
Is there a way to re-alert this secondary password if they use @jump or @warp? Like a loop or something just like Antibot killer 6 of Myzter. Even if you jump or warp it will still ask you to answer the bot killer. How can I also add a timer wherein after 60 seconds if they don't answer the secondary password they would be kicked out.
- script Second_Password -1,{
OnPcLoginEvent:
if( #confirmpw == 1) goto L_check;
//setoption 0x40,1;
setoption 0x2000,1; // Ruwach
pcblockmove getcharid(3),1;
sc_start SC_FREEZE,1000000,10;
sc_start SC_STUN,1000000,10;
sc_start SC_SLEEP,1000000,10;
sc_start SC_SILENCE,1000000,10;
specialeffect2 135;
menu "~ Setup Password",L_pass;
L_pass:
mes "[ Account Security ]";
mes "Please Insert New Password";
input @newpass$;
next;
mes "[ Account Security ]";
mes "Your password is ^FF0000"+@newpass$+"^000000";
close2;
menu "~ Change Password Again",L_pass,"~
Confirm",L_confirm;
L_confirm:
set #confirmpass$,@newpass$;
set #confirmpw,1;
//setoption 0x40,0;
setoption 0x2000,0; // Ruwach
sc_end SC_FREEZE;
sc_end SC_STUN;
sc_end SC_SLEEP;
sc_end SC_SILENCE;
percentheal 100,100;
end;
close2;
L_no:
atcommand "@kick "+strcharinfo(0);
end;
L_check:
//setoption 0x40,1;
setoption 0x2000,1; // Ruwach
sc_start SC_FREEZE,1000000,10;
sc_start SC_STUN,1000000,10;
sc_start SC_SLEEP,1000000,10;
sc_start SC_SILENCE,1000000,10;
specialeffect2 135;
mes "[ Account Security ]";
mes "Please enter your password:";
mes " ";
mes "NOTE:";
mes "If you forgot your password type:
^FF0000Recovery^000000";
input @newpass$;
if(@newpass$ == "Recovery") goto L_resetpw;
if(@newpass$ == "RECOVERY") goto L_resetpw;
if(@newpass$ == "recovery") goto L_resetpw;
if(@newpass$ == #confirmpass$) goto L_Correct;
if(@newpass$ != #confirmpass$) goto L_fail;
L_correct:
//setoption 0x40,0;
setoption 0x2000,0; // Ruwach
sc_end SC_FREEZE;
sc_end SC_STUN;
sc_end SC_SLEEP;
sc_end SC_SILENCE;
percentheal 100,100;
close2;
end;
L_fail:
next;
mes "[ Account Security ]";
mes "Wrong Password.";
sleep2 1500;
atcommand "@kick "+strcharinfo(0);
close2;
end;
L_resetpw:
next;
mes "[ Account Security ]";
mes " ";
mes "^FF0000Change Password^000000 ";
mes "Please enter your email address:";
next;
input .@emaiL$;
query_sql "SELECT `email` FROM `login` WHERE `account_id`
= "+getcharid(3), .@RecoEmail$;
if(.@RecoEmail$ == .@emaiL$) goto New_PW;
if(.@RecoEmail$ != .@emaiL$) goto L_Incorrect;
end;
L_Incorrect:
mes "[ Account Security ]";
mes "Incorrect Password.";
sleep2 1500;
atcommand "@kick "+strcharinfo(0);
close2;
end;
New_PW:
next;
mes "[ Account Security ]";
mes "Please enter your new password:";
input @newpass$;
next;
mes "[ Account Security ]";
mes "Your password is ^FF0000"+@newpass$+"^000000";
menu "~ Change Password Again",L_resetpw,"~
Confirm",L_NewPw;
L_NewPw:
//setoption 0x40,0;
setoption 0x2000,0; // Ruwach
sc_end SC_FREEZE;
sc_end SC_STUN;
sc_end SC_SLEEP;
sc_end SC_SILENCE;
percentheal 100,100;
set #confirmpass$,@newpass$;
mes "Your password has been changed.";
close2;
end;
}