Jump to content

[LE] Dynamic Follow Package


Recommended Posts

So I want to make a dynamic Follow Package with the following conditions. Let me also first say that I know Oblivion CS a lot, but I am a complete Newbie in Skyrim CK and Packages do not look the same in those 2 different editors, but still, the Principe should be the same. :D

 

I made many different packages in Oblivion but I never made something that will work in a way I want it too this time and I may even have taken me water over my head, trying to make something that is not really possible, but lets see then if we could make some work around. It is a specific behavior I want, not how we actually make it in CK, but that would be a nice goal, for me to follow a step by step instruction :smile: I could also read the CK Wiki honestly :D But I guess it will explain a lot of basics that just waste my time as well, but I will if we cannot make this more effective... :wink: Lets see and find out.

 

Conditions:

  • The one that will use this package is a Dwemer Horse
  • The one it should follow, is the Owner and the Ownership might change, but still, it will follow the owner, if Summoned. If it is set to stable, it shall stay there and that package is the default one anyway.

I do have a Global made that goes from 0 to 1 to be used to activate the new Dynamic Package inside the conditions and back to 0 if it is set to go home to the Stable. That condition will be inside the new Package.

 

I have been trying to edit follower packages, trying to find suitable Targets, but it is very hard to find suitable one in the package editor.

 

Well I am here right now, scratching my head, Peeking in the Vilkas Follow Player Package...

 

77985963-1658225719.png

 

I can set Objects or References but I want the Horse to Follow any Owner, as it can or should have only one single owner, not a faction owner but an Actor, and any actor really as I want this specific Horse to be able to change Owner and follow the new owner if he gets summoned. The player is the only one that can summon that specific horse, at least right now, with a spell. If the player or the horse changes the Ownership, it does not matter really.

 

I can also add a script to the horse really, get the reference of the owner reference, store that value at the horse, or a quest or in a Global or whatever or Where ever.

 

Right now I only feel dizzy, as my head is spinning like stuff on a tivoli or as I am slowly falling down :D Like this:

 

 

Making such a package, for a specific Object or Reference is not a big deal, but I guess this will not be so easy to make really, a dynamic Follow Owner Package. I do not have a single clue right now what to do or go now... :wink: Well except listen to that song now... :wink:

 

Cool band, with cool covers and good music. Is that my Dwemer horse at that cover? :smile:

 

By the way, references cannot be stored as a Global, as it is a float. Well i store the Ownership reference inside the Horse or at a QuestScript or whatever, if needed.

Edited by Pellape
Link to comment
Share on other sites

First of all i need to highlight that if you intend on creating a mod for Skyrim or FO4 that will continue to grow in complexity, you must forget / get it out of your head anything concerning modding Oblivion, modding that game was a million times easier and less demanding than these ones here.

Just a friendly advice that will help you advance faster and save you some nasty headaches.


The general logic of the set up for a dynamic follow package should be as follow:

1) Create a "Holding" cell, a cell that will not be connected with the game's world and it will be use only for things like this:

- Place an xMarker and give it a unique 'Reference Editor ID'


2) Create a quest and a 'Reference Alias', fill that 'Alias' with the xMarker reference in your holding cell.


3) - Create a package and in the section 'Owner Quest' assign your quest that is holding the Alias with the xMarker.

- Now in the 'Package Template' assign 'Follow'.

- In the 'Target To Follow' press the big button in the right that says 'Linked Reference'.

- The 'Package Target' window will open, now click the section 'Ref Alias', and in the 'Object ID' assign your Reference Alias which is pointing to the xMarker in your holding cell.


4) Now you will need a delivery type for the 'Change Following Actor Package Event' so that you can move and force by script the 'Reference Alias' in your xMarker that's living in the 'Holding Cell' to any actor.

** This part here i can't expand any further because I've no idea what you are actually doing, or how you want this whole thing to work:

Is this going to work on specific actors on your mod?

is this going to work on ANY / random actors of the game and mods?

Will this be trigger at a specific stage by a running quest?

Will this be trigger at a specific location?

Will this be trigger by the player at will?

Etc...

Edited by maxarturo
Link to comment
Share on other sites

I did reply to this yesterday. I think I lost conatct with my Wifi or ISP rather, when I was done. Well NM.

