Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: How to handle "Cannot place unit error" with item drops?
How to handle "Cannot place unit error" with item drops?
Mar 3 2019, 9:41 pm
By: sethmachine  

Mar 3 2019, 9:41 pm sethmachine Post #1



Hi,

I have a trigger where when a player kills a certain unit, it drops a random item ("powerup"). This works by keeping a location centered on the boss, and when the boss dies the location is fixed to its death. Then I check that the boss isn't commanded anymore, and create a powerup at its location (where it died).

However, if the boss dies on a corner or against a wall, often times the powerup gets a "Cannot place unit error."

Is there a way to fix this without using EUDs? It is very important that the item drops where the boss died, because I want other players to be able to contest it or steal the drop.



None.

Mar 3 2019, 10:05 pm Roy Post #2

An artist's depiction of an Extended Unit Death

You could use a Mobile Grid to place the item near the boss if it's not possible to place directly where the boss died. This would work optimally if there aren't any air units in the vicinity. Something like this:

Spawn Item on Boss
Players

  • Player 8
  • Conditions

  • Player 8 has suffered at least 1 deaths of Boss.
  • Actions

  • Create 1 Powerup at 'SafeSpawnLocation' for Player 8.
  • Move all Powerup for Player 8 at 'SafeSpawnLocation' to 'BossLocation'.
  • Create 1 Zerg Scourge at BossLocation for Player 8.
  • Create 1 Protoss Observer at BossLocation for Player 8.
  • Create 1 Zerg Scourge at BossLocation for Player 8.
  • Create 1 Protoss Observer at BossLocation for Player 8.
  • Create 1 Zerg Scourge at BossLocation for Player 8.
  • Create 1 Protoss Observer at BossLocation for Player 8.
  • Create 1 Zerg Scourge at BossLocation for Player 8.
  • Create 1 Protoss Observer at BossLocation for Player 8.
  • Create 1 Zerg Scourge at BossLocation for Player 8.
  • Center location labeled 'BossLocation' on 'Protoss Observer' owned by 'Player 8' at 'Anywhere'.
  • Move all Powerup for Player 8 at 'SafeSpawnLocation' to 'BossLocation'.
  • Remove 1 Protoss Observer owned by Player 8 at 'BossLocation'.
  • Center location labeled 'BossLocation' on 'Protoss Observer' owned by 'Player 8' at 'Anywhere'.
  • Move all Powerup for Player 8 at 'SafeSpawnLocation' to 'BossLocation'.
  • Remove 1 Protoss Observer owned by Player 8 at 'BossLocation'.
  • Center location labeled 'BossLocation' on 'Protoss Observer' owned by 'Player 8' at 'Anywhere'.
  • Move all Powerup for Player 8 at 'SafeSpawnLocation' to 'BossLocation'.
  • Remove 1 Protoss Observer owned by Player 8 at 'BossLocation'.
  • Center location labeled 'BossLocation' on 'Protoss Observer' owned by 'Player 8' at 'Anywhere'.
  • Move all Powerup for Player 8 at 'SafeSpawnLocation' to 'BossLocation'.
  • Remove 1 Protoss Observer owned by Player 8 at 'BossLocation'.
  • Center location labeled 'BossLocation' on 'Zerg Scourge' owned by 'Player 8' at 'Anywhere'.
  • Move all Powerup for Player 8 at 'SafeSpawnLocation' to 'BossLocation'.
  • Remove 1 Zerg Scourge owned by Player 8 at 'BossLocation'.
  • Center location labeled 'BossLocation' on 'Zerg Scourge' owned by 'Player 8' at 'Anywhere'.
  • Move all Powerup for Player 8 at 'SafeSpawnLocation' to 'BossLocation'.
  • Remove 1 Zerg Scourge owned by Player 8 at 'BossLocation'.
  • Center location labeled 'BossLocation' on 'Zerg Scourge' owned by 'Player 8' at 'Anywhere'.
  • Move all Powerup for Player 8 at 'SafeSpawnLocation' to 'BossLocation'.
  • Remove 1 Zerg Scourge owned by Player 8 at 'BossLocation'.
  • Center location labeled 'BossLocation' on 'Zerg Scourge' owned by 'Player 8' at 'Anywhere'.
  • Move all Powerup for Player 8 at 'SafeSpawnLocation' to 'BossLocation'.
  • Remove 1 Zerg Scourge owned by Player 8 at 'BossLocation'.
  • Center location labeled 'BossLocation' on 'Zerg Scourge' owned by 'Player 8' at 'Anywhere'.
  • Move all Powerup for Player 8 at 'SafeSpawnLocation' to 'BossLocation'.
  • Remove 1 Zerg Scourge owned by Player 8 at 'BossLocation'.


  • Although you asked for a solution without using EUDs, there is an action built into the latest version of ScmDraft called "EUD: Location Position" that would be well-suited to the task of shifting the location around to find a valid place to move the unit onto. This removes the need to use a mobile grid to change the position of the location, and should be considered a superior option in just about every regard.




    Mar 3 2019, 10:28 pm Dem0n Post #3

    ᕕ( ᐛ )ᕗ

    You can also try creating the power-up somewhere else and then moving it to the boss's location. Though the item might not move to it if the location is completely off of a walkable area.




    Mar 3 2019, 11:44 pm sethmachine Post #4



    Quote from Roy
    [/T]

    Although you asked for a solution without using EUDs, there is an action built into the latest version of ScmDraft called "EUD: Location Position" that would be well-suited to the task of shifting the location around to find a valid place to move the unit onto. This removes the need to use a mobile grid to change the position of the location, and should be considered a superior option in just about every regard.

    Very creative non-EUD solution, thanks! I'm guessing hyper triggers players would barely notice the mobile grid.

    EUDs would be fine, except I believe you reach CCMU sooner if with EUD maps?

    Unless I'm mistaken.



    None.

    Mar 4 2019, 7:21 am Ultraviolet Post #5

    We do a little trolling

    Indeed, extended unit limits are doubled, and you have to choose between extended unit limits and EUDs.



    My Projects:

    Impossible Ultraviolet | Impossible UV 2 | Impossible UV 3
    Mercenaries 2020 | Mercenaries III
    Squad Defense

    Legacy Projects (No guarantee of functionality in modern SC):

    Pixel Adventure 2 | Space Snipers | Control the Ball

    ______________________________________________

    Join me in Torn City

    Mar 4 2019, 1:07 pm NudeRaider Post #6

    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
    hyper triggers players would barely notice the mobile grid.
    It's all happening within one trigger. During the trigger phase the game is paused, so since the units are removed immediately, it does not wait until the next trigger loop. All that changes without hyper triggers is that the sequence may start a little later, its execution, is basically instant any way, though.




    Options
      Back to forum
    Please log in to reply to this topic or to report it.
    Members in this topic: None.
    [06:39 pm]
    Vrael -- 6000 apm near perfect focus fire is yikes
    [06:38 pm]
    Vrael -- paralyze was metaphorically speaking, paralyzed
    [06:38 pm]
    Vrael -- wasnt even that really, they 6000 apm just made the terran army so much more value/$ that the extra economy didnt matter
    [01:58 pm]
    NudeRaider -- NudeRaider
    NudeRaider shouted: Oh_Man nothing too special tbh. the human player wasn't ready to combat the push that stretched almost the whole map. So this game means nothing. We'll have to see how it goes once the humans have adjusted for its unorthodox strategies.
    they basically lost most of their army in one big battle and didn't have the time and production to leverage the economic advantage and come back from that blow.
    [01:55 pm]
    NudeRaider -- Oh_Man
    Oh_Man shouted: https://youtu.be/1vsTqNwHquE omg guys it's happening. ITS HAPPENING. EVERONY STAY CALM. STAY F:wob::wob:CKING CALM!
    not sure why you are so hyped, when basically the same happened 7 years ago with AlphaStar on SC2.
    [01:53 pm]
    NudeRaider -- Oh_Man
    Oh_Man shouted: 6000 apm XD, i dont even understand how it culd came back wen it was 5 base vs 2
    nothing too special tbh. the human player wasn't ready to combat the push that stretched almost the whole map. So this game means nothing. We'll have to see how it goes once the humans have adjusted for its unorthodox strategies.
    [10:59 am]
    NimoStar -- "Sick" is the appropriate word for the disease that AI is foisting upon our society. Repent, ye sinners!
    [06:32 am]
    Ultraviolet -- that was pretty sick lol
    [02:55 am]
    Oh_Man -- 6000 apm XD, i dont even understand how it culd came back wen it was 5 base vs 2
    [02:42 am]
    Symmetry -- 'twas only a matter of time
    Please log in to shout.


    Members Online: Roy, Symmetry