Jump to content

Keitenai Delay System ( Speed Hack Protection )


Recommended Posts

  • 3 months later...
  • 3 months later...
  • 1 month later...
Posted
On 12/4/2016 at 2:31 AM, Keitenai said:

File Name: Keitenai_Delay_System
File Submitter: keitenai
File Submitted: 4 Dec 2016
File Category: Src Modification
Content Author: keitenai

Information:

      Speed hacking 3rd party programs to bypass skill delays are hard to eliminate specially if you don't have a game guard for you server.

      This modification makes it impossible for speed hacking programs to bypass the delay that has been set.

How does it work?

      I've added a simple skill requirement to the skills before a player can re-cast certain skill. This requirement is 'time'.

      So to put it simple, skill will be hard locked after casting and will be unlocked once the delay is over.

Features:

  1. Configurable hard skill delay.
  2. Separate configuration of hard skill delay for WoE settings
  3. MoD can be enable / disable.
  4. Supports current available skills ready for configuration.
  5. Disconnects anyone who does inhumanly spamming ( Sensitivity configuration included ).
  6. Implemented "Show skill delay" for the Mod configuration only ( for testing purposes ).

 

WARNING:

A player may be detected as spam flood if the said player is having lag spike issues while consistently using skill.

 

//------------------------------------------------------------------
// Skill delay settings
// Value is in milliseconds (1000 = 1 second)
//------------------------------------------------------------------
// Note that this delay setting still depends on the 'skill_cast_db'
// delay settings. This will not decrease the skill delay that has
// been set in 'skill_cast_db' although this setting can increase
// the delay if value is higher than 'skill_cast_db' delay
//------------------------------------------------------------------

//=================
// Swordman
//=================
SM_BASH: 210
SM_MAGNUM: 180

 

Installation:

      1. Download the Diff file.

      2. Simply apply the diff to your trunk, or apply it manually.

      3. Recompile your server.

      4. Configure your skill delays

      5. ALL DONE!

 

Compatible with:  rAthena 97b5f3b ( as of JULY 31, 2022 )

Compatible with:  rAthena 03da2f6

Compatible with:  rAthena 8d8712f

 

Download :

 

Edit:

  • Fixed compatibility with rathena 97b5f3b revision ( as of 07/31/2022 )
  • Add new 4th job skills
  • Fixed bug on melee skills

 

 

 

 

image.thumb.png.04d6c8b669e4e8ecf62bba17026bcba1.pngI have error with unit.cpp can you help? ?

 

Posted
50 minutes ago, sapitosucio said:

Is your emulator updated ?

@sapitosucio hello thank you for your response, i already fix it. Can you help me with another thing? can you help me fix this prob.

i have this autoreward script for woe, but i have an sql error. saying i dont have table for this script.

 

image.png

//=============================== Reward Engine ===============================//
OnRewardHolder:
	set .@sql$, ((.Options&4)?"position = 0":"online = 1");
	freeloop(1);
		set .@gid, getarg(0);
		set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid);
		for(set .@j,0; .@j<.@size; set .@j,.@j+1) {
			if ((.Options&8) && !(.Options&4)) {
				set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a");
				if (getd(".@ip_"+.@i+"_"+.@ip$)) continue;
				setd ".@ip_"+.@i+"_"+.@ip$,1;
			}
			if (isloggedin(.@aid[.@j])) {
				for(set .@k,0; .@k<getarraysize(.holderprize); set .@k,.@k+2)
					getitem .holderprize[.@k], .holderprize[.@k+1], .@aid[.@j];
				message rid2name(.@aid[.@j]),"You have been rewarded for being part of the guild at "+callsub(OnKoeMap)+" King of Emperium.";
			}
		}
	return;	

OnRewardDefender:
	set .@sql$, ((.Options&4)?"position = 0":"online = 1");
	freeloop(1);
		set .@gid, getarg(0);
		set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid);
		for(set .@j,0; .@j<.@size; set .@j,.@j+1) {
			if ((.Options&8) && !(.Options&4)) {
				set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a");
				if (getd(".@ip_"+.@i+"_"+.@ip$)) continue;
				setd ".@ip_"+.@i+"_"+.@ip$,1;
			}
			if (isloggedin(.@aid[.@j])) {
				for(set .@k,0; .@k<getarraysize(.defenderprize); set .@k,.@k+2)
					getitem .defenderprize[.@k], .defenderprize[.@k+1], .@aid[.@j];
				message rid2name(.@aid[.@j]),"You have been rewarded for gracefully defending your Emperium "+callsub(OnKoeMap)+" King of Emperium.";
			}
		}
	freeloop(0);
	return;
	
OnRewardBoth:
	set .@sql$, ((.Options&4)?"position = 0":"online = 1");
	freeloop(1);
		set .@gid, getarg(0);
		set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid);
		for(set .@j,0; .@j<.@size; set .@j,.@j+1) {
			if ((.Options&8) && !(.Options&4)) {
				set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a");
				if (getd(".@ip_"+.@i+"_"+.@ip$)) continue;
				setd ".@ip_"+.@i+"_"+.@ip$,1;
			}
			if (isloggedin(.@aid[.@j])) {
				for(set .@k,0; .@k<getarraysize(.bothprize); set .@k,.@k+2)
					getitem .bothprize[.@k], .bothprize[.@k+1], .@aid[.@j];
				message rid2name(.@aid[.@j]),"You have been rewarded for being a part of the best defender guild and King Of Emperium Holder at "+callsub(OnKoeMap)+".";
			}
		}
	freeloop(0);
	return;	
	
OnKoeMap:
	for(.@i=0;.@i<getarraysize(.maps$);.@i+=2)
		if(.maps$[.@i]==strnpcinfo(2))
			return .maps$[.@i+1];
return;
  • 2 months later...
  • 5 months later...
Posted (edited)

I get a couple errors when applying the V5.diff.
image.png.d6f22e18650b75848ee41ddb743d3843.png
The files are there, this is the latest trunk version, as well.
I'll try adding manually to see waht's up, but I think it doesn't work on the latest rA trunk version right now.
image.png.d48a334409fe7ea0a37f3c7b9e530127.png

 

EDIT:  Wrong directory when applying the patch. I changed to the source directory and it all worked as it should. 
Looking forward to testing this out!

Edited by Rivers
Solved
  • 11 months later...
Posted (edited)

I tried this again got this warning

image.png.609d9b5ab82158752a51d3f20ca217d4.png

how can i fix this

NOTE: Fixed 

just change this like in unit.cpp

bool k_tick_check(struct map_session_data *sd, t_tick k_tick_t, int k_tick_c, int kdelay_n, int kdelay_w)

to this

bool k_tick_check(class map_session_data *sd, t_tick k_tick_t, int k_tick_c, int kdelay_n, int kdelay_w)

THANK YOU!

Edited by AinsLord
Solved
  • 4 months later...
  • 1 month later...

Join the conversation

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

Guest
Reply to this topic...

×   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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...