The goal I want to reach is following.

  • I want any companion to be able to own the Dwemer Horse and that horse should follow that companion.
  • I want the Dvemer Horse that the player own, to follow the player.
  • I do want the Dvemer Horses more agrresive, well it seems only one companion fights, as they do not cooperate well in game. I do think a new script should be made to make the companions to work together with the player better but that has low priority right now.
  • I use Inigo and I magaed to actually get him to ride, by follow a guide, as the Combination of mods I use, trigger a bug. The Blue cat gets help with this from another modder and I proviuded them info as well as they asled for it in the Description.

So this is mainly what I want to achieve. Well call it a dynamic system for allowing companions to own horses, that also works like a companion should, protect their owner and friend.

I wrote a lot of code to make my 3 small custom followers to work the way I like them to in Oblivion. Lets take a peek at them and the reason I want them to be small, is that will not get in the way when I fight. I do not even fire a single arrow in this video. I let the pets to show off, what they are able to do.

Go to 14:00 in the video.



I also have a fun video about some war horses, that is followers to my faction that I made. Well you have all videos here really if you wanna peek at any: https://www.nexusmods.com/oblivion/mods/52047

Well you did mention that CK is not the same as CS, well, let me tell you that I closed down CK when I tried it the first time 2012, failed to make a simple door, so it took me 10 years before I did open it again. But honestly, I am more motivated right mow to learn it. I was not 2012, as Skyrim was so damned bugged, crashed a lot, mostly because of bad mods made with low level tools at the time. It really took ALL positive energy from me :D otherwise I belong to the oldies, as I started 2004 and had Qarl as a mentor, teacher. He pushed us to not give up with Oblivion 2006, as it was the same back then, Oblivion was a bit different to mod then Morrowind was, and we did not had the right exporters for DDS or Meshes, so it was as frustrating then. BUT, Oblivion and Morrowind CS still has more in common then they have with Skyrim, and I do understand more and more, why Bethesda made this as they did.

The benefits the employed has in Bethesda is the possibility to get education about the new tools, most likely direct from the devs of CK and also learn other stuff. All other tools, compilers and so on is more common I guess, but CK is not a common tool, nor CS. I do peek more and more into CK wiki as now I finally do understand what it is I am reading :D

The bigger picture of a Papyrus script, compared to an Oblivion one, is not that different really. Skyrim do lack some useful functions, well SKSE des rather, that we have in OBSE. The big difference so far as I see it is the way we can implement references and also cross data between stuff, like references, quests or whatever. Otherwise the functions and commands are very similar. :D I will learn this one day :D

There is also nice videos to see about CK, but I think they talk to fast and show stuff to fast for me to actually enjoy them. I am a swede after all. You can hear that I guess in my videos :D

I do hope I did not miss anything. I did not provide any details, as I should not in the goals I have with this. I rather listen to your advice how I should do to achieve this.

I did peek at 2 companions, the Gladys dog and also one made by Bethesda Erik the Slayer in Riften and also peeked at Horses we can buy. What I did noticed was that they did not have any packages that had anything to do with following the player. What I did noticed however is that they where in special factions, so is that the proper way to go to get this to work, applying the right factions to these 2 horses? Will it be enough? That's the only thing I can see that differs. Really... Backtrack engineering is hard to do in Skyrim CK, well it is always hard, depending on how complicated or simple stuff really where made. :D

My char and Inigo 2 days ago :D When I managed to make him ride. :wink:

77985963-1658189617.png

 

So 26 years os TES playing and 18 years of Tes modding :D I still love it. I really have more fun modding today than I ever had before. Maybe it is becasue I am more experianced, and think more about what I want to make, making it, instead of thinking, how the damn will I solve this, well except right now, in Skyrim. I will learn it. :D Promise... :wink: So far, I amanged to make all my ideas to come true or through, in Oblivion. I get an idea, a vision, and I make it. With Blender, Nifskope, Gimp and CS. So damn fun. :D I still have ideas not yet implemented, stuff I never seen in Oblivion, but I get the latest ideas from mods I used here. The Merchant Stall is such a mod I started to make for Oblivion a week ago. I will work on it more next week. :D Mine will include Autoselling, in case the player gets tired of selling his own stuff. It will become very dynamic with many suitable options.

Edited by Pellape
Link to comment
Share on other sites

