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

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.   Restore formatting

  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.

Loading...

×
×
  • Create New...

Important Information

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