well like I don't want people to beable to repeat any quests because I changed my hole crafting system to only recipe based and lot of my quests give recipes for craft skills. so im trying to keep players from farming the recipes and selling them on the auction boards.
 
Oh, I see. I have not dug into quests a lot myself, but is coming. I do believe there is a property within the quest system that you can set to Only Do Once, and they can not repeat? I will try to take a look later.
 
You will need to add an account tag in the quest so it can only be completed once, let me see if I can dig out this code for you
I was just going to add the code here, but if you take a look at this script, you will better understand where to add this code :)
 

Attachments

  • FarmerGene.cs
    4.1 KB · Views: 30
Last edited:
XmlQuests have a property to prevent a quest being repeated: repeatable/true|false
You can also set XmlQuests to only be repeatable after a certain time period.

For Scripted quests, if you look at the script for the questgiver, you'll see the flag that gets set for them not to be repeated as well as ones that can only be repeated once every 24 hours, etc.
 
Easier to just do the quests on an XMLSpawner also as they can actually be saved to the server from in-game. You will probably need to set up a seperate folder for the .NPC files that will get made. Otherwise they are saved in your main ServUO directory. Instead of adding an account tag you can, if I remember correctly, attach a QuestNote to the player when they start the quest. Then, when using XmlDialog you use NoTriggerOnCarried to see if they have completed the quest. There is a download with a lot of old guides and forum archives...think it was about 67megs worth. That includes the pics as well.

http://www.servuo.com/archive/the-ultimate-xmlspawner-how-to-guide-archive.150/
 
here what I found seems to work pretty good thank you all for the help we should make this a sticky post for people to view

Code:
publicoverridebool DoneOnce
{
get
{
returntrue;
}
}


[code]
 
You will need to add an account tag in the quest so it can only be completed once, let me see if I can dig out this code for you
I was just going to add the code here, but if you take a look at this script, you will better understand where to add this code :)

The Problem with Account-Tags is, its limited to the whole account , not only for a player.
I currently brainstorm myself about a class similar as the AOSAttributes work with the power of saving Uses of Quests and a check itself on quest if the date is outdated or running properly.

As Sample : You say on Helloween a Quest X can be done 3 times. the Variable saves the last try by year (2014 as sample) if year is = year of the current and Amount is < MaxTrys then allow a Quest. Else refuse. GM´s may should be able to reduce\raise the Amounts.

Such Attribute-Set could be useful for an Account and per Player, so the Questmaker is able to limit it as he like. If he want only a Quest being doable once a lifetime per player he could just check the amount = 0

So in my Eyes an "Quest" Object needs 2 informations : Datetime of last finished Quest and the Amount of Quests counted. If you like to rank Quests maybe add a third one with Questpoints.

Then it could be showed like the AOS-Attributes and Each Quest gets its own Variable to read or write.

Well its only theoreticly.
 
Back