Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Moving locations
Moving locations
This topic is locked. You can no longer write replies here.
Oct 4 2009, 6:56 am
By: Drakiel  

Oct 5 2009, 10:42 am darksnow Post #21



well just in my opinion, since you're preserving the randomizing, like, every trigger loop is 1/12 of a second.
in that case, if a townsperson starts moving towards a destination, it'll reset and make him move in another =O



None.

Oct 5 2009, 11:30 am Drakiel Post #22



But then wouldn't the civilian at least move, then move again, then move again, to a random location, until he finally leaves the "patrol START" Location, then he'll go with the last destination set by switches as he leaves out of the START location.



None.

Oct 5 2009, 11:35 am darksnow Post #23



i really doubt he'll make it out of the start location, unless its miniscule



None.

Oct 5 2009, 2:56 pm NudeRaider Post #24

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

It will work fine.

However it is recommended that you use a death count timer to increase the delays (currently 84ms) between the randomizations. Running it every 0.5-1 seconds reduces unnecessary jittering of the units to a minimum.




Oct 5 2009, 2:57 pm Drakiel Post #25



I'll add that right now, but in it's current form, it still doesn't work. Fixing delay now.

EDIT:
Yup, just added a 10deathcount delay (like .8 or 1.0 seconds or so, right?) to ALL of the above triggers through a 10deathcount cycle counter. Still no-go. The civilians don't even move.
(map posted above)

EDIT EDIT:
Two days on this freakin' trigger and... I think I'm going to give up. I'm thinking of just JunkyardDog the civilians (5 second refresh rate), then when they try to "exit" the town, push them back into the center and refresh junkyard. I'd actually be using only 1 location as opposed to 2locations and 8units (burrowed), unnecessarily.

Post has been edited 2 time(s), last time on Oct 5 2009, 3:22 pm by Drakiel.



None.

Oct 9 2009, 4:58 am Drakiel Post #26



I tried the Junk Yard Dog thing... didn't workout so well, unit like to clump together and it the "vilagers" aren't spreading out as evenly as I hoped for.
SO I tried a little more simplified version of my above triggers...
In this case, There is a deathcount timer.
exactly 1 death, move START location to Burrowed1
exactly 2 death, move START location to Burrowed2
etc etc.

As for the DESTINATION, it is randomized between 8 burrowed zerg.
switch blah blahness, move END locaton to Burrowed1
switch blah blahness, move END location to Burrowed2
etc etc.

On arrival of "START", "villagers" will only move when DeathCount is 1 (a different 2-second-cycled deathcount).

WELL ALL THAT and it STILL DOESN'T WORK!!!!
I'l post the map with the above changes.
-----
P.S. Why's my map so big? I haven't even added sound files yet (which I plan to later).


