Jump to content

SeraphimKensai

Members
  • Posts

    544
  • Joined

  • Last visited

Nexus Mods Profile

About SeraphimKensai

Profile Fields

  • Country
    United States

SeraphimKensai's Achievements

Proficient

Proficient (10/14)

  • First Post
  • Collaborator Rare
  • Posting Machine Rare
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  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.
×
×
  • Create New...