• Civilization 7 has been announced. For more info please check the forum here .

Adding Events

I've programmed in C, C++ for windows, Java, PHP, and JavaScript, and have used both XML and XSL. Sad to say, except for XSL, modding in Lua has required ALL of my previous experience. Even my experience with multi-threaded programming and syncronization (ie: getting a return from LuaEvent), which frankly, is ridiculous.

*sigh*... most of us in a position to develop a good lua guide are still quite busy building basic tools, exploring Civ's code implementation, and attempting to develop standards for mod modularity.

Give it a year.
 
it's not all that complicated ;)

experience with other languages is going to help of course, but overall i think the most complicated is to get your brain around the api.

i started with simple print statements of the game info into the console and everything pretty much clicked together from there.
 
Yeah that's great, so long as you're familiar with control structures, programming conventions, the difference between a reference and a copy, and how to use action event threads. Nope! Not too complicated. Just grab yourself a "From Basic to OOP" set of programming books and in a couple months time, assuming you have no job or family, you'll be well on your way! :)

I'm not a pessimist. The reason I've been working on tools and standards is because I want modding to be easier for average arm chair scripters. I want the modding community to grow and people shouldn't shy away from learning new skills. Not in this day and age. But none the less, the current state of things does not make Lua a simple matter.
 
That's another thing, how do you get firetuner to work? It keeps telling me it's disconnected.
 
I guess my gripe is this... why was the standard for serializing and deserializing script data left to the modding community to hash out for themselves? Why are we now working on modular UI elements that won't require merging? Why aren't we creating UI layouts in a GUI and just expecting them to function concurrently?

I'm also bugged by all the C++ programmers sitting on the sidelines waiting for access to the DLLs. Their involvement could really benefit the lua scripters right now.

I'm thankful for the presence of the more involved lua modders (you know who you are), but at times I think we number as few as 10. I do hope x-mas can bring a resurgence.

--END rant.
 
I'm also bugged by all the C++ programmers sitting on the sidelines waiting for access to the DLLs. Their involvement could really benefit the lua scripters right now.
if they only knew all the fun they're missing out on:D
 
You need to turn it on in the config.ini in my documents/my games/civ 5

Man, without FireTuner Lua would be a NIGHTMARE. ;D

Soooooooooooooooooooo useful.

(wish the log text update didn't go mental when it got longer though)
Without Tuner you could as well snailmail your lua-code to your mom to write and ask your dog if there were any errors. ;)

You can fix that Tuner log going mental by clicking the scrollbars down button couple times. It leaves some kind of ghost space there every time you enter the main menu.
 
if they only knew all the fun they're missing out on:D

I agree, but keep in mind, I don't actually play the game. I tried a game as Montezuma on Prince, but I didn't realize I couldn't buy a plot 4 hexs away, or that I couldn't clear the marsh, so my civ became unhappy, didn't grow, and so my tech fell behind. At that point it was a loss and I've been modding ever since. :D

Who plays computer games?
 
it's going to get interesting if/when the source is released. i never worked in C++ but there's already at least a dozen things i'd like to change just for the API
 
It'll get released eventually. But there is little profit incentive to release it now and plenty of distraction in the mean time. They'll probably release a bug fix just before x-mas, followed by another a couple weeks after x-mas. Then there will be additional time spent streamlining the servers to handle the increased load. Then... they might flesh out the documentation a bit more. Opening up the DLLs just might be the last priority on the list. Better to sell the cow than give the milk away for free.

Fortunately, there is a great deal we can do with lua now. We just have to figure out how to do it. :)
 
yea there's a lot that can be done it's just not infinite. i hate those kind of limitations :lol:

screw the docs, they do a poor job at that anyway, latest wiki entries for example, great stuff but its all civ4 python api, plus copying and pasting can fail if you're not careful, the docs didnt check capitalization (or api makers didnt think of this in the first place)

just release the source i'll be jumping for joy. here's an awesome game, with awesome tools, opened with a basic scripting language, and to top it all off, its supported by SQL?!! and next there's the whole source coming? its going to be very nice :)
 
no, their game code, i.e. the thing that makes it Civ and not 'Strategy Game X' is all in a DLL called CvGameCoreDLLFinal Release.DLL

The engine code itself is in the exe or other DLLs, but we'll have access to the proper C++ source code for everything remotely 'Civvy' about the game (the nuts and bolts of the AI being a good example)
 
For Civ4 they released the game rules (game core dll), and they are planning to do the same for Civ5.

To be honest, I'm wondering myself whether it's worth putting a lot of effort into modifying systems with lua right now when we may have dll access in a couple of months and are able to do things properly. OTOH implementing (hacking) systems in lua can be useful for testing designs and give you a headstart when the DLL SDK is released.
 
For Civ4 they released the game rules (game core dll), and they are planning to do the same for Civ5.

To be honest, I'm wondering myself whether it's worth putting a lot of effort into modifying systems with lua right now when we may have dll access in a couple of months and are able to do things properly. OTOH implementing (hacking) systems in lua can be useful for testing designs and give you a headstart when the DLL SDK is released.

lua modding currently is very limited, after some time of experimenting with lua I released that only things that interact with the UI are currently moddable.
 
Not really true. Also any effects of social policies, or leader traits, or anything else that the game currently does, which covers a lot of stuff really. If you go digging far enough you can find ways to implement a lot of stuff.

For e.g. our religion mod, or a revolutions mod. They are all, perhaps a few concessions aside, possible with lua. Not saying it's ideal, it's certainly more limited than the SDK in a multitude of ways, but if you go digging it's surprising what's possible. The limitations are mainly things that don't ever happen in the game in any form currently (for e.g. changing the cost of a tech mid-game)
 
Top Bottom