Jump to content

SeraphimKensai

Members
  • Posts

    544
  • Joined

  • Last visited

Everything posted by SeraphimKensai

  1. That's fairly easy to adjust in the Creation kit, just a bit tedious as you have to apply your change to each enchantment.
  2. Honestly forgot about GetEquipedShield, I've used the GetWornForm to store various an assortment of equipped items for a couple scripts over the years. That said, your knowledge of Papyrus greatly exceeds my own, as I just take my best guess at things and use trial and error until it works, and sometimes takes a long time between iterations where I scratch my head and drink a copious amount of scotch.
  3. You can easily merge them together with MO2 upon install of the overwriting patch.
  4. You could use the GetWornForm(0x00000200) to get your currently equipped shield and save it to a float in a script. Doing so would make your mod dependent upon SKSE, but 95% of anyone using mods for Skyrim has SKSE installed. There's an entry for it on Creation kit.com to give you more details.
  5. I've used magic to make Betrid essential before and she can survive that way and pretty much just stays in the treasury the rest of the game. In the playthrough I did I was a Thane of Markarth, and with my mod order I think it messed with the quest a little in that I had to setstage to advance past the part where the guards throw you in prison because they were just like "My Thane, it's great to see you, is there anything we can help you with". Inside Cidna Mine the prisoners conned hostile to me so I killed everyone and Thonar met me outside and gave me a pardon. I killed killed his wife Infront of him and then banished him permanently to oblivion. Another means you could try would be to use a spell from a modpack to teleport her away. I have one that temporarily banishes a target allowing you to go to a new location and summon them to you. She couldn't get stabbed of she's in a pocket dimension for that time could she?
  6. I would suggest for your first few scripts you put various debug notifications into your scripts to help you test that your functions/events are firing correctly. Also I would read the primer on papyrus found at the Creation kit website if you haven't already done that. Regarding the setav aspect, you're going to want to set up some properties so that you can use them to store your original speedmult, so you can get back to it at the end of the effect. One thing to note there's setav, modav, and forceav. Typically you don't want to ever use forceav as it can mess a lot of variables up. Setav will change the base variable, and modav influences a +/- amount onto the base variable. That can easily be seen in game where your Health might be depicted in grey, when you drink a fortify health potion it's then in green, and a reduced health poison it's in red. The grey is the base variable, and the modded values represents the change in the green/red. It's often easier to use modav but that takes into effect all the enchanted items and such someone might be wearing. If your looking at remembering base speed, there's something like GetActorBaseValue which will do that. It takes a little while to figure it out but trial and error is how we all have learned.
  7. The blackhead part is that you didn't export facegen data. To do so open your follower in CK and press Ctrl+F4 if memory serves correctly. Then make sure include that and any other resources your mod uses in your mod directory folders when you archive it into 7z. Alternatively you can compile the non ESP files into a BSA as well.
  8. They kinda did similar with the Power of the Elements book for the Destruction Ritual Quest. Mine you I'm almost certain they used multiple versions of the same book with different text in it and ran a removeitem/additem script during the quest for it.
  9. The base nifs used by the vanilla game are compressed and stored as part of the BSA files. You'll need to use a BSA Extractor to extract the loose files from them. The game loads loose files over BSAs as a matter of priority.
  10. Here's my script for my Shadow Blink Spell as this might be useful to you. In a nutshell casting the spell I have a messagebox pop up with three choices (essentially save my current location, teleport to my saved location, return to the previous location I last used the spell, or cancel).... scriptName z2018mjhMarkRecallScript extends activemagiceffect objectreference property z2018mjhMarkRecallMarker auto activator property SummonTargetFXActivator auto message property z2018mjhMarkRecallMenu auto objectreference property z2018mjhMarkRecallReturnMarker auto Event OnEffectStart(Actor akTarget, Actor akCaster) Int mjhChoice = z2018mjhMarkRecallMenu.show(0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000) if mjhChoice == 0 z2018mjhMarkRecallMarker.MoveTo(akCaster as objectreference, 0.000000, 0.000000, 0.000000, true) akTarget.PlaceAtMe(SummonTargetFXActivator as form, 1, false, false) debug.notification("Shadow Blink - Location Bound.") elseIf mjhChoice == 1 z2018mjhMarkRecallReturnMarker.MoveTo(akCaster as objectreference, 0.000000, 0.000000, 0.000000, true) akCaster.MoveTo(z2018mjhMarkRecallMarker, 0.000000, 0.000000, 0.000000, true) akTarget.PlaceAtMe(SummonTargetFXActivator as form, 1, false, false) elseIf mjhChoice == 2 akCaster.MoveTo(z2018mjhMarkRecallReturnMarker, 0.000000, 0.000000, 0.000000, true) akTarget.PlaceAtMe(SummonTargetFXActivator as form, 1, false, false) elseIf mjhChoice == 3 endIf endEvent Essentially, I use 2 xmarkers, 1 that the player can set directly, and the other is set indirectly when the player uses the 2nd option. This allows you to be able to teleport back to the location that you first used the spell, and houses everything in 1 spell. For your effect, I would use 2 xmarkers, 1 being the teleport in point that is never moved, and the other that is set at your location before teleporting to the teleport in marker, so that your teleport out effect, points to your mobile xmarker that is moved when you first cast the spell. You could use akCaster instead of calling Game.GetPlayer(), and you don't really need to use the fast travel stuff, you could just use MoveTo (only difference there if I recall correctly is the fast travel time would add to your game time, as the moveto is instant). Also I agree with Ishara, if you're calling utilitywait, have it after you move the invisible xmarker to your location, as there's no point in waiting before you your effect does anything, might as well have your marker move to you then wait. Hopefully this helps you.
  11. One fairly easy way I've found using MO2, is to create an archive of your mod assets, install that on MO2, which creates the appropriate directories for you in your MO2 profile. I then keep the data folder open and the folder for the install of my mod, and as I change stuff in Creation Kit and save it, I copy paste the new version over to the folder for my mod's MO2 install. Note: I create folders for backup purposes along the way and periodically dump in my assets into a corresponding backup folder, so if necessary I can quickly revert back by overwriting files if necessary. Doing it that way, allows you to test your work on multiple profiles in MO2, for instance 1 profile - just having skyrim and the dlc and your mod another profile - skyrim, dlc, your mod, and other utility mods like skse, papyrusutil, etc. another profile - skyrim, dlc, your mod, utility mods, and other mods in your load order that are related to your mod. another profile - your entire load order + your mod. That way you can check to make sure your mod is working in correlation to your Load Order. Also use xEdit to make sure you don't make Wild Edits in your mod, its always a great idea to clean your work as necessary.
  12. The following compiles just fine. The issue that you had were some erroneous spaces in your script. I cleaned all those up removing the extra line breaks and replacing the 5-6 spaces with tabs, and voila. I'm sure you would of caught it, but I'd had scripting headaches before. Use Notepad++ to help you out significantly as it will give you line numbers, so if your script is having particular issues you can go find out that section faster. Scriptname KS01HansonController extends Quest Actor Property PlayerREF Auto ReferenceAlias Property FollowerAlias Auto Faction Property DismissedFollowerFaction Auto Faction Property CurrentHireling Auto Message Property FollowerDismissMessage Auto Message Property FollowerDismissMessageWedding Auto Message Property FollowerDismissMessageCompanions Auto Message Property FollowerDismissMessageCompanionsMale Auto Message Property FollowerDismissMessageCompanionsFemale Auto Message Property FollowerDismissMessageWait Auto SetHirelingRehire Property HirelingRehireScript Auto GlobalVariable Property FollowerRecruited Auto Int Property iFollowerDismiss Auto Conditional Function SetFollower(ObjectReference FollowerRef) actor FollowerActor = FollowerRef as Actor FollowerActor.RemoveFromFaction(DismissedFollowerFaction) If FollowerActor.GetRelationshipRank(PlayerREF) <3 && FollowerActor.GetRelationshipRank(PlayerREF) >= 0 FollowerActor.SetRelationshipRank(PlayerREF, 3) EndIf FollowerActor.SetPlayerTeammate() FollowerAlias.ForceRefTo(FollowerActor) FollowerActor.EvaluatePackage() FollowerRecruited.SetValue(1) EndFunction Function FollowerWait() actor FollowerActor = FollowerAlias.GetActorRef() as Actor FollowerActor.SetActorValue("WaitingForPlayer", 1) SetObjectiveDisplayed(10, abforce = true) EndFunction Function FollowerFollow() actor FollowerActor = FollowerAlias.GetActorRef() as Actor FollowerActor.SetActorValue("WaitingForPlayer", 0) SetObjectiveDisplayed(10, abdisplayed = false) FollowerActor.EvaluatePackage() EndFunction Function DismissFollower(Int iMessage = 0, Int iSayLine = 1) If FollowerAlias && FollowerAlias.GetActorReference().IsDead() == False If iMessage == 0 FollowerDismissMessage.Show() ElseIf iMessage == 1 FollowerDismissMessageWedding.Show() ElseIf iMessage == 2 FollowerDismissMessageCompanions.Show() ElseIf iMessage == 3 FollowerDismissMessageCompanionsMale.Show() ElseIf iMessage == 4 FollowerDismissMessageCompanionsFemale.Show() ElseIf iMessage == 5 FollowerDismissMessageWait.Show() Else FollowerDismissMessage.Show() EndIf actor DismissedFollowerActor = FollowerAlias.GetActorRef() as Actor DismissedFollowerActor.StopCombatAlarm() DismissedFollowerActor.AddToFaction(DismissedFollowerFaction) DismissedFollowerActor.SetPlayerTeammate(false) DismissedFollowerActor.RemoveFromFaction(CurrentHireling) DismissedFollowerActor.SetActorValue("WaitingForPlayer", 0) FollowerRecruited.SetValue(0) HirelingRehireScript.DismissHireling(DismissedFollowerActor.GetActorBase()) If iSayLine == 1 iFollowerDismiss = 1 DismissedFollowerActor.EvaluatePackage() Utility.Wait(2) EndIf FollowerAlias.Clear() iFollowerDismiss = 0 EndIf EndFunction Fra en Hanson til en annen.
  13. It's doable. Just requires use of Creation Kit and a little custom scripting. I have a spell pack that I've worked on over the years that implemented summonable turrets that float. Although mine are chaotic in that I purposely made their targeting random. If you try and do this and get stuck, you can send me a pm and I can try to review your scripts for your turrets.
  14. I've been gone a long time, but recently reinstalled Skyrim and started tinkering on my mod Synthesis Redux again. The existing lastest version does have some working spells that do pretty much what you're asking for in that you can summon some items out of the blue but they fade if not used shortly after summoning them, otherwise there's a spell called philosopher's stone that greatly enhances the ability to transmute materials.
  15. Several of us that have released spell packs over the years have added spells and effects to dispel other magical effects. Enai has one in his Apocalypse called Dispel, and I even have one in Synthesis Redux called Quell Magic. The issue though when using scripted spell effects, a dispel effect is not going to abort a spell's scripted effect unless its written into the spell's initial script. As such a dispel spell from one mod pack won't necessarily work on spells using custom scripts of other's spell packs.
  16. Hey folks, hopefully everyone is doing well. I've been busy with work but decided to look at a script idea for causing an actor to dismount their mount. I made a rudimentary script that would check to see if an actor is mounted or not and then dismount them if so, however the I notice the script applies to the mount when I cast the spell even though the projectile clearly hits the actor on top of the mount. That all said, does anyone know a reasonable means to get the actor on a mount, so that way I can store that to be able to run the script on causing that actor to dismount? Thanks as usual.
  17. I would personally get rid of the target list and use a function named close to findnearestactor and use conditions such as hostility and range to determine if it fires. That way it will be able to work with mod added actors that aren't in your target list.
  18. Ah that's not my cup of tea. I focus more on effects/scripts, but now that people can see what your after, maybe it will stir up some interest.
  19. No instagram here, send me a message rolled up around an arrow and shot into the trunk of my maple tree in my front yard to let me know what kind of mod you want.
  20. You could just console in "player.modav carryweight 1000000" or something, or just dump your gear in a home or persistent container.
  21. Not sure if you're looking for LE or SE, but if the you need for SE, my spell pack Synthesis Redux has a ressurect spell in it to bring back dead NPCs.
  22. From a copyright law perspective, you should be able to post a guide how to use a mod without permission, but you can't change, or modify, or redistribute the work of the original author, nor make any financial gain from such a work without express written consent (ie how Prima makes and sells video game guides).
  23. There's mods already out there for infinite enchantment charges. That should cover what you're alternatively looking for.
  24. Ah gotcha. I'll have to check it out at some point when I get some time to play.
  25. Glad it's working. I'm curious what kind of spell your making having random casting sounds based on player gender though. Are we talking some kind of incantations or such (which would be pretty cool btw).
×
×
  • Create New...