Jump to content

porroone

Members
  • Posts

    237
  • Joined

  • Last visited

Everything posted by porroone

  1. I dont see it that difficult, create the magic effect, attach a script to it, being the effect channeled, you can call OnEffectStart and then registerForUpdate for aslong as the magic effects lasts. On the OnUpdate event: Spell.Cast(Player) Wait(2) Spell2.Cast(player) The cast function usually dont consume magicka, so you'll have to do that manually using the DamageActorValue function.
  2. You must set a conditional inside the Magic Effect to check if the player has dragon souls, so the effect wont trigger unless there are dragon souls.
  3. Event OnEffectStart(Actor akTarget, Actor akActor) if akActor.GetAv("DragonSouls") > 0 Player.ModAv("DragonSouls",-1) else Debug.Notification("You dont have souls to spend") endIf endEventHere is a small example on how would it work, you may want to put a conditional inside a magic effect, checking if the player has Dragons souls. Also I really like the idea, I might implement it in my mod :smile:
  4. http://s21.postimg.org/6ink6afmf/WHY.jpg As you can see something is definetly wrong with my highlighting, I have no idea why. I had to reinstall windows, so I reinstalled notepad++ aswell, created my user-defined language, as I did quite a few times already, and thats what I get, some functions dont highlight or highlight wrong. This is driving me nuts, I could really use some help :P
  5. As the topic title says, im looking for a way to detect if the player is ragdolled. I have been looking everywhere, from all the functions to all the Animation Variables and found nothing, so if anybody knows of some method I would really apreciate it.
  6. Hey there, first off check out the http://www.creationkit.com/Category:Papyrus Note that the functionallity of this shitty scripting language is very limited, if you know some c++ using SKSE you can expose some functions that are only avaible on the engine.
  7. Go to the ck, misc bar, collision layer, open L_DEADBIP and add L_CHARCONTROLLER, save it as a mod, load it and you got it :)
  8. As long as you create a subrace for that companion I guess you could add a new behavior for that race using your "unique" animations. You need to create a new folder under meshes\actors\MyCustomRace\, then go to skyrim - Animations.bsa, look for the folder meshes\actors\character and extract everything inside the folder you created previously. After that overwritte the animations you want, make your follower use the custom race, and he will be the only one to play those animations.
  9. This tutorial is one year old. Doesnt exist a better way to get this done than having to link the BSEffectShaderProperty to every NiTriShapeData there is ? Its quite a painful process if you ask me.
  10. Well the topic clearly states what I need. Basically I want to import voicepushprojectile03.nif to 3dsmax, modify it and then export it back, but for some reason the same configuration I use for normal meshes doesnt seem to work. I would really appreciate anybody that could either help me or link me a tutorial where this is explained. Also I havent seen many mods that use custom effects, so I am beginning to wonder if its even possible. I got something done using the regular niftools but its a pain in the ass, dong it with 3dsmax would definetly make my life easier. Thanks in advance ;)
  11. You maybe right, I had in mind GetAnimationVariableFloat("Direction") where 0 is forward, 0.5 is back, 0.25 is right and 0.75 is left.
  12. GetMovementDirection == 0, only works for moving forward, with GetVelocity you can also check if the player is jumping checking the Z velocity, and works for all directions :)
  13. Well, you can try a variety of flying mods that are laying around and understand why a official DLC involving flying cannot happen. I mean the distant lod is horrible and sometimes you even see mountains dissapear and visual errors. Besides the cell loading, when you are flying quite fast, takes a lot of resources from your computer and sometimes it ends up in crashing. So, unless they change the whole engine, I really doubt we'll ever see a flying method.
  14. You could try a different condition to see if its whats causing the issue, like GetGraphVariableFloat using "Speed" as parameter, or GetVelocity.
  15. The hovering is just an animation with the NPC node above the ground, already did something similar with my mod long time ago, check it out: http://www.youtube.com/watch?v=xADzZUXRUic&feature=player_embedded
  16. The engine isnt flying friendly, so I dont think they will ever add anything related to flying with the current engine. Changing the whole engine to be based in something different to their current grid system, would take a lot and I mean probably designing a whole new engine. So no, I dont think we would ever either see flying mounts, dragon shapeshift or any kind of flying other than mods.
  17. I really doubt there is a proper way to revert save game bloating, there is a guy currently working on a savegame editor, but I dont know if it addresses this particular issue. A good thing to prevent it is to use the console and disable things u know there gonna stick, like ash piles or bodys on a non-respawn area.
  18. Once SKSE exposes the GetCrossHairRef() function I think it could be done, with that I could even make the player climb in the correct angle and of course playing custom animations while climbing.
  19. That works, here is an example: chest = (Player.GetWornForm(4) as armor)
  20. Hello and thanks for reading, I am currently working on a function to get the cost of magicka using papyrus, taking into consideration perks and enchants and using the Cast() function to cast the spell. The problem I am having is the function is way too long and whenever I trigger it, the whole script freezes for like 2 seconds, so I was looking for a way to optimize it and I thought maybe you guys could lend me some input on this one, I would really appreciate it. Here is the function: Function GetRLCost() Notification("hello there folks") curLeft = Player.GetEquippedSpell(0) curRight = Player.GetEquippedSpell(1) SpellPerkL = curLeft.GetPerk() SpellPerkR = curRight.GetPerk() magickacostl = curLeft.GetMagickaCost() magickacostr = curRight.GetMagickaCost() chestEnchant = (Player.GetWornForm(4) as armor).GetEnchantment() bootsEnchant = (Player.GetWornForm(80) as armor).GetEnchantment() handsEnchant = (Player.GetWornForm(8) as armor).GetEnchantment() helmetEnchant = (Player.GetWornForm(2) as armor).GetEnchantment() AmuletEnchant = (Player.GetWornForm(20) as armor).GetEnchantment() numenchants = chestEnchant.GetNumEffects() + bootsEnchant.GetNumEffects() + handsEnchant.GetNumEffects() + helmetEnchant.GetNumEffects() + AmuletEnchant.GetNumEffects() if Player.HasPerk(SpellPerkL) magickacostl = magickacostl / 2 endIf if Player.HasPerk(SpellPerkR) magickacostr = magickacostr / 2 endIf while i < numenchants i += 1 if chestEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" && (curRight.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Destruction") magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) elseif chestEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" && (curLeft.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Destruction") magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) elseif chestEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" && (curRight.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Restoration") magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) elseif chestEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" && (curLeft.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Restoration") magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) elseif bootsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" && (curRight.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Destruction") magickacostr = magickacostr - ((magickacostr*bootsEnchant.GetNthEffectMagnitude(i))/100) elseif bootsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" && (curLeft.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Destruction") magickacostl = magickacostl - ((magickacostl*bootsEnchant.GetNthEffectMagnitude(i))/100) elseif BootsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" && (curRight.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Restoration") magickacostr = magickacostr - ((magickacostr*bootsEnchant.GetNthEffectMagnitude(i))/100) elseif BootsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" && (curLeft.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Restoration") magickacostl = magickacostl - ((magickacostl*bootsEnchant.GetNthEffectMagnitude(i))/100) elseif handsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" && (curRight.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Destruction") magickacostr = magickacostr - ((magickacostr*HandsEnchant.GetNthEffectMagnitude(i))/100) elseif handsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" && (curLeft.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Destruction") magickacostl = magickacostl - ((magickacostl*HandsEnchant.GetNthEffectMagnitude(i))/100) elseif handsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" && (curRight.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Restoration") magickacostr = magickacostr - ((magickacostr*handsEnchant.GetNthEffectMagnitude(i))/100) elseif handsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" && (curLeft.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Restoration") magickacostl = magickacostl - ((magickacostl*handsEnchant.GetNthEffectMagnitude(i))/100) elseif HelmetEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" && (curRight.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Destruction") magickacostr = magickacostr - ((magickacostr*HelmetEnchant.GetNthEffectMagnitude(i))/100) elseif HelmetEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" && (curLeft.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Destruction") magickacostl = magickacostl - ((magickacostl*HelmetEnchant.GetNthEffectMagnitude(i))/100) elseif HelmetEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" && (curRight.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Restoration") magickacostr = magickacostr - ((magickacostr*HelmetEnchant.GetNthEffectMagnitude(i))/100) elseif HelmetEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" && (curLeft.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Restoration") magickacostl = magickacostl - ((magickacostl*HelmetEnchant.GetNthEffectMagnitude(i))/100) elseif AmuletEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" && (curRight.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Destruction" ) magickacostr = magickacostr - ((magickacostr*AmuletEnchant.GetNthEffectMagnitude(i))/100) elseif AmuletEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" && (curLeft.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Destruction") magickacostl = magickacostl - ((magickacostl*AmuletEnchant.GetNthEffectMagnitude(i))/100) elseif AmuletEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" && (curRight.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Restoration") magickacostr = magickacostr - ((magickacostr*AmuletEnchant.GetNthEffectMagnitude(i))/100) elseif AmuletEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" && (curLeft.GetNthEffectMagicEffect(0).GetAssociatedSkill() == "Restoration") magickacostl = magickacostl - ((magickacostl*AmuletEnchant.GetNthEffectMagnitude(i))/100) endIf endWhile endFunction
  21. After deleting the whole meshes folder (where anims and models are stored) and disabling all my mods I seem to get a lot of animation glitches, for example the gargoyles anims are screwed, when I turn into a vampire lord and move around it doesnt play any of the anims I saw on the trailer, also I cant get into the ground so I cant move forward in the questline.
  22. OK!! Found out a way to get the equipped armor pieces, using the GetWornForm() function, now to figure out how to get the enchants :/ Edit: Hell yeah (Player.GetWornForm(4) as armor).GetEnchantment()) Edit2: This is going to take a lot of code lol, I will post the function later. Edit3: Finished the function for Restoration and Destruction spells, its missing the enchant for the ring because my mod works by equipping a ring. Here is the code: Function GetRLCost() curLeft = Player.GetEquippedSpell(1) curRight = Player.GetEquippedSpell(0) SpellPerkL = curLeft.GetPerk() SpellPerkR = curRight.GetPerk() magickacostl = curLeft.GetMagickaCost() magickacostr = curRight.GetMagickaCost() chestEnchant = (Player.GetWornForm(4) as armor).GetEnchantment() bootsEnchant = (Player.GetWornForm(80) as armor).GetEnchantment() handsEnchant = (Player.GetWornForm(8) as armor).GetEnchantment() helmetEnchant = (Player.GetWornForm(2) as armor).GetEnchantment() AmuletEnchant = (Player.GetWornForm(20) as armor).GetEnchantment() if Player.HasPerk(SpellPerkL) magickacostl = magickacostl / 2 endIf if Player.HasPerk(SpellPerkR) magickacostr = magickacostr / 2 endIf while i < chestEnchant.GetNumEffects() i += 1 if chestEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) endIf if chestEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) endIf endWhile i = 0 while i < bootsEnchant.GetNumEffects() i+= 1 if bootsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) endIf if BootsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) endIf endWhile i = 0 while i < handsEnchant.GetNumEffects() i+= 1 if handsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) endIf if handsEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) endIf endWhile i = 0 while i < HelmetEnchant.GetNumEffects() i+= 1 if HelmetEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) endIf if HelmetEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) endIf endWhile i = 0 while i < AmuletEnchant.GetNumEffects() i+= 1 if AmuletEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Destruction" magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) endIf if AmuletEnchant.GetNthEffectMagicEffect(i).GetName() == "Fortify Restoration" magickacostr = magickacostr - ((magickacostr*chestEnchant.GetNthEffectMagnitude(i))/100) magickacostl = magickacostl - ((magickacostl*chestEnchant.GetNthEffectMagnitude(i))/100) endIf endWhile endFunction
  23. Hey, how do you check for enchantments ? I have been looking for a way to get the equipped armor, but I dont think there is one :/
  24. Nope, it wasnt included in 1.5.9, this is awsome, thanks for letting me know ! :D
×
×
  • Create New...