Description: This is a fairly elaborate set of scripts, but should be simple to implement. It requires 4 separate NPCs. I removed the need for any additional plugins outside of Denizen, and made a reliable system for a daily resetting quest. All of the configuration options are in the first part of the script. There are not a lot of options, but I tried to cover the main parts that will need changed. Feel free to edit the script to your needs, but beware that if you change anything other then the configuration values, you are on your own. This is a fairly elaborate set of quests, and definitely would take some effort to wrap your head around. If you run into any issues or have any questions, I am regularly in #denizen-dev on the esper.net irc network, so feel free to bug me.
NPCs (with suggested names):
Antee - The first NPC you deal with. He has 3 quest in which he wants you to kill zombies, skeletons, and creepers. Basically a set of trials to join the PVP Guild. He sends you to the Guild Master when you finish the third.
Dread (Guild Master) - He only gives one quest as it stands, which is to go kill 1 player to be officially accepted in the guild. Once the player finishes the quest, they will gain access to the rest of the quests in the guild.
Vandaag - He provides a daily pvp quest to guild members. The quest resets 24 hours after it is finished, giving the players opportunities to continue to get items for rewards.
Gavoon - A small chain of quests to get initial gear. He rewards you some custom guild armor. Hes more for the story as hes an extremely creepy character.
Change Log:
2/5/2014 - Remove extra narrate left from debugging.
InitiateQuest:
type: assignment
#----------------------------------# Congiguration Section:# These valus affect the Iniation# quest. Qty values are the number# of kills needed for each step,# and the reward values are the# amount of currency the player# gets as a reward.#----------------------------------
default constants:
ServerName: Dreadcraft
ZombieQty: 15
ZombieReward: 250
SkeletonQty: 15
SkeletonReward: 250
CreeperQty: 5
CreeperReward: 250# ---------- END CONFIG ----------
actions:
on assignment:
- trigger name:chat toggle:true
interact scripts:
- 10 Initiation
GuildMaster:
type: assignment
#----------------------------------# Congiguration Section:# These valus affect the Guild# Master's quest. The GuildNPC# names just reference the NPCs# that give the quests once # you've joined.#----------------------------------
default constants:
GuildNPC1Name: Gavoon
GuildNPC2Name: Vandaag
# ---------- END CONFIG ----------
actions:
on assignment:
- trigger name:chat toggle:true
interact scripts:
- 10 GuildMasterChallenge
SkillsQuest:
type: assignment
#----------------------------------# Congiguration Section:# These valus affect the 'Skill# Enhancement' quests, which the# player gains access to once they# join the guild. it consists of# a two step quest, where the NPC# has the player go kill other# players. The QtyOne and QtyTwo# values are how many players must# be killed in each quest step.# The 'InWords' values, are just# the 'Qty' values, expressed in# words (with a capital).#----------------------------------
default constants:
QuestOneQty: 2
QtyOneInWords: Two
QuestTwoQty: 3
QtyTwoInWords: Three
# ---------- END CONFIG ----------
actions:
on assignment:
- trigger name:chat toggle:true
interact scripts:
- 10 SkillsEnhance
DailyPVP:
type: assignment
#----------------------------------# Congiguration Section:# These valus affect the dailt pvp# quest. The PVPQty value is the number# of kills needed. The 'List'# values are 3 lists, upon which# one value from each is given as# a reward. The 'Qty' values are# how many of each reward they get.#----------------------------------
default constants:
# Qty of kills for daily pvp
PVPQty: 2# List of rewards for daily pvp
ArmorList: i@<util.random.int[310].to[313]>[enchantments=protection_environmental,4]
ArmorQty: 1
ResourceList: i@<util.random.int[264].to[266]>
ResourceQty: <util.random.int[1].to[10]>
MiscList: i@<util.random.int[352].to[375]>
MiscQty: <util.random.int[1].to[10]>
# ---------- END CONFIG ----------
actions:
on assignment:
- trigger name:chat toggle:true
interact scripts:
- 10 DailyPVPQuest
#----------------------------------# These are the item scripts for# the reward items. You can modify# them as you see fit, however you# will need to go into the proper# script and change any references.# Eventually, I want to add a# way to handle all this with# constants or something.#----------------------------------
GuildChest:
type: item
material: diamond_chestplate
display name: Chest of the Fallen
enchantments:
- PROTECTION_ENVIRONMENTAL:2
- DURABILITY:2
lore:
- The diamond chest of a fallen,
- Guild member. Reforged by <npc.name>
GuildLegs:
type: item
material: diamond_leggings
display name: Legplates of the Fallen
enchantments:
- PROTECTION_ENVIRONMENTAL:2
- DURABILITY:2
lore:
- These legplates definitly aren't new...
GuildSword:
type: item
material: diamond_sword
display name: Sword of the Flame
enchantments:
- FIRE_ASPECT:2
- DAMAGE_ALL:2
lore:
- Forged with raw diamonds and blaze rods,
- this sword is awarded to all PvP Guild initiates.
#----------------------------------# Start of the quest scripts, I# would not advise editing any-# thing beyond here if you are not# an experienced scripter.#----------------------------------
Initiation:
Type: Interact
Steps:
1:
Click Trigger:
Script:
- ^engage
- chat "Welcome to the PVP Guild of <npc.constant[ServerName]>!"
- wait 2
- chat "Only the toughest of the tough can join us."
- wait 2
- chat "If you are interested in joining, you'll have to pass a set of challenges."
- wait 2
- chat "What do you say?"
- narrate "<white>You can say, <green>Yes<white> or <green>No<white>."
- ^disengage
Chat Trigger:
1:
Trigger: /Yes/, I'm interested in joining the PVP Guild.
Script:
- ^engage
- chat "Very good!"
- wait 2
- chat "These challenges are to test your abilities against different opponents."
- wait 2
- chat "We will start off with simple targets, the walking dead."
- wait 2
- ^chat "I need you to go hunt down a kill <npc.constant[ZombieQty]> of these monsters. Dont let those zombies survive."
- ^listen kill type:entity name:zombie qty:1 script:ZombieCheck
- flag ZombieCount:0
- ^zap
- ^disengage
2:
Trigger: /No/, I feel Im too weak to join your Guild.
Script:
- ^engage
- chat "Its not cut out for everyone."
- wait 2
- chat "You'll be back when our members come for you..."
- ^disengage
2:
Click Trigger:
Script:
- ^engage
- chat "You've only killed <flag.p:ZombieCount.asint> zombies..."
- wait 2
- chat "Are you too weak to handle our most basic challenge?"
- wait 2
- chat "Come back if you manage to handle the task at hand."
- ^disengage
3:
Click Trigger:
Script:
- ^engage
- chat "Ah! You managed to kill them! I must admit I didnt have much faith.."
- wait 2
- chat "Come back to me when you're ready for your next challenge."
- wait 2
- ^give money qty:<npc.constant[ZombieReward]>
- ^chat "Oh, and take these coins for yourself as a small reward."
- ^narrate "<red>You receieved <gold><npc.constant[ZombieReward]> coins<red> from <npc.name>!"
- ^flag ZombieCount:!
- ^zap step:4
- ^disengage
4:
Click Trigger:
Script:
- ^engage
- chat "Ah, now that you're back, on to the next challenge!"
- wait 3
- chat "I need you to prove yourself against opponents who are more swift and nimble!"
- ^wait 3
- ^chat "Kill <npc.constant[SkeletonQty]> skeletons to prove your agility, what do you say?"
- ^narrate "<white>You can say, <green>Yes<white> or <green>No<white>."
Chat Trigger:
1:
Trigger: /Yes/, I will get right on that.
Script:
- ^engage
- chat "Very good!"
- wait 2
- chat "Go on now, go hunting!"
- ^listen kill type:entity name:skeleton qty:1 script:SkeleCheck
- ^flag SkeleCount:0
- ^zap step:5
- ^disengage
2:
Trigger: /No/, I wont be able to handle that.
Script:
- ^engage
- wait 2
- chat "Then leave."
- ^disengage
5:
Click Trigger:
Script:
- ^engage
- chat "You've only killed <flag.p:SkeleCount.asint> skeletons..."
- wait 2
- chat "Leave and dont come back until you are done!"
- ^disengage
6:
Click Trigger:
Script:
- ^engage
- chat "<npc.constant[SkeletonQty]> skeletons dead, very nicely done."
- wait 2
- chat "This time you really earned this reward!"
- ^give money qty:<npc.constant[SkeletonReward]>
- ^narrate "<red>You receieved <gold><npc.constant[SkeletonReward]> coins<red> from <npc.name>!"
- wait 1
- chat "Come back when you're ready for the final challenge."
- ^flag SkeleCount:!
- ^zap 7
- ^disengage
7:
Click Trigger:
Script:
- ^engage
- chat "Back for the last challenge I see!"
- wait 2
- chat "For your final challenge, I need you to prove that you can handle the toughest of foes."
- wait 2
- chat "Kill <npc.constant[CreeperQty]> creepers, and you will have proved your potential."
- wait 2
- chat "Think you can handle that?"
- narrate "<white>You can say, <green>Yes<white> or <green>No<white>."
- ^disengage
Chat Trigger:
1:
Trigger: /Yes/, that'll be nothing.
Script:
- ^engage
- chat "Well get on your way then, I dont have all day!"
- wait 2
- chat "Return to me when you finish!"
- ^flag CreeperCount:0
- ^listen kill type:entity name:creeper qty:1 script:CreeperCheck
- ^zap step:8
- ^disengage
2:
Trigger: /No/, I wont be able to handle that.
Script:
- ^engage
- chat "Its not cut out for everyone."
- chat "You'll be back when our members come for you..."
- ^disengage
8:
Click Trigger:
Script:
- ^engage
- chat "You've only killed <flag.p:CreeperCount.asint> Creepers..."
- wait 2
- chat "Are you too weak to handle our most basic requirement?"
- wait 2
- chat "Come back if you manage to handle the task at hand."
- ^disengage
9:
Click Trigger:
Script:
- ^engage
- chat "You made it back in one piece I see. Thats surpising, I must admit."
- wait 2
- chat "Here is a little coin for your efforts;"
- ^give money qty:<npc.constant[CreeperReward]>
- ^narrate "<red>You receieved <gold><npc.constant[CreeperReward]> coins<red> from <npc.name>!"
- wait 2
- chat "You have passed all of my challenges, and have my recomendation to join the guild."
- wait 2
- chat "Go speak to the Guild Master, he will be waiting."
- ^flag CreeperCount:!
- ^zap 10
- ^zap script:GuildMasterChallenge step:2
- ^disengage
10:
Click Trigger:
Script:
- chat "You'll need to talk to the Guild Master for further instructions."#----------------------------------# Task scripts used to give feed-# back while killing zombies. #----------------------------------
ZombieCheck:
Type: Task
Script:
- ^flag ZombieCount:++
- ^if <flag.p:ZombieCount.asint> >= <npc.constant[ZombieQty]> run ZombieReward
else run ZombieContinue
ZombieContinue:
Type: Task
Script:
- ^narrate "<red>*** <white>Kill Zombies - <flag.p:ZombieCount.asint>/<npc.constant[ZombieQty]> <red>***"
- ^listen kill type:entity name:zombie qty:1 script:ZombieCheck
ZombieReward:
Type: Task
Script:
- ^narrate "<red>*** <white>Kill Zombies - <flag.p:ZombieCount.asint>/<npc.constant[ZombieQty]> <red>***"
- wait 1
- ^narrate "You've killed <npc.constant[ZombieQty]> Zombies, return to <npc.name> at the PvP Guild."
- ^zap script:Initiation step:3#----------------------------------# Task scripts used to give feed-# back while killing skeletons. #----------------------------------
SkeleCheck:
Type: Task
Script:
- ^flag SkeleCount:++
- ^if <flag.p:SkeleCount.asint> >= <npc.constant[SkeletonQty]> run SkeleReward
else run SkeleContinue
SkeleContinue:
Type: Task
Script:
- ^narrate "<red>*** <white>Kill Skeletons - <flag.p:SkeleCount.asint>/<npc.constant[SkeletonQty]> <red>***"
- ^listen kill type:entity name:skeleton qty:1 script:SkeleCheck
SkeleReward:
Type: Task
Script:
- ^narrate "<red>*** <white>Kill Skeletons - <flag.p:SkeleCount.asint>/<npc.constant[SkeletonQty]> <red>***"
- wait 1
- narrate "You've killed <npc.constant[SkeletonQty]> Skeletons, return to <npc.name> at the PvP Guild."
- zap script:Initiation step:6#----------------------------------# Task scripts used to give feed-# back while killing creepers. #----------------------------------
CreeperCheck:
Type: Task
Script:
- ^flag CreeperCount:++
- ^if <flag.p:CreeperCount.asint> >= <npc.constant[CreeperQty]> run CreeperReward
else run CreeperContinue
CreeperContinue:
Type: Task
Script:
- ^narrate "<red>*** <white>Kill Creepers - <flag.p:CreeperCount.asint>/<npc.constant[CreeperQty]> <red>***"
- ^listen kill type:entity name:creeper qty:1 script:CreeperCheck
CreeperReward:
Type: Task
Script:
- ^narrate "<red>*** <white>Kill Creepers - <flag.p:CreeperCount.asint>/<npc.constant[CreeperQty]> <red>***"
- wait 1
- NARRATE "You've killed <npc.constant[CreeperQty]> Creepers, return to <npc.name> at the PvP Guild."
- zap script:Initiation step:9
GuildMasterChallenge:
Type: Interact
Steps:
1:
click trigger:
script:
- chat "Who are you...?"
2:
Click Trigger:
Script:
- ^engage
- narrate "<dark_purple><npc.name> stares you down..."
- wait 2
- chat "Hopefully you live a little bit longer than the last few whelps, <PLAYER.name>."
- wait 2
- chat "Do you see yourself fit to join our guild?"
- narrate "<white>You can say, <green>Yes<white> or <green>No<white>."
- ^disengage
Chat Trigger:
1:
Trigger: /Yes/, I am ready for anything.
Script:
- ^engage
- wait 2
- chat "Hunt down one of your own... Family, friend, or enemy... As long as you get some innocent blood on your hands."
- wait 2
- chat "Return to me when your finished..."
- ^listen kill type:player qty:1 script:GuildMasterReward
- ^zap step:3
- ^disengage
2:
Trigger: /No/, I need to think about it.
Script:
- ^engage
- wait 2
- chat "Coward..."
- wait 1
- narrate "<dark_purple><npc.name> looks dissapointed."
- ^disengage
3:
Click Trigger:
Script:
- ^engage
- chat "No blood on your hands?"
- wait 2
- chat "You know what needs to be done, whelp."
- ^disengage
4:
Click Trigger:
Script:
- ^engage
- chat "Good."
- wait 2
- chat "I will admit, you had the look of a killer about you..."
- wait 2
- chat "You have proved your worthiness to me, and solidified your place in this guild."
- wait 2
- chat "Take this sword - All guild members recieve this blade when they have proven themselves."
- wait 1
- ^give item:GuildSword
- ^narrate "<RED>You received an enchanted <aqua>Diamond Sword<red> from the Guild Master."
- wait 2
- narrate "<dark_purple><npc.name> smiles at you."
- wait 2
- ^chat "Leave nothing but ashes..."
- ^flag server PVPGuildMembers:->:<player>
- ^zap script:SkillsEnhance step:2
- ^zap script:DailyPVPQuest step:2
- ^zap step:5
- ^disengage
5:
Click Trigger:
Script:
- ^engage
- chat "Welcome back to the PVP Guild!"
- wait 1
- chat "If you are looking for a Guild task, speak to <npc.constant[GuildNPC1Name]> or <npc.constant[GuildNPC2Name]>."
- ^disengage
GuildMasterReward:
Type: Task
Script:
- ^narrate "You've killed a player in the name of the PVP Guild!! Return to the Guild Master."
- ^zap script:GuildMasterChallenge step:4
SkillsEnhance:
Type: Interact
Steps:
1:
click trigger:
script:
- narrate "<dark_purple><npc.name> stares directly into your eyes..."
- wait 2
- chat "Are you lost..?"
2:
Click Trigger:
Script:
- ^engage
- chat "The Guild Master says you're the best new member we have..."
- wait 2
- chat "How about a little fun, <player.name>?"
- wait 2
- narrate "<dark_purple><npc.name> grins meniachly at you..."
- narrate "<white>You can say, <green>Yes<white> or <green>No<white>."
- ^disengage
Chat Trigger:
1:
Trigger: /Yes/, lets have a little fun.
Script:
- ^engage
- wait 2
- chat "<npc.constant[QtyOneInWords]> bodies, thats all we need."
- wait 2
- chat "See you soon."
- ^listen kill type:player qty:1 script:SkillQCheck
- ^flag SkillQCount:0
- ^zap step:3
- ^disengage
2:
Trigger: /No/, I'll pass.
Script:
- ^engage
- chat "Hah, you call yourself a killer."
- wait 2
- chat "I've killed creepers with more spine than you."
- wait 1
- ^narrate "<dark_purple><npc.name> points to a statue of creeper spines."
- ^disengage
3:
Click Trigger:
Script:
- ^engage
- wait 2
- chat "I expect you have your victims bound and gagged by now... Go finish the job. "
- wait 2
- chat "Don't keep them waiting."
- ^disengage
4:
Click Trigger:
Script:
- ^engage
- chat "Finally, <PLAYER.name>..."
- wait 2
- chat "Don't tell me how you killed them, It's more fun that way."
- wait 2
- chat "Of course, your reward!"
- ^give item:GuildChest
- ^narrate "<RED>You received a set of enchanted <aqua>Diamond Chestplate<red>."
- wait 2
- chat "Now go do something else - I have corpses to tend to."
- wait 2
- narrate "...maybe you should return to <npc.name> later..."
- ^flag SkillQCount:!
- ^flag SkillQ2
- ^zap 5
- ^disengage
5:
Click Trigger:
Script:
- ^engage
- narrate "<dark_purple><npc.name> giggles excitedly!"
- wait 2
- chat "Back for more blood, <PLAYER.name>?"
- wait 1
- ^narrate "<white>You can say, <green>Yes<white> or <green>No<white>."
- ^disengage
Chat Trigger:
1:
Trigger: /Yes/, I am.
Script:
- ^engage
- wait 2
- chat "How delightful! I need more meat for the hounds..."
- wait 2
- chat "Go tender up some meat."
- wait 2
- chat "By 'meat', I mean humans..."
- wait 2
- ^narrate "<dark_purple><npc.name> licks his lips."
- ^listen kill type:player qty:1 script:SkillQCheck
- ^zap step:6
- ^disengage
2:
Trigger: /No/, I'll pass.
Script:
- ^engage
- chat "I guess the dogs will be eating you tonight."
- wait 2
- ^narrate "<dark_purple><npc.name> begins sharpening a knife..."
- ^disengage
6:
Click Trigger:
Script:
- ^engage
- chat "Back so soon...?"
- wait 2
- chat "If you don't get us the meat soon, the hounds will starve..."
- wait 2
- ^chat "They only eat fresh meat, and we are all out of prisoners. Get moving!"
- ^disengage
7:
Click Trigger:
Script:
- ^engage
- narrate "<dark_purple><npc.name> begins nibbling on the 'meat' you gathered..."
- wait 2
- chat "Fantastic..."
- wait 2
- narrate "<dark_purple><npc.name> takes a large chunk of 'meat' and begins chewing on it..."
- wait 2
- narrate "<dark_purple><npc.name> reaches into his pocket..."
- wait 1
- ^give item:GuildLegs
- ^narrate "<RED>You received enchanted <aqua>Diamond Legplates."
- wait 2
- narrate "<dark_purple><npc.name> shoos you away... Still chewing..."
- wait 2
- narrate "<BLUE>You can't help but think - That human flesh wasn't for the dogs..."
- ^flag SkillQCount:!
- ^flag SkillQ2:!
- ^zap 8
- ^disengage
8:
Click Trigger:
Script:
- ^engage
- narrate "<dark_purple><npc.name> gnaws on a large chunk of what looks like beef jerky."
- wait 2
- narrate "<dark_purple><npc.name> smiles at you. Little pieces of 'meat' dotting his grin."
- narrate "<RED>You have finished this quest."
- ^disengage
SkillQCheck:
Type: Task
Script:
- ^flag SkillQCount:++
- ^if <player.flag[SkillQ2]> {
- ^if <player.flag[SkillQCount].asint> >= <npc.constant[QuestTwoQty]> run SkillQReward
else run SkillQContinue
} else {
- ^if <player.flag[SkillQCount].asint> >= <npc.constant[QuestOneQty]> run SkillQReward
else run SkillQContinue
}
SkillQContinue:
Type: Task
Script:
- ^if <player.flag[SkillQ2]> {
- ^narrate "<red>*** <white>Kill Players - <flag.p:SkillQCount.asint>/<npc.constant[QuestTwoQty]> <red>***"} else {
- ^narrate "<red>*** <white>Kill Players - <flag.p:SkillQCount.asint>/<npc.constant[QuestOneQty]> <red>***"}
- ^listen kill type:player qty:1 script:SkillQCheck
SkillQReward:
Type: Task
Script:
- ^if <player.flag[SkillQ2]> {
- ^narrate "<red>*** <white>Kill Players - <flag.p:SkillQCount.asint>/<npc.constant[QuestTwoQty]> <red>***"
- wait 1
- narrate "You've killed <npc.constant[QuestTwoQty]> Players, return to <npc.name> at the PvP Guild."
- zap script:SkillsEnhance step:7} else {
- ^narrate "<red>*** <white>Kill Players - <flag.p:SkillQCount.asint>/<npc.constant[QuestOneQty]> <red>***"
- wait 1
- narrate "You've killed <npc.constant[QuestOneQty]> Players, return to <npc.name> at the PvP Guild."
- zap script:SkillsEnhance step:4}
DailyPVPQuest:
Type: Interact
Steps:
1:
Click Trigger:
Script:
- engage
- ^random {
- narrate "<dark_purple><npc.name> smiles at you."
- narrate "<dark_purple><npc.name> jumps in circles!"
- narrate "<dark_purple><npc.name> shivers wildly."}
- wait 2
- ^random {
- chat "Hey! Fancy seeing you here! Go play."
- chat "Don't make me call my friends!"
- chat "You! You! You don't seem to belong here..."}
2:
Click Trigger:
Script:
- engage
- ^random {
- chat "Its so good to see you <PLAYER.name>!"
- chat "Hey there!"
- chat "Oh! Hey! <PLAYER.name>! Come over here!"
- chat "I'm so excited! I just can't contain myself!"}
- wait 2
- ^random {
- chat "Are you up for some 'activities'?"
- chat "Are you here for your 'medication'?"
- chat "Would you like some 'candy'?"}
- wait 2
- narrate "<BLUE>*** This is a daily quest! ***"
- wait 1
- narrate "<white>You can say, <green>Yes<white> or <green>No<white>."
- disengage
Chat Trigger:
1:
Trigger: /Yes/... I think...
Script:
- engage
- wait 2
- chat "Great! Now go beat the living hell out of <npc.constant[PVPQty]> people!"
- wait 2
- narrate "<dark_purple><npc.name> jumps in circles!"
- wait 2
- narrate "<BLUE>Go kill <npc.constant[PVPQty]> players, then return to <npc.name>!"
- wait 2
- narrate "<RED>*** Cheating *** -> AKA farming town members, or asking to kill other people for quest credit will result in a warning!"
- ^listen kill type:player qty:1 script:DPCheck id:DP_<player>
- ^flag PVPCount:0
- ^zap step:3
- disengage
2:
Trigger: /No/... Your crazy.
Script:
- chat "Whatever, Bro."
3:
Click Trigger:
Script:
- engage
- ^random {
- chat "Go! Go! Go! Kill! Yeah!"
- chat "Woohoo! So excited! Go <PLAYER.name>!"
- chat "<PLAYER.name>! Erm.. Your not done? Booooo!"}
- disengage
4:
Click Trigger:
Script:
- engage
- ^random {
- narrate "<dark_purple><npc.name> punches you in the mouth!"
- narrate "<dark_purple><npc.name> looks at you lovingly..."
- chat "Yes! Finally! Oh my god!"
- narrate "<dark_purple><npc.name> flails his arms wildly!"
- chat "Your finished! Hooray!"}
- wait 2
- narrate "<BLUE>This guy is obviously insane..."
- wait 2
- narrate "<dark_purple><npc.name> throws a bag of random loot at you..."
- wait 1
- ^give <npc.constant[ArmorList]> qty:<npc.constant[ArmorQty]>
- ^give <npc.constant[ResourceList]> qty:<npc.constant[ResourceQty]>
- ^give <npc.constant[MiscList]> qty:<npc.constant[MiscQty]>
- wait 2
- ^narrate "<dark_purple><npc.name> cheers excitedly!"
- wait 2
- ^narrate "<BLUE>You have finished the PVP Daily quest! Come back tomorrow and claim your bag of loot!"
- ^zap step:5
- ^flag DPCooldown duration:24h
- ^flag server DPCooldownList:->:<player>
- disengage
5:
click trigger:
script:
- chat "Come back tomorrow for more fun!"
- wait 2
- narrate "<dark_purple><npc.name> smiles at you."
- wait 1
- narrate "<BLUE>You've already completed the Daily PVP Quest for today!!"
DPCheck:
Type: Task
Script:
- ^flag PVPCount:++
- ^if <flag.p:PVPCount.asint> >= <npc.constant[PVPQty]> runtask DPReward
else runtask DPContinue
DPContinue:
Type: Task
Script:
- ^narrate "<red>*** <white>Kill Players - <flag.p:PVPCount.asint>/<npc.constant[PVPQty]> <red>***"
- ^listen kill type:player qty:1 script:DPCheck id:DP_<player>
DPReward:
Type: Task
Script:
- ^narrate "<red>*** <white>Kill Players - <flag.p:PVPCount.asint>/<npc.constant[PVPQty]> <red>***"
- wait 1
- ^narrate "You've killed <npc.constant[PVPQty]> Players, return to <npc.name> at the PvP Guild."
- ^flag PVPCount:!
- ^zap script:DailyPVPQuest step:4
DPWorld:
type: world
events:
on time changes in w@world:
- if <server.flag[DPCooldownList]> == "null" queue clear
- foreach <server.flag[DPCooldownList].as_list> {
- if !<%value%.as_player.flag[DPCooldown]> && <[email protected][%value%]> != "2" {
- zap script:DailyPVPQuest step:2 player:%value%
- flag server DPCooldownList:<-:%value%
- if <%value%.as_player.is_online> {
- narrate player:%value% "<blue>You feel a weird chill go down your spine..."
- narrate player:%value% "<red>The PVP Guild calls for you, return soon!"}}}
hey jeebs you missed a disengage right after line 229... just though it would let ya know... cya in the dev! =)
WOW SO COOL