Jump to content

[Tutorial Request] making mods and where to begin?


Jappercut

Recommended Posts

Hey!

 

so i know that this might sound pretty noobish... but can anyone point me in the direction of various tutorials to help out a person, that is trying to learn how to make mods? i have zero to no experience with the geck so it would have to be from the very bottom and up.

 

i am just interested in getting into the basic stuff first, and then later on perhaps make some simple misc mods for sexout, if that isen't too pro for me :D

 

i know i should probably just search for it myself on google, but i would feel more comfortable investing time in something that an experienced user has approved off :)

 

Also i am open for all kinds of advice!  :D

Link to comment

What type of mods is the question, quest type, weapon / armor mods?

Probably best to start with finding someone elses similar mod and pulling it apart in GECK or even modding it to be what you want.

 

IMPORTANT RULE : before starting your first mod make a backup copy of your NV folder, because you will break your game completely at some point :)

Link to comment

Preface:  Get ready to sticky this, motherfuckers.

 

That is EXTREMELY n00bish of you...and that is okay.  ;)   Last September (give or take a month or two), I was a n00b.  Now I am...less of a n00b.  :D   You may address me as whatever a grasshopper++ is.

 

Don't know how much programming experience you have.  None is okay.  A large part of modding is fighting the interface, or that's how I feel anyway.  ;)   Scripting comes with time. 

 

Do what Hal said.  Take a mod you like/want to emulate some part of.  Open it in FNVEdit first to see what naming convention the author uses so that you don't waste your time trying to figure it out.  Open the GECK.  Look at how it works.

 

What kinds of mods do you want to do?  Companions or New NPCs?  Player House or New Building(s)?  Automated Inventory Sorter or similar Make-The-PC's-Life-Easier Functionality?  Quest?  Armor/Clothing/Weapons that have effects?  Each kind touches different forms/record types in the GECK.

 

Go Download:

 

Sites (a mix of tutorial sites and sites that I always keep open for reference):

  • GECK Wiki - Start here.  Download and install the GECK per instructions.  Beth has their own tutorials on there.  So do a few users.
  • GECK Wiki - Block Types - Info on the block types that are used in scripts.
  • GECK Wiki - Function Types - Info on the functions that you can use in scripts, conditions.
  • Gribbleshnibit's NVSE Documentation - SO. MUCH. INFO.  Valuable both for NVSE stuff as well as random codes for actors, weapons, controls, etc. that vanilla (non-NVSE) functions use.
  • Cipcis's Fallout Tutorials - Good info for beginners as well as people who have programming experience but not for Beth games.  There's an error in one of his more complex menu scripts.  There's a (button == 0) (or something like that) that should be (button == 1).
  • The Scripting 101 thread on here - Both n00bs and pros ask questions here.  People learn.  Sitcom ending.
  • DoctaSax's Advanced NVSE Tutorials:  Tut 1, Tut 2, Tut 3, Tut 4.  He's got great tuts.  *wolf whistle*  Read them.  Get your brain fuzzy.  Come back and reread them later when your brain dead has worn off.
  • Seddon(number)'s Tuts on YouTube - IIRC, he has a pretty thick Scottish accent.  Took me a little bit to tune my ear to it.  Bunch of videos on a bunch of different little things.  He fucks up at times but then corrects himself.

BE CAREFUL:  The GECK wiki has not been updated in a long-ass time.  When you're looking at something, look at the Discussion tab as well.  Sometimes there's additional info in there that really should have been on the original page.  Also, the links to the TES site don't work 98% of the time.  Copy the function you're looking for, search for it, be slightly less frustrated.

 

In my experience, to mod for Sexout, you need to be comfortable/familiar with the following things:  Base Effects, Spells, very basic scripting, how to add something to a formlist, make a basic Quest.  If you do not understand spells and base effects, you will hate life.  I sure did!  *thumbs up*

 

Want to learn how to start actors having sex?  Look at Sexkey or Rape Game for hotkeys or Sexout Sex for initiating through dialogue.

Want to learn how to make things happen after the actors have started having sex?  Check out Positioning or Character Resize.

 

Threads:

When you have problems with modding for vanilla NV or Sexout, search here or google the addy for the nexus, the word "GECK", and your issue.  Someone's more than likely had it before.

 

