61 lines
1.7 KiB
Plaintext
61 lines
1.7 KiB
Plaintext
|
//::///////////////////////////////////////////////
|
||
|
//:: tk_omnidye
|
||
|
//::
|
||
|
//:: Tag-based script.
|
||
|
//:://////////////////////////////////////////////
|
||
|
/*
|
||
|
Causes a player to start a self-conversation
|
||
|
upon item activation.
|
||
|
|
||
|
Also initializes an item upon acquisition.
|
||
|
*/
|
||
|
//:://////////////////////////////////////////////
|
||
|
//:: Created By: The Krit
|
||
|
//:: Created On: October 11, 2007
|
||
|
//:://////////////////////////////////////////////
|
||
|
|
||
|
|
||
|
#include "x2_inc_switches"
|
||
|
#include "tk_odye_include"
|
||
|
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
// We're only implementing activation and acquisition.
|
||
|
int nEvent = GetUserDefinedItemEventNumber();
|
||
|
if ( nEvent != X2_ITEM_EVENT_ACTIVATE && nEvent != X2_ITEM_EVENT_ACQUIRE )
|
||
|
return;
|
||
|
|
||
|
// Signal that the script handled this.
|
||
|
SetExecutedScriptReturnValue();
|
||
|
|
||
|
// Initializations for when acquired.
|
||
|
if ( nEvent == X2_ITEM_EVENT_ACQUIRE )
|
||
|
{
|
||
|
object oItem = GetModuleItemAcquired();
|
||
|
// Set the name.
|
||
|
SetDyeName(oItem, GetLocalInt(oItem, DYE_INDEX));
|
||
|
// Set the post-sampling script.
|
||
|
// (Cannot rely on template variable because a store might have
|
||
|
// cleared all local variables.)
|
||
|
SetLocalString(oItem, "DYE_POSTSAMPLE_HANDLER", "tk_odye_setname");
|
||
|
// Done.
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// Activation:
|
||
|
else
|
||
|
{
|
||
|
object oItem = GetItemActivated();
|
||
|
object oPC = GetItemActivator();
|
||
|
|
||
|
// Remember the item that was used.
|
||
|
SetLocalObject(oPC, DYE_ITEM, oItem);
|
||
|
|
||
|
// Start the conversation that will allow the dye's color to be set.
|
||
|
AssignCommand(oPC, ClearAllActions());
|
||
|
AssignCommand(oPC, ActionStartConversation(oPC, "tk_omnidye", TRUE, FALSE));
|
||
|
}
|
||
|
}
|
||
|
|