I'd have to agree with some of the others that posted in reply. When I first got into scripting I depended heavily on Lilac's as well. When I got into the tag based scripting Lilac's confused the bajeezus out of me. And you end up 2 scripts for every tag based item/script that you make. I do not recommend doing tag based scripts with Lilac's. Don't get me wrong. I LOVE the script generator and it taught me a heck of a lot. But it just isn't very good for the tag based stuff.
You only need the 1 script that Lilac's makes for you. The one that it tells you to name "ac_xxxxxx", "eq_xxxxxx", etc. But it needs a simple event check at the top of the script that the generator does NOT add. The check will just make sure that the script will run fully if the item was activated in one of the specific ways(activated, equipped, etc). If you add that check then you just name this script the same as the tag of your item. No need to add any "ac", "eq", etc.
If you are having trouble with a specific script, post it here and we will show you how to add the check at the top.
Example:
#include "x3_inc_horse"
#include "x2_inc_switches"
void main()
{
//This is a check to make sure that the item was "Activated". //Not equipped, unequipped, acquired, unacquired, etc. int nEvent =GetUserDefinedItemEventNumber();
if(nEvent != X2_ITEM_EVENT_ACTIVATE)return;
//End of check. object oPC = GetItemActivator();
object oTarget = oPC;
object oArea = GetArea(oPC);
int nAreaType = GetIsAreaNatural(oArea);
if (HorseGetIsMounted(oPC))
{
FloatingTextStringOnCreature("You are already on a horse.", oPC);
return;
}
if (nAreaType != AREA_NATURAL)
{
FloatingTextStringOnCreature("You are unable to summon a horse here.", oPC);
return;
}
else
{
AssignCommand(oTarget, ActionStartConversation(oPC, "warhorse_talk"));
}
}
Good Luck.
Modifié par GhostOfGod, 21 mars 2012 - 09:45 .