Since I feel like I've been writing from the left side of forever, I bow out now.  I'll come back for anything else I remember, and the shit that I learned after much pain/suffering/searching.

 

EDIT (6/20/14):  Random Advice

  • DON'T SCRIPT IN THE GECK.  Open your preferred scripting program (mine is Notepad++), script there, copy/paste into the script in the GECK.  That way, you have control of the formatting, and if the GECK crashes, you are less fucked.
  • You can't equip misc items.  Ever.  Period.  If you need a player to equip/unequip something for control purposes (hence, not a weapon or clothing), use a book.  Set the "Teaches Skill" field to None.  That is the ONLY way that it works.
  • Gribbleshnibit (whose NVSE commands paged was linked above)  has a GECK/NVSE syntax highlighting language file for Notepad++.

 

 

 

Link to comment

Thanks guys

 

and nice list nyaalich! that is exactly what i wanted :D

i am thinking about doing simple stuff to begin with, simply adding an NPC or the like, but i will open a simple mod and check it out.

i have novice to some advanced programming experience, i have completed courses in Object Oriented Programming and MS Access courses in college, also i have tried simple stuff in the Skyrim Creation Kit, i am guessing, that it might be slighly similar? :)

 

thanks again, once finals are over, i will have alot to play with during the holidays :D

Link to comment

Thanks guys

 

and nice list nyaalich! that is exactly what i wanted :D

i am thinking about doing simple stuff to begin with, simply adding an NPC or the like, but i will open a simple mod and check it out.

i have novice to some advanced programming experience, i have completed courses in Object Oriented Programming and MS Access courses in college, also i have tried simple stuff in the Skyrim Creation Kit, i am guessing, that it might be slighly similar? :)

 

thanks again, once finals are over, i will have alot to play with during the holidays :D

Ah well if you are getting into any scripting we strongly suggest you use NVSE & NX_Extender, they give you heaps more scripting functions. NX Variables will save you heaps of code on complex scripting mods.
Link to comment

 

BE CAREFUL:  The GECK wiki has not been updated in a long-ass time.  When you're looking at something, look at the Discussion tab as well.  Sometimes there's additional info in there that really should have been on the original page. 

Well thats not 100% true ;) Nice advice though.

 

----

@OP:

 

If you want to make a sexout mod, try out using my 'Sexout EZ' which I just uploaded today. Its very simple to use and very forgiving. You can more or less do everything with it that you can with the real call interface but as a 1-liner.

 

Basically you just give it a list of actors and say what you want them to do in English.

Link to comment
Guest tomm434

 

DON'T SCRIPT IN THE GECK.  Open your preferred scripting program (mine is Notepad++), script there, copy/paste into the script in the GECK.  That way, you have control of the formatting, and if the GECK crashes, you are less fucked.

