@security OnPCLoginEvent:

xlaws27

New member
Messages
225
Points
0
hi guys

i already set the @force security on a player

but they can close it (is it normal)?

well is there a way to force close the client if they didnt activate the security?

it is a script from dastgir.

Code:
/*	By Dastgir/Hercules	Use Plugin too along with this script(Found in [URL="https://github.com/dastgir/HPM-Plugins"]https://github.com/dastgir/HPM-Plugins[/URL])*/-	script	Security	-1,{OnInit:	bindatcmd("security",strnpcinfo(0)+"::OnSecurity",0,99);	/* Config */	.max_attempt = 5;	//3 Times Wrong Attempt = Ban.	.ban_hour = 1;		//Hours to ban	.allowed = 1|2|4|8|16|32|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";				//	4096	while (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")){			case 4:				close;			case 3:				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;				} else if (.@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;			case 2:				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;			case 1:				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")){		case 1:			next;			callsub OnPlayerMenu;			end;		case 2:			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;}
 
Last edited by a moderator:
Yes, that was normal... Here's with your request:

Code:
/*	By Dastgir/Hercules	Use Plugin too along with this script(Found in [URL="https://github.com/dastgir/HPM-Plugins"]https://github.com/dastgir/HPM-Plugins[/URL])*/-	script	Security	-1,{OnInit:	bindatcmd("security",strnpcinfo(0)+"::OnSecurity",0,99);	/* Config */	.max_attempt = 5;	//3 Times Wrong Attempt = Ban.	.ban_hour = 1;		//Hours to ban	.allowed = 1|2|4|8|16|32|64|128|512|1024|2048|4096;		//Allowed Settings..	end;OnKick:	if (!#security) {		atcommand "@kick "+strcharinfo(0);	}	end;	OnPCLoginEvent:	if ($security){		if (!#security){			addtimer 1000, strnpcinfo(3) +"::OnKick";			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";				//	4096	while (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")){			case 4:				close;			case 3:				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;				} else if (.@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;			case 2:				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;			case 1:				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")){		case 1:			next;			callsub OnPlayerMenu;			end;		case 2:			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;}
 
@@Dastgir

it works!! but players will close or cancel it because they think that it will be a waste of time and they'll pm GM's why do they get DC(sounds annoying).

so is there a way to remove the Close button and the cancel button? so they won't have any choice but to activate it?

 
Add a simple mes, that if you don't activate security, you will be disconnected.

The close button is from client, and we can't do anything for it.

 
Add a simple mes, that if you don't activate security, you will be disconnected.

The close button is from client, and we can't do anything for it.
thanks dastgir for this.

i hope you can check the message that i sent.

 
Last edited by a moderator:
Back
Top