19 posts / 0 new
Last post
Gribbleshnibit8
Gribbleshnibit8's picture
Administrator
Offline
Last seen: 1 month 6 days ago
Joined: 11/03/2012 - 19:06
Karma: 614
GECK Scripting Tutorials - Interest In and Ideas

Interest has been shown by several people now in a modding tutorial of some kind for scripting. I'm willing to create some tutorials, video or written, but I'd like some help coming up with the content.

So, give me some ideas of what you guys want to see, need help with, etc. I know NVSE usage is high on the list, as there's very little in the way of examples or usage for a lot of the NVSE functions without diving into mods that use them.

Here's what I have so far, as things I've been working on recently:

  • Overview of NVSE, setting up environment, tools, plugins, and workflow for scripting with GECK
  • Function calling conventions - roybatty
  • Arrays and Strings
  • Compiler Override
  • User Defined Functions
  • Ref walking - gallahorn
  • Creating an MCM.
  • Saving your mod's settings to a .INI file, cross character data loading.
  • Dynamic length message box menus

These ideas are almost entirely NVSE related, which I think is the bigger stumbling block for most people. After all, the vanilla script is all fairly well documented and used in the game.

TTW Version Compatibility: 

v2.8

Rating: 

0
Your rating: None
0
No votes yet
Edited by: Gribbleshnibit8 on 04/03/2015 - 21:10 Reason: reordered list of ideas
Gallahorn
Gallahorn's picture
Offline
Last seen: 1 year 2 months ago
Joined: 07/26/2014 - 03:37
Karma: 47
Examples on advanced scripts

Examples on advanced scripts like refwalking how they could be used and modified? And a walkthrough of some more advanced scripts what different parts do and how they connect?

rickerhk
rickerhk's picture
Team Member
Offline
Last seen: 10 months 3 days ago
Joined: 09/17/2012 - 06:50
Karma: 140
Donor
Items 2 thru 7 (mcm->arrays)

Items 2 thru 7 (mcm->arrays) would be high on my list. It's been awhile and all that stuff is new to me.

RoyBatty
RoyBatty's picture
Administrator
Offline
Last seen: 5 hours 8 min ago
Joined: 04/27/2014 - 03:26
Karma: 5844
Donor
Mentioned the other day I'd

Mentioned the other day I'd really like one on all the calling conventions.

 

Puppettron
Puppettron's picture
Team Member
Offline
Last seen: 3 months 3 weeks ago
Joined: 11/23/2013 - 14:47
Karma: 1960
script troubleshooting

script troubleshooting practices

perms:  either a full fireworks display spelling out "Puppettron Made This" anytime a user accesses my content in-game, or just give me credit somewhere.

help me fight starvation:  http://www.gofundme.com/vr56rc

Gallahorn
Gallahorn's picture
Offline
Last seen: 1 year 2 months ago
Joined: 07/26/2014 - 03:37
Karma: 47
MessageBoxEx and simillar

MessageBoxEx and simillar with buttons and how to format them.

Nvse functions and how to read them on your page or the wiki some are easy to understand and some are harder if you are like me with no background in programming at all.

how to make custom hotkeys and detect key presses

Anacostia Crossing
Anacostia Crossing's picture
Trusted Poster
Offline
Last seen: 1 year 6 months ago
Joined: 03/24/2014 - 00:45
Karma: 77
Gribbleshnibit8 wrote:

Gribbleshnibit8 wrote:

 video or written

I find very complicated understanding certain written things, I think a video would really give a bigger possibility to understand what's happening in a script. However everything will be very fine, thank you.

DoctaSax
DoctaSax's picture
Trusted Poster
Offline
Last seen: 1 year 3 weeks ago
Joined: 08/14/2013 - 12:29
Karma: 3
If this is still on, I wouldn

If this is still on, I wouldn't bother with actual refwalking - it may be a thing of the past now that NVSE has the GetRefs function, with similar object type filters and the cell depth parameter. It just dumps all such refs in an array at once, and then you can loop through that, sort it, delete stuff from it etc etc with the array functions. It's more flexible that way.

TJ
TJ's picture
Team Member
Offline
Last seen: 6 months 1 week ago
Joined: 09/17/2012 - 06:06
Karma: 2845
Donor
GetRefs / GetRefsInCell is

GetRefs / GetRefsInCell is still considered refwalking by most who do such things, it's just much quicker and more versatile.

