Kichi

NDG Protection

20 posts in this topic

No Delay Grf Protection

 

 

 

NDG Protection is a src modification to make sure NDG,speed hack, WPE Users still follow the rules.

 

History:

This is a simple code, which we have made since long to minimize the NDG User.
The first way to solve NDG, we add a cooldown for skills that dosn't has a fixed cooldown (Sonic Blow, Cross Impact, etc).

But the player doesn't allowed to do double cast.
Finaly we made this code that minimize the NDG users, but still keep the original feature that is double cast for some skills (Sonic Blow, Cross Impact, etc).


Implementation:

  1. Download 2 files above
  2. Use manual way to diff (first file) the core and recompile.
  3. Copy Paste the second file to "conf/import/"
  4. And you will see the effect :)

 

 

Feature:

-The user still able to use double SB / CI / etc.

-You may switch on and off.

-Very simple

 

 

Any comments, suggestions, even critism in order to make this feature better is opened.
Thank You.

 

 

Note:

 I've been testing NoDelayGrf on augst 2013 and doesn't work,
 i've tested this using WPE

 i've got the numbers from comparing with and without *cheat

 

 

DOWNLOAD

src:

Herc - NDG Protection.diff

import/

battle_conf.txt

 

Edited by Kichi

Share this post


Link to post
Share on other sites

awesome!!! thank u so much

Your welcome bro

 

Please write any suggestions or information about skills that has a chance to be spamed :)

 

 

 

Share this post


Link to post
Share on other sites

much todo on this source. 

 

its a nice start, but the system blocks normal players. as the delay of some skillz get increased or decreased by there level.

Edited by Tepoo

Share this post


Link to post
Share on other sites

much todo on this source. 

 

its a nice start, but the system blocks normal players. as the delay of some skillz get increased or decreased by there level.

 

Thanks for the information

 

yes it will affect on normal player if they spam the skill by (WPE)

Still it keep the original feature that players still allowed to do double cast (RO without WPE)

Like this:

WPE

- Skill 1

- Skill 2

- Skill 3

- Skill 4

- till you ran out of SP

 

Without WPE:

- Skill 1

- Skill 2 till the animation end

- Skill 3

- Skill 4 till the animation end

 

 

Anyway thank you very much for the information

:)

 

CMIIW

Edited by Kichi

Share this post


Link to post
Share on other sites

did you also tested it with bragi and so on?

as there are many things who reduce the cooldown and after cast delay.

 

also the sourcecode can be optimized, i will talk to you in 3 days when im back home :-)

 

Greetings

Tepoo

Share this post


Link to post
Share on other sites

did you also tested it with bragi and so on?

as there are many things who reduce the cooldown and after cast delay.

 

also the sourcecode can be optimized, i will talk to you in 3 days when im back home :-)

 

Greetings

Tepoo

 

yep tested

 

and i just focus on official way that is (Player allowed to do max 2 cast skill)

every suggestion for optimization are welcome :)

 

Thank you

Share this post


Link to post
Share on other sites

 

No Delay Grf Protection

 

 

 

NDG Protection is a src modification to make sure NDG,speed hack, WPE Users still follow the rules.

 

History:

This is a simple code, which we have made since long to minimize the NDG User.

The first way to solve NDG, we add a cooldown for skills that dosn't has a fixed cooldown (Sonic Blow, Cross Impact, etc).

But the player doesn't allowed to do double cast.

Finaly we made this code that minimize the NDG users, but still keep the original feature that is double cast for some skills (Sonic Blow, Cross Impact, etc).

 

Implementation:

  1. Download 2 files above
  2. Use manual way to diff (first file) the core and recompile.
  3. Copy Paste the second file to "conf/import/"
  4. And you will see the effect :)

 

 

Feature:

-The user still able to use double SB / CI / etc.

-You may switch on and off.

-Very simple

 

 

Any comments, suggestions, even critism in order to make this feature better is opened.

Thank You.

 

 

Note:

 I've been testing NoDelayGrf on augst 2013 and doesn't work,

 i've tested this using WPE

 i've got the numbers from comparing with and without *cheat

 

 