Trigger("Player 7"){
Conditions:
Always();

Actions:
Set Switch("Switch1", randomize);
Set Switch("Switch2", randomize);
Set Switch("Switch3", randomize);
Preserve Trigger();
Comment("Switch1, 2, 3 - Randomize permanently");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Deaths("Player 7", "Terran Beacon", Exactly, 0);

Actions:
Move Location("Player 6", "Zerg Devourer", "TownHumanArea", "TownHuman-PatSTART");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle (Defiler)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Deaths("Player 7", "Terran Beacon", Exactly, 1);

Actions:
Move Location("Player 6", "Zerg Drone", "TownHumanArea", "TownHuman-PatSTART");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle (Drone)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Deaths("Player 7", "Terran Beacon", Exactly, 2);

Actions:
Move Location("Player 6", "Zerg Lurker", "TownHumanArea", "TownHuman-PatSTART");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle (Lurker)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Deaths("Player 7", "Terran Beacon", Exactly, 3);

Actions:
Move Location("Player 6", "Zerg Zergling", "TownHumanArea", "TownHuman-PatSTART");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle (Zergling)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Deaths("Player 7", "Terran Beacon", Exactly, 4);

Actions:
Move Location("Player 6", "Zerg Hydralisk", "TownHumanArea", "TownHuman-PatSTART");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle (Hydra)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Deaths("Player 7", "Terran Beacon", Exactly, 5);

Actions:
Move Location("Player 6", "Devouring One (Zergling)", "TownHumanArea", "TownHuman-PatSTART");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle (Devouring)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Deaths("Player 7", "Terran Beacon", Exactly, 6);

Actions:
Move Location("Player 6", "Unclean One (Defiler)", "TownHumanArea", "TownHuman-PatSTART");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle (Unclean)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Deaths("Player 7", "Terran Beacon", Exactly, 7);

Actions:
Move Location("Player 6", "Hunter Killer (Hydralisk)", "TownHumanArea", "TownHuman-PatSTART");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle (Hunter)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Switch("Switch1", set);
Switch("Switch2", set);
Switch("Switch3", set);

Actions:
Move Location("Player 6", "Zerg Drone", "TownHumanArea", "TownHuman-PatEND");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle END (Drone)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Switch("Switch1", set);
Switch("Switch2", set);
Switch("Switch3", not set);

Actions:
Move Location("Player 6", "Zerg Hydralisk", "TownHumanArea", "TownHuman-PatEND");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle END (Hydra)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Switch("Switch1", set);
Switch("Switch2", not set);
Switch("Switch3", set);

Actions:
Move Location("Player 6", "Zerg Lurker", "TownHumanArea", "TownHuman-PatEND");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle END (Lurker)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Switch("Switch1", set);
Switch("Switch2", not set);
Switch("Switch3", not set);

Actions:
Move Location("Player 6", "Zerg Zergling", "TownHumanArea", "TownHuman-PatEND");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle END (Zergling)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Switch("Switch1", not set);
Switch("Switch2", set);
Switch("Switch3", set);

Actions:
Move Location("Player 6", "Zerg Defiler", "TownHumanArea", "TownHuman-PatEND");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle END (Defiler)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Switch("Switch1", not set);
Switch("Switch2", set);
Switch("Switch3", not set);

Actions:
Move Location("Player 6", "Devouring One (Zergling)", "TownHumanArea", "TownHuman-PatEND");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle END (Devouring)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Switch("Switch1", set);
Switch("Switch2", set);
Switch("Switch3", not set);

Actions:
Move Location("Player 6", "Unclean One (Defiler)", "TownHumanArea", "TownHuman-PatEND");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle END (Unclean)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Switch("Switch1", not set);
Switch("Switch2", not set);
Switch("Switch3", not set);

Actions:
Move Location("Player 6", "Hunter Killer (Hydralisk)", "TownHumanArea", "TownHuman-PatEND");
Preserve Trigger();
Comment("TownHuman-Pat Location Cycle END (Hunter)");
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Bring("Current Player", "Terran Civilian", "TownHuman-PatSTART", At least, 1);
Deaths("Player 7", "Zerg Beacon", Exactly, 1);

Actions:
Order("Current Player", "Terran Civilian", "TownHuman-PatSTART", "TownHuman-PatEND", move);
Preserve Trigger();
}

//-----------------------------------------------------------------//

Trigger("Player 7"){
Conditions:
Bring("Current Player", "Jim Raynor (Marine)", "TownHuman-PatSTART", At least, 1);
Deaths("Player 7", "Zerg Beacon", Exactly, 1);

Actions:
Order("Current Player", "Jim Raynor (Marine)", "TownHuman-PatSTART", "TownHuman-PatEND", patrol);
Preserve Trigger();
}

//-----------------------------------------------------------------//

Attachments:
(3)Shards of Descension.scx
Hits: 5 Size: 170.12kb

Post has been edited 3 time(s), last time on Oct 9 2009, 6:29 am by Drakiel.



None.

