Jump to content

mmft93

Members
  • Posts

    26
  • Joined

  • Last visited

Everything posted by mmft93

  1. I'll give it a try. It's a spell that they cast on themselves. I noticed like you said it would cast the spell wherever the player is looking, which usually made the spell miss. That's why instead I had the target actors cast the damage spell on themselves. Then the original spell the player casts is supposed to just trigger the animation. I didn't know about the bypassing animations part, thanks I'll give the "DoCombatSpellApply" a try see how it works out.
  2. OK, thanks you've been a big help. I use Violen Kill Move Mod, it lets me turn off the need to be the last enemy for a kill move to trigger, so I don't think that is a problem not 100% sure though. I'm not to good at figuring out the math to properly place the actors where they need to be. The kill moves where the actors need to be in a bleed-out state seem to work the best, so for now I think that will do. I'll continue to mess around with the placement though I'm almost positive that's what the issue was.
  3. Oh ok, that makes sense. In other words I can't just use Game.GetPlayer().MoveTo(aktarget) I have to set them into position. Thanks Fore
  4. I'm making a custom spell thats supposed to make the player and the target play a random kill animation. The problem is sometimes the animation plays other times nothing at all happens. I can't get it to work 100% of the time so i have come to the experts. Here is my script that I have made for the spell. scriptname MMFTSpellDanceofDeath2 extends ActiveMagicEffect Idle Property akIdle0 AutoIdle Property akIdle1 AutoIdle Property akIdle2 AutoIdle Property akIdle3 AutoIdle Property akIdle4 AutoSpell Property akSpell AutoSpell Property akSpell2 AutoFloat DamAugment Event OnEffectStart(Actor akTarget, Actor akCaster)DamAugment = Game.GetPlayer().getAV("OneHanded*5")akSpell.Cast(Game.GetPlayer(), Game.GetPlayer())Game.GetPlayer().MoveTo(aktarget)int random = Utility.RandomInt(0, 4)If Random == 0Game.GetPlayer().PlayIdleWithTarget(akIdle0, akTarget)Utility.Wait(2)akTarget.DamageAV("Health", DamAugment)Actor RandomActor1 = Game.FindRandomActorFromRef(Game.GetPlayer(), 1000)AkSpell2.Cast(RandomActor1, RandomActor1)EndIfIf Random == 1Game.GetPlayer().PlayIdleWithTarget(akIdle1, akTarget)Utility.Wait(2)akTarget.DamageAV("Health", DamAugment)Actor RandomActor1 = Game.FindRandomActorFromRef(Game.GetPlayer(), 1000)AkSpell2.Cast(RandomActor1, RandomActor1)EndIfIf Random == 2Game.GetPlayer().PlayIdleWithTarget(akIdle2, akTarget)Utility.Wait(2)akTarget.DamageAV("Health", DamAugment)Actor RandomActor1 = Game.FindRandomActorFromRef(Game.GetPlayer(), 1000)AkSpell2.Cast(RandomActor1, RandomActor1)EndIfIf Random == 3Game.GetPlayer().PlayIdleWithTarget(akIdle3, akTarget)Utility.Wait(2)akTarget.DamageAV("Health", DamAugment)Actor RandomActor1 = Game.FindRandomActorFromRef(Game.GetPlayer(), 1000)AkSpell2.Cast(RandomActor1, RandomActor1)EndIfIf Random == 4Game.GetPlayer().PlayIdleWithTarget(akIdle4, akTarget)Utility.Wait(2)akTarget.DamageAV("Health", DamAugment)Actor RandomActor1 = Game.FindRandomActorFromRef(Game.GetPlayer(), 1000)AkSpell2.Cast(RandomActor1, RandomActor1)EndIfEndEvent Can anyone tell me what's wrong with it please and thank you.
  5. Thanks Peter, but it does what I need it to do. I'm aware of the whole math side but sadly I don't get math, all that is beyond me lol. I just wanted to spawn my activators to surround the player, which they did.
  6. Fixed it :) thanks guys. The script wasn't firing. in the title i had, Scriptname MMFTDruidSpellTreeDome extends MagicEffect I changed the ending (not sure what that part is called sorry) to, Scriptname MMFTDruidSpellTreeDome extends ActiveMagicEffect The log said the bases did not match between my script and my magic effect. I don't fully understand why this fixed it but it did haha. Thanks again :)
  7. Ok, tried your edit Elias and still nothing. The trees are still not spawning. I even turned of collision after using the spell to try and run around and find them but they were no where to be found. Steve, not sure how to check script log for errors. When i compile it in CK it says success no failures. I did notice after i gave my self the spell in the game and then opened console it said script not saved, but after doing it on a new save game and that messaged left. Still no results though.
  8. So I've been trying to write this script all day today. Finally i got it to compile without any errors only problem is in the game it does nothing. What supposed to happen is, the player uses the spell to surround themselves with trees for protection (like a tree wall). I wrote a script to spawn the trees (activators) and then to move them to surround the player, however like i mentioned nothing happens in game when the spell is cast. Can anyone help me or at least point me in the right direction? Scriptname MMFTDruidSpellTreeDome extends MagicEffect actor Property akCaster autoactor Property akTarget autoactivator Property akActivator auto ObjectReference Tree1ObjectReference Tree2ObjectReference Tree3ObjectReference Tree4 Event OnEffectStart(Actor akTarget, Actor akCaster)Tree1 = akCaster.PlaceAtMe(akActivator)Tree2 = akCaster.PlaceAtMe(akActivator)Tree3 = akCaster.PlaceAtMe(akActivator)Tree4 = akCaster.PlaceatMe(akActivator)Tree1.MoveTo(akCaster, 0, 0, 5)Tree2.MoveTo(akCaster, 5, 0, 0)Tree3.MoveTo(akCaster, 5, 0, 0)Tree4.MoveTo(akCaster, 0, 0, 5)EndEvent
  9. Hey thanks guys for the reply. Sorry got busy with finales. I still wasn't able to move the new actor, but I found it easier to have markers already placed in the area and than just spawn the new NPC at those markers. :) thanks again for the replies.
  10. Thanks for the reply I'm stuck though trying to move the NPC. I don't think the marker will work either because if I cant move the Npc I don't think I'd be able to move the marker. This is my script: ------------------------------------------------------------------------------------------------------------------------------------------------ ScriptName MMFTDemonicShrine1 extends ObjectReference Armor property DiscipleRobes auto Armor property GoatHead auto Weapon property DaggerofCeremony auto Perk property MarkoftheDamned auto Spell property AzazelCurse auto ActorBase property MyActorBase auto Function MoveTo(ObjectReference akTarget, float afXOffset = 0.0, float afYOffset = 0.0, float afZOffset = 0.0, bool abMatchRotation = false ) native Event OnActivate(ObjectReference akActionRef) If akActionRef == Game . GetPlayer() ; only the player can activate this ObjectReference SelfObj = Self as ObjectReference AzazelCurse.cast(SelfObj, game.getplayer()) Game. GetPlayer(). AddItem(DiscipleRobes, 1, true) Game.GetPlayer().AddItem(GoatHead, 1, true) Game.GetPlayer().AddItem(DaggerofCeremony, 1, true) Game.GetPlayer().EquipItem(DiscipleRobes) Game.GetPlayer().EquipItem(GoatHead) Game.GetPlayer().EquipItem(DaggerofCeremony) Game.GetPlayer().AddPerk(MarkoftheDamned) Game.GetPlayer().PlaceActorAtMe(MyActorBase) Actor PlayerRef = Game.GetPlayer() MyActorBase.SetPosition(PlayerRef, 120.0 * Math. Sin (Player Ref.GetAngleZ()), 120.0 * Math. Cos (Player Ref.GetAngleZ()), PlayerRef.GetHeight()) utility.wait(1) SelfObj.delete() EndIf EndEvent EndFunction ------------------------------------------------------------------------------------------------------------------------------------------------------- This is the script I came up with based on the reading the wiki. Whenever I try to compile I get failed. it says no viable alternative at input '\\r\\n' error while attempting to read script MMFTDemonicShrine1: Object reference not set to an instance of an object. Not sure what that means. My first thought was that it doesn't know what actor to move since Myactorbase is an Actorbase not an Actor. So i tried setting the setposition command right after the spawn so it was like this: Game.GetPlayer().PlaceActorAtMe(MyActorBase.SetPosition(PlayerRef, 120.0 * Math.Sin(PlayerRef.GetAngleZ()), 120.0 * Math.Cos(PlayerRef.GetAngleZ()), PlayerRef.GetHeight()) But I still got the same error, so than I tried changeing the Setposition command to MoveTo but ended up with the same results. Any thoughts or suggestions? I feel like it should be a simple script but its driving me crazy. Oh yeah I even tried setting akTarget as a property like Actor property akTarget auto Than in the Ck i was going to put the akTarget property to be the player but it still didn't compile. I tried replacing the aktarget with Game.GetPlayer() but still no luck.
  11. Yeah it worked :laugh:! Thanks for the help guys I realized that foamyerque was right an that the actor would already have to be in skyrim, other wise I'd have to do as Ghaunadaur said. here's the new script in case anybody wants to know ------------------------------------------------------------------------------------------------------------------------------------------------ ScriptName MMFTDemonicShrine1 extends ObjectReference Armor property DiscipleRobes auto Armor property GoatHead auto Weapon property DaggerofCeremony auto Perk property MarkoftheDamned auto Spell property AzazelCurse auto ActorBase property MyActorBase auto Event OnActivate(ObjectReference akActionRef) If akActionRef == Game . GetPlayer() ; only the pla yer can activate this ObjectReference SelfObj = Self as ObjectReference AzazelCurse.cast(SelfObj, game.getplayer()) Game. GetPlayer(). AddItem(DiscipleRobes, 1, true) Game.GetPlayer().AddItem(GoatHead, 1, true) Game.GetPlayer().AddItem(DaggerofCeremony, 1, true) Game.GetPlayer().EquipItem(DiscipleRobes) Game.GetPlayer().EquipItem(GoatHead) Game.GetPlayer().EquipItem(DaggerofCeremony) Game.GetPlayer().AddPerk(MarkoftheDamned) Game.GetPlayer().PlaceActorAtMe(MyActorBase) utility.wait(1) SelfObj.delete() EndIf EndEvent ------------------------------------------------------------------------------------------------------------------------------------------------------- now that he spawns I have to figure out how to place him instead of spawning literally right at the player, like say behind the player. I'll check the wiki but if anybody knows how please let me know. Thanks again guys :laugh:
  12. I like the idea :) that would be a fun mod. Sadly I am a beginner moder and don't think I'd be able to do this (anytime soon still much to learn) but I hope somebody does pick it up. It would be really cool if they incorporated this mod with it http://www.nexusmods.com/skyrim/mods/76803/? the Organic Fractions mod by Ether Dynamics, now that would be something!
  13. Could somebody take a look at my script and tell me what I've done wrong. I wanted to create a script that would spawn an NPC at the player when they activate my activator and do other things as well, everything else works except for the npc spawning. I've read just about all I could on the wiki and here's what I came up with.... ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ScriptName MMFTDemonicShrine1 extends ObjectReference Armor property DiscipleRobes auto Armor property GoatHead auto Weapon property DaggerofCeremony auto Perk property MarkoftheDamned auto Actor Property Familiar auto Spell property AzazelCurse auto ActorBase MyActorBase Event OnActivate(ObjectReference akActionRef) If akActionRef == Game . GetPlayer() ; only the pla yer can activate this ObjectReference SelfObj = Self as ObjectReference AzazelCurse.cast(SelfObj, game.getplayer()) Game. GetPlayer(). AddItem(DiscipleRobes, 1, true) Game.GetPlayer().AddItem(GoatHead, 1, true) Game.GetPlayer().AddItem(DaggerofCeremony, 1, true) Game.GetPlayer().EquipItem(DiscipleRobes) Game.GetPlayer().EquipItem(GoatHead) Game.GetPlayer().EquipItem(DaggerofCeremony) Game.GetPlayer().AddPerk(MarkoftheDamned) MyActorBase = Familiar.GetBaseObject() as ActorBase PlaceActorAtMe(MyActorBase) utility.wait(1) SelfObj.delete() EndIf EndEvent ----------------------------------------------------------------------------------------------------------------------------------------- ....Like I said everything else works except the Npc I'm trying to spawn doesn't spawn. I looked up all I could on the CK wiki, so now I turn to you skyrim modding community :cool:
  14. It worked thank you :) . Wow, such little mistakes I think I'm getting better though thanks to you.
  15. Ran into another wall this time I was trying to add onto one of my previous scripts. The one that allows the activator to cast a spell. I was trying to add onto it to make it delete the activator after a certain amount of time once it had been activated. I keep getting an "error did you forget loop" or something like that. An example of my script: ScriptName NatureActivatorTreeSpellCast extends ObjectReference spell property myspell auto Event OnActivate(ObjectReference akActionRef) If akActionRef == Game.GetPlayer() ; only the player can activate this ObjectReference SelfObj = Self as ObjectReference mySpell.cast(SelfObj, SelfObj) utility wait (10) ObjectReference delete() EndIf EndEvent I tried defining specifically which object reference to delete but it kept telling me object already defined not needed. So I just put ObjectReference delete() and it stopped giving me that error and gave me the new one instead.
  16. Oh ok I will try to rewrite it thank you. It worked scriptname NatureDestructionMagicIncrease extends ActiveMagicEffect Float DamAugment Event OnEffectStart(Actor akTarget, Actor akCaster) DamAugment = akCaster.getAV("Destruction") akTarget.DamageAV("Health", DamAugment) EndEvent just took out the state part thank you your a lifesaver IsharaMeradin thank you :)
  17. Help? I was trying to write a simple script that would increase spells damage based on destruction level. No fancy formulas or anything just a simple script. scriptname NatureDestructionMagicIncrease extends ActiveMagicEffect Float DamAugment Event OnEffectStart(Actor akTarget, Actor akCaster) state OnBeginState () DamAugment = akCaster.getAV("Destruction") akTarget.DamageAV("Health", DamAugment) endstate EndEvent However I'm getting a lot of errors and I have no idea why? Starting 1 compile threads for 1 files... Compiling "NatureDestructionMagicIncrease"... C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\NatureDestructionMagicIncrease.psc(3,17): required (...)+ loop did not match anything at input 'auto' C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\NatureDestructionMagicIncrease.psc(3,21): mismatched input '\\r\\n' expecting STATE C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\NatureDestructionMagicIncrease.psc(6,1): no viable alternative at input 'state' C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\NatureDestructionMagicIncrease.psc(6,20): required (...)+ loop did not match anything at input '(' C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\NatureDestructionMagicIncrease.psc(7,13): mismatched input '=' expecting LPAREN C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\NatureDestructionMagicIncrease.psc(0,0): error while attempting to read script NatureDestructionMagicIncrease: Object reference not set to an instance of an object. No output generated for NatureDestructionMagicIncrease.psc, compilation failed. Batch compile of 1 files finished. 0 succeeded, 1 failed. Failed on NatureDestructionMagicIncrease.psc
  18. The custom spell is the same as the vanilla spell the only deference is I made it a little bit stronger. Its the pacify spell, in vanilla Skyrim it only affects people up to level 20 so I made a custom version that affect people up to level 80. I probably accidentally changed something in the spell effect I'll double check. Thanks a ton for helping with the scripts. Just need to find out a few more things and then the next version of the mod should be exciting when released :) .
  19. Oh ok I didn't know I had to put everything. I changed it and it finally compiled :) ! One little problem now though, my activator will cast vanilla spells no problem but when I ask it to cast custom spells it wont work is there some way around this. my script if thats the problem: ScriptName SacredTreeSpellCast3 extends ObjectReference spell property myspell auto projectile property spellprojectile auto Event OnHit(ObjectReference akActionRef, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked) If akProjectile == spellprojectile ObjectReference SelfObj = Self as ObjectReference mySpell.cast(SelfObj, SelfObj) EndIf EndEvent
  20. I tried creating the OnHit event like you suggested: ScriptName SacredTreeSpellCast2 extends ObjectReference spell property myspell auto projectile property spellprojectile auto Event Onhit(ObjectReference akActionRef, Projectile akProjectile) If akProjectile == spellprojectile ObjectReference SelfObj = Self as ObjectReference mySpell.cast(SelfObj, SelfObj) EndIf EndEvent but now when I try to compile it says doesn't match the parent script ObjectReference so i changed the extends to Form and then I get the error can not cast on ObjectReference so than I tried putting both but it still said error ( not sure if that's even allowed having more than one extends)
  21. My idea for this script was to create a spell that would summon a Tree (my activator). The Tree would have magical properties though and would calm all npc's who came near it and also heal the player and the player's allies. So I was thinking having that activator cast the illusion spell pacify to calm everybody around it that's why i was having it target its self. The trigger box does seem complicated to set up what about if I made a spell that can activate the tree like a remote detonator. I just don't want the player to always have to walk up to the tree and detonate it. thank you for helping me by the way I did like you said my new script: ScriptName SacredTreeSpellCast extends ObjectReference spell property myspell auto Event OnActivate(ObjectReference akActionRef) If akActionRef == Game.GetPlayer() ; only the player can activate this ObjectReference SelfObj = Self as ObjectReference mySpell.cast(SelfObj, SelfObj) EndIf EndEvent And it worked! :) thanks a bunch now my summoned tree's are casting the calm spell to enemies when activated. only thing is I'm not sure I want to have to run to the tree's each time to cast it. Now the goal is to find a way to activate them remotely. I'm thinking a spell that when it hits an activator activates it.
  22. Thank you IsharaMeradin I'm going to give it a try now. It might be a little to much for me but i was wondering is there any way to make an activator activate on its on like say the npc and the pc only have to get near it for it to activate? ok i tried it here's my new script ScriptName SacredTreeSpellCast extends Activator spell property myspell auto Activator property myActivator auto Event OnActivate(ObjectReference akActionRef) If akActionref == Game.GetPlayer() endif mySpell.cast(myActivator, myActivator) EndEvent however when i try to compile it it says error type mismatch on parameter 1 (did you forget a cast) I'm not to sure what it means by this looking on the wiki its talking about useing a magic procedure but that looks like its for npc's not activators I'm really confused now :(
  23. I managed to make the spell summon the activator aka the tree but i cant make the activator cast the spell here's the script I've written I'm not sure what I'm missing ScriptName SacredTreeSpellCast extends Activator spell property myspell auto Activator property myActivator auto Activator property akactionref auto Activator property akSource auto Activator property akTarget auto Function Cast(ObjectReference akSource, ObjectReference akTarget = None) native endfunction Event OnActivate(ObjectReference akActionRef) mySpell.cast(myActivator, myActivator) EndEvent
  24. Ok I think I understand what your saying. The Object script would then place the tree (the activator) and then the activator script would than cast the spell I want right?
  25. I'm in the process of making a mod that lets you play as the Forest Sprite race. They are a race of people that live in the forest and know a handful of useful nature magic. a link to the mod page http://www.nexusmods.com/skyrim/mods/79450/? However some spells that I have in mind I know are going to require me to write scripts. I've read so many tutorials and the wiki and watched youtube videos I'm still some what lost however, so I thought I'd turn to the forums for help or at least some guidance. For starters I cant get notepad to compile my scripts at all it keeps saying error path not found I copied the path on wiki exactly though. Spell Ideas: 1. A weather spell that changes the weather granting different buffs like increased health and magicka that sort of thing. In my research I've come up with this script Scriptname NatureWeatherSpell extends ActiveMagicEffect Event OnEffectStart(Actor Target, Actor Caster) Weather spellWeather = Weather.FindWeather(0) spellWeather.ForceActive(true) endevent Event OnEffectFinish(Actor akTarget, Actor akCaster) Debug.Trace("Magic effect fades from " + akTarget Weather.ReleaseOverride() endevent what do you guys think? 2. A spell that summons a tree the tree casts an area spell to calm all enemies and heal the player periodically. a permanent version and one that last say 30 seconds or so. I don't have any idea how to write this script as of yet.
×
×
  • Create New...