Timestamps; 5:10 - Factions, AI data and editing actor tables 13:40 - Adding script fragments 22:18 - Introduction to papyrus and the editor* 27:45 - Creating your own scripts from scratch (syntax, references, extensions and more) 41:28 - Adding comments to your code 33:40 - Events & functions (sometimes known as responses) 58:25 - Object references and defining variables 1:13:26 - Compiling your script 1:15:05 - In game demonstration *Notepad ++ is recommended as an external editor, I use it a lot and its much better than notepad by a mile. You can get it for free here: notepad-plus-plus.org/download/v7.7.1.html
I have learned to mod Fallout only because of you and this series. Your tutorials are excellent, and I very much appreciate the time and effort you have put in to make them. Here it is years later and these videos are giving me something fun and cool to do in my free time, and I'm sure it's not just me. Just now getting into the more complex areas like scripting and quest making and really amazed at how customizable these Bethesda PC games are. I'm new to all this... been an XBOX player for years and only sprang for a gaming PC last year, but with your tutorials making mods for Fallout has become one of my favorite things to do. Thanks again.
LOL! Thanks for answering a question that was driving me a bit nuts. I was searching the net for Papyrus comment blocks because I was seeing them in code I was studying but I wasn't sure that's what they were ... so I did a search and came up with nothing. You answered that for me in this video. Very well done video by the way.
As a programmer, I can say you're doing a wonderful job KG! I came here looking for how to subscribe to events from other classes (e.g. a Quest extension registering for an Actor event) but I just ended up listening to the whole thing because you're so eloquent. I picked up a bunch of useful tips, thank you.
Hello, Foxel here :) ! I think the content was clear enough for someone with basic skills in Programming. A a total beginner, well maybe the explanation variable can be not 100 % clear but nothing a small google search couldn't fix. Anyway, good work and thanks for that tutorial :) !
Yeah, okay, my impression: Finished watching this (after my last comment). It's well done. Most tuts I watch don't even have the courtesy to gloss over complex references, they just drop them on you and it's up to you to figure it out. At least you point out when something is a complex topic so those of us who are interested will know to go look that up and get it defined. Or you promise to discuss it in a later video. I've just started watching these and so far this tutorial has been the best I've found for Papyrus/Creation Kit scripting introduction compared to all the others I've looked at so far. I'll keep watching your tuts in sequence and I hope you've covered enough of the scripting concepts that I can create in Fallout 4 like I want to. In essence, I got through this video with decent conceptual understanding ... and without yawning. Yawning is a definite sign that you've passed up something misunderstood (unless you haven't slept). I really appreciate your effort in this video.
As for feedback; I've been using papyrus for about 7 years and the CK for 5 and honestly I felt the pacing was ok. You didn't ramble at all and kept it very concise and focused. The window swapping disorientated me a bit but that is the only negative point I have. You did a really good job imo.
Along the same lines, as for someone who has used the CK a fair bit but totally brand new to scripting I think it was spot on. This one along with 3DS Max Intro are truly the most exciting additions to Bethesda Modding School so far especially since they may be among the hardest things to learn via pure trial and error.
Hey King, I'm a big fan. Thank you so much for making all of your tutorials, but especially this one. I've had a hard time grokking Papyrus, and this help immensely.
Hey KG, since you asked for it I am very new to using the CK (and modding in general) currently and I'm kind of jumping around between your tutorials so that I can get the gist of what I need to know in order to do the thing that I'm building toward. (that being said I am watching the entire video in each case because I do want to learn more little stuff that you might cover as it relates to the topic so I'm not just scrubbing through videos or anything) I have an associates degree in "graphic communication" which basically means I learned about marketing and branding to some extent and I also learned about using the adobe CS and I've just done artwork for a long time. I also went to vocational school in high school which was my real intro to adobe and photography/videography/web design/animation and that was just further developed in college. As far as this tutorial goes a lot of what you said really kind of made sense because of my experience with Action Script in Flash and I guess HTML in Dreamweaver although that stuff is several years back in my past and I don't do any of this stuff professionally but I have kept up with some things over time because I really like the subject of course but most of the specifics of those languages have faded in memory a fair bit. If I were to go back over some quick primers about stuff then I'm sure that I would snap back into all of that but the biggest things I always leaned into were Photoshop and later on I really started getting into After Effects. I would say that this tutorial has left me wanting some because you really just went over specifics about making one particular thing work although as always you did a great job explaining all of those parts. The thing is that I don't want to make a deployable turret mod right this second although you got me interested in it a little. Right now I stared learning to create a workshop mod probably just like half the people who are watching your stuff but I'm doing that as my starting point because I think it's pretty attainable and I always wanted workshop mode to be way more flushed out than Bethesda made it so I'm trying to make my version of a workshop overhaul. Ultimately I want to reorganize the building menu to be structured more like FO76 so it isn't so STUPID though that isn't absolutely necessary and I want to add a lot of craftable objects to the game which are already there but Bethesda couldn't add to the workshop to begin with for reasons unknown. I'll probably do some kit bashing as well and maybe add some new workbenches. I also want to re balance crafting requirements and scrapping returns because they're totally unrealistic and I like more realistic survival based kind of gameplay. Wasn't planning on doing anything for Sim Settlements since I like to build my own stuff not have it appear for me but the appeal is growing on me a little. Most of what your tut did for me though is tell me that I need to go to the CK guide and use that to try to get more of the basics and build up to stuff that will let me do that stuff with reorganizing the building menu (seems to me that I'm on the right track for that). Simultaneously I might just drop out of all of this if it ends up getting too complicated because I do have a job and other things to do and what I really want to make is my own entire Fallout game based on the area where I live that you can jump into from the base game early on. I realize that is a lot of work but after going through what I have learned so far I think I could still get there eventually but we'll see what happens. Hopefully this tells you everything you wanted to know and I didn't drag it out too much. Good luck with the new kid! I really appreciate what you're doing here and you're doing a great job of it so far. If content ends up being delayed then I completely understand. So far I think you've done enough as it is just to get people going and point them to the right resources. Looking forward to more.
I'm a little confused by line 6 at 56:14. According to the docs, getPlayer() returns an Actor, the one that is the player. How will an ObjectReference be equal to an Actor? Actor extends the ObjectReference so I'm assuming there is some polymorphism going on, where an Actor is an Actor and an ObjectReference? I don't have much programming experience in languages like Java but a lot in web based programming, JavaScript, TypeScript and not so much PHP. Great tutorial all the same. It's great that someone like you is making a full series like this.
My skill is fairly middling in papyrus to say the least; most of what I've learned has been from different sources and with varying accuracy. I can usually accomplish what I want to do, but in all honestly I probably only truly "understand" about half of what my more complicated scripts are doing. All of that is to say that i find it so, so helpful to get this kind of measured and thoughtful explanations of how papyrus works, from both close-up and birdseye perspectives. As just one example: I had no idea that when I use Game.GetPlayer() that I'm actually referencing a function from another script. It seems obvious now, but I had no idea--and that makes me want to look at my work again and think about other ideas and implications of that. I'm still getting my head around storing Objectreferences as you mentioned, as I feel that's something I'm almost never doing, and that could come back to bite me! Needless to say, I'd love to see many more videos like this, and I'm sure I'm not alone in that.
I've never scripted/programmed (I don't even know the difference) outside of some Basic programming at school on a TRS 80 when I was 10 (1983). I thought the video was dense but easily followed. I will have to watch it a couple of times, but I need to do that with his about any instructional video. I won't admit how many times I watched and rewatched Gopher's videos for people who've never used mods when I first started. His videos are brilliantly aimed at noobs, so if I had to watch them more than once, saying the same about this video isn't a condemnation.
Old video but I thought I would just mention that from my experience with the Creation Kit website, the plugin NoScript seems to stop the DDOS protection page from popping up. Thought that would be helpful to anyone who is trying to get into this but is irritated that everything takes so long to look up.
I'm a little puzzled about line 12. It looks to me like you stored the commands necessary to spawn a turret in a variable but I can't see how they then got executed. I'm feeling dumb here.
Thanks for sharing. What else may be needed to make mods for Fallout 4? Is this all is needed? We have experience in programming in C, C++, Unix, Python, and similar.
You could make mods with just the Creation Kit! If you want to get into customizing models and the like, you'd need some other software which I've gone over in some of the other 101 lessons.
Learning to program from scratch is easy. Especially Papyrus, which is technically not a programming language like C++ or Pascal, it's a scripting language like JS or PHP (pedantic/useless info..I know). Papyrus is relatively simple and limited compared to larger scope languages. So learning it or any language from scratch with no experience is the easy part. The hard part is learning new languages and syntax after years of using the same few languages every day. I'm constantly putting JS or Python syntax in random places when I'm not thinking. A good IDE could catch it if you set up Papyrus support, but I still get mad every time I do it. Good thing AI will take all of our jobs soon and none of this will matter.
I tried following this word for word, taking notes as I went, but when it came to "compiling the script", it just repeatedly told me everything I did was wrong. You said that "native flags" weren't necessary, but the Creation Kit was telling me I had to use native flags or " no viable alternative at input", etc. I want to learn Papyrus, but it's frustratingly complicated, and every tutorial I follow never seems to work :x
That likely means you don't have the base game scripts extracted. When you first install the CK it will ask you if you want to extract them. They should end up in Fallout 4\Data\Scripts\Source\Base If you don't have a bunch of .psc files here, the compiling is going to fail. I believe the CK installs the zip file with all the scripts in Fallout 4\Data\Scripts\Source\Base if you need to extract them yourself.
@@kinggath I have thousands of .psc files in my Source\Base folder. There is an Archive called "Base" there though, but it seems like I already have the files in it. I guess I should extract that and find out? I also didn't know you had to patch the Creation Kit until an hour ago. Maybe that's also the issue? I'll try all these, and try to compile again. Edit: I already have all the .psc files stored in that archive, and the patched CK didn't make a difference either. I don't know what to do.
I've used the console command Placeatme to spawn in a few turrets while playing. But if I remember right, I always have to use the command setangle x 0; setangle y 0 then modangle z to get them situated the way I want. Why do your turrets come in already upright?
The script I used in my version of the mod is a little more complicated than what I showed (my version does use SetAngle). I decided to cut a lot of the coverage of the next phase of the script to not overwhelm people and to keep the video shorter. In the next scripting tutorial I'll go over it in detail.
@@kinggath I just got into my game and tested my statement. The turret spawned upright - just like a normal NPC would. So my memory was flawed. I must have got them mixed up with floor sections I brought in at the same time. I was building a whole turret platform across from the Supermutant camp just south of Hangman's Alley to help protect my supply line that frequently pathed through there.
Timestamps;
5:10 - Factions, AI data and editing actor tables
13:40 - Adding script fragments
22:18 - Introduction to papyrus and the editor*
27:45 - Creating your own scripts from scratch (syntax, references, extensions and more)
41:28 - Adding comments to your code
33:40 - Events & functions (sometimes known as responses)
58:25 - Object references and defining variables
1:13:26 - Compiling your script
1:15:05 - In game demonstration
*Notepad ++ is recommended as an external editor, I use it a lot and its much better than notepad by a mile.
You can get it for free here: notepad-plus-plus.org/download/v7.7.1.html
5 years on, messing about with the Starfield CK, and this is still a god-tier resource. Many thanks!
I have learned to mod Fallout only because of you and this series. Your tutorials are excellent, and I very much appreciate the time and effort you have put in to make them. Here it is years later and these videos are giving me something fun and cool to do in my free time, and I'm sure it's not just me. Just now getting into the more complex areas like scripting and quest making and really amazed at how customizable these Bethesda PC games are. I'm new to all this... been an XBOX player for years and only sprang for a gaming PC last year, but with your tutorials making mods for Fallout has become one of my favorite things to do. Thanks again.
LOL! Thanks for answering a question that was driving me a bit nuts. I was searching the net for Papyrus comment blocks because I was seeing them in code I was studying but I wasn't sure that's what they were ... so I did a search and came up with nothing. You answered that for me in this video. Very well done video by the way.
As a programmer, I can say you're doing a wonderful job KG!
I came here looking for how to subscribe to events from other classes (e.g. a Quest extension registering for an Actor event) but I just ended up listening to the whole thing because you're so eloquent. I picked up a bunch of useful tips, thank you.
Hello, Foxel here :) !
I think the content was clear enough for someone with basic skills in Programming.
A a total beginner, well maybe the explanation variable can be not 100 % clear but nothing a small google search couldn't fix.
Anyway, good work and thanks for that tutorial :) !
Yeah, okay, my impression: Finished watching this (after my last comment). It's well done. Most tuts I watch don't even have the courtesy to gloss over complex references, they just drop them on you and it's up to you to figure it out. At least you point out when something is a complex topic so those of us who are interested will know to go look that up and get it defined. Or you promise to discuss it in a later video. I've just started watching these and so far this tutorial has been the best I've found for Papyrus/Creation Kit scripting introduction compared to all the others I've looked at so far. I'll keep watching your tuts in sequence and I hope you've covered enough of the scripting concepts that I can create in Fallout 4 like I want to. In essence, I got through this video with decent conceptual understanding ... and without yawning. Yawning is a definite sign that you've passed up something misunderstood (unless you haven't slept). I really appreciate your effort in this video.
As for feedback; I've been using papyrus for about 7 years and the CK for 5 and honestly I felt the pacing was ok. You didn't ramble at all and kept it very concise and focused. The window swapping disorientated me a bit but that is the only negative point I have. You did a really good job imo.
Along the same lines, as for someone who has used the CK a fair bit but totally brand new to scripting I think it was spot on.
This one along with 3DS Max Intro are truly the most exciting additions to Bethesda Modding School so far especially since they may be among the hardest things to learn via pure trial and error.
Hey King, I'm a big fan. Thank you so much for making all of your tutorials, but especially this one. I've had a hard time grokking Papyrus, and this help immensely.
VSCode has a pretty rad extension for papyrus support. highly suggest
underrated channel hope you the best!!
Hey KG, since you asked for it I am very new to using the CK (and modding in general) currently and I'm kind of jumping around between your tutorials so that I can get the gist of what I need to know in order to do the thing that I'm building toward. (that being said I am watching the entire video in each case because I do want to learn more little stuff that you might cover as it relates to the topic so I'm not just scrubbing through videos or anything) I have an associates degree in "graphic communication" which basically means I learned about marketing and branding to some extent and I also learned about using the adobe CS and I've just done artwork for a long time. I also went to vocational school in high school which was my real intro to adobe and photography/videography/web design/animation and that was just further developed in college. As far as this tutorial goes a lot of what you said really kind of made sense because of my experience with Action Script in Flash and I guess HTML in Dreamweaver although that stuff is several years back in my past and I don't do any of this stuff professionally but I have kept up with some things over time because I really like the subject of course but most of the specifics of those languages have faded in memory a fair bit. If I were to go back over some quick primers about stuff then I'm sure that I would snap back into all of that but the biggest things I always leaned into were Photoshop and later on I really started getting into After Effects. I would say that this tutorial has left me wanting some because you really just went over specifics about making one particular thing work although as always you did a great job explaining all of those parts. The thing is that I don't want to make a deployable turret mod right this second although you got me interested in it a little. Right now I stared learning to create a workshop mod probably just like half the people who are watching your stuff but I'm doing that as my starting point because I think it's pretty attainable and I always wanted workshop mode to be way more flushed out than Bethesda made it so I'm trying to make my version of a workshop overhaul. Ultimately I want to reorganize the building menu to be structured more like FO76 so it isn't so STUPID though that isn't absolutely necessary and I want to add a lot of craftable objects to the game which are already there but Bethesda couldn't add to the workshop to begin with for reasons unknown. I'll probably do some kit bashing as well and maybe add some new workbenches. I also want to re balance crafting requirements and scrapping returns because they're totally unrealistic and I like more realistic survival based kind of gameplay. Wasn't planning on doing anything for Sim Settlements since I like to build my own stuff not have it appear for me but the appeal is growing on me a little. Most of what your tut did for me though is tell me that I need to go to the CK guide and use that to try to get more of the basics and build up to stuff that will let me do that stuff with reorganizing the building menu (seems to me that I'm on the right track for that). Simultaneously I might just drop out of all of this if it ends up getting too complicated because I do have a job and other things to do and what I really want to make is my own entire Fallout game based on the area where I live that you can jump into from the base game early on. I realize that is a lot of work but after going through what I have learned so far I think I could still get there eventually but we'll see what happens. Hopefully this tells you everything you wanted to know and I didn't drag it out too much. Good luck with the new kid! I really appreciate what you're doing here and you're doing a great job of it so far. If content ends up being delayed then I completely understand. So far I think you've done enough as it is just to get people going and point them to the right resources. Looking forward to more.
This is a dream come true for me, thank you for this!
I'm a little confused by line 6 at 56:14. According to the docs, getPlayer() returns an Actor, the one that is the player. How will an ObjectReference be equal to an Actor?
Actor extends the ObjectReference so I'm assuming there is some polymorphism going on, where an Actor is an Actor and an ObjectReference? I don't have much programming experience in languages like Java but a lot in web based programming, JavaScript, TypeScript and not so much PHP.
Great tutorial all the same. It's great that someone like you is making a full series like this.
My skill is fairly middling in papyrus to say the least; most of what I've learned has been from different sources and with varying accuracy. I can usually accomplish what I want to do, but in all honestly I probably only truly "understand" about half of what my more complicated scripts are doing.
All of that is to say that i find it so, so helpful to get this kind of measured and thoughtful explanations of how papyrus works, from both close-up and birdseye perspectives.
As just one example: I had no idea that when I use Game.GetPlayer() that I'm actually referencing a function from another script. It seems obvious now, but I had no idea--and that makes me want to look at my work again and think about other ideas and implications of that.
I'm still getting my head around storing Objectreferences as you mentioned, as I feel that's something I'm almost never doing, and that could come back to bite me!
Needless to say, I'd love to see many more videos like this, and I'm sure I'm not alone in that.
I've never scripted/programmed (I don't even know the difference) outside of some Basic programming at school on a TRS 80 when I was 10 (1983). I thought the video was dense but easily followed. I will have to watch it a couple of times, but I need to do that with his about any instructional video. I won't admit how many times I watched and rewatched Gopher's videos for people who've never used mods when I first started. His videos are brilliantly aimed at noobs, so if I had to watch them more than once, saying the same about this video isn't a condemnation.
Thanks for calling out the benefits of namespaces. Too many people are utterly confused by them even though they are very simple to use.
Wow this is amazing!
Thanks a bunch kinggath
Old video but I thought I would just mention that from my experience with the Creation Kit website, the plugin NoScript seems to stop the DDOS protection page from popping up. Thought that would be helpful to anyone who is trying to get into this but is irritated that everything takes so long to look up.
I'm a little puzzled about line 12. It looks to me like you stored the commands necessary to spawn a turret in a variable but I can't see how they then got executed. I'm feeling dumb here.
Did you ever figured it out or nah?
@@Cordis2Die I don't think I did. Its a long time ago.
Thanks for sharing. What else may be needed to make mods for Fallout 4? Is this all is needed? We have experience in programming in C, C++, Unix, Python, and similar.
You could make mods with just the Creation Kit! If you want to get into customizing models and the like, you'd need some other software which I've gone over in some of the other 101 lessons.
Learning to program from scratch is easy. Especially Papyrus, which is technically not a programming language like C++ or Pascal, it's a scripting language like JS or PHP (pedantic/useless info..I know). Papyrus is relatively simple and limited compared to larger scope languages. So learning it or any language from scratch with no experience is the easy part.
The hard part is learning new languages and syntax after years of using the same few languages every day. I'm constantly putting JS or Python syntax in random places when I'm not thinking. A good IDE could catch it if you set up Papyrus support, but I still get mad every time I do it.
Good thing AI will take all of our jobs soon and none of this will matter.
I tried following this word for word, taking notes as I went, but when it came to "compiling the script", it just repeatedly told me everything I did was wrong. You said that "native flags" weren't necessary, but the Creation Kit was telling me I had to use native flags or " no viable alternative at input", etc.
I want to learn Papyrus, but it's frustratingly complicated, and every tutorial I follow never seems to work :x
That likely means you don't have the base game scripts extracted. When you first install the CK it will ask you if you want to extract them.
They should end up in Fallout 4\Data\Scripts\Source\Base
If you don't have a bunch of .psc files here, the compiling is going to fail. I believe the CK installs the zip file with all the scripts in Fallout 4\Data\Scripts\Source\Base if you need to extract them yourself.
@@kinggath I have thousands of .psc files in my Source\Base folder. There is an Archive called "Base" there though, but it seems like I already have the files in it. I guess I should extract that and find out?
I also didn't know you had to patch the Creation Kit until an hour ago. Maybe that's also the issue? I'll try all these, and try to compile again.
Edit: I already have all the .psc files stored in that archive, and the patched CK didn't make a difference either. I don't know what to do.
I've used the console command Placeatme to spawn in a few turrets while playing. But if I remember right, I always have to use the command setangle x 0; setangle y 0 then modangle z to get them situated the way I want. Why do your turrets come in already upright?
The script I used in my version of the mod is a little more complicated than what I showed (my version does use SetAngle). I decided to cut a lot of the coverage of the next phase of the script to not overwhelm people and to keep the video shorter. In the next scripting tutorial I'll go over it in detail.
@@kinggath I just got into my game and tested my statement. The turret spawned upright - just like a normal NPC would. So my memory was flawed. I must have got them mixed up with floor sections I brought in at the same time. I was building a whole turret platform across from the Supermutant camp just south of Hangman's Alley to help protect my supply line that frequently pathed through there.
One cant mention the fallout modding community without sim settlements
Turrets are "Actors" so that the Railroad can free them.
Semicolons for comments? 🤢