Creating daily quests is something which gets asked a lot - depending on how exactly you want to do it, this is currently either very hard or very easy to do.
Option 1: Accept or finish a quest no more than once a day
If by "daily" quest you mean that you want a player to be able to finish or accept specific quest no more than once a day, this is very easy to do! Simply set the accept cooldown of a quest to 1 day:
/qa/qaAdmin commands for NotQuestsediteditOpens subcommands for editing a specific quest.questName<quest>Identifier of the quest to edit; use /qa list to see available quests.Acceptsquest nameExamplequestNameacceptCooldownacceptCooldownConfigures the cooldown before this quest can be accepted again.completecompleteApplies this setting to quest completion cooldowns.setsetSets the cooldown players must wait after completing this quest before accepting it again.1d<duration>New accept cooldown measured by quest completion time.Acceptsduration such as 1s, 5m, or 2hExample1d
Option 2: Daily quest from a predefined quest pool
If you want to have multiple quests set, and every day, the player can pick and finish one of them, this is possible but a lot harder to do in notquests! There is currently a system in the works to make that work very easily - but it's currently not done.
Since notquests is built to be super powerful, it's possible now nonetheless - just in a more complex way. Here's how:
Say you have Quest A and B which should be in the daily pool (you can set it to be weekly or monthly as well for weekly or daily quests).
Give them a 1 day cooldown: /qa/qaAdmin commands for NotQuestsediteditOpens subcommands for editing a specific quest.A<quest>Identifier of the quest to edit; use /qa list to see available quests.Acceptsquest nameExampleAacceptCooldownacceptCooldownConfigures the cooldown before this quest can be accepted again.completecompleteApplies this setting to quest completion cooldowns.setsetSets the cooldown players must wait after completing this quest before accepting it again.1d<duration>New accept cooldown measured by quest completion time.Acceptsduration such as 1s, 5m, or 2hExample1d and /qa/qaAdmin commands for NotQuestsediteditOpens subcommands for editing a specific quest.B<quest>Identifier of the quest to edit; use /qa list to see available quests.Acceptsquest nameExampleBacceptCooldownacceptCooldownConfigures the cooldown before this quest can be accepted again.completecompleteApplies this setting to quest completion cooldowns.setsetSets the cooldown players must wait after completing this quest before accepting it again.1d<duration>New accept cooldown measured by quest completion time.Acceptsduration such as 1s, 5m, or 2hExample1d
Create two actions which give you the Quest when executed: /qa/qaAdmin commands for NotQuestsactionsactionsManages saved actions, inline actions, and action execution.addaddCreates a new saved action.giveQuestA<Action Identifier>Unique identifier for the new saved action.AcceptstextExamplegiveQuestAGiveQuestGiveQuestGiveQuest action type.A<quest to give>Name of the Quest which should be given to the player.Acceptsquest nameExampleA and
/qa/qaAdmin commands for NotQuestsactionsactionsManages saved actions, inline actions, and action execution.addaddCreates a new saved action.giveQuestB<Action Identifier>Unique identifier for the new saved action.AcceptstextExamplegiveQuestBGiveQuestGiveQuestGiveQuest action type.B<quest to give>Name of the Quest which should be given to the player.Acceptsquest nameExampleB
Create an Action action which executes either Action giveQuestA or giveQuestB randomly: /qa/qaAdmin commands for NotQuestsactionsactionsManages saved actions, inline actions, and action execution.addaddCreates a new saved action.giveDailyQuest<Action Identifier>Unique identifier for the new saved action.AcceptstextExamplegiveDailyQuestActionActionAction action type.giveQuestA,giveQuestB<Actions>Name of the actions which will be executedAcceptscomma-separated saved action namesExamplegiveQuestA,giveQuestB1<amount>Amount of times the action will be executed.Acceptswhole numberExample1--minRandom--minRandomMinimum number of referenced actions to choose when executing a random subset.Acceptswhole number1Value for --minRandomMinimum number of referenced actions to choose when executing a random subset.Acceptswhole numberExample1--maxRandom--maxRandomMaximum number of referenced actions to choose when executing a random subset.Acceptswhole number1Value for --maxRandomMaximum number of referenced actions to choose when executing a random subset.Acceptswhole numberExample1
Without the --minRandom 1 --maxRandom 1 flags it would execute both actions and thus give you both Quests. With these flags however, it only chooses 1 random one out of those.
Add two conditions to this Action action so it executes only when neither A or B are on cooldown: /qa/qaAdmin commands for NotQuestsactionsactionsManages saved actions, inline actions, and action execution.editeditOpens subcommands for editing a saved action.giveDailyQuest<action>Identifier of the saved action to edit; use /qa actions to list saved actions.Acceptssaved action nameExamplegiveDailyQuestconditionsconditionsManages conditions required before the selected action can run.addaddAdds a condition to the selected saved action.QuestOnCooldownQuestOnCooldownSelects the QuestOnCooldown variable for this action, condition, objective, or variable check.A<Quest to check>Quest identifier whose state should be checked by the QuestOnCooldown variable.Acceptstext valueExampleAequals<operator>How to compare the QuestOnCooldown boolean variable: and, equals, or.AcceptstextExampleequalsfalse<expression>Boolean expression to compare with the current QuestOnCooldown value.Acceptstrue/false value or boolean expressionExamplefalse and
/qa/qaAdmin commands for NotQuestsactionsactionsManages saved actions, inline actions, and action execution.editeditOpens subcommands for editing a saved action.giveDailyQuest<action>Identifier of the saved action to edit; use /qa actions to list saved actions.Acceptssaved action nameExamplegiveDailyQuestconditionsconditionsManages conditions required before the selected action can run.addaddAdds a condition to the selected saved action.QuestOnCooldownQuestOnCooldownSelects the QuestOnCooldown variable for this action, condition, objective, or variable check.B<Quest to check>Quest identifier whose state should be checked by the QuestOnCooldown variable.Acceptstext valueExampleBequals<operator>How to compare the QuestOnCooldown boolean variable: and, equals, or.AcceptstextExampleequalsfalse<expression>Boolean expression to compare with the current QuestOnCooldown value.Acceptstrue/false value or boolean expressionExamplefalse
Execute the action like this. Should do exactly what you want with the daily Quest pool: /qa/qaAdmin commands for NotQuestsactionsactionsManages saved actions, inline actions, and action execution.editeditOpens subcommands for editing a saved action.giveDailyQuest<action>Identifier of the saved action to edit; use /qa actions to list saved actions.Acceptssaved action nameExamplegiveDailyQuestexecuteexecuteExecutes the selected action or command.
You can put this command anywhere - e.g. with the citizens plugin, you could make an npc run that command for a certain player