Jump to content
  • 0
keough

PK mode Settings penalty

Question

// PK Server Mode.
//   Turns entire server pvp(excluding towns).
//   Experience loss is doubled if killed by another player.
//   When players hunt monsters over 20 levels higher, they will receive 15%
//   additional exp., and 25% chance of receiving more items.
//   There is a nopvp.txt for setting up maps not to have pk on in this mode.
//   Novices cannot be attacked and cannot attack.
//   Normal pvp counter and rank display are disabled as well.
// Note: If pk_mode is set to 2 instead of 1, players will receive a
//   manner penalty of 5 each time they kill another player (see manner_system
//   config to adjust how this will affect players)
pk_mode: 2

hello guys, my server is on PK MODE and i want it to add an aditional penalty. and how to lessen the 5 minutes penalty to 1 minute only and it is additionall add 1 minute penalty.

Also I want to request another penalty like slowing down their movement speed to half. And I want it to have a max kill limit to have penalty, like If you kill 5 player, the penalty will apply.

I set the PK mode in 2

 

I hope someone can help.

Thank you!

 

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
1 hour ago, keough said:

how to lessen the 5 minutes penalty to 1 minute only and it is additional add 1 minute penalty.

line 8088 in src\map\pc.c

		if (battle_config.pk_mode&2) {
			ssd->status.manner -= 5;

then this is everywhere in the src

	if(sd->status.manner < 0)
		clif->changestatus(sd,SP_MANNER,sd->status.manner);

status.c

		case SC_NOCHAT:
			if(sd) {
				sd->status.manner++;
				clif->changestatus(sd,SP_MANNER,sd->status.manner);
				clif->updatestatus(sd,SP_MANNER);
				if (sd->status.manner < 0) {
					//Every 60 seconds your manner goes up by 1 until it gets back to 0.
					sc_timer_next(60000+tick, status->change_timer, bl->id, data);
					return 0;
				}
			}
			break;

combine these 3 gets the meaning ...

the manner points is hard-coded in the source-code,
each time you kill another player, the manner point deduct by 5, then it start SC_NOCHAT status
SC_NOCHAT duration is equal to how many manner point in negative value. eg: -3 manner point = 3 minutes SC_NOCHAT
every 1 minute the SC_NOCHAT reduce by 1 until the manner gets back to 0

means if you kill a player, log out, the SC_NOCHAT will stay,
it only reduce by staying log in

if you want to change 5 minutes to 1 minute then change the ssd->status.manner -= 5; // change to 1

 

1 hour ago, keough said:

And I want it to have a max kill limit to have penalty, like If you kill 5 player, the penalty will apply.

then just do like the SC_NOCHAT way
if the sd->status.manner < -5, status_change_start whatever

 

you need to have some understanding in source modification in order to do this

Share this post


Link to post
Share on other sites
  • 0
32 minutes ago, AnnieRuru said:

then just do like the SC_NOCHAT way
if the sd->status.manner < -5, status_change_start whatever

I did the first part and it works.. but this part, I do not know how to do it.

Share this post


Link to post
Share on other sites
  • 0

be more specific, I couldn't read your mind

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.