I have this working security script, but I want to make like it will dispbottom the player he has security ON or OFF instead of forcing player to setup security once he/she logged in to the game..
On this script, you have choices as GM to force player to setup security to their account which it will always pop up a npc window for setting up security
I just want that even i don't force the player to setup their @security. They will know by getting dispbottom that their Security is ON or OFF. also this makes the player knows that the server has security features.
For me, npc pop up for force setup security is a very annoying.
heres the script i used.
/*
By Dastgir/Hercules
Use Plugin too along with this script(Found in https://github.com/dastgir/HPM-Plugins)
*/- script Security FAKE_NPC,{OnInit:
bindatcmd("security",strnpcinfo(0)+"::OnSecurity",0,99);/* Config */.max_attempt =5;//3 Times Wrong Attempt = Ban..ban_hour =2;//Hours to ban.allowed =1|2|4|8|64|128|512|1024|2048|4096;//Allowed Settings..
end;OnPCLoginEvent:if($security){if(!#security){
callsub OnPlayerMenu;}}
close;OnSecurity:if(getgmlevel()){
mes "[^FFA500 Security System ^000000]";
mes "Hello GM, How may I help you?";
callsub OnGMMenu;
end;}OnPlayerMenu:// Don't Change Order.
setarray .@restrictions$,"Can't Drop Item",// 1"Can't receive Trade Requests",// 2"Can't send Trade Request",// 4"Can't open Guild Storage",// 8"Can't take item from guild storage",// 16"Can't add item to guild storage",// 32"Can't sell items",// 64"Can't use Vending",// 128"Can't delete items by any means",// 256"Can't buy items",// 512"Can't Send Guild Invite",// 1024"Can't Receive Guild Invite",// 2048"Can't Leave the guild";// 4096while(1){
mes "[^FFA500 Security System ^000000]";
mes "Security Status: "+((#security>0)?"^00FF00On^000000":"^FF0000Off^000000");
mes "Status: ";for(.@i=0;.@i< getarraysize(.@restrictions$);.@i++){.@bit=(1<<.@i);if(.allowed&.@bit)
mes .@restrictions$[.@i]+" - "+((#secure_opt&.@bit)?"^00FF00On^000000":"^FF0000Off^000000");}switch(select("Info",((#security>0)?"Dea":"A")+"ctivate the Security","Settings","Close")){case4:
close;case3:
next;
mes "[^FFA500 Security System ^000000]";if(!#security){
mes "^FF0000You don't have security enabled^000000";
next;break;}
mes "Enter your ^FF0000OLD^000000 Security Code";
mes "^FF0000- Wrong Code more than "+.max_attempt +" times can result into ban.^000000";
mes "Chances Left: "+(.max_attempt-security_maxtry);
input .@security;
next;
mes "[^FFA500 Security System ^000000]";if(#secure_code !=.@security){
mes "Wrong Code...";
security_maxtry++;if(security_maxtry >=.max_attempt){
atcommand "@ban +"+.ban_hour+"h \""+strcharinfo(0)+"\"";//Ban the Player for 1 hour.
security_maxtry =0;//Reset After tha Ban
end;}
close;}
next;
security_maxtry =0;
mes "[^FFA500 Security System ^000000]";
mes "Choose Restrictions to Enable/Disable";.@menu$="^00FF00Enable All^000000:^FF0000Disable All^000000:";.@opt=0;for(.@i=0;.@i< getarraysize(.@restrictions$);.@i++){.@bit=(1<<.@i);if(.allowed&.@bit){.@index[.@opt]=.@i;.@opt++;.@content$=.@restrictions$[.@i]+" - "+((#secure_opt&.@bit)?"^00FF00On^000000":"^FF0000Off^000000");.@menu$=.@menu$+""+.@content$+":";
mes .@content$;}}.@t_menu= select(.@menu$)-1;
next;if(.@t_menu==1){
mes "[^FFA500 Security System ^000000]";if(!#secure_opt){
mes "You already have all Settings disabled.";
next;break;}
mes "Are you Sure you want to disable all?";if(select("Yes:No..")==2){
next;
mes "[^FFA500 Security System ^000000]";
mes "As you wish..";
next;break;}
next;
mes "[^FFA500 Security System ^000000]";
mes "All Settings Disabled";#secure_opt = 0;
next;break;}elseif(.@t_menu==0){
mes "[^FFA500 Security System ^000000]";if(#secure_opt >=.allowed){
mes "You already have all Settings enabled.";
next;break;}
mes "Are you Sure you want to enable all?";if(select("Yes:No..")==2){
next;
mes "[^FFA500 Security System ^000000]";
mes "As you wish..";
next;break;}
next;
mes "[^FFA500 Security System ^000000]";
mes "All Settings Enabled";#secure_opt = .allowed;
next;break;}.@t_menu-=2;.@menu=.@index[.@t_menu];
mes "[^FFA500 Security System ^000000]";
mes .@restrictions$[.@menu];
mes "Are you sure you want to "+((#secure_opt&(1<<.@menu))?"Disable":"Enable")+" this?";if(select("Yes:No..")==2){
next;
mes "[^FFA500 Security System ^000000]";
mes "As you wish..";
next;break;}
next;
mes "[^FFA500 Security System ^000000]";
mes "Setting "+((#secure_opt&(1<<.@menu))?"Disabled":"Enabled");if(#secure_opt&(1<<.@menu))#secure_opt -= 1<<.@menu;else#secure_opt += 1<<.@menu;
next;break;case2:
next;
mes "[^FFA500 Security System ^000000]";if(#security){
mes "Enter your ^FF0000OLD^000000 Security Code";
mes "^FF0000- Wrong Code more than "+.max_attempt +" times can result into ban.^000000";
mes "Chances Left: "+(.max_attempt-security_maxtry);
input .@security;
next;
mes "[^FFA500 Security System ^000000]";if(#secure_code !=.@security){
mes "Wrong Code...";
security_maxtry++;if(security_maxtry >=.max_attempt){
atcommand "@ban +"+.ban_hour+"h \""+strcharinfo(0)+"\"";//Ban the Player for 1 hour.
security_maxtry =0;//Reset After tha Ban
end;}
close;}
mes "Security Deactivated.";#security = 0;
security_maxtry =0;
close;}
mes "Insert your ^00FF00NEW^000000 Security Code";
mes "^FF0000- Must be 4-8 Digits^000000";
mes "^FF0000- Only numerics are allowed(0-9)^000000";
mes "^FF0000- Don't use 0 in beginning of security code^000000";
input .@security;
next;
mes "[^FFA500 Security System ^000000]";if(.@security<1000||.@security>99999999){
mes "Security code must be of 4-8 digits.";
next;break;}
mes "^00FF00 Re-insert the Security Code ^000000";
input .@secu2;
next;
mes "[^FFA500 Security System ^000000]";if(.@secu2!=.@security){
mes "Security Code Mismatch..";
next;break;}
mes "Security Code Set";#secure_code = .@security;#security = 1;
next;break;case1:
next;
mes "[^FFA500 Security System ^000000]";
mes "Security Code can be of 4-8 Digits.";
mes "When Security Code is enabled, you can do following settings as a security step:";for(.@i=0;.@i< getarraysize(.@restrictions$);.@i++){.@bit=(1<<.@i);if(.allowed&.@bit)
mes "^FF0000- "+.@restrictions$[.@i]+"^000000";}
next;break;}}
end;OnGMMenu:switch(select("Player Menu: Settings")){case1:
next;
callsub OnPlayerMenu;
end;case2:
next;
mes "[^FFA500 Security System ^000000]";
mes "Force Player to set @security?";
mes "Status: "+(($security>0)?"^00FF00On^000000":"^FF0000Off^000000");.@menu= select((($security>0)?"^00FF00Disable^000000":"^FF0000Enable^000000"),"Cancel");if(.@menu==2)
close;
next;
mes "[^FFA500 Security System ^000000]";if($security)
$security =0;else
$security =1;
mes "Force Security Setting Set.";
close;}
end;}
I have this working security script, but I want to make like it will dispbottom the player he has security ON or OFF instead of forcing player to setup security once he/she logged in to the game..
On this script, you have choices as GM to force player to setup security to their account which it will always pop up a npc window for setting up security
I just want that even i don't force the player to setup their @security. They will know by getting dispbottom that their Security is ON or OFF. also this makes the player knows that the server has security features.
For me, npc pop up for force setup security is a very annoying.
heres the script i used.
Thank you!
Share this post
Link to post
Share on other sites