DOWNLOAD

src:

attachicon.gifHerc - NDG Protection.diff

import/

attachicon.gifbattle_conf.txt

skill.c: In function 'skill_delay_check':
skill.c:14507: warning: suggest parentheses around assignment used as truth value
skill.c:14507: warning: suggest explicit braces to avoid ambiguous 'else'
skill.c:14515: warning: suggest parentheses around assignment used as truth value
skill.c:14515: warning: suggest explicit braces to avoid ambiguous 'else'
 
help?

Share this post


Link to post
Share on other sites
 
skill.c:14399:23: warning: using the result of an assignment as a condition      without parentheses [-Wparentheses]                        if (sd->last_skill = skill_id)                            ~~~~~~~~~~~~~~~^~~~~~~~~~skill.c:14399:23: note: place parentheses around the assignment to silence this      warning                        if (sd->last_skill = skill_id)                                           ^                            (                        )skill.c:14399:23: note: use '==' to turn this assignment into an equality      comparison                        if (sd->last_skill = skill_id)                                           ^                                           ==skill.c:14402:5: warning: add explicit braces to avoid dangling else      [-Wdangling-else]                                else                                ^skill.c:14407:23: warning: using the result of an assignment as a condition      without parentheses [-Wparentheses]                        if (sd->last_skill = skill_id)                            ~~~~~~~~~~~~~~~^~~~~~~~~~skill.c:14407:23: note: place parentheses around the assignment to silence this      warning                        if (sd->last_skill = skill_id)                                           ^                            (                        )skill.c:14407:23: note: use '==' to turn this assignment into an equality      comparison                        if (sd->last_skill = skill_id)                                           ^                                           ==skill.c:14410:5: warning: add explicit braces to avoid dangling else      [-Wdangling-else]                                else                                ^

 

Share this post


Link to post
Share on other sites

 

 
skill.c:14399:23: warning: using the result of an assignment as a condition      without parentheses [-Wparentheses]                        if (sd->last_skill = skill_id)                            ~~~~~~~~~~~~~~~^~~~~~~~~~skill.c:14399:23: note: place parentheses around the assignment to silence this      warning                        if (sd->last_skill = skill_id)                                           ^                            (                        )skill.c:14399:23: note: use '==' to turn this assignment into an equality      comparison                        if (sd->last_skill = skill_id)                                           ^                                           ==skill.c:14402:5: warning: add explicit braces to avoid dangling else      [-Wdangling-else]                                else                                ^skill.c:14407:23: warning: using the result of an assignment as a condition      without parentheses [-Wparentheses]                        if (sd->last_skill = skill_id)                            ~~~~~~~~~~~~~~~^~~~~~~~~~skill.c:14407:23: note: place parentheses around the assignment to silence this      warning                        if (sd->last_skill = skill_id)                                           ^                            (                        )skill.c:14407:23: note: use '==' to turn this assignment into an equality      comparison                        if (sd->last_skill = skill_id)                                           ^                                           ==skill.c:14410:5: warning: add explicit braces to avoid dangling else      [-Wdangling-else]                                else                                ^

 

int skill_delay_check (struct map_session_data *sd, uint16 skill_id, uint16 skill_lv,uint16 flag) {
switch (skill_id) {
case AS_SONICBLOW:
case GC_CROSSIMPACT:
case CG_ARROWVULCAN:
if (sd->last_skill == skill_id){
if(( DIFF_TICK(sd->canskill_tick2, timer->gettick()) > 0 ))
sd->state.skill_check_double = 1 ;
}else{
sd->canskill_tick2 = timer->gettick() + 1500;
}
break;
case RK_DRAGONBREATH:
case RK_DRAGONBREATH_WATER:
if (sd->last_skill == skill_id){
if(( DIFF_TICK(sd->canskill_tick2, timer->gettick()) > 0 ))
sd->state.skill_check_double = 1 ;
}else{
sd->canskill_tick2 = timer->gettick() + 1000;
}
break;
default:
break;
}
sd->last_skill = skill_id;
return 1;
}
 

 

I put well and stopped the errors

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now