If you want dynamic ownership, probably the smoothest way to do that is an Alias with Faction. Whoever is that Alias, is in that Faction attached to that Alias. Whoever is in that Faction, is set to be owner of whatever, in this case a horse

 

You dont necessarily need Aliases here, but again its likely the smoothest since you dont have to worry about cleaning up previous refs after you change ownership. Simply Clear() the current Alias and ForceRefTo() another ref and its done

 

I already know where you are going conceptually to an extent. Dynamic AI has been a off and on hobby project for some time. Lotta stuff can be tricky but its really enjoyable when you pull off a smooth system

Link to comment
Share on other sites

There are already mods that do this, I think they are called 'Convenient Horses' or 'Immersive Horses' or something like that... You can check them out and reverse engineered them.

Those mods or one of those mods will give to all your companions a horse that the companion will use, those horses utilize the vanilla follower framwork to do it, this means that they ONLY work on followers that use the 'Follower Faction' or through script by the function 'Bool IsPlayerTeammate()'.

But if you have a follower that uses its own custom made framework that does not rely on the vanilla, those horses will not work. This also applies for your horse if you want this to work on ANY / random follower, there will be always a chance of it to not work.

But it's rare since 99% of followers mods out there use the vanilla framework.


"I want any companion to be able to own the Dwemer Horse and that horse should follow that companion."

Now if you have only 1 horse and more than 1 follower, and you want to assign to a specific follower your Dwe horse while everybody else uses something else.

Well... here things start to become a little complicated.

Link to comment
Share on other sites

Indeed it can get complicated quick. Why I tend to avoid using other mods beyond just reference examples for xyz task. Keep it simple and to the point of exactly what you want

 

AI packs have some potentially powerful and imo underused capabilities where you can find tasks to do, and other refs to do them with too, dynamically. Takes some time to build stable yet complex stacks, but you can bring npcs to life in ways, by using functions like "Find" "Target Selector" and various conditions including Formlists to check against. You can narrow down a desired type of ref or location, then if found and applicable, proceed to check if a certain routine is available. If no, check for a fallback routine. Still nada, check the next location criteria, etc. Eventually you can have it setup where there is almost always something interesting that could commence in any situation. Might sound unexciting, and perhaps it would be to most. Dynamic AI can be really fun to play with once you figure out how these somewhat-sloppy AI packages tick

Link to comment
Share on other sites

Thanks. Very interesting reading I must add. :smile:

 

I use immersive horses and I like it a lot really. As all has horses now, specially since I managed to solve Inigo's issues about riding with a step by step instruction with a low level save editor, I feel happy as I am right now. I am not so sure any longer I even want to use the Dwemer horse and the main reason is really all noises it makes. At first it felt good and fun riding it, except it did not follow the player as expected or did it? Well it does not now at least. So I need to summon it to be able to ride it. I maybe did screw something up in the process too, making that spell, breaking something. I am not using the original as I DLed this one very fast: https://www.nexusmods.com/skyrimspecialedition/mods/63269 and it has no bugs reported but some posts looks a bit odd, the last one does. Well, I could really go back to square 1 honestly, using the original horse as a base if I change my mind. The steam machine noises it makes, when I try to focus at all noises in the woods, like animals or similar, you know, or in any landscape, while riding, starts to annoy me. I bet I could remove the sound but really? ;) It is a fun toy, that's it. The quest was fun too :D

 

Something else odd did happen, as I never seen before. So odd. I did filter all my objects, I have 8 or 9 only, Did draw 2 spell books to the Library at Winterhold, behind the desk, next to a wall. So when I used the book 2, with the 2nd spell, I got a Candelight spell. Well in any case, I could not find my spel book. Maybe I just imagine myself now, as it did happen yesterday. Well I went back to CK, checked the book in the Preview window, marked ti, used Cut and paste, so a new reference where made and it was my 2nd book with mu 2nd spell too. Well in game, it all worked out. I do have a slight memory of that CandeLight Spell book was added to my char when I picked it up but right now I am not so sure any longer. This bloody heat we have now, fogs my memory. It is so hot, I now sit in the middle of the night writing this no sense as I couldn't sleep. Well I bet it is imagination, that is what I suspect now. :D If no one else had something similar, then it is the human condition :D

 

Human Condition :D

 

