void DestroyDoppelganger(object oDoppelganger) { // Removing the items in the creatures item slots object oSlot = GetItemInSlot(INVENTORY_SLOT_ARMS, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_ARROWS, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_BELT, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_BOLTS, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_BOOTS, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_BULLETS, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_CARMOUR, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_CLOAK, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_CWEAPON_B, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_CWEAPON_L, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_CWEAPON_R, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_NECK, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oDoppelganger); DestroyObject(oSlot, 0.1f); object oItem = GetFirstItemInInventory(oDoppelganger); while (GetIsObjectValid(oItem) == TRUE) { DestroyObject(oItem); oItem = GetNextItemInInventory(oDoppelganger); } /* If you want any effects on the doppelganger when it dissepears, uncomment the lines below and alter it to suit your liking.*/ //effect eDeath = EffectVisualEffect(VFX_IMP_RAISE_DEAD); //ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oDoppelganger); // Removing the Creature now as we finaly have gotten rid of the items. AssignCommand(oDoppelganger, AssignCommand(oDoppelganger, SetIsDestroyable(TRUE, FALSE, FALSE))); DestroyObject(oDoppelganger, 0.01f); /* I have moved the destroy chest and helmet armor to here so the corpse don't dissepear naked */ oSlot = GetItemInSlot(INVENTORY_SLOT_CHEST, oDoppelganger); DestroyObject(oSlot, 0.1f); oSlot = GetItemInSlot(INVENTORY_SLOT_HEAD, oDoppelganger); DestroyObject(oSlot, 0.1f); } void main() { object oDoppelganger = GetLocalObject( OBJECT_SELF, "Doppelganger"); if (oDoppelganger != OBJECT_INVALID) { if (GetIsDead( oDoppelganger) == TRUE) { DestroyDoppelganger( oDoppelganger); DeleteLocalObject( OBJECT_SELF, "Doppelganger"); } else { object oPC = GetLocalObject( oDoppelganger, "Cloned From"); if (GetIsDead( oPC) == TRUE) { DestroyDoppelganger( oDoppelganger); DeleteLocalObject( OBJECT_SELF, "Doppelganger"); } else { ExecuteScript( "nw_c2_default3", oDoppelganger); } } } }