My project Dash is on Kickstarter!

MajinCry
MajinCry's picture
Offline
Last seen: 1 week 2 days ago
Joined: 04/09/2013 - 12:36
Karma: 183
Ooh, this is a thing? I've

Ooh, this is a thing? I've got a couple o' suggestions.

1. Persistent script packages; as far as I am aware, adding a script package to a ref will not persist through game reloads, loading save games and cell changes (might be misremembering that last one).

2. Making an NPC play an idle until made to do otherwise by the player. Ideally, this would be persistent through save games (you reload, the NPC will still be playing that idle in the same spot) and will not stop functioning when the player changes cells.

Learning how to do these would be a major boon.

RoyBatty
RoyBatty's picture
Administrator
Offline
Last seen: 5 hours 8 min ago
Joined: 04/27/2014 - 03:26
Karma: 5844
Donor
If you need persistent

If you need persistent packages just add them to the NPC's packages and set conditions on them. You can move the packages around in the tree with the arrow keys (something I learned a short time ago) so you can keep the amount of conditionals to a minimum. Packages are evaluated from top to bottom.

MajinCry
MajinCry's picture
Offline
Last seen: 1 week 2 days ago
Joined: 04/09/2013 - 12:36
Karma: 183
RoyBatty wrote:

RoyBatty wrote:

If you need persistent packages just add them to the NPC's packages and set conditions on them. You can move the packages around in the tree with the arrow keys (something I learned a short time ago) so you can keep the amount of conditionals to a minimum. Packages are evaluated from top to bottom.

 

That'd be a little, err, conflicting. Adding packages to every NPC (damned if I know which NPC I'll want to have guarding my shelf of molerat meat and bloodied skulls)...Well, yeah.

RoyBatty
RoyBatty's picture
Administrator
Offline
Last seen: 5 hours 8 min ago
Joined: 04/27/2014 - 03:26
Karma: 5844
Donor
Well then just keep some

Well then just keep some variables in your quest script to check what NPC has a script package applied and re-apply them in a GetGameLoaded block. Variables in quest scripts are persistent.

MajinCry
MajinCry's picture
Offline
Last seen: 1 week 2 days ago
Joined: 04/09/2013 - 12:36
Karma: 183
RoyBatty wrote:

RoyBatty wrote:

Well then just keep some variables in your quest script to check what NPC has a script package applied and re-apply them in a GetGameLoaded block. Variables in quest scripts are persistent.

 

See, this is why I get my nutrition from tutorials. I never knew there was a GetGameLoaded thingymajigger, nor that quest script variables are persistent.

RoyBatty
RoyBatty's picture
Administrator
Offline
Last seen: 5 hours 8 min ago
Joined: 04/27/2014 - 03:26
Karma: 5844
Donor
If they weren't then

If they weren't then companions and other stuff would all be broken as hell :D

TJ
TJ's picture
Team Member
Offline
Last seen: 6 months 1 week ago
Joined: 09/17/2012 - 06:06
Karma: 2845
Donor
April Fools.... ?

April Fools.... ?

My project Dash is on Kickstarter!

Puppettron
Puppettron's picture
Team Member
Offline
Last seen: 3 months 3 weeks ago
Joined: 11/23/2013 - 14:47
Karma: 1960
probably like any other grib

probably like any other grib project.  gets ideas going, gets somewhat started, finds something else to do and will come back to it eventually

perms:  either a full fireworks display spelling out "Puppettron Made This" anytime a user accesses my content in-game, or just give me credit somewhere.

help me fight starvation:  http://www.gofundme.com/vr56rc

Gribbleshnibit8
Gribbleshnibit8's picture
Administrator
Offline
Last seen: 1 month 6 days ago
Joined: 11/03/2012 - 19:06
Karma: 614
I had school projects and
I had school projects and stuff. Now I'm 'just' looking for a job. I do have several of these written out in notes, and am mostly trying to figure out the best method of making them. Probably will write them as wiki articles.
Puppettron
Puppettron's picture
Team Member
Offline
Last seen: 3 months 3 weeks ago
Joined: 11/23/2013 - 14:47
Karma: 1960
see?  i was right

see?  i was right

perms:  either a full fireworks display spelling out "Puppettron Made This" anytime a user accesses my content in-game, or just give me credit somewhere.

help me fight starvation:  http://www.gofundme.com/vr56rc