Hold your horses, this song sure is speedy. :D I sure like SAGA, but not that song when I try to fall asleep :D

 

If I get back to this project, I really need to watch that video about making a companion or as you did also write, back track engineer Immersive Horses. It can also be so simple that I can learn how to add a horse to the stable, making it work like any other horse. But still maybe it did when I built it? IDK. I need to check Bethesda's original mod to find out really, check all the settings that horse has and compare it with other horses too. :wink:

 

Dynamic is good. I try to think Dynamic when I make stuff. If possible. Well it is not that hard in Oblivion honestly. We sure have a master of dynamic coding in Oblivion called Maskar. I debate some stuff with him, peeks at his scripts some too, pick up interesting ways of making stuff, slowly but steady and he did some testing of my latest stuff as well as I made an addon that requires both my and fis stuff. All I want added so far in Oblivion at least, I did succeed with. Realized my visions, or making them come true. :D Lets see what the future brings :wink: I will learn CK and Skyrim, one day when it rains or is less hot at least. :D

Edited by Pellape
Link to comment
Share on other sites

Well I decided to release it, as I also added a spell to summon the Horse Frost, from the TG quest line. https://www.nexusmods.com/skyrimspecialedition/mods/72073/

 

Max, making dynamic stuff is never easy, not as easy as static. But all modern coding is done dynamically these days, called Object oriented coding, something that came with C++ 40 years ago or so, well C or rather Ansi-C was born at Berkley University 1969 but C++? Who cares? :D But it is not impossible. Nothing is. :D Coding dynamic stuff, feels like Joggling with imagined balls. You do not have the full control of what is happening, and it is hard to see what really is going on, as stuff points at stuff.... :D Well, imagine that :) That is what I feel when I fool around with arrays at least :D That is also how I felt when I made my dynamic Sorter, using several arrays and so many checks, so nothing get duplicated... :O

 

Dynamic is good. Nice word that roles on the tip. :D

Link to comment
Share on other sites

Congrats on your release.

I did implied that it's not easy, but not impossible (I did provide a way of how to make a dinamic folllow AI package). All depends on the modders knowledge on coding, the 'Papyrus' language and especially on the Creation Engine that it has so... So many holes!!.


Trust me when i say that don't always trust it, you may create something that's working, but... under certain conditions it will all blow up in your face, because the engine is far from reliable. It has happend to me a couple of times and it was a pain in the butt to come up with a workaround.

Edited by maxarturo
Link to comment
Share on other sites

Well I do think I will choose a much different approach, that is even more dynamic. As the popular companion mods also include mounts, mostly and we can give Inigo a mount, so that is not a problem I guess.

 

So what I will try to make instead is a dynamic summon spell. Well that allows you to summon anything really and I think i limit it to 10 targets, that I save inside a QuestScript.

  1. Mark objects like Companions, quest NPC's that you need to follow or if you loose them, which did happen to me in Helgen Reborn really or even Horses but any object, if there now is a point doing that, but it will be possible if I succeed. Storing them either in static ReferenceObjects or in Form Arrays, which I guess is most proper really.
  2. Summon the References to the player, by moving them and also activating them, as some objects tend to get disabled or invisible when we move them back and forth from a cell, well my Horse Frost does not like when I summon him twice within a short period. He gets inviss or disabled. So with a short wait 0.3 inside the event OnEffectFinish, I enable him :D In Oblivion, we add duration's to any spell instead of wait() but it was not possible in self spells in Skyrim as i could see. The Duration field was gray out. Well wait() seems very useful, when we need to slow down scripts some :D So they sync with the game.

So a dynamic Mark Reference, Summon Reference is the next challenge. I do have enough knowledge now about CK to be able to pull it off. This is maybe what I need, then the horses can do what they want when we do not need them, as follow my char, seems not be on their agenda, not even with Immersive Horses activated, and honestly, I do have other pets then just horses. This spell will be much more useful I guess. Well it might even make all other summon companion spells obsolete? ;) So when I need the horse, I simply summon it. If i need a lost Quest NPC, I summon it so it gets back on track. :D

 

I have more then one time needed to use a save, open the console, mark the NPC, go where I needed too and move the NPC back, mostly when I use Mark and recall spells as not all NPC, creatures, well Actors follow when we use those spells.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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