Jump to content
  • 0

Nightmare Mode : Open PvP and rates variations


Question

Posted

Hello all,

I need your skills to script this; Codename: nightmare mode (NMM), here's how I see it working:

- Every 3 hours (12.00, 3.00, 6.00. 9.00, 12.00, and so on...) the server turns into a PK mode for 15 mins and during that time, all maps (except towns) are open to wild pvp

- During the NMM, the exp you'd get from any monster (MvPs included) is doubled (x2). The EXP only, drops keep their normal rate and even EXP you get from quests finished during NMM, they stay at their default rate.

(a bit more tricky now)

- During the NMM, if a player is killed by another player (PK), the death penalty is 2% instead of 1.

- During the NMM, if a player is killed by a monster, then the death penalty is normal : 1%

Also, to prevent conflicts, when the NMM triggers, the PvP arena should shut down (kicking any player inside to their saved point) and clicking on the PvP warper would make him say something like "Closed for NMM" (or whatever) as long as the NMM is on.

Every suggestion is welcome

Thanks !

  • Upvote 1

2 answers to this question

Recommended Posts

Posted

-    script    NightmareMode    -1,{
OnHour00: OnHour03: OnHour06: OnHour09: OnHour12: OnHour15: OnHour18: OnHour21:
   set .Nightmare,1;
   maprespawnguildid "<your_pvp_map>",0,3;
   setbattleflag "pk_mode",1;
   atcommand "@reloadbattleconf";
   setbattleflag "base_exp_rate", 2*getbattleflag("base_exp_rate");
   setbattleflag "job_exp_rate", 2*getbattleflag("job_exp_rate");
   atcommand "@reloadmobdb";
   announce "Nightmare Mode is now active.",0;
   sleep 2000;
   announce "For the next 15 minutes, all maps except towns will be open for PVP, and EXP rates will be doubled. Have fun!",0;
   initnpctimer;
   end;
OnTimer900000:
   stopnpctimer;
   if (!.Nightmare) end;
   set .Nightmare,0;
   announce "Nightmare Mode is now off.",0;
   setbattleflag "pk_mode",0;
   atcommand "@reloadbattleconf";
   setbattleflag "base_exp_rate", getbattleflag("base_exp_rate")/2;
   setbattleflag "job_exp_rate", getbattleflag("job_exp_rate")/2;
   atcommand "@reloadmobdb";
   end;
OnPCDieEvent:
   if (!.Nightmare) end;
   if (killerrid < 110000000) set .@i,2;
   else set .@i,1;
   set .@j, .@i*(BaseExp + NextBaseExp)/100;
   if (BaseExp - .@j < 0) set BaseExp,0;
   else set BaseExp, BaseExp - .@j;
   end;
}

I couldn't quite figure out setting the "pk_mode" mapflag, dunno if that'll work for you. But the rest is fine.

  • Upvote 1

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.

  • Recently Browsing   0 members

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