Pellape Posted July 16, 2022 Share Posted July 16, 2022 Honestly, i do not know where to type this no sense. I guess this is the place, as the main stuff in this analyze is really towards the Modding community. I take a short break to save this message as the forum is so screwed up, most likely because or that Gatcha thingie. YES, I AM HUMAN (I think) Link to comment Share on other sites More sharing options...
Pellape Posted July 16, 2022 Author Share Posted July 16, 2022 Finally. So. I did mention at the Container WIP that I have been modding some Skyrim last week and I do have a lot to say about my experiance, when I see how the game reacts to my scripts, well every script that is. On the Surface, the games look very similar. Oblivion is a bit faster but Skyrim do look better. Is it possible to make Oblivion look like Skyrim. Yes of course. Do we want it to look like Skyrim? The answer is: Why would we? It does look good as it does honestly. Specially when I use QARLs Textures. i did test the Skyrim looking retexture bit it does not fir well in Oblivion with darker wet stone and stuff like that, We o not need that stuff. :D I did complain about how long time scanning take in Skyrim, did I not? https://www.nexusmods.com/oblivion/mods/52047?tab=description&BH=9 The thing is, that is nothing the author can do anything about really. What Bethesda did to remake the game is not only to make more flashy objects but also rethink what the game should really prioritize. Both Oblivion and Morrowind Priorities scripts above anything else. We see the effect of it when every damn modder use GameMode in their scripts ObjectScripts, specially if we add a loop, nothing will happen until the loop is done. Looping, Arrays and that stuff is included in the main game and nothing the SKSE team made up and SKSE is the equivalent to OBSE. OBSE allows us to make marvelous things and also make scripts that really looks good to the eye, optimizing our code, to allow us to make the game run faster even. OBSE also have a more social developer, well at least he respond to my questions and helped me out and I talk about Idle and also Kat as she knows this stuff. I have not made any object scripts yet, only Onactivate and ScriptEffectStart. The Onactivate script is at an object, a container and it only runs when the player close the container, so that event is OnClose. 3 Events. An Event in Skyrim is same thing as begin in Oblivion. Some stuff have different names but honestly, most stuff, well functions and abilities has the same names. It is hard to rename a function with a proper name that tell us what it is doing. It is also hard to not what is what in both games. In Oblivion we have, references and Objects. We call the references and do what ever we want with them easy and we cross variables here and there between the references and also quests to avoid using Globals as that is strickly unproper as a Global, no matter how big or small it is, will be accessible in the memory all time until we stop the application to run. Quest Variables is better to use or best is to strickly use Local variables. In Skyrim we have so much more. So much makes no sense to me really. Just making a simple package is damn hard with all properties and stuff we can add or change. Bethesda really made CK to be Object oriented with visual pointers here and there and everywhere. Calling a reference is not as easy as it is in Oblivion. It has a bigger Pyramid, like Game.GetPlayer() as one example or Game.GetObject() and we must be more specified about what it is we call from where. Just look at all objects that is in the way everywhere in Skyrim like big Trigger boxes or what ever everywhere, that makes it almost impossible to edit. I cannot even get to a bloody door in the editor. :D So lets make a simple spell in Skyrim: We need to make a new effect as the scripts are attached to an effect, not a spell. We do have an effect editor in Oblivion as well but the only purpose it has is to give different visual effects, nothing else. We do not need to edit them if we can use a premade one honestly. There is just a few good premade ones in Skyrim to use for scripts. Someone did make a good one in the Legacy of the Dragonborn, so I had to copy that one to get a bloody script to run at all. So how do we call an object, well i meant a reference in Skyrim? It is noit as easy as it is in Oblivion. In Oblivion, we adda name to the Reference and then we call that name from the script and thats it. Papyrus can only handle Variables, not references and the script it self seems to be in its own world. Let me explain: Scripts are inbuilt into the Game World in Oblivion but it does seems they are floating in their own space in Skyrim. When we use GetSelf in a script in oblivion, we get the reference pointer, the holder of the Object. If we use Self in Skyrim, we get the bloody script. So useless... ;) Well is it? If I want to get a variable from a Script, well then i call the script, not the reference and that really makes sense honestly. So lets get to the point. Lets make a reference, a bloody horse and we name the Reference to Horse02REF so to be able to get it into the Script, we must make a property and the property seems to be a pointer from the Script to the reference, so lets came that Property Horse01Ref so in the Script, this will be added: ObjectReference Horse01Ref PROPERTY as Auto That is the sane as we would do: Ref Horse01Ref in Oblivion But we can call the reference direct with Horse02REF.action but we cannot do that in Skyrim as there we have to use the Horse01Ref.action and this has been a bloody pain in the rear. I am so tired now :D If you wanna read more about my journey and questions and also read the answers and help I got, well peek here and hopefully you did also learn something from this. i might been writing something wrong here, so do not take everything I wrote as a manual, as I can still be wrong. I do not have any control of what i actually is doing in Skyrim at all. NONE!!! I will get there, with help of the nice community. Not that I really need to make many scripts as there is so many mods already that is doing what I need them to do, but still, some stuff is missing and I aim to add the missing stuff at least. My goal is to play Skyrim when I take a break from oblivion Modding, not to mod it. I do not need that headache really. My conclusion is that a script is running every 3rd second and that includes the loops. So as the game prioritize the Graphics and play experience, The scripts will slowly run in the background. I did notice this as I scan stuff, a lot of stuff and play at the same time. You can actually see this your self. Use my scripts in Skyrim and watch the Console and yes, the console updates in RL, so you see it updates every 3rd second and so does the gold and the weight of the Inventory. This is made within a single FPS in Oblivion. Here is the mod: Run it and open the console and see: https://www.nexusmods.com/skyrimspecialedition/mods/71234 Link to comment Share on other sites More sharing options...
HeyYou Posted July 16, 2022 Share Posted July 16, 2022 In Morrowind, and Oblivion, every script ran completely thru every frame.... so, stacking script heavy mods had a fairly significant impact on performance. (on the hardware of the time....) in skyrim, scripts run in a separate process.... Which makes timing the scripts problematic at times.... events don't fire when you expect them to, they tend to be delayed by a half-second or so. I know Duke Patrick (spookyfx) was rather disappointed in that, as it made some things he wanted to do in his combat mods either impossible, or, very clunky..... I also gotta say that I, personally, preferred the scripting language of Oblivion/OBSE, to papyrus...... Oh well. Link to comment Share on other sites More sharing options...
Pellape Posted July 16, 2022 Author Share Posted July 16, 2022 Yes exactly. It is like the game is not meant to be scripted. Inm the other hand, I did have to insert timers in my script for Oblivion to work, as the scripts do the oposit, trying to do things faster than the game can handle: Look at this video. I add a bottle into the rack every 0.3 seconds. :D I guess it even takes 0.5 seconds. I do think I pointed to the wrong forum on my Skyrim journey. It is here, in case it will aid anyone that wanna try it. https://forums.nexusmods.com/index.php?/topic/11664183-some-scripting-tips-making-a-auto-sell-stuff-mod I did write on both Sktrim Se and Skyrim forum, both 32 and 64 bots, as they are separated, but I got most help in the Skyrim LE forum. Some did read in both, like IsharaMeridan, that was very very helpful and so was Dylbill and Shred. They cannot answer all my questions but they did try their best. Honestly when Bethesda creates new tools, like the next generation of CK, I do really think they created educations for the staff. So they can practice the creations together with those that really developed the tools. It is the most obvious guess I can make. That is how we learn Networking as another example, going away for a week in a camp, learning the basic stuff. The rest we have to figure out out selves. The base is often good enough for a skilled technician. Trial and error is also damn good if you have a trial environment that is, a workshop environment where you can make mistakes without consequences. There are so many words inside the editor that says me nothing. Why all the lines for a single Magic effect? Well we have a lot of those in Oblivion too... ;) Just an example. Well I did promise a video right? Clonking bottles. :) With a delay included to actually work at all. If i would add all bottles at the flor at the same time, the script would still need that delay, so no matter how I do this, the delay is needed. It is actually 2 videos. As I needed to correct that error wee see in video 1 and continue recording the end in video 2. But this is how the scripts acts in Skyrim. They run every 0.5 seconds to 3 seconds. I do think my sorting scripts move 1 stack every 3rd Second, at least at my comp with 2 cores, but I guess the process is not threaded over several cores but IDK honestly. I do not even care as this is the way it is and not much we deadly mortals can do anything about. :) So i start the script and play the game, which is cool as well. :D I cannot sit there, waiting and do nothing when I do not need too. :D Link to comment Share on other sites More sharing options...
ClaytonM123 Posted September 4, 2022 Share Posted September 4, 2022 Honestly, i do not know where to type this no sense. I guess this is the place, as the main stuff in this analyze is really towards the Modding community. I take a short break to save this message as the forum is so screwed up, most likely because or that Gatcha thingie. YES, I AM HUMAN (I think) OBLIVION > SKYRIM any day. Skyrim is like a polished, golden-laced piece of s#*!. Compared to the honest, sturdy silver lining of Oblivion. Link to comment Share on other sites More sharing options...
IcelandicPsychotic Posted September 5, 2022 Share Posted September 5, 2022 Never played Skyrim that much but from what you wrote Skyrim's scripting seems a lot more restrictive than Oblivion. If you're creative enough you can do some pretty incredible stuff with scripts in Oblivion. Link to comment Share on other sites More sharing options...
RomanR Posted September 6, 2022 Share Posted September 6, 2022 (edited) For me it looks like you must be almost pro level programmer to make scripts in Skyrim. Demands for knowledge of OOP concepts and real-time systems are quite high, making it very hard to even begin. And seeing bugs you can still encounter or error log (if is turned on in .ini file) gives me a impression that even Bethesda's programmers had difficulties. And when I loaded original esm into Construction Kit and was met with error messages, I didn't bothered ever since. Edited September 6, 2022 by RomanR Link to comment Share on other sites More sharing options...
Pellape Posted September 12, 2022 Author Share Posted September 12, 2022 I agree completely. It took me weeks to make a simple script in Skyrim and I did not understand what the modders wrote that tried to help me as I wrote my questions even in 2 different forums, to be able to understand anything. Some stuff is the same like a majority of the functions but still, to even get there, that is the pain in the rear. The defining system is so damn complex, and we must define so much more than we do in Oblivion, well look at vanilla Oblivion where we only need to define Short, Float or Ref. One example: If we want to use or change or do something with a reference, we only need to make it Persistent in Oblivion and use it. In Skyrim, we have to define that specific Reference as a Property. One single reference or object can have multiple scripts, which makes it even more confusing and the whole script system is not part of CK really, as you deliever and compile the scripts outsdie CK, well you can compile them inside as well but they ae stored in separate files. Most modders so far, do not include their sources of their scripts, which also makes it harder to learn how they made stuff or backtrack a quest mod that is screwed up, where you need to open CK an try to figure out what is going on at all, you can't, not if the modder did not include the source, only the compiled file. This really bothers me a lot. I did learn a lot by looking at other players scripts, that are often better than Bethesdas own ones, specially if OBSE commands and functions are used. Link to comment Share on other sites More sharing options...
Recommended Posts