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.



    Memes gather, and now my watch begins. It shall not end until my death. I shall take no wife, hold no lands, father no children. I shall wear no crowns and win no glory. I shall live and die at my post. I am the sword in the darkness. I am the memer on the walls. I am the shield that guards the realms of memes. I pledge my life and honor to the Meme's Watch, for this meme and all the memes to come.

    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



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




    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.
    [11:36 pm]
    Zoan -- what was weird was if you give the buildings to another player the computer player keeps on building it even though it doesn'y belong to them
    [11:35 pm]
    Zoan -- not any unit, but I did try move buildings
    [11:35 pm]
    Ahli -- tried moving any unit?
    [08:57 pm]
    Zoan -- i just tested. you actually just cant move unfinished buildings I guess. Tried moving all players and players 9 -12, tried giving players then moving. nothing works if its unfinished, but as soon as it's finished it works.
    [07:54 pm]
    Zoan -- Voyager7456
    Voyager7456 shouted: Zoan no
    ;o what else do they do?
    [07:49 pm]
    Voyager7456 -- Zoan
    Zoan shouted: so like disable all buildings but two. I mean what else is the computer player gonna do, won't they necessarily just buiild whatever they can?
    no
    [05:43 pm]
    Zoan -- idk
    [05:43 pm]
    Zoan -- At least you can set the hp and build time of terran buildings so that repair never actually conteracts their hp loss while on fire..
    [05:42 pm]
    Zoan -- also I think you can set the hp and build time of a building so that it literally will never complete it's build, iirc.
    [05:41 pm]
    Zoan -- maybe if they're allied to all other players, so they don't try to do something like attack with their scv I guess.
    Please log in to shout.


    Members Online: O)FaRTy1billion[MM], Roy