Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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!"
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment