Jump to content

Quick Questions, Quick Answers


Mattiewagg

Recommended Posts

The actor is indeed essential. I just wanted her to duel the Dragonborn for 60 seconds, and yield afterwards to test the Dragonborn's skills at Destruction. Of course, both the Player and the Actor are essential at the time, and I made the Actor immune to all physical damage during the duel too. Standard placebo effect, the Player will naturally fight back, and with magic, when even hiding under the bridge for 60 seconds will ensure victory, and membership for the College of Winterhold.

Link to comment
Share on other sites

  • Replies 2.6k
  • Created
  • Last Reply

Top Posters In This Topic

You could use an If for that. I.e.

 

If akSpeaker.GetActorValue("Health") < (akSpeaker.GetBaseActorValue("Health")/2)

     ;the stuff after the wait

EndIf

Should work. Just replace the wait with the above code. Or you could try a While.
Link to comment
Share on other sites

 

Ok, second time around was a success. Not a single issue. I'm a little concerned because it I don't know why things were so messed up the last time around. I'm pretty sure my aliases were somehow not functioning correctly. I couldn't even get the quest item check box to work on the amulet so I couldn't drop it. Weird.

 

Whatever the case, things seem to work alright now so I'm going to get back to my mod.

 

Great :smile:. Once you finish it, if you decide to upload it, could you link me to it? I'd be interested to see what you've done.

 

I will, but I think I still have a while before I get to that point. I still don't really know what I'm doing lol

Link to comment
Share on other sites

Cool. Here's the finalized code, and it complied flawlessly. Thanks, Matt.

 

GetOwningQuest().SetObjectiveDisplayed(67)
GetOwningQuest().SetStage(67)
akSpeaker.SetActorValue("aggression", 3)
If akSpeaker.GetActorValue("Health") < (akSpeaker.GetBaseActorValue("Health")/2)

;the stuff after the wait

EndIf
akSpeaker.SetAV("aggression", 0)
akSpeaker.Disable()
akSpeaker.Enable()
GetOwningQuest().SetStage(68)

Link to comment
Share on other sites

Cool. Here's the finalized code, and it complied flawlessly. Thanks, Matt.

 

GetOwningQuest().SetObjectiveDisplayed(67)

GetOwningQuest().SetStage(67)

akSpeaker.SetActorValue("aggression", 3)

If akSpeaker.GetActorValue("Health") < (akSpeaker.GetBaseActorValue("Health")/2)

;the stuff after the wait

EndIf

akSpeaker.SetAV("aggression", 0)

akSpeaker.Disable()

akSpeaker.Enable()

GetOwningQuest().SetStage(68)

Replace ";the stuff after the wait" with your code. It was just a placeholder. That makes sure the battle is only ended once her health is below half. Switch this into the position ";the stuff after the wait" was in. Or move it. Just make sure it's inside the if statement.

 

AkSpeaker.SetAV("aggression", 0)

akSpeaker.Disable()

akSpeaker.Enable()

GetOwningQuest().SetStage(68)

Edited by Matthiaswagg
Link to comment
Share on other sites

How do you set a global variable as a bool? i.e. I have this script:

GlobalVariable MyGlobal Auto
Bool MyBool

Event OnConfigInit()

          MyGlobal.SetValue(MyBool)

EndEvent

But it keeps saying

type mismatch on parameter 1 (did you forget a cast?)

when I try that, on the line where I set my global. I've tried

MyGlobal.SetValueInt(MyBool)

in the hopes the int would automatically cast to a bool, and when that didn't work I tried

MyGlobal.SetValue(MyBool) as bool

Which didn't work either. How would this work?

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...