Jump to content

Quest target problem


icecreamassassin

Recommended Posts

So I'm very annoyed by this problem. I have been having it ever since the first version of my beta and it's driving me frickin nuts.

 

So I have 11 items all across Cyrodiil that are quest targets as long as you do not possess them in your inventory, works great for the big items but for the rings and a belt I have them placed inside of bags which are targets unless you possess one of the item in your inventory but it doesn't work. I've used getitemcount checks and even went so far as to have the Begin OnAdd function set a global variable which breaks the conditional for the quest but the damned script isn't changing the variable. The variable functions for the quest target marker but the script won't set it. I've tried it in the onadd and the onequip methods and neither seems to work. Any ideas?

 

Also is there a suggestion that someone might have for creating a quest target for an object in a container?

 

scriptname CRSymmachusringscript

begin OnEquip player
set CRaddenar to CRaddenar +1
set CRringsfound to 1
end

begin OnUnEquip player
set CRaddenar to CRaddenar -1
end

begin GameMode

if player.getitemcount CRARing1 1 && player.getitemcount CRAring2 1
CRringsack02.disable
endif

end

begin onadd player

if getstage craddenarquest == 0
	setstage craddenarquest 10
endif
end

Link to comment
Share on other sites

What do you place your script on? If I were to do something like this, I might use a quest script with a line like this in a Begin GameMode block:

 

If Player.GetItemCount CRARing >= 1 Set GotRing to 1 

 

The quest flag condition would be met if GotRing == 0.

Edited by David Brasher
Link to comment
Share on other sites

  • 3 weeks later...

Scripts don't run while they are not in memory. So an object script won't run if you aren't in the same interior cell or the same exterior 5X5 block of cells. An object script won't run on an object in a container even if you are in the same area as the container. The object is not in memory, it is inside the container and may as well be in another worldspace.

 

This is why quest scripts are nice. They run persistently no matter where you are. They run every 5 seconds by default. So the script can check up on items no matter how far away from the player they are. But you have to be careful what you put in a quest script, because you could cause lag if the computer has to think a lot of complex thoughts every five seconds.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...