OFPEC Forum

Editors Depot - Mission Editing and Scripting => OFP - Editing/Scripting General => Topic started by: Krieg on 11 Feb 2010, 09:49:40

Title: createUnit problem...[SOLVED]
Post by: Krieg on 11 Feb 2010, 09:49:40
I have a little problem with createUnit command.
People have been complaining about lag in my mission, "Operation Hellfire", and I tried solving it by mass-spawning enemies after first part of the mission.

All I got in return was message:
"Error. Type string expected number"

Here is my script:
Code: [Select]
~0.5
"SoldierEB" createUnit [getMarkerPos "camp", alpha, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", alpha, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", alpha, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", alpha, 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "camp", alpha, 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "camp", alpha, 0.5, "PRIVATE"]
~0.1
"SoldierEG" createUnit [getMarkerPos "camp", alpha, 0.5, "PRIVATE"]
~0.1
"SoldierELAW" createUnit [getMarkerPos "camp", alpha, 0.5, "PRIVATE"]
~0.5
"SoldierEB" createUnit [getMarkerPos "camp", bravo, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", bravo, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", bravo, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", bravo, 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "camp", bravo, 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "camp", bravo, 0.5, "PRIVATE"]
~0.1
"SoldierEG" createUnit [getMarkerPos "camp", bravo, 0.5, "PRIVATE"]
~0.1
"SoldierELAW" createUnit [getMarkerPos "camp", bravo, 0.5, "PRIVATE"]
~0.5
"SoldierEB" createUnit [getMarkerPos "forest", charile, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "forest", charile, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "forest", charile, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "forest", charile, 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "forest", charile, 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "forest", charile, 0.5, "PRIVATE"]
~0.1
"SoldierEG" createUnit [getMarkerPos "forest", charile, 0.5, "PRIVATE"]
~0.1
"SoldierELAW" createUnit [getMarkerPos "forest", charile, 0.5, "PRIVATE"]
~0.5
"SoldierEB" createUnit [getMarkerPos "delta", delta, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "delta", delta, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "delta", delta, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "delta", delta, 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "delta", delta, 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "delta", delta, 0.5, "PRIVATE"]
~0.1
"SoldierEG" createUnit [getMarkerPos "delta", delta, 0.5, "PRIVATE"]
~0.1
"SoldierELAW" createUnit [getMarkerPos "delta", delta, 0.5, "PRIVATE"]
~0.5
"SoldierEB" createUnit [getMarkerPos "fig", epsilon, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "fig", epsilon, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "fig", epsilon, 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "fig", epsilon, 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "fig", epsilon, 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "fig", epsilon, 0.5, "PRIVATE"]
~0.1
"SoldierEG" createUnit [getMarkerPos "fig", epsilon, 0.5, "PRIVATE"]
~0.1
"SoldierELAW" createUnit [getMarkerPos "fig", epsilon, 0.5, "PRIVATE"]

Anything I got wrong with the script?

Thanks,
Krieg
Title: Re: createUnit problem...
Post by: RKurtzDmitriyev on 11 Feb 2010, 14:30:29
Well, to start with, I think you're missing the init field in each command. You have:

Code: [Select]
"SoldierEB" createUnit [getMarkerPos "camp", alpha, 0.5, "PRIVATE"]

Try replacing with:

Code: [Select]
"SoldierEB" createUnit [getMarkerPos "camp", alpha, "", 0.5, "PRIVATE"]
Title: Re: createUnit problem...
Post by: Krieg on 11 Feb 2010, 19:00:29
Thanks for such a quick response, RKurtzDimitiyev!
But now it shows up different error:
"Type Group, expected String"
Title: Re: createUnit problem...
Post by: RKurtzDmitriyev on 11 Feb 2010, 20:12:11
??? The following code should work if you have a marker named camp and a group named alpha:

Code: [Select]
"SoldierEB" createUnit [getmarkerpos "camp", alpha, "", 0.5, "PRIVATE"]
It works on my computer. Here, try it out, just play the attached mission and press Radio Alpha.

The bug report bar should place a little # symbol where it stopped reading; where does it show up in your script?

Title: Re: createUnit problem...
Post by: Krieg on 12 Feb 2010, 07:27:08
Your one works perfectly!

My one:
Code: [Select]
"SoldierEB" createUnit [getMarkerPos "camp", alpha, "", 0.5, "PRIVATE"]|#|': Error. Type Group Expected String
Title: Re: createUnit problem...
Post by: RKurtzDmitriyev on 12 Feb 2010, 15:23:44
I'm afraid I'm stumped. :(

Obviously, the engine is running into something that's supposed to be a string, but instead it's a group. Maybe you have variables clashing? Is it possible you named on of your groups "camp," for example? That would probably cause errors like this.
Title: Re: createUnit problem...
Post by: Planck on 12 Feb 2010, 16:39:23
The group 'alpha' does exist doesn't it ... otherwise the command will fail?


Planck
Title: Re: createUnit problem...
Post by: Krieg on 12 Feb 2010, 19:59:48
@Planck
Actually, it is just one example, Planck.
It does that for every single unit I try to create.
So, not just alpha
Bravo
Charlie
Forest
Delta
and, of course, Epsilon.

@RKurtzDimitriyev
Quote
Is it possible you named on of your groups "camp," for example?

Not entirely impossible, but highly unlikely. That would imply that I named groups "Forest", "Fig" etc.
Title: Re: createUnit problem...
Post by: Planck on 13 Feb 2010, 00:01:40
The point I was making is, the group, whatever it is called, must exist before you can create a unit for it.

If it doesn't exist no unit will be created.


Planck
Title: Re: createUnit problem...
Post by: Krieg on 13 Feb 2010, 11:28:26
It actually does exist.

I left the officers with "alpha = group this" in their init.
Title: Re: createUnit problem...
Post by: h- on 13 Feb 2010, 13:43:35
The below code works fine for me (you had charlie mis-spelled btw).

If it doesn't for you then there has to be something wrong with the group definitions in the officer inits. :dunno:

Code: [Select]
~0.5
"SoldierEB" createUnit [getMarkerPos "camp", alpha,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", alpha,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", alpha,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", alpha,"", 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "camp", alpha,"", 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "camp", alpha,"", 0.5, "PRIVATE"]
~0.1
"SoldierEG" createUnit [getMarkerPos "camp", alpha,"", 0.5, "PRIVATE"]
~0.1
"SoldierELAW" createUnit [getMarkerPos "camp", alpha,"", 0.5, "PRIVATE"]
~0.5
"SoldierEB" createUnit [getMarkerPos "camp", bravo,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", bravo,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", bravo,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "camp", bravo,"", 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "camp", bravo,"", 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "camp", bravo,"", 0.5, "PRIVATE"]
~0.1
"SoldierEG" createUnit [getMarkerPos "camp", bravo,"", 0.5, "PRIVATE"]
~0.1
"SoldierELAW" createUnit [getMarkerPos "camp", bravo,"", 0.5, "PRIVATE"]
~0.5
"SoldierEB" createUnit [getMarkerPos "forest", charlie,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "forest", charlie,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "forest", charlie,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "forest", charlie,"", 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "forest", charlie,"", 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "forest", charlie,"", 0.5, "PRIVATE"]
~0.1
"SoldierEG" createUnit [getMarkerPos "forest", charlie,"", 0.5, "PRIVATE"]
~0.1
"SoldierELAW" createUnit [getMarkerPos "forest", charlie,"", 0.5, "PRIVATE"]
~0.5
"SoldierEB" createUnit [getMarkerPos "delta", delta,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "delta", delta,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "delta", delta,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "delta", delta,"", 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "delta", delta,"", 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "delta", delta,"", 0.5, "PRIVATE"]
~0.1
"SoldierEG" createUnit [getMarkerPos "delta", delta,"", 0.5, "PRIVATE"]
~0.1
"SoldierELAW" createUnit [getMarkerPos "delta", delta,"", 0.5, "PRIVATE"]
~0.5
"SoldierEB" createUnit [getMarkerPos "fig", epsilon,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "fig", epsilon,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "fig", epsilon,"", 0.5, "PRIVATE"]
~0.1
"SoldierEB" createUnit [getMarkerPos "fig", epsilon,"", 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "fig", epsilon,"", 0.5, "PRIVATE"]
~0.1
"SoldierEMG" createUnit [getMarkerPos "fig", epsilon,"", 0.5, "PRIVATE"]
~0.1
"SoldierEG" createUnit [getMarkerPos "fig", epsilon,"", 0.5, "PRIVATE"]
~0.1
"SoldierELAW" createUnit [getMarkerPos "fig", epsilon,"", 0.5, "PRIVATE"]
Title: Re: createUnit problem...
Post by: Krieg on 13 Feb 2010, 15:34:05
Works perfectly! Thanks h-! :good: