How to initiate a task when NOT having an item in pc inventory

For all talk about quest development - creation, testing, and quest system.
Post Reply
adamatom
Posts: 32
Joined: Sun May 07, 2023 10:16 am

How to initiate a task when NOT having an item in pc inventory

Post by adamatom »

Essentially what I want to happen is:

If meet npc before having the item - task - he says a message



If meet npc after having the item - task - he doesnt say the message



_meeting7_ task:
clicked npc _tavernknight_ and _nowill_
say 1037
log 1039 step 3

_meeting8_ task:
clicked npc _tavernknight_ and _nowill_ and _meeting7_
say 1045

_return_ task:
toting _will_ and _tavernknight_ clicked
say 1046
say 1047
say 1048
say 1049
get item _reward_

Toting item and npc clicked is irrelevant as this is for getting rid of a quest item to complete a task and I already do that later as seen above. I also tried:

have _item_ set _haveitem_

_haveitem_ task:
npc clicked say X (or some variation of this)

This wont work because the task needs to only initiate when not having a specific item in the inventory. It's for exposition in the quest. I want branching narratives and for the pc to be able to meet the npc early in the quest and get a "retrieve item" subquest within it. Or, to come upon the item and have a task to bring it back to the NPC. So, when clicking the NPC, they will greet you with different qrc messages depending on if you have met them before or not.

I tried this but it also didn't work.

not have _will_ set _nowill_

variable _nowill_

Item _will_ letter used 1043

_meeting7_ task:
clicked npc _tavernknight_ and _nowill_
say 1037
log 1039 step 3

The npc will still say the qrc message even when _will_ is in the inventory.

Sappho20
Posts: 67
Joined: Wed Jun 29, 2022 8:54 am

Re: How to initiate a task when NOT having an item in pc inventory

Post by Sappho20 »

I'm not sure this will work,

Code: Select all

clicked npc _tavernknight_ and _nowill_ and _meeting7_
]
Clicked NPC seems to have very few additions that work.
Instead I use a seperate Clicked NPC and a clear click at the end of the quest:

Code: Select all

_tavernknightalk_ task:
	clicked npc _tavernknight_
	
_meeting7_ task:
when _tavernknightalk_ and _nowill_
say 1037
log 1039 step 3

_clearclick_ task:
	when _tavernknightalk_ and not _EndofQuest_
	clear _tavernknightalk_ _clearclick_
Try this instead.

Also, toting item can sometime work in rare situations as long as the task returns the quest item at the end:

Code: Select all

_Skak_ task:
	toting _totem_ and _skakmat_ clicked 
	get item _totem_ 
	say 1074

Post Reply