object Seat; int isSeatEmpty() { object PC = GetSittingCreature(Seat); if (PC != OBJECT_INVALID) { if (GetCurrentAction(PC) != 37) { location loc = GetLocation(Seat); string ref = GetResRef(Seat); DestroyObject(Seat); Seat = CreateObject(OBJECT_TYPE_PLACEABLE, ref, loc); return TRUE; } } else { return TRUE; } return FALSE; } void main() { object oPlayer = GetLastUsedBy(); Seat = OBJECT_SELF; if (GetIsObjectValid(oPlayer)) { AssignCommand(oPlayer, ClearAllActions(TRUE)); if (isSeatEmpty() == TRUE) { AssignCommand(oPlayer, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_CHEST, oPlayer))); AssignCommand(oPlayer, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_HEAD, oPlayer))); effect eEffect=EffectVisualEffect(263); DelayCommand(2.0,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eEffect,GetLocation(OBJECT_SELF), 15.0)); DelayCommand(4.0,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eEffect,GetLocation(OBJECT_SELF), 15.0)); DelayCommand(6.0,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eEffect,GetLocation(OBJECT_SELF), 15.0)); AssignCommand (oPlayer, ActionSit(Seat)); } } }