Hopefully Simple Mod Help...

Post » Tue Nov 20, 2012 6:15 pm

Did you make a new magic effect? Sounds like exactly how I did it.
User avatar
Grace Francis
 
Posts: 3431
Joined: Wed Jul 19, 2006 2:51 pm

Post » Tue Nov 20, 2012 3:35 pm

I guess I'll list my process:

-duplicated one of the blade's current magic effects, wiped it completly, attached the script,

-gave the duplicated effect a new name and id starting with DA08, deleted the old one

-changed archtype to value modifier, changed the casting type to fire and forget, changed the delivery to self

-associated no magic skills or items to the effect

-added an appropriate description

-went into the Ebony Blade Traditional Enchantment and added the new effect in the effects window with a magnitude of 1 and a duration of 1s

-saved the plugin

-loaded the plugin after one of my other ebony blade plugins

-no profit. :(
User avatar
Cameron Wood
 
Posts: 3384
Joined: Wed Oct 31, 2007 3:01 pm

Post » Tue Nov 20, 2012 10:43 am

This has given me a pretty cool idea for another application.

Imagine a pet wolf/bear cub etc follwer/companion that you raised from infancy. With each kill it matures and grows stronger. Eventually your pet becomes far more fearsome and larger than its wild counterparts.

If I wasn't so busy with Mzandahrk I'd get to making it right now.

Now that we're getting into this whole scale thing, would weight be a possibility?

Eating a piece of food would increase the eater's actor weight by a certain value that could be different for each food item.

After a few days or weeks of ingame time, the effect wears off and the actor goes back to their regular weight.

Would that even be possible?

Is there a weight function like there is a scale function?
User avatar
Yvonne
 
Posts: 3577
Joined: Sat Sep 23, 2006 3:05 am

Post » Tue Nov 20, 2012 6:56 am

Now that we're getting into this whole scale thing, would weight be a possibility?

Eating a piece of food would increase the eater's actor weight by a certain value that could be different for each food item.

After a few days or weeks of ingame time, the effect wears off and the actor goes back to their regular weight.

Would that even be possible?

Is there a weight function like there is a scale function?

I think other mods do touch on this.

Ok, I can see a few things wrong with your process. It will be easier if you make an entirely new magic effect.
  • Give it a name
  • Effect Archetype = Script
  • Casting Type = Fire and Forget
  • Delivery = contact
  • Make sure all other fields are null
  • Add in the script
I had a typo in the script I posted to you above. It's fixed now but I'm just making sure you know about it.
User avatar
Emily Rose
 
Posts: 3482
Joined: Sat Feb 17, 2007 5:56 pm

Post » Tue Nov 20, 2012 7:19 am

Ok, I can see a few things wrong with your process. It will be easier if you make an entirely new magic effect.
  • Give it a name
  • Effect Archetype = Script
  • Casting Type = Fire and Forget
  • Delivery = contact
  • Make sure all other fields are null
  • Add in the script

Alright it's working! With values other than +0.05 aswell!

I tried making a script so that if the wielder enters bleedout or is killed (if you have say a follower wielding the blade) then it sets their scale back to 1.0

I tried using some of the referencing commands you showed me in your script and came up with this:

Scriptname DA08EbonyBladeScaleReset extends activemagiceffect{The wielder should shrink back down to a specified scale when they enter bleedout or die.}Actor Property Wielder AutoEvent OnEffectStart(Actor akCaster)Wielder = akCaster  ;now we know who is wielding Ebony Blade		 ;Debug.Notification("Wielder is" + akCaster)EndEventEvent OnEnterBleedout (Actor akCaster)			 ;Starts the process when the wielder enters bleedout.		  Wielder.SetScale(1.0)EndEventEvent OnDying (Actor akCaster)				 ;This is if the wielder is killed without entering bleedout first.		  Wielder.SetScale(1.0)EndEvent

I added it as a second script to the magic effect I made for the Ebony Blade but unfortunately it doesn't seem to do anything, I think it might be my events? But I'm not really sure. Probably formatting.
User avatar
Darren Chandler
 
Posts: 3361
Joined: Mon Jun 25, 2007 9:03 am

Post » Tue Nov 20, 2012 9:34 am

Resetting actor scale's back to 1.0 can be dangerous. Not all actors have a default scale of 1.0 so you'll have to store their original scale somewhere.

This script is probably on an enchantment correct? If that enchantment doesn't get applied to the wielder (hard to hit yourself with your own weapon in skyrim) none of these events will fire.

You may have to add another script to the ebony blade itself, or give the wielder an ability OnEquip (or something)
User avatar
Racheal Robertson
 
Posts: 3370
Joined: Thu Aug 16, 2007 6:03 pm

Post » Tue Nov 20, 2012 4:15 pm

Resetting actor scale's back to 1.0 can be dangerous. Not all actors have a default scale of 1.0 so you'll have to store their original scale somewhere.

If I have it so that on equip it stored their current scale, if that was when they were at "default" size then would it store that size through loading?

Like if it stores 1.0 as the defailt but then the wielder kills someone, bumping them up to 1.1, if you change areas or save and load then will that 1.0 change to 1.1? Is everything reequipped on every load/ cell change?
User avatar
luis dejesus
 
Posts: 3451
Joined: Sun Aug 19, 2007 7:40 am

Post » Tue Nov 20, 2012 7:26 am

If I have it so that on equip it stored their current scale, if that was when they were at "default" size then would it store that size through loading?

Like if it stores 1.0 as the defailt but then the wielder kills someone, bumping them up to 1.1, if you change areas or save and load then will that 1.0 change to 1.1? Is everything reequipped on every load/ cell change?

That's a good point. Other users here will know a lot more than I do. I'm pretty sure property's get baked into save-games.
User avatar
Tom Flanagan
 
Posts: 3522
Joined: Sat Jul 21, 2007 1:51 am

Post » Tue Nov 20, 2012 2:41 pm

That's a good point. Other users here will know a lot more than I do. I'm pretty sure property's get baked into save-games.

I'll try asking around and come back here to report my findings. Might just have to make a new topic elsewhere.
User avatar
kelly thomson
 
Posts: 3380
Joined: Thu Jun 22, 2006 12:18 pm

Post » Tue Nov 20, 2012 10:01 am

You'll probably be better off just testing yourself. Like I said, I'm pretty sure property's get stored into save-game data.

I could be wrong about the default scale of things though. I'm pretty sure it will mostly apply to Altmer, their scale may be ~1.1 relative to other races, but 1.0 relative to themselves. If this is the case you could probably get away with just resetting everyone to 1.0.
User avatar
Jessica Phoenix
 
Posts: 3420
Joined: Sat Jun 24, 2006 8:49 am

Post » Tue Nov 20, 2012 12:13 pm

You'll probably be better off just testing yourself. Like I said, I'm pretty sure property's get stored into save-game data.

I could be wrong about the default scale of things though. I'm pretty sure it will mostly apply to Altmer, their scale may be ~1.1 relative to other races, but 1.0 relative to themselves. If this is the case you could probably get away with just resetting everyone to 1.0.

I think you're right about the testing thing. The problem is the script I wrote doesn't seem to do anything :/

I also found a little problem with the script for the ebony blade, it seems to be referring back to the initial actor I had the sword on when I added the script.

Ex: Follower was at about 1.4, I took the sword off and put it on another follower. On the next kill that follower imediatly shot up to 1.5.

Maybe there needs to be something to indicate a reset in the script when it changes owners/is unequipped?
User avatar
Jeneene Hunte
 
Posts: 3478
Joined: Mon Sep 11, 2006 3:18 pm

Post » Tue Nov 20, 2012 10:27 am

The problem is the script I wrote doesn't seem to do anything :/
What is that script applied to? An enchantment? You may have to add it to the Ebony Blade itself.


I also found a little problem with the script for the ebony blade, it seems to be referring back to the initial actor I had the sword on when I added the script.

Ex: Follower was at about 1.4, I took the sword off and put it on another follower. On the next kill that follower imediatly shot up to 1.5.

Maybe there needs to be something to indicate a reset in the script when it changes owners/is unequipped?
Indeed, I hadn't anticipated that issue. If you want to track the original scale of literally everyone you'll probably have to start using array's to store those values. Array's are still out of my league so unfortunately I won't be able to help very much with those. if http://www.gamesas.com/user/408976-justinother/ isn't too busy maybe he could work some magic?

RE: Old users of the sword getting the growth effect, would you care to post the script that you are using currently?
User avatar
Cody Banks
 
Posts: 3393
Joined: Thu Nov 22, 2007 9:30 am

Post » Tue Nov 20, 2012 2:48 pm

What is that script applied to? An enchantment? You may have to add it to the Ebony Blade itself.

The script for the scale reset is on the blade itself, not an enchantment.

Here it is:

Scriptname DA08EbonyBladeScaleReset extends activemagiceffect{The wielder should shrink back down to a specified scale when they enter bleedout or die.}Actor Property Wielder Autofloat NewScalefloat DefaultScaleEvent OnEquipped(Actor akCaster)Wielder = akCaster  ;now we know who is wielding the Ebony Blade		;Debug.Notification("Wielder is" + akCaster)DefaultScale = Wielder.GetScale()EndEventEvent OnEnterBleedout (Actor akCaster)  ;Starts the process when the wielder enters bleedout.	   Wielder.SetScale(DefaultScale)EndEventEvent OnDying (Actor akCaster)	;This is if the wielder is killed without entering bleedout first.Wielder.SetScale(DefaultScale)EndEvent

RE: Old users of the sword getting the growth effect, would you care to post the script that you are using currently?

I meant that the new followers are getting the scale of the old followers on their first kill, once the blade is off then they do not increase in size until I give it back to them.

On a side note, is there a way to add a delay to a script?

Like a certain event will cause a chain to start, with one command being run x seconds after another?
User avatar
Myles
 
Posts: 3341
Joined: Sun Oct 21, 2007 12:52 pm

Post » Tue Nov 20, 2012 6:30 am

My immediate thoughts are that your script still extends activemagiceffect. It will need to extend ObjectReference if it is to remain on the weapon object.

Since the script is on the Ebony Blade those events will only fire if the weapon enters the bleed-out or dying states, I can't think of how this might be possible. You could script an ability to be added/removed to the wielder with OnEquipped/OnUnEquipped Events. Then your extends activemagiceffect. script will be able to get events on the actors for OnEnterBleedout and OnDying.


The script for the scale reset is on the blade itself, not an enchantment.

Here it is:

Scriptname DA08EbonyBladeScaleReset extends activemagiceffect{The wielder should shrink back down to a specified scale when they enter bleedout or die.}Actor Property Wielder Autofloat NewScalefloat DefaultScaleEvent OnEquipped(Actor akCaster)Wielder = akCaster  ;now we know who is wielding the Ebony Blade		;Debug.Notification("Wielder is" + akCaster)DefaultScale = Wielder.GetScale()EndEventEvent OnEnterBleedout (Actor akCaster)  ;Starts the process when the wielder enters bleedout.	   Wielder.SetScale(DefaultScale)EndEventEvent OnDying (Actor akCaster)	;This is if the wielder is killed without entering bleedout first.Wielder.SetScale(DefaultScale)EndEvent
I meant that the new followers are getting the scale of the old followers on their first kill, once the blade is off then they do not increase in size until I give it back to them.
Sorry, I don't know what you mean by this? You have follower A who has used the weapon to reach a scale of 1.5, you then give the weapon to follower B with a scale of 1.0 who achieves a scale of 1.6 on their first kill? (assuming a growth of 0.1 per kill) Is this your problem? Somehow something must be going wrong with CurrentScale = Wielder.GetScale(). I don't see how but I'd try moving that line of code up into the OnEffectStart Event.

*EDIT: Depending on what you need to do, you can insert a delay in the script with:
Utility.Wait(x.y)
Which will pause the script in its tracks for that value in seconds.
User avatar
Lauren Dale
 
Posts: 3491
Joined: Tue Jul 04, 2006 8:57 am

Previous

Return to V - Skyrim