Jump to content

Hello everyone, a question and a script!


Tanabi

Recommended Posts

Hello there;

 

I just got Blades of Avernum, and after playing the scenarios that come with the game, I'm starting in on my own.

 

I just had a question; has anyone put the script call documentation in a friendly online browsable format like PHP has for their language? (go http://www.php.net and click documentation). If not, then I'll probably set up documentation like that and make it publically accessible. It's just a lot easier than rifling through the massive pile of printouts I have now. smile

 

Anyway, I made a script to keep track of the time of day. This script may be entirely stupid, there may be a way to do this already, but this is what I've come up with. I've basically assumed Avernum has a 20 hour day (5000 ticks in a day, didn't break into 24 evenly). The game starts at dawn, 5 o'clock, and it gets dark at 20 o'clock (dusk is around 19 o'clock). Night is a LOT shorter than day.

 

It preserves the hour from save to save, and takes 5 stuff done flags. Because I was dealing with numbers over 255, I had to break 2 of the variables out into 2 seperate stuff done flags appiece.

 

(in scenario script)

Code:
variables;short oldtime,newtime,daycount,hour;...beginstate START_SCEN_STATE;// Initialize time counter	set_flag(0,2,1);	set_flag(0,4,1);...// This state is called every tick wherever the party is in the scenario.// I use it to track time.  Avernum appears to have a 20 hour day that// starts at 5 and nightfalls around 20.//// Requires flag 0,0 (time), 0,1 (oldtime msb) and 0,2 (oldtime lsb)// 0,3 (daycount msb), 0,4 (daycount lsb)beginstate START_STATE;	oldtime = ( get_flag(0,1) * 250 ) + get_flag(0,2);	daycount = ( get_flag(0,3) * 250 ) + get_flag(0,4);	newtime = get_current_tick();	daycount = daycount + tick_difference(oldtime,newtime);	set_flag(0,1,( newtime / 250 ) );	set_flag(0,2,( newtime % 250 ) );		if ( daycount >= 5000) {		daycount = daycount - 5000;	}		hour = ( daycount / 250 ) + 5;		if ( hour > 20 ) {		hour = hour - 20;	}		set_flag(0,0,hour);	set_flag(0,3,( daycount / 250 ) );	set_flag(0,4,( daycount % 250 ) );			print_big_str("Current time: ",hour,".");break;
Link to comment
Share on other sites

That cookbook's really cool, but, it's not quite what I was looking for as far as call reference... So, I will probably make my own. It'll just be installing that PHP software to handle the documentation, and a bunch of cutting and pasting. smile

 

I'll be sure to post my scripts in that place. I'll wait until I have my other time stuff done, though; there's a few components I need to make for that time stuff to be really cool. smile I have a lot of script ideas that I haven't seen done by anyone else yet, so, hopefully I can contribute some nice stuff.

Link to comment
Share on other sites

Quote:
Originally written by Chivlan:
I was worrying about, well, "vandalism", as Thur put it, but if it really keeps them automatic back-ups and all sorts of huahuahua can be fixed easily, then yeah, it'd prolly be the best way.
I used Wiki on one of my other projects. Very quick, very easy.
Link to comment
Share on other sites

Well guys; I took the suggestion and Wiki'd the documentation:

 

Blades of Avernum Wiki

 

I put the advanced dialog stuff with the basic dialog stuff to make it a little easier reference, otherwise it's basically the same as the documentation.

 

The key here is the table of contents; makes it a lot easy to quickly look up functions than having to dig through the stack of paper, since each function is clickable on the contents list.

 

I didn't spend a whole lot of time formating things -- it took me a long time to do what's already done -- but it looks okay. I may adjust it some later, but, hopefully this will be useful to more people than just me smile

 

Thanks for the wiki suggestion!

Link to comment
Share on other sites

  • 2 weeks later...

Cool, thanks! I've also noticed there's several functions that are in the scripts that come with the game, but aren't documented in the reference. They may be documented elsewhere in the main document, but, as far as I know they aren't.

 

I'd be great if someone who's more knowledgable than me could add any known undocumented functions to the wiki docs. smile

Link to comment
Share on other sites

Quote:
Originally written by Tanabi:
Cool, thanks! I've also noticed there's several functions that are in the scripts that come with the game, but aren't documented in the reference.
Well it would help if you gave their names so that the knowledgeable people (likely me) know what to add.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...