• 0

    posted a message on Mapcraft Zone Control - Feedback thread

    Hey everyone :) I cracked and decided to make my map public last night because it was rather difficult to find anyone to test with if my friends weren't online. But this isn't a thread about how bad BNet is, it's about my map ^.^

    The different zones spawn different units, depending on which tower type you built in the zone.

    For instance, if you build a basic defense tower in one of the squares right next to your starting base, you will get zerglings. But if you fork up the 800 minerals (instead of 400) you will get hydralisks. Upgrade the tower for an even better unit (As indicated by the semi-transparent units floating over each zone).

    For the first 5 minutes, random units will spawn in the middle lanes between the team's bases. This is to help people get a boost on economy early-game without having to try to storm someone's command center. These spawns stop after 300 seconds (5 minutes) of game-time.

    After 8 minutes (or after someone destroys one of the rocks, whichever comes first) the center destructible rocks will start taking 200 damage every 5 seconds. If left untouched they will die in 250 seconds (4.17 minutes). The center zones can spawn air units which can give you a firm advantage *but* watch out for players with vikings, because those can tend to counter a team that goes for the center.

    Known Issues

    • Players do not necessarily end up on the same teams that they were assigned to in the lobby. I attribute this to a bnet bug - and there's already a trigger work-around that fixes alliances when the game starts, because people don't start next to their allies. The lobby-to-game connection is absolutely wonky. If anyone understands how I could fix this issue I'm all ears - might have to resort to using a trigger that inspects who your ally is, and move them to the right spot next to you. Temporary work-around: Fill the room or fill all empty slots with AI players. A trigger strips them out of the game, and this will cause all players to be in the correct starting locations w/ their ally.
    • Attempting to build a new tower in a zone that already has one may cause you to lose the minerals but not construct the tower. Temporary work-around: don't build any structures in zones that already have them. This shouldn't be happening, I'll have to fix the trigger.
    Posted in: Project Workplace
  • 0

    posted a message on Distributed Mapping - Working in tandem with others?

    Is there a way where, for instance, I could be working on the triggers, or one set of data-objects, while a friend of mine works on another set of data objects - and then sends the data he made to me where I can import it into my version of the map?

    I'm not sure what the scope of import/export features the editor has. Does anyone have experience with this?

    Posted in: Miscellaneous Development
  • 0

    posted a message on Promoting new maps?

    @s3rius: Go

    Agreed, there's no reason the "join game" list needs to show every map under the sun ever published. The game should include a categorized/searchable marketplace, and the "join" list should show only currently-hosted maps.

    Also they need to add local hosting back in for non-premium maps...

    Posted in: Miscellaneous Development
  • 0

    posted a message on Map Problems

    @ST4RKiLL3R: Go

    I feel like it would be a better learning experience for you to debug and figure out the bugs in your map yourself... Asking someone else to do the manual labor for you seems like a bit of a cop-out! If there's a really specific issue that you've tried to debug and are just trying to figure out how to fix and can't get it just right, then we can begin to help you. But just giving a general "My map has some bugs, what are they?" query isn't going to get you very far!

    From your description it doesn't sound like you've tried very hard to fix the map - so until you can give us a bit more specific information I don't think you'll get very much help :/

    Posted in: Miscellaneous Development
  • 0

    posted a message on Ability Icon not there when buff is on

    @frankbew: Go

    Hard to tell without more information. But do you have any "Requirements" set for the ability? If you made a requirement on the ability/button it could cause it to not show when sprint is active, depending on what you set it to? I guess it also depends on the rest of the ability and how you setup the behavior/effect/ability details.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Triggers- How to use a unit group as a whole in "events"

    @winZasteR: Go

    Ya, as far as I can tell you can't have multiple units in the same event parameter...it's a bit weird.

    Maybe you can use something like

    Any unit of type (Marine) enters distance of 2.0 of any unit of type (Zergling)

    This assumes, of course, that your marine and zergling arrays have all of the marines and zerglings on your map...and may not be the best solution.

    It also assumes that an event like that exists, which I'm not 100% sure about.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Triggers- How to use a unit group as a whole in "events"

    I'm not at my computer w/ the galaxy editor atm (I'm at work :p) But have you tried just something like:

      Unit - Any Unit Enters a distance of 2.0 from Any Unit
      ((Triggering unit) is in marines) == true
    Local Variables:
      a (unit) = (None)
      for each unit a in Zerglings -
            ((Triggering unit) is a distance of 2.0 from unit a)
                Unit - Order all units in Zerglings to (Zergling - Unburrow) (Replace Existing Orders)
                // Breaks out of the loop since we found a satisfying condition

    Again, this is pseudo-code-ish, but it might be something along the lines of what you're looking for?

    There may be better ways of doing it. Someone else, feel free to chime in :)

    Posted in: Miscellaneous Development
  • 0

    posted a message on Protoss building birth animation
    Quote from RileyStarcraft: Go

    I've actually gotten this figured out and working since my OP, I'll do a tutorial on it soon. (Sorry no quick answer because it's pretty complicated.)

    The basic gist of it, however, is that you need to use a *separate* actor. I forget the actor name exactly.... Go to the unit "Pylon" and see what other actors are associated to it. I believe you'll find something like "Protoss Small Construction Birth" or something of that nature. If you look at this actor's events you should see that it makes references to things like pylon, photon cannon, etc. I think there's a "Protoss Large Construction Birth" that does things like stargates etc too. One of the things to make it work is to duplicate those events for *your* unit. Essentially the events are looking for a time when certain protoss buildings begin construction - When they do, the actor is 'created' until the construction is complete.

    That should start you out on it, but I remember having to do a few other things too so you might need to play around with it. Hopefully this is a good starting point though.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Leaderboard issue

    @TheOGNehogo: Go

    Ya, this happens to me also. Then some of the column headings are truncated a bit too short *until* I run an update on one of the values in the leaderboard, then it resizes to a normal size again with all the data. Maybe you need to make an event "after i maximize the leaderboard" (I don't know if this event exists) that automatically updates one of the values so that the leaderboard resizes correctly? It's a work-around, I'm not sure why it's doing it. I haven't tried fixing it just yet.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Change a unit or model's color?

    @s3rius: Go

    Thanks for the response :) I'm at work right now but I'm sure this will be what I was looking for. Seems to satisfy everything I asked :D Maybe the actor in the data editor has fields for "Opacity" or "Tint", I don't remember. I'll see when I get home. If not...triggers it is! Maybe i'll play with that alpha channel too. Didn't know about ctrl+d, that's helpful - what menu was that located in? I couldn't find it when I was looking around.

    Again, thanks a ton.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Change a unit or model's color?

    I was trying to figure this out last night and couldn't get it to work. How do you change the color of a unit, it's actor, or it's model? When I go in the data editor to Type => Model, there is the 'color' property. I tried changing it but it doesn't seem to do anything to the unit it's tied to. The weird thing is that the color property (when displayed in list view, not tabbed view) shows 4 different color codes. Default it shows (255,255,255,255). When I change it to, say, blue - it shows (255,0,0,255). As you can see, that first 255 doesn't appear to be changing regardless of what color I choose. Is this the alpha of the unit itself, or is this number the 'intensity' of the color (IE, maybe 255 means the color itself is transparent, whereas a value of 100 means you're starting to shade the unit quite blue?). I can't find a way to make that number change though, and the gui that is brought up when you go to change the color doesn't have any options for alpha or anything.

    Regardless, changing this color value did squat to the actual unit in the editor, or when doing test mode. Any idea how I can change the color of a unit? (Also, on a related note, is there a way to make a unit semi-transparent - and how did the creator of that cardcraft map make those units all "Glowy"?)

    Thank you much :)

    Posted in: Miscellaneous Development
  • 0

    posted a message on Zone Control Ultra

    @ZeroAme: Go

    There's quite a few things wrong with this trigger:

    First, in your conditions, the way that the "Or" condition works is that it runs the 'or' check on all *children*

    The default operator between conditions is "And"....therefore, in english, your conditions read as follows:

    "Unit type of triggering unit is a Hideout, and a Fort, and a Shelter" which is somewhat impossible.

    Technically it's reading more like "Unit type of triggering unit is (a hideout or) AND (a fort or) AND (a shelter or)", because you haven't properly setup how the or conditions function.

    Use one of those "Or" nodes, and put all of the conditions inside of it.

    Changing it to looks like this:

                    (Unit type of (Triggering unit)) == Fort
                    (Unit type of (Triggering unit)) == Hideout
                    (Unit type of (Triggering unit)) == Shelter

    Would read the way that you want it to read (Unit type is fort, or hideout, or shelter).

    The next thing is the difficult to read, and computationally inefficient nested 'if' statement you have in the actions.

    You can change that entire series of 'if' statements to just this:

    Unit - Create 1 Marine for player (Owner of (Triggering Unit)) at (Center of mass_A2) facing 270.0 degrees (No Options)

    Additionally your event is a little bit ambiguous. If you don't want the spawns to begin until after the structure has *finished* being built you would need to use a different trigger. Yours is simply saying something like "The moment I start construction of this building".

    It also doesn't really appear to take into account a periodic spawn rate, which I assume you'll get to later.

    I don't know why I'm helping you though because your map is direct competition for my zone control map... But I think I've got a good grasp of where I'm taking it so it should be just fine ;)

    Posted in: Miscellaneous Development
  • 0

    posted a message on Multiplayer Lobby
    Quote from dreazk: Go

    Alright I encountered another problem. I have a 4vs4 map, and image it is like two platforms with 4 players each. Each team is suppost to start on one of the platform and one in the other. The problem is that when me and my buddy tries the map out, even though I put him in team 2 he spawns on my platform as my enemy. Someone know what I did wrong?

    I've put each player to one start location, player 1 to start location 1 etc... I've putted the first 4 start location on the first platform and the other 4 on the other. So the first player in team 2 should be player 5? Or will the second player who join automaticly become player 2 because he happens to join as the second player? Even though I drag him to team 2?

    EDIT: I found out what's wrong, he joined as player 2 and he is player two. Even if I drag him to team 2 he is still player 2 and therefore will spawn on my platform. Anyone know if this is a bug or a setting I can change somewhere?

    Same problem for me...only solution I've come up with is filling the "empty" slots with computer players, and using a trigger to loop through all the players and remove units for any players that are not user-controlled on map initialization. That way the team number and player numbers get mapped correctly.

    Seems pretty retarded though...

    Read my thread here:


    @Trevo4311 That doesn't work, sorry :) You can read my thread there to see what happens (read: team basic and team advanced settings do nothing apparently)

    Posted in: Miscellaneous Development
  • 0

    posted a message on wtf is a 'nested iteration'?
    Quote from Thalassicus: Go

    @anguule: Go

    I once encountered this when a "pick each unit" loop was calling another function that also had a "pick each unit." I discovered that if I changed one to "for each unit" and used an integer variable to loop, the problem solved itself. This might have something to do with their implementation of iterators.

    ^ This

    I suspect it would attempt to use the same variable for that inner "Pick each unit" loop, which would cause unstable and unforeseen side effects. Most of the time it's probably a lot safer to just go with "For each unit" and use a variable of your own making to store the iterator.

    Looking at your code, you can't have two "Pick each integer" loops. I would change all your loops to "For each integer" and make a local variable 'a', 'b', etc for each new loop.

    Because in the triggers themselves when you call "Picked integer" how does it know which one to use? This is definitely your problem.

    I also feel like there's a more elegant way to do this than such a deeply-nested if statement.

    In fact, looking at the code...I'm not sure it even makes any sense.

    Is there a reason you're looping through these variable setters 8 times?

    And your nested 'if' statement can't possibly be giving you the result you want it to. Every time it evaluates one of the 'if' conditions, it re-makes a random number from 1-8 - such that the true/false result of the previous random number from 1 to 8 has no bearing on the next condition check.

    I would probably re-evaluate what this trigger is doing...

    I would do something like this:

      rand_num integer
    Loop forever  (forget exact name, but it's similar)
        Set rand_num = (Random integer between 1 and 8)
            Alive?[rand_num] == true
            Set Phantom Player # = rand_num
            Set Phantom?[rand_num] = true

    That break in the 'then' is very important. It's also important that there is always at least one true value in the Alive?[] array, or the loop will run indefinitely.

    The loop will continue to run until the random number generator generates a number from 1-8 who's Alive? variable *is* true, at which point it sets the two variables you want.

    Posted in: Miscellaneous Development
  • 0

    posted a message on Lobby teams don't match map team definitions

    Here's my map team setup:

    I have 4 teams, with 2 players on each team:

    Player 1 & Player 5 - Team 1
    Player 2 & Player 6 - Team 2
    Player 3 & Player 7 - Team 3
    Player 4 & Player 8 - Team 4

    I have 8 starting locations, with two units that each player starts with. The players on each team spawn adjacent to each other such that they share 'base' entrances (this isn't a melee map), with each team being on a separate corner of the map.

    So going clockwise starting from the top-left corner of the map I have Team 1, Team 2, Team 3, and then finally Team 4.

    The setup in the editor follows this flow:

    Start Locations 001 through 008 going clockwise around the map starting at the top-left corner,

    In the menu item "Map => Player Properties" I have defined these player/start location mappings:

    Map => Player Properties

    Player 1 => 001
    Player 2 => 003
    Player 3 => 005
    Player 4 => 007
    Player 5 => 002
    Player 6 => 004
    Player 7 => 006
    Player 8 => 008

    The reason player 1 & player 2 aren't on 'team 1' is so that as players get added to the map the game would (hopefully) add players/AI controllers to new teams first, before doubling up teams. In this manner, without the lobby host needing to change anything, a game with a total of 3 players would automatically start out as a 1v1v1, and not a 2v1 matchup (Since the added players would be players 1, 2, and 3 respectively - they start out on different teams). Players would then (theoretically) be able to shift teams as desired, so that instead of a 1v1v1v1, a group could have the option of doubling up to make a 2v2 matchup.

    When I define these, it's a good thing to note that when you start up the game your camera does *not* start at your defined "Start location". I have to use an initialization trigger that immediately pans the camera to your start location.... So these properties appear to do absolutely nothing so far.

    So... I have the player => Start Location properties setup, now I go to define the teams:

    Map => Team Placement (Basic)

    Start Location 001 (p1) => (Linked Allies 002)
    Start Location 002 (p5) => (Linked Allies 001)
    Start Location 003 (p2) => (Linked Allies 004)
    Start Location 004 (p6) => (Linked Allies 003)
    Start Location 005 (p3) => (Linked Allies 006)
    Start Location 006 (p7) => (Linked Allies 005)
    Start Location 007 (p4) => (Linked Allies 008)
    Start Location 008 (p8) => (Linked Allies 007)

    It's a bit of a mindnumb to read - but it's pretty simple. Each starting location is paired off to make the 4 'teams' allies with each other...

    This in and of itself appears to do exactly what the Players property setup does - absolutely nothing. If I start a game the lobby shows up as some nonsense 5v3 team makeup or something equally nonsensical (More on this later - attempted work-around and failure to get it to do what I want).

    When I start up a game with 4 players in "Team 1" (of the maximum 5), and 1 player in "Team 2" (in the lobby), Then I end up with myself at position 001, and an ally at each of the other team start locations - with an enemy at my adjacent starting location 002 (Which absolutely goes against the ally definition I just put into the editor).

    So now we go into the next bit...

    Map => Team Placement (Advanced)

    Team 1 (Start 001 & 002) => (Linked Enemy Teams 2, 3, and 4)
    Team 2 (Start 003 & 004) => (Linked Enemy Teams 1, 3, and 4)
    Team 3 (Start 005 & 006) => (Linked Enemy Teams 1, 2, and 4)
    Team 4 (Start 007 & 008) => (Linked Enemy Teams 1, 2, and 3)

    Again...we get more of "this map property does absolutely nothing". I don't see the point of these properties if they don't affect anything after you start the game! They don't affect what's shown in the lobby, and they *certainly* don't affect who's paired against who at which start locations on the map. The previous scenario does not change, and these do not affect my in-game alliances. It appears to be solely defined by the game lobby, or triggers.

    So some forum searchery came up with a potential solution...Which is game variants, so let's try that! (You can tell by my excitement that the end result still just doesn't quite cut it)

    Map => Game Variants

    This is more of a step-by-step process, so we'll go with that:

    • On the left pane titled "Variants:" click Add
    • Game Type Tab
      • "Category" => "Other"
      • Mode => "Other"
      • Max Team Size => "2"
    • Attributes Tab
      • (Game) Game Speed => "Faster", Locked = true
      • (Game) Locked Alliances => "Yes", Locked = true
      • (Game) Teams => "4 Teams", Locked => true
      • (Player) Team [4 Teams] =>
        Player 1 => Team 1 [1], Locked => false
        Player 2 => Team 2 [1], Locked => false
        Player 3 => Team 3 [1], Locked => false
        Player 4 => Team 4 [1], Locked => false
        Player 5 => Team 1 [2], Locked => false
        Player 6 => Team 2 [2], Locked => false
        Player 7 => Team 3 [2], Locked => false
        Player 8 => Team 4 [2], Locked => false

    The rest of the "Attributes" I left at their default values.

    Awesome...now when I go to make the map, I fully expect to have 4 teams of 2 players each in the game lobby. Well...on first inspection, nope, didn't work! On closer inspection I can choose "Other" from the category dropdown within the game lobby. There should be a way of making "Other" the only, and default option...Why would I ever want that 5v3 setup to show up? Maybe there is a way, I just couldn't figure it out.

    Regardless, when I choose "Category => Other", I get 4 teams, with 2 players each! Perfect, that's just what I wanted! Now, let me add a couple of players...Oh, crap.. They aren't adding in the order I had expected them to. I'm in the first slot, the first person I add is in the "second slot" (Which, theoretically, is where player 5 should go), the third person in the game ends up in player 2's designated location, etc.

    It's adding them straight down the list, instead of round-robin style...Whatever, I can work around that.

    For testing purposes, I'm going to make a 2v1 game. Myself and a player in team 1, and a loner in team 2 by himself. Let's see what happens...

    What the what, My ally and I are on OPPOSITE sides of the entire map. And he got labelled as "Player 3" somehow (He's in the second slot, where player 5 would theoretically be. Where did player 3 come from??). Our opponent (Who's in the third slot in the lobby, where 'player 2' should be) is labelled as "Player 2", *and* in the correct location.

    I tried making a 2v2 also (using teams 1 and 2) and all 4 players ended up on different corners - but the alliances were set up as they looked in the lobby.

    What the *heck* is going on, and why is this not working >.<

    Posted in: Miscellaneous Development
  • To post a comment, please or register a new account.