Oct 9 2009, 6:21 am NudeRaider Post #27

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Quote from Drakiel
I tried the Junk Yard Dog thing... didn't workout so well, unit like to clump together and it the "vilagers" aren't spreading out as evenly as I hoped for.
SO I tried a little more simplified version of my above triggers...
In this case, There is a deathcount timer.
exactly 1 death, move START location to Burrowed1
exactly 2 death, move START location to Burrowed2
etc etc.

As for the DESTINATION, it is randomized between 8 burrowed zerg.
switch blah blahness, move END locaton to Burrowed1
switch blah blahness, move END location to Burrowed2
etc etc.

On arrival of "START", "villagers" will only move when DeathCount is 1 (a different 2-second-cycled deathcount).

Well all that and it STILL doesn't work.
I'l post the map with the above changes.
-----
P.S. Why's my map so big? I haven't even added sound files yet (which I plan to later).
Triggers

Junkyard dog works best in the middle of the map. Near map edges they will rarely go towards the edge. Open maps, where there's no cliffs or water blocking the units from theoretically reaching the other side of the map should help too. That's because how junkyard dog works: It just picks a random spot on the map and orders the unit there. If it can't go there it will run around helplessly (yay for unit AIs)

Triggers can easily add hundreds of kB to your map.




Oct 9 2009, 7:29 am Drakiel Post #28



I don't know.. I don't see anything wrong with my triggers... yet... it doesn't work.



None.

Oct 10 2009, 3:45 am Lethal_Illusion Post #29



Found the "problem." There was nothing wrong with your triggers, just your system.


Every loop you center "TownHuman-PatSTART" on a burrowed unit, centering on a different burrowed unit each loop until you have centered on all of them. You then reset the cycle, retaining the same order of burrowed units. At the same time, you have a separate timer which dictates when the townspeople move. The problem is the difference in the two timers.


Zerg Beacon = Order Timer (0-19)
Terran Beacon = Burrowed Unit Cycle (0-7)


+1 Zerg Beacon, +1 Terran Beacon
Zerg Beacon = 1, Terran Beacon = 1; townspeople are moved from Zerg Drone

+20 Zerg Beacon, +8 +8 +4 Terran Beacon
Zerg Beacon = 1, Terran Beacon = 5; townspeople are moved from Devouring One

+20 Zerg Beacon, +8 +8 +4 Terran Beacon
Zerg Beacon = 1, Terran Beacon = 1; townspeople are moved from Zerg Drone

+20 Zerg Beacon, +8 +8 +4 Terran Beacon
Zerg Beacon = 1, Terran Beacon = 5; townspeople are moved from Devouring One

etc.


Because of this, townspeople can only move from the Zerg Drone and the Devouring One spot.

It's an easy fix, though. Just change the max Zerg Beacon to 17 instead of 20 and it will order from each burrowed unit.

Post has been edited 5 time(s), last time on Oct 10 2009, 4:18 am by Lethal_Illusion.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[09:18 pm]
Ultraviolet -- 🔪🐈
[12:34 pm]
NudeRaider -- curiosity kills the cat!
[06:18 am]
Sylph-Of-Space -- No complaints here, i'm just curious!
[11:05 pm]
Ultraviolet -- :wob:
[2024-5-18. : 3:55 pm]
Zoan -- :wob:
[2024-5-18. : 10:34 am]
NudeRaider -- SEN doesn't rely on spammers initiate its sleep cycle. It hat fully automated rest and clean-up phases. Please understand that this is necessary for the smooth operation of the site. Thank you.
[2024-5-18. : 3:45 am]
Sylph-Of-Space -- Does the shoutbox get disabled when there's spammers?
[2024-5-17. : 6:47 am]
NudeRaider -- lil-Inferno
lil-Inferno shouted: nah
strong
[2024-5-17. : 5:41 am]
Ultraviolet -- 🤔 so inf is in you?
[2024-5-17. : 4:57 am]
O)FaRTy1billion[MM] -- my name is mud
Please log in to shout.


Members Online: Ultraviolet, NudeRaider