I'm glad you worked it out. Don't worry, I do stuff like that sometimes and it makes me feel quite stupid too, like when I was writing that naming units thing for Al, and made it so all units would be called bowmen...
Abi-----Original Message----- From: Richard Claridge
Sent: Monday, August 26, 2013 7:03 PM To: ian-reeds-games@xxxxxxxxxxxxx Subject: [ian-reeds-games] Re: Plans for the coming school year! Hi Abi. It was me being stupid. I am so used to using flags in TB that I forgot I didn't need to use an underscore in the name, I could just use a space instead. So the script was looking for a troop_transport where on the map was a troop transport. Simple mistake I guess but I feel like a complete fool for not noticing it earlier. Oh well. Thanks for all your help. The script now works great, and it solves a problem for a map I wanted to create but wasn't really going to be able to, which should finish off my map pack nicely. Just need to wait for my sound guy to get me all the sounds I need and I'll be ready to go. But he does take his time. Thanks again. Rich On 8/25/13, abigail prescott <abigail.prescott@xxxxxxxxxxx> wrote:
It seems to work for me when I use my units. There is a troop_transportalready on the map isn't there? The function doesn't create the start unit,though I might be able to make it do that if you wanted it to. If you don'tmind, could you send the skill file and both unit files? That way I can testexactly what you did on my map, and if there is an error in the file then Ican fix that and send it back to you. Abi -----Original Message----- From: abigail prescott Sent: Sunday, August 25, 2013 10:00 PM To: ian-reeds-games@xxxxxxxxxxxxx Subject: [ian-reeds-games] Re: Plans for the coming school year! Alright, I'll check that out now. Thanks for testing. Abi -----Original Message----- From: Richard Claridge Sent: Sunday, August 25, 2013 9:37 PM To: ian-reeds-games@xxxxxxxxxxxxx Subject: [ian-reeds-games] Re: Plans for the coming school year! Hi Abi. Ian pointed out the extra comma, and I took it out but found the same result. The issue is definitely with the startunit. It works fine if I use starttilex and starttiley. Thanks for looking at this. Richard Sent from my iPhone On 25 Aug 2013, at 21:10, abigail prescott <abigail.prescott@xxxxxxxxxxx> wrote:There's a comma after the rangey: 2. The last argument doesn't need a comma after it, they're used for separation but if you put one at the end it might confuse the game because it thinks there should be another argument. Try getting rid of that last comma and see if that works. Abi -----Original Message----- From: abigail prescott Sent: Sunday, August 25, 2013 9:01 PM To: ian-reeds-games@xxxxxxxxxxxxx Subject: [ian-reeds-games] Re: Plans for the coming school year! Sorry, you were right about the startunit, for some reason when I read it it sounded like you put in two unit parameters rather than a startunit and unit. I think the range should work without quotes, and I thought I had the startunit thing sorted, but clearly not. I'll test your script and see what happens. Abi -----Original Message----- From: Richard Claridge Sent: Sunday, August 25, 2013 8:25 PM To: ian-reeds-games@xxxxxxxxxxxxx Subject: [ian-reeds-games] Re: Plans for the coming school year! Hi Abi. Thanks for your reply. I was only trying to have the commando appear randomly. The troop transport was down as the startunit, which I thought meant a point where the area would be centralised from. Have I misunderstood that? And what about what Ian was saying about the quotes around the numbers? is this necessary or have I done it right? Thanks Richard P.S. I've just tried it using a starttilex and starttiley instead of the startunit and it worked fine. So could it be something to do with using a unit instead of a point? On 8/25/13, abigail prescott <abigail.prescott@xxxxxxxxxxx> wrote:The event can only have one unit parameter set. If you want to have two units placed randomly with the same skill, you need to have another after_perform event for that unit. So you would have one event for the troop_transport, and then another for the comando. I'm pretty sure that's the problem but if not, I'll give it a closer look. Abi -----Original Message----- From: Ian Reed Sent: Sunday, August 25, 2013 6:33 PM To: ian-reeds-games@xxxxxxxxxxxxx Subject: [ian-reeds-games] Re: Plans for the coming school year! Hi Richard, I haven't looked at Abi's scripts so she would probably answer this better, but I'll throw out what I see initially. The rangey: 2, should not have a comma at the end. The error you got is the engine complaining that Abi called the calculate method and passed in a string that didn't look like something it was supposed to calculate. This might be because the rangex and rangey arguments do not have quotes around the numbers. But again I haven't looked at her scripts so it could also be something different. Ian Reed On 8/25/2013 8:10 AM, Richard Claridge wrote:Hi Abi. I've just tried to use your randomise units script but with no luck. I'm sure its me doing something wrong but I thought I'd check with you. I've copied your script into a folder named after you in the TB scripts folder. I've then created the appropriate skill and put the following into it. after_perform=randomise_unit_positions@ { startunit: "troop_transport", minunit: 1, maxunit: 2, unit: "commando", rangex: 2, rangey: 2, } When my unit uses the script I get the following error and nothing happens. Error in script. Calling Context: randomise_unit_positions Filename: random unit positions.js Line: 43 Column: 11, 12 Input string was not in a correct format. Noesis.Javascript.JavascriptException: Input string was not in a correct format. ---> System.FormatException: Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) at System.Int32.Parse(String s) at Game.CalculatedInt.ParseWithoutErrorChecking(String s) in C:\Data\Recent\TacticalRPG\TacticalRPG\CustomPoint.cs:line 490 at Game.SharedStateBase.Calculate(String s) in C:\Data\Recent\TacticalRPG\TacticalRPG\SharedState.cs:line 124 --- End of inner exception stack trace --- at Noesis.Javascript.JavascriptContext.Run(String iScript, String iScriptResourceName) at Game.JS.Run(String script, String callingContext) in C:\Data\Recent\TacticalRPG\TacticalRPG\JS.cs:line 106 Any ideas about this? Thanks Richard On 8/24/13, abigail prescott <abigail.prescott@xxxxxxxxxxx> wrote:That's fine, sometimes I forget that just because I know something it doesn't mean everyone else will get it. In the data for tb folder, there is a scripts folder. Make a new folder in that folder and put the randomise_unit_positions file into it. Then it depends on whether you want to have a skill randomise the map, or just make it happen when the player hits a key, (though I don't recomend that, as they could do it at any point of the game and I can't think of many situations where you would want that option to be available). Unfortunately, if there is a way to just make it happen as soon as the map was created, I don't know it. To make a skill that will randomly place units, make the skill file as usual and then add this line at the bottom: after_perform=randomise_unit_positions@ { } Then you put the parameters in the braces like this: after_perform=randomise_unit_positions@ { unit: "type of unit" } Does that make sense? Abi -----Original Message----- From: Richard Claridge Sent: Saturday, August 24, 2013 1:50 PM To: ian-reeds-games@xxxxxxxxxxxxx Subject: [ian-reeds-games] Re: Plans for the coming school year! Hi Abi. I sort of understand this but not totally. Sorry :). What file does this randomise_unit_positions bit go in? Is it in the map file or what? Also do I follow the randomise_unit_positions with a : and then put the various other bits inside { }? Sorry for not being totally sure, I think this will make loads of map packs really interesting if it works. And I look forward to using it in my stuff. Thanks Richard On 8/23/13, abigail prescott <abigail.prescott@xxxxxxxxxxx> wrote:Here’s the link to a randomising function I wrote. All you have to do is make a new folder in the scripts folder and put this file in. Then you can use the randomise_unit_positions function in whatever event you want. The things you can set in the event are: starttilex and starttiley: for when you want to set the area starting from a certain tile. As tiles actually start at 0:0, not 1:1, you should subtract 1 from both numbers. startunit: For when you want to set the area around a certain unit, like the flag. Just write the name of the unit file in quotes. minunit and maxunit: the minimum number of units you want to spawn in this area and the maximum. A random number will be chosen ranging between these numbers. unit: the unit that you want to be generated in the area. Like the startunit value, just write the name of the unit file in quotes. rangex and rangey: the number of tiles you want the area to extend to, starting at the starting tile or startunit. I think that’s all of them. Don’t set the starttile values in the same event, the script just finds the first unit of the specified type if you set a startunit. I don’t know if this will cause problems, but I’m guessing you would only want the units to spawn around one unit and you would only have one flag. If you don’t set any starttile values or a startunit, then the unit will be randomly placed around the whole map. If anyone wants to use it to randomly place units around all the units of a specific type (e.g around every city on the map) instead of just the first one, then just find the break; line in the function and delete it. I think that’ll do it. https://dl.dropboxusercontent.com/u/94819755/randomise_unit_positions.txt From: abigail prescott Sent: Thursday, August 22, 2013 11:25 PM To: ian-reeds-games@xxxxxxxxxxxxx Subject: [ian-reeds-games] Re: Plans for the coming school year! Yes, but they don’t need to be specified by the player. They could be set through the event or the script. Event might be better, because then other people who might want randomised maps can use it too. Technically, if a player did want to change the boundaries and they were set in the event, they could just edit the file with the event, but it’s still not the same as offering them the opportunity to restrict the enemy to a certain area where it’ll be easier to predict where they’ll be. Maybe it could work out a certain fraction of the map, that way the area would expand to fit the size of the map, and players would have to know how to script to change it. My idea was that you would set the starting point at the flag (because it makes sense for the units to spawn around the thing they’re protecting) and then four random numbers would be generated with set boundaries of highest and lowest possible numbers. These numbers would be the range of the area to the right, the range to the left, the range upwards and the range downwards. The problem is getting units to spawn, though I think if there was only a few types, you could set that in the event. Sorry if that doesn’t make much sense, but I’m writing things as I think of them and I really should get some sleep. Tomorrow I’ll think about it more and it’ll make more sense then. Abi From: Carlos Macintosh Sent: Thursday, August 22, 2013 11:06 PM To: ian-reeds-games@xxxxxxxxxxxxx Subject: [ian-reeds-games] Re: Plans for the coming school year! I need to define boundaries though. I couldn’t just hav the units all over the place.