Jump to content

Custom Bound Spell


surarrin

Recommended Posts

I'm trying to create a Custom Bound spell using the equipment from here that when activated;

 

  • Equips the Saber Lily Armour, and Excalibur
  • Stops recovery of Magicka and begins to drain at a rate of 1 per second
  • And once the magicka reaches zero,( or the spell is cast again to remove the equipment,) the equipment is removed

 

I've looked at Custom Bound Items as well as This Nexus threadand attempted to make it work, however when I cast the spell in game nothing happens. (I should clarify that This is without attempting to add the magicka bit. I'm perfectly willing to try and do it all myself.. however I'm afraid I do need a bit of guidance on finding out what I've done wrong.

 

So.. does anyone know if they can assist me?

Link to comment
Share on other sites

Hard to say why it's not working without seeing the script you're using. I've done it following the script shown in those link and it's always worked.

Are you making a new .esp for the spell? It might be that you need to add the spell in the mod with the items you want to use.

Also make sure you use the editor ID for the items and not the hex code or in game names.

Link to comment
Share on other sites

..Not sure about double posting on this board, so I apologise in advance if I should have just edited my above post.

 

Using the esp with the equipment has made the base spell successful.

 

Now I just have to tweak the details such as; Re-equipping the previous equipment, and the magicka drain. I'm looking through the scripting tutorial for a way to do both, wish me luck.. or if you know how tell me. whether the coding is vanhilla or OBSE! :D

 

terrible pseudocode

//Variable to check if Armor is equipped or not
set IsEquipped

//Check if Summoned Armor is Already Summoned
if IsEquipped = 0
//If not then records current equip, adds summon equip, equips them and changes IsEquipped  to positive
then { 	record crntequip
	add sumitem to inventory
	equip sumitem from inventory
	set IsEquiped = 1
	}
//If it is already positive it will remove the summoned equip and re-equip the previous items
elseif IsEquiped = 1{
	remove sumitem from player
	reequip crntequip}
//Damages Magicka 1 point per second for as long as the armour is equipped, or until magicka reaches 0 and then dequips summoned and re-equips previous items
while IsEquipped = 1 {
dmgmgika 1 point per second }
when mgika = 0 {
remove dmgmgika
remove sumitem from player
requip crntequip }

Link to comment
Share on other sites

Well, managed to piece it all together myself.

 

Here is the almost-finished product, all that's left is 'cast again to dispel'

 

scriptname summonerarmour
//Check to see if armour is already summoned
short summonedequip
//Ref's to store previous clothing
ref weapon
ref clothingupper
ref clothinglower
ref clothinghand
ref clothingfoot

begin ScriptEffectStart 
//Check's to see if Armour is already summoned, and if so ends the script. It's 'return' right now due to using the unsummon stuff isn't working and to save space momentarily.
if summonedequip == 1
return
//If it says that nothing has been summoned then it'll go through the summoning process
elseif summonedequip == 0
       set weapon to player.GetEquippedObject 16
       set clothingupper to player.getEquippedObject 2
       set clothinglower to player.getEquippedObject 3
       set clothinghand to player.getEquippedObject 4
       set clothingfoot to player.getEquippedObject 5

       player.additemns 001SaberArmorLilyIDIOT 1
       player.additemns 001ExcaliburInvisibleIDIOT 1
       player.equipitemns 001SaberArmorLilyIDIOT 1
       player.equipitemns 001ExcaliburInvisibleIDIOT 1
       player.addspellns 001DmgMgc
endif
//and then set summoned equip to 1
   set summonedequip to 1
end 

begin GameMode
//continues to check that magicka hasn't run out, and if it does it dequips
   if player.GetActorValue Magicka <= 1
   player.removeitemNS 001SaberArmorLilyIDIOT 1
   player.removeitemNS 001ExcaliburInvisibleIDIOT 1
   player.removespellNS 001DmgMgc
   player.equipitemNS weapon
   player.equipitemNS clothingupper
   player.equipitemNS clothinglower
   player.equipitemNS clothinghand
   player.equipitemNS clothingfoot
endif
end

begin ScriptEffectFinish
//when the timer runs out, or ends prematurely it'll go through the endsummon process.
   player.removeitemNS 001SaberArmorLilyIDIOT 1
   player.removeitemNS 001ExcaliburInvisibleIDIOT 1
   player.removespellNS 001DmgMgc
   player.equipitemNS weapon
   player.equipitemNS clothingupper
   player.equipitemNS clothinglower
   player.equipitemNS clothinghand
   player.equipitemNS clothingfoot
end

Link to comment
Share on other sites

  • Recently Browsing   0 members

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