[Gelöst] NPC seine Waffen wegstecken lassen (via Papyrus)?

HughJanus

Neuankömmling
Hallo zusammen,

ich habe versucht, via Cloak-Spell (der funktioniert) und folgendem Code, NPCs dazu zu bringen, ihre ausgerüsteten Waffen wegzustecken:
Code:
if (bWeaponsUnequipped == false)
        Form kRightHandWeapon
        Form kLeftHandWeapon
        Form kRightHandSpell
        Form kLeftHandSpell
        kRightHandWeapon = Game.GetForm(akNPC.GetEquippedWeapon().GetFormID())
        kLeftHandWeapon = Game.GetForm(akNPC.GetEquippedWeapon(True).GetFormID())
        kRightHandSpell = Game.GetForm(akNPC.GetEquippedSpell(1).GetFormID())
        kLeftHandSpell = Game.GetForm(akNPC.GetEquippedSpell(0).GetFormID())

        akNPC.UnequipItem(kRightHandWeapon)
        akNPC.UnequipItem(kLeftHandWeapon)
        akNPC.UnequipItem(kRightHandSpell)
        akNPC.UnequipItem(kLeftHandSpell)

        bWeaponsUnequipped = true
    endif

Funktioniert leider nicht.
Noch lieber wäre es mir, wenn die NPCs ihre Waffen fallen lassen, sodass sie aufgehoben werden können.
Welcher Befehl (vanilla Skyrim, nicht SKSE, falls möglich) ist dafür geeignet?

Beste Grüße
HJ
 
also als Konsolenbefehl funktioniert stopcombatalarmonactor oder StopCombat gegenüber dem Spieler. Es müsste also [actor:ref].StopCombatAlarmOnActor funktionieren, allerdings wird der NPC falls feindlich die Waffe sofort wieder herausholen.
 
So klappt's:
Code:
if (bWeaponsUnequipped == false)
        Form kRightHandWeapon
        Form kLeftHandWeapon
        Form kRightHandSpell
        Form kLeftHandSpell
        Form kShield
        kRightHandWeapon = Game.GetForm(akNPC.GetEquippedWeapon().GetFormID())
        kLeftHandWeapon = Game.GetForm(akNPC.GetEquippedWeapon(True).GetFormID())
        kRightHandSpell = Game.GetForm(akNPC.GetEquippedSpell(1).GetFormID())
        kLeftHandSpell = Game.GetForm(akNPC.GetEquippedSpell(0).GetFormID())
        kShield = Game.GetForm(akNPC.GetEquippedShield().GetFormID())

        akNPC.DropObject(kRightHandWeapon)
        akNPC.DropObject(kLeftHandWeapon)
        akNPC.DropObject(kRightHandSpell)
        akNPC.DropObject(kLeftHandSpell)
        akNPC.DropObject(kShield)

        bWeaponsUnequipped = true
    endif