Can't agree. Scripting in GECK is quicker. If one can't write a script properly, it's his problem. My scripts used to be a mess when I started scripting but then I managed to write thet in the way I can understand them later. Comes with experience(in fact it comes when you need to edit your old script and you understand that you don't understand a shit). The only cond of using standalone editor for me is that when you start typuing a function it gives you the end of it (I can't explaing, poor english)

 

Odessa, aren't you afraid that newbie scripter will get used to your esp and won't be able to do anything without it? he at least should know what the code is(NX or Quest variant). If someone gave me something like you have, I woudn't want to figure how system works by myself.

 

Jappercut, I agree with nyaalich that you should check others mod first. it is always easier to edit something that already done than doing it from scratch.

 

 

Link to comment

No, I'd say whilst SexoutEZ is sufficient to do anything you want, why bother learning the lower level to repeat whats already available if you'd prefer to be making new content. You could say the same thing about using Sexout at all rather than creating your own framework, or programming in C instead of writing your own language. Sooner or later you may want more power than it provides, or just get curious, but why make the learning curve steeper than it needs to be. Incidentally, all those scripts are free for anyone to do whatever they want with, if you prefer you can just copy them into your mod and modify them to your taste.

 

I'd disagree massively about not using a text editor, but then I've been coding in Vi for years.. (hmm, I missed a bracket on line 77 and typo'd somefqnction I'll just type: 'ESC : 77 $ a ) ESC / somefq r u ESC :w' Yeah.. takes a while before that kind of thing becomes second nature, and I heard someone invented mice at some point after 1976). The GECK text editor is crap though, ignoring its lack of functions the fonts characters are not consistently sized and some look the same.

Link to comment
Guest tomm434

 

No, I'd say whilst SexoutEZ is sufficient to do anything you want, why bother learning the lower level to repeat whats already available if you'd prefer to be making new content. You could say the same thing about using Sexout at all rather than creating your own framework, or programming in C instead of writing your own language. Sooner or later you may want more power than it provides, or just get curious, but why make the learning curve steeper than it needs to be. Incidentally, all those scripts are free for anyone to do whatever they want with, if you prefer you can just copy them into your mod and modify them to your taste.

Agree. I used the same technique when doing raider sex with PC - so much easier to type "call aaraiderSex anal\vaginal\oral" than setting NX variables again.

 

but in my opinion it's a bad thing for people who are new to Sexout modding. I recalled the old saying about teaching someone to catch a fish rather than giving it to him. You'll not always be around to keep up at Sexout updates. Who knows what changes might occur in it.

Nice script by the way.

 

 

 

I'd disagree massively about not using a text editor, but then I've been coding in Vi for years.. (hmm, I missed a bracket on line 77 and typo'd somefqnction I'll just type: 'ESC : 77 $ a ) ESC / somefq r u ESC :w' Yeah.. takes a while before that kind of thing becomes second nature, and I heard someone invented mice at some point after 1976). The GECK text editor is crap though, ignoring its lack of functions the fonts characters are not consistently sized and some look the same.

Geck editor is indeed crap compared to standalone editor. I just hate copying script from one programm to another, easier for me to click save and forget about it(or fix my mistake if I made one). And it is uncomfortable to have 2 windows opened at the same time. brrrrr.

Link to comment

Thanks guys

 

and nice list nyaalich! that is exactly what i wanted :D

i am thinking about doing simple stuff to begin with, simply adding an NPC or the like, but i will open a simple mod and check it out.

i have novice to some advanced programming experience, i have completed courses in Object Oriented Programming and MS Access courses in college, also i have tried simple stuff in the Skyrim Creation Kit, i am guessing, that it might be slighly similar? :)

 

From what little I know of skyrim scripting, things aren't quite the same.

 

One thing missing from nyaalich's list of sources would be some intel on the very basics of modding: references versus base forms, variables, behavior of quest scripts v spell scripts v object scripts v result scripts. For some reason, there's no coherent tutorial about that yet; people just assimilate & internalize that as they look at other people's work and fail at their own.

 

Link to comment

What DoctaSax said is true.  Took me a long fucking time to pick up on the stuff that he listed, and there are some things about timing that I'm still a bit fuzzy on.  However, no write-up exists, and I am currently not confident enough in my knowledge (and to be honest not motivated) to write up a tutorial that would have the right information in it the first time.  It's hard to unlearn something when you've learned it wrong at introduction to the subject.

Link to comment
Guest tomm434

Yes. Had an idea of writing everything I learned in 101 thread down in one tutorial but that would not be a tutorial but a pile of tips slumped together(like random advice block in Nyaalich post)

Link to comment

I've been meaning to write a from the very beginning tutorial at some point. Heres a start

 

Variables

 

int: when stored it will always be whole, and is rounded down. However in between storage it may be a float.

 

int Five = 5

int Two = 2

Int X = Five / Two ;  will equal 2

Float F = Five / Two ; will equal 2.5

 

