Why not just rewrite the whole thing and put variables on each area, instead of using the Tag of the Area?
So the variable recallstone1 set to 1,2,3, etc.. fires off the script of the same name. That way you could change it just by changing the variable on the area, instead of going into the script and writing all those tags, also more useful for those who don't have those areas by that name, or when you add areas.
To stop the item from activating on any event just put this at the top of the script:
#include "x2_inc_switches"
void main()
{
int nEvent =GetUserDefinedItemEventNumber();
if (!nEvent == X2_ITEM_EVENT_ACTIVATE)
return;
Then for the areas such as the void you could put a variable on them too like NoRecallStone set to 1 and the line that returns the script would look like this:
if (GetLocalInt(oArea, "NoRecallStone") == 1)
{
SendMessageToPC(oPC, "This item is not useable here.");
return;
}
Modifié par ffbj, 11 août 2012 - 08:42 .