Jump to content

Recommended Posts

Posted

im not good at writing scripts at all but what im trying to do is write a script for an activator effect so when you walk into a sandstorm your health starts take damage and increases radiation, but i cant find how to write these effects

 

anyone know how?

Posted

I don't know a way to make it for every sandstorm, but since there are only a few in the whole game, there are some ways you can do it:

Set up a trigger zone around the sandstorm with the following script:

 

Begin OnTriggerEnter Player

 

player.addspell SandstormDamage (or whatever u wanna call it. make sure to add both the radiation and health damaging effects to it)

 

End

 

Begin OnTriggerExit Player

 

player.removespell SandstormDamage

 

End

 

Its pretty basic, but it should get the job done. Any questions on what more to do?

Posted (edited)

thanks yeah i was only planning to do it on the sandstorms i put in the mod im working on

 

i wanted to make it so it would be a pain in the ass to enter the mods major city without geting a certain headgear you had to make

-to do this would you write a script "removespelleffect"?

Edited by brownbear258
Posted (edited)

Add a condition to the effect: getequipped yourHelmet. That's not verbatim but the base idea is that the spell will still be cast but won't effect the player if he has a helmet on

 

EDIT: If you want to get even craftier, you can use a form list, instead of just your helmet. That way you could, for example, allow people with a radiation suit or power armor helmet to pass through as well, without adding a ton of conditions. Feel free to ask me if you need any more help

Edited by wcstorm11
Posted (edited)

yeah i was thinkin about doing it for the suites and PA aswell.

 

how do you go about adding a condition to the effect though? im not very familiar at doing stuff like this

Edited by brownbear258
Posted

So if you are going to be adding that effect to a player, it'll be an actor effect.

1) Create new actor effect

2) Right Click in the right pane of the new window and select "new"

3) Choose your effect ie "Damage Radiation Level"

4) Again, in the right side of this window, right click and select new. This is where you enter your conditions

5) In this case, your condition would be GetEquipped, and in the box add your form list.

 

Will this effect be taking place across an entire cell, or just one section of it? Because a very "sturdy" way to do it would be to create a quest script that says:

 

if player.getInCell yourCell && player.getEquipped yourFormList == 0
       player.damagehealth 15
endif

 

In that case, the quest script delay would decide how often to damage the player's health. The effect would be much easier to manage and much less could go wrong. Of course, this would have to apply to the whole cell unless I'm missing something

Posted

ok so what ive done is go into actor effect

-opened up the SandstormstormDamage (SSD) effect

-created a new effect item

-i set the Effect: RestoreRadiationLevel Target: subject FunctionName: GetEquipped FunctionInof: Armor 'SandstormMask' (the amor that protects you from the SSD SpellEffect) Comp: == (values are in the following lines)

-set it to restore radation lvl (same value as the SSD effect.) and that will cancel out the damage radiation effect of SSD?

-^^^same as above for the Damage health effect of SSD?

 

im in the geck at the moment so when i test it out ill edit this post with the results

Posted
Oh, if you are editing the existing effect, then just open the existing one and add the condition. Thought that way might work, I wouldn't do it.
Posted (edited)

yeah the way i just tried didnt works so well.

 

can you explain step by step how you would do it please? the effect covers about half a cell

 

edit: just created a new spell and now im trying to write a script for OnEquip/UnEquip but i dont know how to write it. so far i have this

 

begin OnEquip SandstormMask

 

(tab)addspell SandstormMaskSpell(restores values that the SSD damages)

 

end

 

begin OnUnequip SandstormMask

 

(tab)removespell SandstormMaskSpell

 

end

 

the script wont save what am i missing?

Edited by brownbear258
Posted

No

 

If you want to use the trigger route, add an activator around the sandstorm, and use this script:

Begin onTriggerEnter Player
        player.addspell Sandstormdamage (Spell that adds radiation)
End

Begin onTriggerLeave player
        player.removespell SandstormDamage
End

 

Now, open the sandstormdamage effect, and in that, open the individual effect that actually adds damage/radiation. Then, in the right pane, add the condition I described earlier. So rather than having the helmet loop with the effect, the effect just won't effect the player if he/she is wearing the helmet

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...