It's because of tag based scripting(The tag of the item being the same as the name of the script). The script is firing because with tag based scripting it fires for the OnAcquire event as well. And OnUnacquire, OnEquip/UnEquip, etc. So you have to put a check at the top of these scripts to make sure it only fires for the event you want it to fire for. In this case your script with the necessary changes would look like this:
#include "x2_inc_switches"
void main()
{
if (GetUserDefinedEventNumber() != X2_ITEM_EVENT_ACTIVATE)return;
object oPC;
object oTarget;
object oSpawn;
location lTarget;
oPC = GetItemActivator();
lTarget = GetItemActivatedTargetLocation();
oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "rr_campsite", lTarget);
}
Hope that helps.
Modifié par GhostOfGod, 05 septembre 2010 - 04:30 .