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

  • From: abigail prescott <abigail.prescott@xxxxxxxxxxx>
  • To: <ian-reeds-games@xxxxxxxxxxxxx>
  • Date: Mon, 26 Aug 2013 19:11:12 +0100

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: