I'm creating a map using StarForge, but I tested and got this problem in regular StarEdit as well.
I have an island that spawns units for the computer. Starting there are 2 dropships, also controlled by the computer. I use RunAIScriptAt the location and the units load fine. But after they finish loading, they immediately begin to unload.
Also, if I order the dropships to move after they have picked up the units, as soon as they reach the destination, they unload, then reload the units and fly back to the original spot.
Any way around this or is it just a natural computer AI action. Also I am running no other AI scripts besides Enter and Exit transport.
I've come across this problem before as well, and, personally, I've no idea what causes it. [I have no knowledge of what makes the Computer AI Scipts do this, you'll have to persue someone else about that]. Anyways, I did however find a way to do a like make-shift way around that problem.
Okay, what I did was:
I used one computer and had the enter transport happen constantly on the spot where the dropships were located for that computer on all the 'Low,Med,High Ground's. Another trigger was made that says 'Computer 1 controls 0 any unit at location [Dropship]'. Since it ran only for the ground, it would not count the dropships in the air. I then turned the dropships to Computer 2, THEN used the move command to bring it to where I wanted. After they reached the destination, I gave them back to Computer 1, and ran the exit AI. After the units were unloaded, I turned the ships back to Computer 2 until I needed them again, and repeated that over and over.
I know, it's very crude and not conservative, but it works for me.
I think it's just the computer's natural AI that it won't let units sit in the transport doing nothing so it unloads them. Instead of using waits between loading and moving the destination, create a "ground-only" location where the original island is. When player brings exactly 0 units to ground-only, order the transport to move to "destination" then unload. Should work if you don't have any other units on ground-only.
If you can't get it working anyway simulate transport function.
| Trigger |
| Description: |
| load units |
| Players: |
| ¤ comp |
| Conditions: |
| ¤ comp brings units to location where transport is |
| Actions: |
¤ play wav...
|
| ¤ move units from transport to any unused spot on map |
| Trigger |
| Description: |
| unload |
| Players: |
| ¤ comp |
| Conditions: |
| ¤ comp brings transport to location |
| Actions: |
¤ play wav...
|
| ¤ move units back |
If you need these wavs I can attach them.
if your doing triggers with sf remember it should look like
Always();
RunAIScript( Enter Closest Transport, Location);
Hope That Helps