short === int (exactly equal. Do not use, they're pointless)

 

Float: Has a decimal point. Note: floats are imprecise due to their nature in computer science, for example: 0.1 + 0.2 = 0.300000000004. AAAAAHHH!!! Terrifying. (Exact value might differ depending on float implementation) You don't often need worry about that though, its rarely contextually significant, although if you did something like:

float f

let f := 0

while (f != 1)

   let f += 0.1

loop

 

Thats dangerous. f might never be exactly 1. In the above example, using '>=' would be reliable.

 

string_var : stores a string of characters "string contents". (simplified)

array_var : stores an array that could contain anything.  (simplified)

 

Ref (variable)

 

A ref variable points to something else, that is not a script variable (it stores a FormID). It may or may not point to an actual reference, it could point to a base form, or to nothing at all.

 

---------

 

Game Types

 

Base Form: Something that exists in the GECK. There are many types of base form, like weapon, ammo, NPC, etc.

 

Reference : An instance of a base form in the actual game world.

 

Inventory Item: Oh Jesus... Items in an inventory are not references. I think they something like base objects with a count and condition associated. Can anyone explain?

 

----

 

Does anyone have something to add/correct to this?

Link to comment
Guest tomm434

So for whom will you be writing this? I mean is this person is completely newbie to scripting or does he know basic things?I mean If I were a completely newbie, I would be scared off by this because there are too much information for me. At least I would have deleted strings and floats from the very beginning.

Link to comment

I see it as two separate issues:  Using and understanding the GECK and scripting. 

 

The way that aspects of GECK works has always felt backwards to me.  Learning how forms chain together (spell, base effect, enchantments).

 

If you've ever solved an equation for X, you can script.  Is it as simple as that?  Of course not, but you could do very basic quest mods where the quest script does nothing but store variables that you set and check for with dialogue.  There's new vocabulary to learn ("oh...float just means a number with a decimal") and math functions that people probably haven't used before.  For example, I never encountered modulus until programming.  And of course, there are all of the block types and actual functions that are in use in the GECK not to mention NVSE.

 

There are greater intricacies than what I stated about programming, but on a basic level, I don't think it needs to be more in-depth.

 

EDIT:  As in going to the storage size of the different variable types, etc.

Link to comment

@ jaam: thanks, I clarified the wording.

 

@ tomm343/nyaalich: good point. It should probably be written more like:

 

int/short: stores a whole number

float: stores a number with a decimal point

ref: some game object, like an actor or item.

 

and have a foot note for extra details, while getting straight to the 'meat' (spells/objects/quest scripts) next.

Link to comment

What I can say is that I'm a technical writer IRL.  The problem with people like you, Odessa, is that you know too damned much.  ;)   You're so used to talking about it at a high level that you take for granted that the person you're speaking to knows what you're talking about and will safely make the same assumptions that you do.  In fact, as I become more comfortable with modding, I've noticed that I've started slipping into that mode too when I explain why the thing I fixed was broken, if the end user isn't a modder, they really won't fucking care about the intricacies of a function impacting why something didn't work.  They want to know that it's fixed.

 

Thank god that people like you exist and people who don't understand a goddamned thing exist so that I can have a job helping you guys understand one another.  ;)

 

While I am not le best editor ever, should anyone write something, I would suggest passing it by me first for n00bifying.  In the beginning, I was optimistic that I too would write something that would later serve as a tutorial for people new to modding, but since you learn things in bursts in the midst of "why the fuck isn't this working," the focus instead went to getting the thing to working.

Link to comment

I still only script in GECK though I use Notepad to do Replace sometimes when I do things like have the same script for 22 critter types. I really will upgrade to Function calls soon I think. I'm sorta waiting for some of the bugs & idiosyncrices to be known :)

 

And I think Odesa's SexoutEz is great idea, even for newer modders how have enough to learn about everything when dropped in the deep end of GECK, if they produce great mods relying on it because they don't want or need to become a NVSE expert scripter to make their mod, I don't see a problem.

 

All this Uber powerfull NX Eval/Call/Function stuff is great news, but a lot of it is over my head too. And it's a crazy train you got to stay on to know where it's going :)

 

For some newb modders they just want to simply check for a Pregnant token for a uber text dialogue mod, I will always try to support them as well as the NX stuff for those that want detail.

 

There are young new people who want to mod who don't even know how to open a GECK yet and have never done any computer programming, we might as well be speaking Gibberish to them :)

Link to comment

Just to clarify, I wasn't talking down to Odessa or anyone else (more like praising while speaking up on behalf of future end-users).

Yeah I think we all realise that, there's nothing wrong with healthy friendly discussion of opinions on the subject :)
Link to comment

@Nyaalich: I didn't take offense, some constructive criticism was exactly what I was looking for. You're quite right, its been so many years since I started out that I forget the complexity of the basics. I mean, this is an obvious 1-liner, right?

 

    for player in self.game.players: episode['players'].append(player.get_view_from(self))

 

That, and I'm used to explaining technical stuff to people that understand what I'm talking about, but assume I don't, so over justify everything. Its probably better to put a note at the start saying 'This is a simplified overview that is enough to get you started, but you may see notes on debugging at the end for extra technical accuracy, if necessary'. How about if I write something (it will be short) and you can give it a read and tell me what looks not never-coded-before friendly?

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use