[ian-reeds-games] Re: Plans for the coming school year!

  • From: Richard Claridge <richard.claridge68@xxxxxxxxxxxxxx>
  • To: ian-reeds-games@xxxxxxxxxxxxx
  • Date: Thu, 29 Aug 2013 09:22:20 +0100

No, sorry still not with you totally.
I understand what I need to put, but its where that I don't get.
As the randomisation of units is going to be specific to individual
maps where do I put it?
Why am I not putting the @ sign in, and is this the only difference?
If I put the file in the scripts folder like you said then its not
going to be linked to my map at all. And if I put it in the map
settings folder then if it does work, it will work for all the maps.
Confused!
Richard

On 8/28/13, abigail prescott <abigail.prescott@xxxxxxxxxxx> wrote:
> Well, apparently, the after_map_load event is part of the map, though I
> didn't know about it before. It might be a new event in the latest version.
>
> What I meant by putting the arguments in the braces as usual, was that you
> would do the same as you did before when you were using the function with
> the after_perform event. The difference is that in this new version of TB,
> instead of writing after_map_load=randomise_unit_positions@, you can just
> write after_map_load randomise_unit_positions. I think you could also put
> the event in the default map flags file or in the file for a specific map if
>
> you don't want to use it for every map in the map pack.
>
>
> So for example, you would write: after_map_load randomise_unit_positions {
> startunit: "troop transport", unit: "commando", minunit: 1, maxunit: 2,
> rangex: 2, rangey: 2 }
>
> Make sense?
> Don't paste that example. If you're going to use it, you'll have to type it
>
> out. My quotes seem to get messed up in email, and there could be other
> problems like that too.
>
> Abi
>
>
> -----Original Message-----
> From: Richard Claridge
> Sent: Wednesday, August 28, 2013 8:11 PM
> To: ian-reeds-games@xxxxxxxxxxxxx
> Subject: [ian-reeds-games] Re: Plans for the coming school year!
>
> I don't think I get this, sorry. What do you mean put all the
> arguments in the brackets? If this isn't in the map pack itself then
> how will it work with the maps?
> Or am I missing something?
>
> On 8/28/13, abigail prescott <abigail.prescott@xxxxxxxxxxx> wrote:
>> You may already know this, but I only realised recently, so I thought I'd
>> tell you just in case. You can set events to happen when the map loads.
>> This
>>
>> is useful for the randomise_unit_positions function because then you can
>> have the map randomised at the start instead of having a skill to do it.
>> Just create a new folder in the abigail prescott folder and call it Non
>> script files. Then create a text file in that folder called event
>> subscriptions.
>>
>> In that file, type the following:
>>
>> Event subscriptions
>> 1 // parser version
>> |events
>> after_map_load randomise_unit_positions { }
>>
>>
>> Just put the arguments in the braces as usual.
>>
>> Unfortunately, the map file hasn't been updated to the new parser
>> version,
>> but when it is, I've already got this script converted to work with flags
>> instead of events. If anyone wants any of the other scripts updated, then
>> I'll start on that one. I'll do all of them anyway, at some point, but if
>> there are any specific ones people want, I can do that one first.
>>
>> Abi
>>
>>
>> -----Original Message-----
>> From: abigail prescott
>> Sent: Monday, August 26, 2013 7:11 PM
>> To: ian-reeds-games@xxxxxxxxxxxxx
>> Subject: [ian-reeds-games] Re: Plans for the coming school year!
>>
>> 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_transport
>>> already 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't
>>>
>>> mind, could you send the skill file and both unit files? That way I can
>>> test
>>>
>>> exactly what you did on my map, and if there is an error in the file
>>> then
>>>
>>> I
>>>
>>> can 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.
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>

Other related posts: