Jump to content

Scripting Differences With Skyrim?


Recommended Posts

Hi guys,

So I've been making mods for Skyrim for over a decade now, I think. But I've never made a mod for Oblivion. I, however, want to make a mod for Remastered. I'm using the construction kit for regular Oblivion to do it, it's already installed in the right place and everything.

Anyway, I want to do some scripting, but it seems to me that there are some significant differences in scripting Oblivion compared to Skyrim. I tried to edit the script for a quest by adding the whole "PlayerRef = Game.GetPlayer()" thing which normally works fine in Skyrim, but it gave me an error in this case. Just taking a quick look at some of the pre-existing scripts, it also seems to me that there are some significant differences.

Could somebody either explain to me in broad terms what kind of differences there are? Or, if there are too many significant differences for that, connect me to a resource where I can learn more? Preferably not a Youtube video or something because I hate following video tutorials. I just want something I can quickly read in exactly what I need to know.

Edit: As a sidenote, what I want to do here is get the player's class, put it in a notification and then use an "if-then" kind of structure to do certain things depending on what class the player is. So if you could give me that as an example that would be tremendously helpful.

Link to comment
Share on other sites

Oblivion's scripting language is called Legacy, or some people call it Obscript. Skyrim uses Papyrus. Oblivion's scripting language is like BASIC. See my pinned topic in the Construction Set and Modders sub-forum for a link to the CS wiki and other sources to get started.

Link to comment
Share on other sites

Posted (edited)

@AndalayBay's comparison to BASIC is quite fitting. There are different commands and functions, also it uses classic structural programming and by itself is much simplier than Papyrus - there are no advanced things like string variables, fields or loops (which are added by OBSE). However getting a class is very simple using GetIsClass (for NPCs) or GetPCIsClass (obviously for player only):

...
if GetPCIsClass Bard != 0 ;you can ommit != 0 if looking for TRUE
   ....
endif

 

Edited by RomanR
Link to comment
Share on other sites

On 5/4/2025 at 1:37 PM, RomanR said:

@AndalayBay's comparison to BASIC is quite fitting. There are different commands and functions, also it uses classic structural programming and by itself is much simplier than Papyrus - there are no advanced things like string variables, fields or loops (which are added by OBSE). However getting a class is very simple using GetIsClass (for NPCs) or GetPCIsClass (obviously for player only):

...
if GetPCIsClass Bard != 0 ;you can ommit != 0 if looking for TRUE
   ....
endif

 

Thanks, I'll give that a shot.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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