37 lines
750 B
Plaintext
37 lines
750 B
Plaintext
|
|
||
|
void main()
|
||
|
{
|
||
|
|
||
|
object oPC = GetEnteringObject();
|
||
|
|
||
|
if (!GetIsPC(oPC)) return;
|
||
|
|
||
|
int DoOnce = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF));
|
||
|
|
||
|
if (DoOnce==TRUE) return;
|
||
|
|
||
|
SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), TRUE);
|
||
|
|
||
|
object oTarget;
|
||
|
oTarget = GetObjectByTag("skwelldoor");
|
||
|
|
||
|
|
||
|
object oActor;
|
||
|
|
||
|
// Only fire for (real) PCs.
|
||
|
if ( !GetIsPC(oPC) || GetIsDMPossessed(oPC) )
|
||
|
return;
|
||
|
|
||
|
// Only fire once per PC.
|
||
|
if ( GetLocalInt(oPC, "DO_ONCE__" + GetTag(OBJECT_SELF)) )
|
||
|
return;
|
||
|
SetLocalInt(oPC, "DO_ONCE__" + GetTag(OBJECT_SELF), TRUE);
|
||
|
|
||
|
// Have "void main()" strike up a conversation with the PC.
|
||
|
oActor = GetNearestObjectByTag("ctplr", oPC);
|
||
|
AssignCommand(oActor, ActionStartConversation(oPC));
|
||
|
}
|
||
|
|
||
|
|
||
|
|