Kingdom Quest
After many days of playing with this quest, I have finally made it work. I still have some enhancements to add, but here is the working script.
Overview The quest assumes four kingdoms (each with its own faction). You can adjust it for as many as you need. The quest also assumes a single instance (at a time) of a unique item. In the present case, it's a ring. The quest begins with a player either discovering the ring or winning it by defeating another kingdom that holds it. Once that player has the ring, he becomes pvp. This allows other players to kill him and take the ring as their own (I have not added the pvp loot feature yet). To avoid this, the player may opt to click the ring and make himself invisible (item click effect). However, each time the player enters a new zone, certain opposing-faction npcs are alerted to his presence and hunt him down (via an ENTERZONE aggro timer). If they find him and kill him, their "king" spawns and takes the ring (via a nukeitem object). If he makes it to his kingdom of choice, he is allowed to enter the king's presence (via the check_hasitem plugin) and turn in the ring. Upon turn-in, he is granted full ally status (along with 5k plat and enough exp to level a lvl 32 player). The turn-in also sets a global that grants an hp buff (conviction) to all players who have at least 850 faction with the "holding" kingdom. The buff remains until the ring is taken from the kingdom by another faction (even if you accidentally click it off, the global will immediately recast it as long as your faction remains high). Once an opposing faction raids your kingdom and kills the right npcs, they can do a turn-in to the king in exchange for the ring. That triggers a delglobal for the kingdom faction, and all kingdom buffs fade. Set Global Script The starting script that sets the global resides on the npc_id.pl for the king of each faction (this is not the entire script, but the relevant portion only): Code:
sub EVENT_ITEM Here is the the check_global script. It resides in the player.pl of each zone where you want it to apply. It buffs all players that hold a "kingdom" faction of 850 or more: Code:
sub EVENT_ENTERZONE This is the script that triggers when a player turns in a bridle after killing the king's guard. With the first script, it also resides on each king's npc_id.pl script: Code:
sub EVENT_SAY |
By the way, bear in mind that I run a world where there is no player spell casting and no normal player buffs. Hence, there is a very real advantage to the players of the ring-bearing faction, and a very real incentive for players of opposing factions to get the ring for their own kingdom. You may need to use something else besides a buff for your world (e.g., summon a no-rent item that has nice stats).
In the future I will enhance this script to give highest -level players multiple buffs, lower-level players lower-level buffs, and lesser buffs to other kingdoms that are considered "friendly" to the ring-bearing kingdom. And, yes, my "ring" concept is not exactly my own :) |
whoa, what server do you run? I definitely want to check this out.
|
It's called MOTW, but it's not on very often since it's currently on my laptop and since I use the laptop for work, lol. That will change in about a month when I order a custom-built gaming pc that will host a dedicated server. It is based entirely on custom zones that reflect a decidedly LOTR theme. Right now it's just a hobby that I am working on with my son, who is a computer science major at CU.
|
wow cool stuff, let me know when you have it up more full time and I'll be sure to check it out!
|
I have revised this script to increment the reward for kingdom faction based on level.
Levels 1-19 get Valor Levels 20-35 get Temperance Levels 36-49 get Aegolism Levels 50-60 get Virtue Levels 60-65 get Conviction The script still assumes four kingdoms (factions) that may be eligible for kingdom blessings. I placed this in my quest/templates folder, and renamed the player.pl in the other zones I'm working with, and it works great. Here it is Code:
sub EVENT_ENTERZONE |
All times are GMT -4. The time now is 11:58 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.