I am following this tutorial: https://www.youtube.com/watch?v=2jSe9RSBZZw
And unfortunately, the alert announcing the quest, and the quest giving itself, don't seem to be working as intended. I can get the dialogue to play out correctly, but the quest never gives and the alert doesn't pop up. The NPC also does not have a quest indicator marker over their head at any time.
Player info:
NPC info:
Quest info:
I was previously having issues with just using QM without DS, and was having issues there as well, but I thought that was a collider problem. And my player component doesn't have a specific collider, but it does have a Character Controller component, and I haven't had any other collider issues with this setup. Any help is appreciated! Thank you!
Quests not being assigned via dialogue correctly
Re: Quests not being assigned via dialogue correctly
Try:
The NPC's ID is "ThomasCat". Make sure the quest's ID is "2Dandelions".
If that doesn't fix it, please let me know if there are any other errors or warnings in the Console window that aren't in the screenshot above.
Code: Select all
GiveQuest("ThomasCat", "2Dandelions")
If that doesn't fix it, please let me know if there are any other errors or warnings in the Console window that aren't in the screenshot above.
Re: Quests not being assigned via dialogue correctly
Thank you, that was the mistake. The quest is now working! However, I am still not seeing the alert. Edit: And the Quest Indicator is still missing.
Also, I'm having an issue with the dandelion collectibles, I'm not sure if I should make a separate post for that?
Basically, the dandelion object looks like this:
and I am getting the error "SendMessage Collected:Dandelion has no receiver!"
Here is the counter:
I should mention, I am doing this to get a feel for the system. In the future, I will likely prefer to check the player's inventory for items rather than send them to collect some. Is this something I can do through script? I haven't gotten far in the video tutorials yet, is that covered? Thanks again for your help and your time!
Also, I'm having an issue with the dandelion collectibles, I'm not sure if I should make a separate post for that?
Basically, the dandelion object looks like this:
and I am getting the error "SendMessage Collected:Dandelion has no receiver!"
Here is the counter:
I should mention, I am doing this to get a feel for the system. In the future, I will likely prefer to check the player's inventory for items rather than send them to collect some. Is this something I can do through script? I haven't gotten far in the video tutorials yet, is that covered? Thanks again for your help and your time!
Re: Quests not being assigned via dialogue correctly
Hi,
For the dandelion collection, select QuestControl.SendToMessageSystem, not QuestControl.SendMessage. Since QuestControl is a MonoBehaviour, it inherits the regular SendMessage() method. But to send to Quest Machine's message system you need to use the SendToMessageSystem() method.
In the future, you can use your own inventory quest condition instead of Counter Quest Condition. If you're using any of the inventory systems for which Quest Machine already has an integration, you can use the corresponding integration package. Otherwise you can duplicate the starter script QuestMachineCondition.cs and add your inventory-checking code where the comments indicate. Then you'll be able to add this as a quest condition just like the built-in conditions.
For the alert, if you've added the Quest Machine Dialogue Alert UI component to the Quest Machine GameObject, it will use the Dialogue System's alert panel to show alerts. By default, the alert panel doesn't appear while a conversation is active. You can change this by inspecting the Dialogue Manager GameObject's Display Settings > Alert Settings and ticking Allow
As for the quest indicator, where do you want it to appear? Does that GameObject (e.g., the quest giver) have a Quest Indicator Manager?
For the dandelion collection, select QuestControl.SendToMessageSystem, not QuestControl.SendMessage. Since QuestControl is a MonoBehaviour, it inherits the regular SendMessage() method. But to send to Quest Machine's message system you need to use the SendToMessageSystem() method.
In the future, you can use your own inventory quest condition instead of Counter Quest Condition. If you're using any of the inventory systems for which Quest Machine already has an integration, you can use the corresponding integration package. Otherwise you can duplicate the starter script QuestMachineCondition.cs and add your inventory-checking code where the comments indicate. Then you'll be able to add this as a quest condition just like the built-in conditions.
For the alert, if you've added the Quest Machine Dialogue Alert UI component to the Quest Machine GameObject, it will use the Dialogue System's alert panel to show alerts. By default, the alert panel doesn't appear while a conversation is active. You can change this by inspecting the Dialogue Manager GameObject's Display Settings > Alert Settings and ticking Allow
As for the quest indicator, where do you want it to appear? Does that GameObject (e.g., the quest giver) have a Quest Indicator Manager?
Re: Quests not being assigned via dialogue correctly
Thank you, that fixed it! I appreciate the explanation, as well! It helps immensely.
And thanks also for the explanation on inventory integration! I'll have a look at that later.
That fixed the alerts, thank you! And as to the indicator, I sheepishly found that it was inside the quest giver's capsule mesh and I just couldn't see it, lol. So that's working as well.
I am incredibly impressed by both your plugins and the quality of your support. I'm very grateful that you created and support these tools for us, thank you very much!
And thanks also for the explanation on inventory integration! I'll have a look at that later.
That fixed the alerts, thank you! And as to the indicator, I sheepishly found that it was inside the quest giver's capsule mesh and I just couldn't see it, lol. So that's working as well.
I am incredibly impressed by both your plugins and the quality of your support. I'm very grateful that you created and support these tools for us, thank you very much!
Re: Quests not being assigned via dialogue correctly
Glad to help. Thanks for using Quest Machine!