mlee3141 Posted August 18, 2014 Posted August 18, 2014 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.
mlee3141 Posted August 18, 2014 Posted August 18, 2014 Ideally, I would like her to yield when her health drops below 50%, but I just started scripting a few weeks ago.
Mattiewagg Posted August 18, 2014 Author Posted August 18, 2014 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.
EliteKhajiit Posted August 18, 2014 Posted August 18, 2014  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
mlee3141 Posted August 18, 2014 Posted August 18, 2014 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 waitEndIfakSpeaker.SetAV("aggression", 0)akSpeaker.Disable()akSpeaker.Enable()GetOwningQuest().SetStage(68)
Mattiewagg Posted August 18, 2014 Author Posted August 18, 2014 (edited) 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 waitEndIfakSpeaker.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 August 18, 2014 by Matthiaswagg
mlee3141 Posted August 18, 2014 Posted August 18, 2014 Oh. My mistake, I'm still relatively new to this. Let me do that real quick.
Mattiewagg Posted August 18, 2014 Author Posted August 18, 2014 Oh. My mistake, I'm still relatively new to this. Let me do that real quick.No worries. We're all new at some point.
psh9enghplab Posted August 18, 2014 Posted August 18, 2014 thanks for that link. http://weber.ninecomputer.com/9.jpg
Mattiewagg Posted August 18, 2014 Author Posted August 18, 2014 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) EndEventBut 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 boolWhich didn't work either. How would this work?
Recommended Posts