Staredit Network > Forums > SC2 Assistance > Topic: [SOLVED] Model attachment
[SOLVED] Model attachment
This topic is locked. You can no longer write replies here.
Dec 28 2010, 9:40 pm
By: payne  

Dec 28 2010, 9:40 pm payne Post #1

:payne:

At start, the crown (thin torus shape) lies on the ground, and the first player to take it has the Thin Torus Shape model attached to his "Overhead". Since I must create a new model, I delete the old shape that was lying on the ground. So far, everything works fine.
Then, I'd like that whenever a Changeling enters the region "Crown", which is supposed to be centered on the Crown-holder, the Crown model is passed the Changeling that entered the Crown region. Somehow, I can't get to remove the model attachment from the overhead of the initial holder, and I can't attach the model to the new holder either.

Here's the trigger:
Code
Near
   Events
       Unit - Any Unit Enters Crown
   Local Variables
   Conditions
       (Unit type of (Triggering unit)) == Changeling (Zergling)
   Actions
       Unit - Remove Thin Torus [49.00, 45.50] from the game
       Actor - Kill actor model (Last created actor)
       Region - Attach Crown to (Triggering unit) with offset (Point(0.0, 0.0))
       Actor - Attach ShapeThinTorus (Unnamed) to Overhead on (Triggering unit)
       General - Pick each integer from 1 to 8, and do (Actions)
           Actions
               Variable - Set HasCrown?[(Picked integer)] = false
       Variable - Set HasCrown?[(Triggering player)] = true


The variable "HasCrown?" is used in another trigger to update the score, which is based on the time players hold the crown.

Post has been edited 1 time(s), last time on Jan 3 2011, 8:58 am by payne.



None.

Dec 28 2010, 11:01 pm NicholasBeige Post #2



Show us more of your triggers please... :P you could be going wrong in so many places its unthinkable.

Create Model
Set Variable1 (crown)= Last Created Model
Attach Model to Unit
Set Variable2 (unit) = Unit who now has Crown attached
Attach Region (crown) to Variable2 (unit)

Unit Enters Region
Unit Entering is not equal to Variable2 (Unit)

Remove Variable1 (crown)
Create Model
Attach Model to new unit
Set Variable1 = last created model
Set Variable2 = new unit (crown holder)

Should work fine? Don't have the trigger editor open (as you can tell).



None.

Dec 30 2010, 6:59 am payne Post #3

:payne:

I can only create a unit, not a model itself. And a variable cannot store a model.
This doesn't work. :(



None.

Dec 31 2010, 11:08 pm payne Post #4

:payne:

I still need help over this, btw. :/



None.

Jan 1 2011, 4:14 pm Roy Post #5

An artist's depiction of an Extended Unit Death

Uh... You can't use (Last created actor) if you haven't created an actor. It's treated as a temporary local variable (I believe). Store that actor in a global variable when you create it and maybe that will fix the removal problem.

I suppose you have already confirmed that this trigger executes when it should?




Jan 2 2011, 8:06 pm payne Post #6

:payne:

Quote from Roy
Uh... You can't use (Last created actor) if you haven't created an actor. It's treated as a temporary local variable (I believe). Store that actor in a global variable when you create it and maybe that will fix the removal problem.

I suppose you have already confirmed that this trigger executes when it should?
So it means that the (Last created Actor) isn't the last created actor anymore but is rather empty when the trigger runs once again?



None.

Jan 2 2011, 8:33 pm Roy Post #7

An artist's depiction of an Extended Unit Death

Quote from payne
So it means that the (Last created Actor) isn't the last created actor anymore but is rather empty when the trigger runs once again?
Yeah, that's what I've concluded after playing with it a bit.




Jan 2 2011, 8:52 pm payne Post #8

:payne:

Well somehow, the "Actor" variable type is a bitch and isn't considered as an Actor itself...

EDIT: Just tested the trigger a bit more.
Results:
- The region Crown does center on the new unit.
- This new unit isn't determined as I wanted: if a unit is created in the region, it is runs the event "Unit enters region", but if the unit is already placed on the map, it doesn't. Only exception: Player 1's Changeling. Somehow, a Player 1 Baneling that I hit with the Crown region centered on my Changeling will not even trigger a "failed condition". :/
- Still can't destroy this goddamn actor. >:O

Post has been edited 1 time(s), last time on Jan 2 2011, 9:12 pm by payne.



None.

Jan 3 2011, 8:57 am payne Post #9

:payne:

Solved: thanks to Soga!

New trigger:
Code
Near
   Events
       Unit - Any Unit Enters Crown
   Local Variables
   Conditions
       (Unit type of (Triggering unit)) == Changeling (Zergling)
   Actions
       Unit - Remove Thin Torus [49.00, 45.50] from the game
       Actor - Send message "Destroy Immediate" to actor Crown
       Variable - Set Crown_Holder = (Triggering unit)
       Region - Attach Crown to Crown_Holder with offset (Point(0.0, 0.0))
       Actor - Attach ShapeThinTorus (Unnamed) to Overhead on Crown_Holder
       Variable - Set Crown = (Actor for Crown_Holder)
       General - Pick each integer from 1 to 8, and do (Actions)
           Actions
               Variable - Set HasCrown?[(Picked integer)] = false
       Variable - Set HasCrown?[(Triggering player)] = true


Keys:
- "Actor - Send message "Destroy Immediate" to actor Crown"
- "Variable - Set Crown = (Actor for Crown_Holder)"
- "Crown" is an "Actor" type variable


ALSO: The Region wasn't big enough to detect if a unit would enter the region, which was kind of another huge bug preventing me from properly testing stuff. XD



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[12:24 pm]
Oh_Man -- arty's done another vid. he's also announced he's going to organise showmatches with pro, with NO maphacks, so we can see its actual capabilities
[10:09 am]
NimoStar -- It can by playing the same map thousands of times. It is similar to AI speedrunning games
[02:30 am]
Symmetry -- I dreamed about that as a kid. The idea of a computer capable of analyzing a starcraft map and calculating the fastest possible way to hit the victory condition
[02:29 am]
Symmetry -- But can AI beat my custom maps?
[2026-9-22. : 12:32 pm]
Oh_Man -- yea APM vs eAPM
[2026-9-22. : 8:48 am]
NimoStar -- plus most of the human APM is just spam clicking APM inflation
[2026-9-22. : 8:47 am]
NimoStar -- the thing with the "*12" thing is completely misleading. The AI isn't using two control groups, it can use each of those actions to command a single unit individually and issue different commands to each single unit.
[2026-9-22. : 8:06 am]
NudeRaider -- NudeRaider
NudeRaider shouted: Oh_Man Artosis hasn't caught on how devastating the perfect focus fire is. With the mutas he was like "the Mutas always seem to have less hp than against a human". But he didn't notice that the flock he had selected always just had one muta that was hurt. Same with the wraiths here. He's talking about how valks+wraith is gonna destroy Pluto's valks, then 5s later he's dumbfounded the human player's air is just gone and he never figured out why. And for some reason didn't even think to go back and look at the battle.
*Pluto's wraiths
[2026-9-22. : 8:05 am]
NudeRaider -- Oh_Man Artosis hasn't caught on how devastating the perfect focus fire is. With the mutas he was like "the Mutas always seem to have less hp than against a human". But he didn't notice that the flock he had selected always just had one muta that was hurt. Same with the wraiths here. He's talking about how valks+wraith is gonna destroy Pluto's valks, then 5s later he's dumbfounded the human player's air is just gone and he never figured out why. And for some reason didn't even think to go back and look at the battle.
Please log in to shout.


Members Online: Zoan, Oh_Man