Holy thread resurrection Batman, but I've been running into this problem where PlaceAtNode works in 3rd person, but not in first, attempting to attach an ObjectReference to the player's bones. (Nevermind that when it does work in 3rd person, seemingly absolutely nothing I've tried overrides the orientation/position of the NiNode/Bone that my objectreference is getting attached to.) Here is my simple script:
Scriptname HandsawProjectileScript extends activemagiceffect
actor ThisGuy
ammo property ThisAmmo auto
weapon property ThisGun auto
String ThisAnim = "hitFrame"
EVENT OnEffectStart(Actor akTarget, Actor akCaster)
;debug.notification("Is this thing on")
ThisGuy = Self.GetCasterActor()
RegisterForAnimationEvent(akCaster, ThisAnim)
ENDEVENT
EVENT OnAnimationEvent(ObjectReference akSource, string asEventName)
if asEventName == ThisAnim
string ThisEvent = asEventName
debug.notification("You did " + ThisEvent + "")
ObjectReference FakeGun = ThisGuy.PlaceAtNode("ProjectileNode", ThisGun)
Weapon ThatGun = FakeGun.GetBaseObject() as Weapon
;FakeGun.MoveToNode(FakeGun, "ProjectileNode", "P-Origin")
ThatGun.Fire(FakeGun, ThisAmmo)
RegisterForAnimationEvent(ThisGuy, ThisAnim)
FakeGun.Delete()
ThatGun = NONE
endif
ENDEVENT
Now in this example, I'm trying to match the weapon to the ProjectileNode which I thought would have been inherited as part of the player's nodes because of the currently equipped weapon, but this does not work. Everywhere else I've read says it should, but maybe only for armor pieces and not weapons?