Full Version : How do I make an unrepetable quest?
xmlspawner >>XMLSpawner - How do I? >>How do I make an unrepetable quest?


<< Prev | Next >>

Knepher- 10-27-2008
Hi to all, im new here, and firist want to congrats the xmlspawner creater, is an essential tool for anyone to create a shard.

Well, im creating my shard, and the first quest there is to kill 5 mobs. Til there is everything ok, the gumps, the quest reward and everything. But when a player finish this quest, if he goes and talk to the quest npc again, it gives the same quest again.
How do i limit this quest for just 1 time per player?

Many thanks!

YRD- 10-27-2008
In your questholder spawner or GIVE command of your questNPC add "repeatable/false" .

Now if the players get the quest holder again they would get the message in the bottom left of the questholder gump saying "Already done - cannot be repeated"

The other way is to use attachements in your quest and put in a condition that states if the attachement is present on the player then the NPC will not talk to the player.

I used it with XMLMAGICWORD in this way in the condition field (this checks that the xmlmagicword attachement is NOT present on the triggering player:

~GETONTRIGMOB,[ATTACHEMENT,xmlmagicword,YRD,deleted]=false

where "YRD" is the xmlmagicword attachement name.

To set an xmlmagicword attachement here is the syntax I used:

SETONTRIGMOB/ATTACH/<xmlmagicword/name/YRD>

(this attaches an xmlmagicword attachement to the player named "YRD".


Hope this helps



Knepher- 10-31-2008
The "add "repeatable/false" didnt work here =/
Are you sure this is the right command? I did something like this:

Action = GIVE/<questholder/name/Kill Bobo/notestring/Bobo must go. Find him and kill him/objective1/KILLNAMED,Bobo,1/autoreward/true/rewardstring/@bag/ADD/gold,200/repeatable/false
DependsOn = 50

Is this right?


In the second part, is there a way to attach the magicword righ after the player complete the quest?

Thanks for the fast reply!

Knepher- 11-03-2008
Im doing like this:

Action = GIVE/<questholder/name/Kill 5 zombies/notestring/You must kill 5 zombies/objective1/KILL,Zombiei,5/autoreward/true/rewardstring/@bag/ADD/leatherlegs/repeatable/false

But it doesnt work! Any player can get as many quests as he wants, and more than 1 at time too.

Please help =/

LowCastle- 11-25-2008
One easy way to check if the quest is not repeatable:
Use your [props command on the quest book generated by your quest NPC. Look at the Repeatable property. If it is true then you need to look at the way the quest book is generated.
Off the top of my head I would say the problem may be the rewardstring. The rewardstring needs to be last. Move repeatable/false closer to the beginning of the line. Like this:

GIVE/<questholder/name/Kill Bobo/repeatable/false/notestring/Bobo must go. Find him and kill him/objective1/KILLNAMED,Bobo,1/autoreward/true/rewardstring/@bag/ADD/gold,200>

Lichtblitz- 11-27-2008
QUOTE (Knepher @ November 03, 2008 12:45 pm)
Im doing like this:

Action = GIVE/<questholder/name/Kill 5 zombies/notestring/You must kill 5 zombies/objective1/KILL,Zombiei,5/autoreward/true/rewardstring/@bag/ADD/leatherlegs/repeatable/false


LowCastle is correct. The reason is the used "@" keyword. After an "@" sign all special characters will be escaped. So nothing you type after an "@" sign will be parsed. In this case it will all be written blindly into the property "rewardstring". The reward

bag/ADD/leatherlegs/repeatable/false

will off course not evaluate correctly.