This is my first post. I’ve been playing around with the toolset for a long time, but after deciding to actually build a module I’ve come to realize that my inexperience with scripting is going to require me to seek the advice of more experienced builders.
To give an example, I’m fairly new to the idea of include files in scripts. It’s at least 10 years since I made my first basic script with the script wizard, but the idea that you refer to an external file (which can be modified beforehand) from a script is fairly new to me and I haven’t really played around with it at all.
I guess before I get too specific I’ll ask some general questions:
Assuming I finish the module and it’s good and I host a stable server - are people actually going to play on it? We’re talking about a persistent world with what I would call a Diablo clone as the main storyline with endgame pvp and pve content after finishing it. There would be no downloads required beyond 1.69. Items would be capped at tier 5 and levels at 30.
Should I postpone all decisions and building until a year after EE releases to find out which version to build for/in?
Are there any quick always/never rules you can post for me to follow (IE. never make areas over X size, never put more than x placables in an area, always put loot scripts in cache, always do X, never do X, etc.)
I’ve seen a lot of links here to a lot of resources - I can’t read all of them at once; which is the one best resource for someone looking get into scripting in particular?
Hard to tell. Before the EE, I’d’ve said you should be aware that NWN is an old game with few players and you shouldn’t get your hopes up too high. Now, though? Possibly. Depends on what you put on the table, I suppose. I’d suggest checking out the existing servers, especially the more popular ones, to see what they’re doing right and what you’d have to be doing differently to set your “product” apart.
Not all, no, absolutely not. Just start building in 1.69 - you can upgrade the 1.69 module to EE anytime. Many of the things you craft might be useful later on. Prefabs, scripts, areas… it also gets you experience. You’re going to muck up, starting out - get it over and done with before you undertake any major project, or you may wind up borking up your big one and getting demotivated over that. Undertaking some miscellaneous scripting projects is probably a good idea, for practice.
Always backup your work. Never don’t backup your work. If some of your scripts are mysteriously not working despite everything logically being in order, try compiling them all.
The functions list of the Lexicon, hands down. Besides that, you may want to read Tarot’s Basics, too: Mostly Operators, Decisions, Boolean Algebra. And there’s a FAQs collection, too. That aside, I’ve personally found trying to solve newbie help requests to be a great way to learn. Other people come up with problems you mightn’t have thought of yourself, which require solutions you mightn’t have thought of yourself. Even just following the help request threads as they pop up is a treasure trove of information.
But most importantly, have fun with your project! And since you’re trying to craft a multiplayer realm, be aware that people inevitably get into squabbles when they get together, and don’t let it get to you if/when it does. You’re spending lifetime you’re not getting back to do this; don’t make your enjoyment of the activity dependent on the acknowledgment and appreciation of other people.
That aside, try to set up individual threads for individual scripting questions - it’ll be easier to offer scripting help and explanations on single topics - and just go for it! Scripting’s a boatload of fun.
One other thing you will find useful if not invaluable. The ls-tk script generator. I personally used it as a learning aid, but then again I’ve got a memory like a sieve.
I am familiar with the Lexicon, but the rest are all new to me and I will be sure to check them out.
Fortunately I am having fun with it. Granted, things like making a custom copy of every scroll so that they will drop unidentified and be usable only by the right classes is tedious work, so I take breaks from it and build areas, which is one thing I’ve at least gotten really good at.
I’ll post specific scripting-help requests in a thread of their own.
I still use Lilac Soul’s Script Generator as it covers most basic scripting functions and the beauty is even unfinished scripts are displayed for you to see how functions are coded as well as their adjoining constants(if applicable). Sometimes you only need to see a specific line of coding to make a great customized script.
Agreed. Script Generator is the best. Just make sure that you use the newest version (Lilac and TheKrit). And stick to chosen naming conventions. From my own experience, as module builder - it’s very probable, that you will have more than 50 custom scripts in your module - so it’ll make your life easier, to find the script easily.
It’s been a while since I used Lilac Soul’s. I used it to “reverse engineer” a lot and learn what I could, but I seem to recall the scripts being way too large for my liking. I think I still have the original on my external HD, but I guess checking out a version updated for 1.69 wouldn’t be such a bad idea.
Thanks for the reminder about naming conventions! I’d say 95% of my items and 99% of my scripts are yet to be done so this is exactly the right time to look them up!