Jump to content
  • 0

Anti Hack Script Request


Jesky

Question


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   3
  • Joined:  11/29/13
  • Last Seen:  

Excuse me, i found a lot of anti hack script in eathena.ws

but the problems is, i don't have eathena.ws account and some download link is already dead.

 

Can i request some anti account hack (2nd password/pincode) script?

looks like this one:

Link to comment
Share on other sites

21 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  1702
  • Reputation:   238
  • Joined:  09/05/12
  • Last Seen:  

-	script	Sample	-1,{
	OnPCLoginEvent:
		if ( !#enabled || #pw$ == "" ) end;
		sc_start SC_BERSERK, 1000000000, 1;
		mes .npc$;
		mes "Input your account password";
		next;
		input @pass$;
		if ( @pass$ == #pw$ ) {
			sc_end SC_BERSERK;
			percentheal 100, 100;
			end;
		}
                sc_end SC_BERSERK;
		atcommand "@kick " +strcharinfo(0);
		end;
	OnSecurity:
		mes .npc$;
		mes "Hello " +strcharinfo(0)+ ", What can i do for you?";
		next;
		switch (select("Password Protection ( "+(#enabled?"^009933Enabled":"^FF0000Disabled")+"^000000 ):Setup a password:Delete my password:Nothing")) {
			case 1: if ( #pw$ == "" ) {
						mes .npc$;
						mes "You cannot enable the password protection if you don't have a password.";
						close;
					}
					if ( #enabled ) #enabled = 0;
					else #enabled = 1;
					message strcharinfo(0),"You have " +(#enabled?"enabled":"disabled")+ " the security system on your account";
					break;
			case 2: if ( #pw$ != "" ) {
						mes .npc$;
						mes "You already have a password for your account.";
						close;
					}
					mes .npc$;
					mes "Input your account password";
					next;
					input @pw$;
					if ( @pw$ == "" ) end;
					#pw$ = @pw$;
					message strcharinfo(0),"You have set your account password (" +#pw$+ ")";
					break;
			case 3: if ( #pw$ == "" ) {
						mes .npc$;
						mes "You don't have a password to delete.";
						close;
					}
					#pw$ = "";
					if ( #enabled ) #enabled = 0;
					message strcharinfo(0),"You have deleted your account password";
					break;
			case 4: break;
			default: break;
		}
		end;
	OnInit:
		.npc$ = "[ ^FF0000" +strnpcinfo(1)+ "^000000 ]";
		bindatcmd "security",strnpcinfo(3)+"::OnSecurity";
		end;
}

[paste=2y02lq1oag4m]

 

@security to make it work. 

 

@Edit : 

You can use the following commands to prevent them using @warp even they save that command from their ALT + M. I didn't include these two commands on my code above as my test server is outdated and doesn't have the said commands. 

*enable_command;
*disable_command;

These commands toggle the ability to use atcommand while interacting with an NPC.

The default setting, 'atcommand_enable_npc', is defined in 'conf/battle/gm.conf'.
  • Upvote 2
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  127
  • Topics Per Day:  0.03
  • Content Count:  1445
  • Reputation:   163
  • Joined:  08/17/13
  • Last Seen:  

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   3
  • Joined:  11/29/13
  • Last Seen:  

Something like pincode, i already enable that before then i disable.

My server allowed bot buffer, if i use pincode, the bot will not get inside the server.

 

So, the alternate is i searching for 2nd password to do pincode/some utility like 2nd password ingame.

It's really looks like at the video i attach above for my request..

 

Sorry for my bad english, hope u understand and thank you for ur attention sir Kido :)

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  127
  • Topics Per Day:  0.03
  • Content Count:  1445
  • Reputation:   163
  • Joined:  08/17/13
  • Last Seen:  

huh i was thinking, if the script is like the one on the video, wouldn't be easy skipped by alt+m hotkey? so they warp and evade the input

 

well unless they activate it everytime they refresh or changes maps, dunno how to do that D:

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   3
  • Joined:  11/29/13
  • Last Seen:  

yeah i know, my solution is i will set atcommand "@option 8"+strcharinfo(0); with triger onpcloginevent and i will give mes each time they're login so the will can't move/talk (stuck with NPC dialog)... the thing i really need is the whole script about this features..

 

thanks sir, but is there someone has a similiar script? really need this :(

Edited by Jesky
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  1702
  • Reputation:   238
  • Joined:  09/05/12
  • Last Seen:  

huh i was thinking, if the script is like the one on the video, wouldn't be easy skipped by alt+m hotkey? so they warp and evade the input

 

well unless they activate it everytime they refresh or changes maps, dunno how to do that D:

 

doc/script_commands.txt#L4762

doc/script_commands.txt#L4763

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   3
  • Joined:  11/29/13
  • Last Seen:  

 

huh i was thinking, if the script is like the one on the video, wouldn't be easy skipped by alt+m hotkey? so they warp and evade the input

 

well unless they activate it everytime they refresh or changes maps, dunno how to do that D:

 

doc/script_commands.txt#L4762

doc/script_commands.txt#L4763

 

yeah, there's another way too for disable commands like using mapflag nocommand (group level)

 

bump, please someone share a script like this :(

 

edited:

i found this http://rathena.org/board/topic/84119-password-in-game/?hl=security but when i add the npc and inject the sql, the npc appears but when i relog there's nothing trigger :(

Edited by Jesky
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  76
  • Reputation:   1
  • Joined:  01/21/14
  • Last Seen:  

use my eA account if you want to :D

Username : UniversalSerialBus

Password : loaders112

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   3
  • Joined:  11/29/13
  • Last Seen:  

use my eA account if you want to :D

Username : UniversalSerialBus

Password : loaders112

Wow! You're so kind sir, thank you very much!! /no1

Thanks to sir iMrFreeziNg, i can got Midgard Security System on eathena, here is the script:

prontera,171,186,2	script	Midgard Security	413,{
set .@npcName$,"[^0000FF Security Personel ^000000]";

mes .@npcName$;
mes "Welcome! I am a member of Midgard's Security.";
mes "As such, it is my job to ensure account safety of our players.";
mes "That is of course if they wish to use our service.";
next;
mes "So, what would you like to do?";
goto LacctCheck;
  LacctCheck:
  menu "Enable / Disable Security",iAD,"Change Password",iCP,"Change RecoveryPhrase",iRP,"View Password Attempts",iVP,"Cancel",cancel;
    iAD:
    if (#SecurityPass$!="NoPopUp"){set #SecurityPass$,"NoPopUp"; mes "Security is now turned OFF."; close;}
    if (#SecurityPass$=="NoPopUp")
		   {next;
			  mes "Input a new Password"; 
			  input .@CSpassword$;
				if (.@CSpassword$==#RecoveryPhrase$){next; mes "Your Password cannot be the same as your Recovery-Phrase. Please try agian."; goto iAD;}
				set @CSpassword$,.@CSpassword$;
				next;
				mes "Input it again for confirmation.";
				input .@CSpassword$;
				if (.@CSpassword$!=@CSpassword$){mes "That is incorrect. Try again."; close;}
				set #SecurityPass$,@CSpassword$;
				mes "Security is now turned ON.";
				next;
				goto iRecoveryPhrase;
				iRecoveryPhrase:
				mes "... ... ... ...";
				mes "Now then, please input a recovery phrase";
				mes "This phrase will be used to recover your password, in case you forget it.";
				input .@RecoveryPhrase$;
				if (.@RecoveryPhrase$==#SecurityPass$){next; mes "Your Recovery-Phrase cannot be the same as your Password. Please try again."; next; goto iRecoveryPhrase;}
				set @RecoveryPhrase$,.@RecoveryPhrase$;
				next;
				mes "Input it again for confirmation.";
				input .@RecoveryPhrase$;
				if (@RecoveryPhrase$!=.@RecoveryPhrase$){mes "Those phrases don't match. Please try again."; close;}
				set #RecoveryPhrase$,@RecoveryPhrase$;
				mes "Please write this phrase down. It will be used to recover your password should you ever forget it.";
				next;
				mes "Once again, here it is:";
				mes "^0000FF"+#RecoveryPhrase$+"^000000";
				mes "WRITE IT DOWN ! ";
				close;}
    end;
    iCP:
		next;
    mes .@npcName$;
    if (#SecurityPass$=="NoPopUp"){mes "You don't have a password set."; mes "^0000FFPlease go set one by enabling the security.^000000"; close;}
		mes "Very well then. Please Enter your Current Security Password.";
    input .@CSpassword$;
    if (.@CSpassword$!=#SecurityPass$){next; mes "That is incorrect. Try again."; close;}
    next;
		mes "Now then. Please Enter your new Security Password.";
		input .@NSpassword$;
		if (.@NSpassword$==#RecoveryPhrase$){next; mes "Your Password cannot be the same as your Recovery-Phrase. Please try agian."; goto iCP;}
		set @NSpassword$,.@NSpassword$;
		next;
		mes "Please Enter it again for confirmation.";
		input .@CNSpassword$;
		if (@NSpassword$!=.@CNSpassword$){next; mes "That is incorrect. Try again."; close;}
		set #SecurityPass$,.@CNSpassword$;
		next;
		mes "Your password was changed successfully. Come again.";
		close;
		iRP:
		next;
		mes .@npcName$;
		if (#RecoveryPhrase$=="")
		   {mes "You don't have a Recovery Phrase set.";
		    mes "Please set one by enabling the Security.";
				close;}
		mes "Very well then. Please Enter your Current Recovery Phrase.";
		input .@RecovPhrase$;
		if (.@RecovPhrase$!=#RecoveryPhrase$){next; mes "That is incorrect. Try again."; close;}
		next;
		mes "Now then. Please Enter your new Recovery Phrase.";
		input .@NRP$;
		if (.@NRP$==#SecurityPass$){next; mes "Your Recovery-Phrase cannot be the same as your Password. Please try again."; goto iRP;}
		set @NRP$,.@NRP$;
		next;
		mes "Please enter it again for confirmation.";
		input .@NRP$;
		if (@NRP$!=.@NRP$){next; mes "Those phrases don't match. Try again."; close;}
		set #RecoveryPhrase$,@NRP$;
		next;
		mes "Your Recovery Phrase was changed successfully.";
		mes "Please write it down. It will be used in case you forget your password.";
		next;
		mes "Here it is:";
		mes "^0000FF"+#RecoveryPhrase$+"^000000";
		mes "WRITE IT DOWN !";
		close;
		iVP:
		next;
		mes .@npcName$;
		mes "Alright. Here you go.";
		mes "There have been in total: ^0000FF"+#SecurityAttempt+"^000000 password attempts.";
		close;
		cancel:
		close;

OnPCLoginEvent:
set .@npcName$,"[^0000FF Security Personel ^000000]";
set @BanTime,5;
if (#SecurityPass$=="")
  {mes .@npcName$;
	 mes "This server has a unique system which allows you to have a SECOND password.";
	 mes "This is of course optional. Would you like to use it?";
	 menu "Yes, set it up.",iYes,"No, and please stop showing up.",iNo;
	   iYes:
		 next;
		 callfunc "Set_AcctSecure";
		 iNo:
		 set #SecurityPass$,"NoPopUp";
		 percentheal 100,100;
		 mes "Alright then. Just remember, if you're interested, talk to the Security Personel in prontera.";
		 close;
		 end;}
if (#SecurityPass$=="NoPopUp"){set @SecurityPass,1; end;}
if (#SecurityPass$!="NoPopUp" && #SecurityPass$==#SecurityPass$)		  
   {sc_start 112,999999999,100;
sc_start 1,999999999,100;
sc_start 8,999999999,100;
goto InputSecurityPass;}
end;

OnPCLoadMapEvent:
getmapxy(@Map$,@X,@Y,0);
if (@Map$=="prontera" || @Map$!="prontera"){
if (@SecurityPass==0 && #SecurityPass$!="NoPopUp" && #SecurityPass$==#SecurityPass$)
   {goto InputSecurityPass;}
if (@SecurityPass==0 && #SecurityPass$=="NoPopUp"){set @SecurityPass,1; end;}
if (@SecurityPass==1){end;}
end;
}	 

InputSecurityPass:
mes "This account is protected by Midgard Security Personel.";
mes "Input your password to continue playing.";
mes "OR";
mes "Input your Recovery-Phrase in case you lost your password.";
input .@spass$;
if (#RecoveryPhrase$==.@spass$)
   {next;
	  mes "Here is your password, don't lose it again.";
    mes "^0000FF"+#SecurityPass$+"^000000";
    next; goto InputSecurityPass;}
if (#SecurityPass$==.@spass$)
   {mes "That is correct"; set @SecurityPass,1; sc_end 1; sc_end 112; sc_end 8; 
	  percentheal 100,100; close; end;}
if (#SecurityPass$!=.@spass$ && #RecoveryPhrase$!=.@spass$)
   {set @Attempt,@Attempt+1; mes "INCORRECT!!"; 
    if (@Attempt>=3){atcommand "@ban "+@BanTime+"mn "+strcharinfo(0)+""; end;} 
		next; goto InputSecurityPass;}
close;
end;
}

function	script	Set_AcctSecure	{
set .@npcName$,"[^0000FF Security Personel ^000000]";
menu "Set up a Security Password",iSP,"Information on System",iSI,"Cancel",cancel;
  iSP:
	next;
	mes .@npcName$;
	mes "Very well then. Please enter a Password.";
	mes "It may contain 4-32 alphanumeric characters";
	mes "(A-Z) & (1-0) are all alphanumeric characters.";
	input .@Npassword$;
	set @Npassword$,.@Npassword$;
	next;
	mes "Please enter your password again for confirmation.";
	input .@Npassword$;
	if (.@Npassword$!=@Npassword$){mes "The Passwords did not match. Try again by talking to a security personel."; goto iSP;}
	set #SecurityPass$,@Npassword$;
	next;
	mes "Your password was set successfully.";
	next;
	goto iRecoveryPhrase;
	iRecoveryPhrase:
	mes "Now then. Please enter a Recovery Phrase";
	mes "This phrase will be used in case you forget your password.";
	input .@RecovPhrase$;
	if (.@RecovPhrase$==#SecurityPass$){mes "Your Recovery-Phrase cannot be the same as your Password. Please try agian."; next; goto iRecoveryPhrase;}
	set @RecovPhrase$,.@RecovPhrase$;
	next;
	mes "Please input your Recovery Phrase again for confirmation.";
	input .@RecovPhrase$;
	if (@RecovPhrase$!=.@RecovPhrase$){mes "The Recovery Phrases did not match. Try again by talking to a security personel."; next; goto iRecoveryPhrase;}
	set #RecoveryPhrase$,@RecovPhrase$;
	next;
	mes "Your Recovery Phrase was set successfully.";
	mes "Please write this down. It will be used if you forgot your password.";
	mes "Here it is:";
	mes "^0000FF"+#RecoveryPhrase$+"^000000";
  mes "WRITE IT DOWN !!";
	close;
	iSI:
	next;
	mes .@npcName$;
	mes "This system is a unique system that will allow you to have a second password for your account.";
	mes "In other words, after you login at the login screen, our security personel will ask you to enter your Security Password.";
	mes "This will prevent others from hacking into your account while you're away.";
	next;
	mes .@npcName$;
	mes "That is all there is to this system.";
	mes "So, what would you like to do?";
	callfunc "Set_AcctSecure";
	end;
	cancel:
	close;
}

But why when i login and try to set a password, the script stopped and my character is freezing...

I'm using rathena 17600.. please someone help me :(

Edited by Jesky
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  127
  • Topics Per Day:  0.03
  • Content Count:  1445
  • Reputation:   163
  • Joined:  08/17/13
  • Last Seen:  

any error message on the map?

 

well since it's eathena script and you are using rathena, there will be some commands that you just will need to replace/addapt D:

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   3
  • Joined:  11/29/13
  • Last Seen:  

yeah, i guess so sir Kido, but i'm not too good at scripting eathena script model...

i will check if there's error message on the map...

 

is there someone can make this script work on rathena?

really need some script like this :(


No one? Help me please :(

Edited by Jesky
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  127
  • Topics Per Day:  0.03
  • Content Count:  1445
  • Reputation:   163
  • Joined:  08/17/13
  • Last Seen:  

aw sorry seems like moderators and scripters are busy, be patient please, back to school/work consumes so much time D:

 

huh meanwhile, why don't you try to see which commands/words may need to change/update? so maybe we can have a start point

 

just run the script on the test server or in your server if possible and see what errores are you having (so we can see the line a get a clue)

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   3
  • Joined:  11/29/13
  • Last Seen:  

Alright sir, i'm so sorry because i really need this for my running online server..

 

i will try when my server on maintenance mode and see where's the error of this script, btw.. thank you so much for your responding sir :)

glad to got your help..

 

while i trying to make this script work by myself, i will wait for someone doing this script too

 

regards,

Jesky

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   3
  • Joined:  11/29/13
  • Last Seen:  

-	script	Sample	-1,{
	OnPCLoginEvent:
		if ( !#enabled || #pw$ == "" ) end;
		sc_start SC_BERSERK, 1000000000, 1;
		mes .npc$;
		mes "Input your account password";
		next;
		input @pass$;
		if ( @pass$ == #pw$ ) {
			sc_end SC_BERSERK;
			percentheal 100, 100;
			end;
		}
                sc_end SC_BERSERK;
		atcommand "@kick " +strcharinfo(0);
		end;
	OnSecurity:
		mes .npc$;
		mes "Hello " +strcharinfo(0)+ ", What can i do for you?";
		next;
		switch (select("Password Protection ( "+(#enabled?"^009933Enabled":"^FF0000Disabled")+"^000000 ):Setup a password:Delete my password:Nothing")) {
			case 1: if ( #pw$ == "" ) {
						mes .npc$;
						mes "You cannot enable the password protection if you don't have a password.";
						close;
					}
					if ( #enabled ) #enabled = 0;
					else #enabled = 1;
					message strcharinfo(0),"You have " +(#enabled?"enabled":"disabled")+ " the security system on your account";
					break;
			case 2: if ( #pw$ != "" ) {
						mes .npc$;
						mes "You already have a password for your account.";
						close;
					}
					mes .npc$;
					mes "Input your account password";
					next;
					input @pw$;
					if ( @pw$ == "" ) end;
					#pw$ = @pw$;
					message strcharinfo(0),"You have set your account password (" +#pw$+ ")";
					break;
			case 3: if ( #pw$ == "" ) {
						mes .npc$;
						mes "You don't have a password to delete.";
						close;
					}
					#pw$ = "";
					if ( #enabled ) #enabled = 0;
					message strcharinfo(0),"You have deleted your account password";
					break;
			case 4: break;
			default: break;
		}
		end;
	OnInit:
		.npc$ = "[ ^FF0000" +strnpcinfo(1)+ "^000000 ]";
		bindatcmd "security",strnpcinfo(3)+"::OnSecurity";
		end;
}

[paste=2y02lq1oag4m]

 

@security to make it work. 

 

@Edit : 

You can use the following commands to prevent them using @warp even they save that command from their ALT + M. I didn't include these two commands on my code above as my test server is outdated and doesn't have the said commands. 

*enable_command;
*disable_command;

These commands toggle the ability to use atcommand while interacting with an NPC.

The default setting, 'atcommand_enable_npc', is defined in 'conf/battle/gm.conf'.

 

Wow! It's work very fine like what i want, thank you so much sir!

I already try and use this on my server, my player love it

many thanks to sir Patskie and Kido /no1

 

My last request, can you make this script to show up when the player first login to ask if he/she want to set 2nd password or not..

if he/she do not want to set 2nd password, the script will never show up again until they set by @security..

 

Edited:

Ah solved, i try to make another script based on sir Patskie script..

Again, thank you so much for all of your help sir /no1

Edited by Jesky
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  81
  • Topics Per Day:  0.02
  • Content Count:  1654
  • Reputation:   583
  • Joined:  08/09/12
  • Last Seen:  

I'm afraid that this kind of script can be abused on dungeon  /panic

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  127
  • Topics Per Day:  0.03
  • Content Count:  1445
  • Reputation:   163
  • Joined:  08/17/13
  • Last Seen:  

I'm afraid that this kind of script can be abused on dungeon  /panic

 

how D:? if i may ask D:

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   3
  • Joined:  11/29/13
  • Last Seen:  

i already modify the script it self, the player can't walk, speak, use skill, attack, etc... so how it can be abused?

maybe i can tweak again :)

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  127
  • Topics Per Day:  0.03
  • Content Count:  1445
  • Reputation:   163
  • Joined:  08/17/13
  • Last Seen:  

what a bout if when the player logs, someone before casts a warp portal in that cell where the player will appear? teleporting it to X place where it will die (ayothaya dun suicide spot) D:

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

if emistry saw this topic, he'll definitely say this script can be bypass if just left the next; button stay there for 60 seconds

nanakiwurtz is also correct

log in the game when aggressive monsters is around, let them kill you, and the npc dialog will disappear, thus bypassing the system

or just simply ask a friend to summon a dead branch and let it kill you

... these kind of knowledge can only acquire when you work on a live server ...

here I tweak again

[paste=4jqw643q81yq]

  • Upvote 2
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  127
  • Topics Per Day:  0.03
  • Content Count:  1445
  • Reputation:   163
  • Joined:  08/17/13
  • Last Seen:  

blank link DD:

 

right o:! huh many ways to bypass it z_z

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  51
  • Reputation:   3
  • Joined:  11/29/13
  • Last Seen:  

Ah yah,  Annie was right, i just tweak it by adding atcommand "@option 8", +strcharinfo(0); (make character in white imprisson status).

i will use the script that Annie tweak, thank you so much for helping me again :)

 

edit:

i found other way to bypass it is by waiting for berserk/frenzy buff gone.

Edited by Jesky
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...