Spoiler
Scriptname MultiplayerSkyrim extends activemagiceffect Keyword Property P2KeyWord AutoActor Property aPlayer2 Auto Actor Property Dummy Auto float anglezfloat offset = 50.0float offset2 = -75.0float offsetxfloat offsetyMiscObject Property Checker1 AutoInt Toggle = 0Int Speed = 0Event OnEffectStart(Actor akTarget, Actor akCaster)While Speed == 0 ;Used to make the script faster.If Input.IsKeyPressed(200) == True ;Up Arrow key. For moving forward. This is the only way I've found to get an actor to move forwardanglez = aPlayer2.GetAngleZ() offsetx = offset * math.sin(anglez) ;i think sin is for x axis, if not, try cos offsety = offset * math.cos(anglez) ;i think cos is for y axis, if not, try sin aPlayer2.SetAnimationVariableBool("bHeadTracking", false) aPlayer2.MoveTo(aPlayer2, offsetx, offsety, 0)EndifIf Input.IsKeyPressed(208) == True ;Down Arrow key;Empty for now. Going to use Offset2 with a copy of the Up-Arrow block.EndifIf Input.IsKeyPressed(203) ;Left Arrow key. Rotation. This is slow too. aPlayer2.SetAngle(aPlayer2.GetAngleX(), aPlayer2.GetAngleY(), aPlayer2.GetAngleZ() - 30)EndifIf Input.IsKeyPressed(205) ;Right Arrow key. Rotation. Slow
aPlayer2.SetAngle(aPlayer2.GetAngleX(), aPlayer2.GetAngleY(), aPlayer2.GetAngleZ() + 30)EndifIf Input.IsKeyPressed(46) ; C key. Attack. Simple. Still slow. aPlayer2.SetAlert(True) If aPlayer2.GetEquippedItemType(0) == 7 Debug.SendAnimationEvent(aPlayer2, "BowAttackStart") EndIfDebug.SendAnimationEvent(aPlayer2, "AttackStart")EndifIf Input.IsKeyPressed(47) ; V key. Power Attack. aPlayer2.SetAlert(True) Debug.SendAnimationEvent(aPlayer2, "AttackPowerStartInPlace")EndifIf Input.IsKeyPressed(48) ; B key. Used for opening Inventory. A simple function like this doesn't even work fast
aPlayer2.SetPlayerTeammate(True, False) aPlayer2.OpenInventory(true)EndifIf Input.IsKeyPressed(49) ; N key. Used for getting stats of Player 2. Debug.MessageBox(" Health: " +aPlayer2.GetAV("Health") as Int +" Magicka: " +aPlayer2.GetAV("Magicka") as Int \ +" Stamina: " +aPlayer2.GetAV("Stamina") as Int +" Alchemy: " +aPlayer2.GetAV("Alchemy") as Int \ +" Alteration: " +aPlayer2.GetAV("Alteration") as Int +" Block: " +aPlayer2.GetAV("Block") as Int \ +" Conjuration: " +aPlayer2.GetAV("Conjuration") as Int +" Destruction: " +aPlayer2.GetAV("Destruction") as Int \ +" Enchanting: " +aPlayer2.GetAV("Enchanting") as Int +" HeavyArmor: " +aPlayer2.GetAV("HeavyArmor") as Int \ +" LightArmor: " +aPlayer2.GetAV("LightArmor") as Int +" LockPicking: " +aPlayer2.GetAV("LockPicking") as Int \ +" Archery: " +aPlayer2.GetAV("MarksMan") as Int +" Illusion: " +aPlayer2.GetAV("Illusion") as Int \ +" OneHanded: " +aPlayer2.GetAV("OneHanded") as Int +" PickPocket: " +aPlayer2.GetAV("PickPocket") as Int \ +" Restoration: " +aPlayer2.GetAV("Restoration") as Int +" Sneak: " +aPlayer2.GetAV("Sneak") as Int \ +" TwoHanded: " +aPlayer2.GetAV("TwoHanded") as Int)EndIfIf Input.IsKeyPressed(157) && Toggle == 0 ;Right Control Debug.SendAnimationEvent(aPlayer2, "SneakStart") Toggle = 1EndIfIf Input.IsKeyPressed(157) && Toggle == 1 Debug.SendAnimationEvent(aPlayer2, "SneakStop") Toggle = 0EndifEndwhileEndEvent;NOTES; Like I said, none of these work fast. It's in a while loop, so shouldn't it work fast? Also, it would help if someone could tell me a way to get an; actor to walk forward? Almost like when using "Reference.PlayGroup Forward 1" from Obscript.;;Thanks, Moop <3