Hey guys. So I got a request to make a video tutorial about attachments (something ProzaicMuze has made several written tutorials on). Based off this tutorial of his: http://www.sc2mapster.com/forums/resources/tutorials/8926-data-working-with-attachments-beginner-difficulty/ except I decided to do a siege tank on a bunker instead to spice things up. Most everything is working, except I'm having trouble getting the launch assets/actors to fire from the correct place. They keep firing from the bunkers weapon, and not the siege tanks.
Just look at the siege tank stack tower demo map, it is in the data assets somewhere from about two years ago (not mine).
The default launch site actor automatically is hosted on the main Unit actor. Make a custom Site actor and have that hosted on your attached tank weapon and get your Action actor to use it. The very tutorial by ProzaicMuze covered that part (do I need to quote?).
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
From a member whose first language isn't english. They tend to find text tutorials, especially long ones difficult. Video tutorials can be more helpful to those individuals.
Can't find that siege tank tower map.
I thought I was doing that correctly, but it isn't working in game. And since I'm still fairly new at actors, I'm not sure at what point it is I'm going wrong. As far as I know it could be the site operation, the site, or perhaps even attack actor. I'm not really sure of the best way to debug it.
On the site OP I've tried using both AMfilterWeapon as well as directly attaching it to the weapon. On the site actor, for creation/destruction I've tried both the unit creation event (used in the tutorial linked above) as well as the actor creation/destruction event (used in his uberlisk tutorial). I'm sure I've tried a bunch of changes on the attack actor itself as well, but its been a few days.
Since I was doing a different unit, I didn't follow everything step by step, but I feel as though I did hit the major stuff. I did duplicate the siege tanks weapons/weapon actors instead of making them from scratch. There of course was no need for me to make a beam actor.
So yea, I have a site operation that looks for a weapon. My Site actor hosts from the attached tank actor (a model addition actor) and uses the previously mentioned site ops and therefor should be making it to the weapon. Then the attack actor has the launch site set to that site actor. So I'm not sure what is going wrong.
ProzaicMuse aproach doesnt work anymore because he suggests creating site actors as a placeholders on UnitBirth event. Since 2.0.X patch site actors got automaticaly destroyed if they are not holding anything.
How exactly do you get a site actor to hold something? I thought if I added an invisible model, maybe it'd be able to combat that problem so I created an additional modeladdition actor type with the site actor as the host subject and the events to be created/destroyed upon the site actor's creation/destruction. Didn't seem to work.
The leviathan tentacles sites seem to use the host subject type reference of "::scope::Tentacle(letter)". I'm not really sure what these references are or how I view them. Could you explain.
You see the leviathan tentacle models use a Reference Set event action to set themselves being known as that. It is a redundant method because they still work if you tell the site to be hosted on the tentacle model.
You get five kinds of references. The normal ones are just a string of letters used to refer to an actor or attachment, they are arbitrary and for the map makers convenience like the spine crawler tentacle attachment. You get system references like ::Host which tend to refer to the associated hosting fields, actors involved in the creation of the actor or actors sending events to the actor. You get actor references which start with ::actor. which target all actors with that name. You get scope references which begin with ::scope. that use the scope of the associated actor for finding caster/source/target/etc information when trying to determine a hosting subject with actor find. Finally you get global references, these begin with ::global. and there can only be one set at any time and all actors using this reference will refer to the actor with it currently set to. The global reference is why the snipe beam of raynor is not multicastable.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
Ah well, I can't seem to figure it out. I'll put this away for awhile and maybe I'll come back to it someday. I even tried bypassing the launch site by creating a one shot spell animation actor, but couldn't get that positioned correctly either :/
there are plenty of ways to do it but one of the easiest would be sending message HostSetOffset to the _LaunchGuide actor on creation. If your Action actor doesnt have beam or missile (for example marine or tank attack animation type) you need to create custom GenericAttackLaunchModel (duplicate that actor, go to the action actor and set Combat: Launch Model to this newly created one). Go to events of this custom launch model and add: ActorCreation => HostSetOffset (Put ::Host in "Host Name" field, in "Host Subject" you must choose the name of your attached model, if you want to launch asset from the tank model which is attached to bunker you must type the name of your tank model actor, or it's reference name. In site operation add SOpAttachWeapon)
In case when there are no missiles or beams action actor doesnt create GenericAttackLaunchSite and _LaunchGuide reference equal to GenericAttackLaunchModel actor. In other cases (whenever there are any missiles or beams) you will need to do exactly the same which i explained above but with GenericAttackLaunchSite actor (Located in "Combat: LaunchSite" field of the action actor)
Hey guys. So I got a request to make a video tutorial about attachments (something ProzaicMuze has made several written tutorials on). Based off this tutorial of his: http://www.sc2mapster.com/forums/resources/tutorials/8926-data-working-with-attachments-beginner-difficulty/ except I decided to do a siege tank on a bunker instead to spice things up. Most everything is working, except I'm having trouble getting the launch assets/actors to fire from the correct place. They keep firing from the bunkers weapon, and not the siege tanks.
Request from who?
Just look at the siege tank stack tower demo map, it is in the data assets somewhere from about two years ago (not mine).
The default launch site actor automatically is hosted on the main Unit actor. Make a custom Site actor and have that hosted on your attached tank weapon and get your Action actor to use it. The very tutorial by ProzaicMuze covered that part (do I need to quote?).
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
From a member whose first language isn't english. They tend to find text tutorials, especially long ones difficult. Video tutorials can be more helpful to those individuals.
Can't find that siege tank tower map.
I thought I was doing that correctly, but it isn't working in game. And since I'm still fairly new at actors, I'm not sure at what point it is I'm going wrong. As far as I know it could be the site operation, the site, or perhaps even attack actor. I'm not really sure of the best way to debug it.
On the site OP I've tried using both AMfilterWeapon as well as directly attaching it to the weapon. On the site actor, for creation/destruction I've tried both the unit creation event (used in the tutorial linked above) as well as the actor creation/destruction event (used in his uberlisk tutorial). I'm sure I've tried a bunch of changes on the attack actor itself as well, but its been a few days.
Since I was doing a different unit, I didn't follow everything step by step, but I feel as though I did hit the major stuff. I did duplicate the siege tanks weapons/weapon actors instead of making them from scratch. There of course was no need for me to make a beam actor.
So yea, I have a site operation that looks for a weapon. My Site actor hosts from the attached tank actor (a model addition actor) and uses the previously mentioned site ops and therefor should be making it to the weapon. Then the attack actor has the launch site set to that site actor. So I'm not sure what is going wrong.
ProzaicMuse aproach doesnt work anymore because he suggests creating site actors as a placeholders on UnitBirth event. Since 2.0.X patch site actors got automaticaly destroyed if they are not holding anything.
@abvdzh: Go
Thanks for the information.
Anyone know of an alternate method then? I'll try playing around for a bit.
How exactly do you get a site actor to hold something? I thought if I added an invisible model, maybe it'd be able to combat that problem so I created an additional modeladdition actor type with the site actor as the host subject and the events to be created/destroyed upon the site actor's creation/destruction. Didn't seem to work.
Look how the zerg leviathan does it for the sites the tentacles use.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
The leviathan tentacles sites seem to use the host subject type reference of "::scope::Tentacle(letter)". I'm not really sure what these references are or how I view them. Could you explain.
You see the leviathan tentacle models use a Reference Set event action to set themselves being known as that. It is a redundant method because they still work if you tell the site to be hosted on the tentacle model.
You get five kinds of references. The normal ones are just a string of letters used to refer to an actor or attachment, they are arbitrary and for the map makers convenience like the spine crawler tentacle attachment. You get system references like ::Host which tend to refer to the associated hosting fields, actors involved in the creation of the actor or actors sending events to the actor. You get actor references which start with ::actor. which target all actors with that name. You get scope references which begin with ::scope. that use the scope of the associated actor for finding caster/source/target/etc information when trying to determine a hosting subject with actor find. Finally you get global references, these begin with ::global. and there can only be one set at any time and all actors using this reference will refer to the actor with it currently set to. The global reference is why the snipe beam of raynor is not multicastable.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
Ah well, I can't seem to figure it out. I'll put this away for awhile and maybe I'll come back to it someday. I even tried bypassing the launch site by creating a one shot spell animation actor, but couldn't get that positioned correctly either :/
there are plenty of ways to do it but one of the easiest would be sending message HostSetOffset to the _LaunchGuide actor on creation. If your Action actor doesnt have beam or missile (for example marine or tank attack animation type) you need to create custom GenericAttackLaunchModel (duplicate that actor, go to the action actor and set Combat: Launch Model to this newly created one). Go to events of this custom launch model and add: ActorCreation => HostSetOffset (Put ::Host in "Host Name" field, in "Host Subject" you must choose the name of your attached model, if you want to launch asset from the tank model which is attached to bunker you must type the name of your tank model actor, or it's reference name. In site operation add SOpAttachWeapon)
In case when there are no missiles or beams action actor doesnt create GenericAttackLaunchSite and _LaunchGuide reference equal to GenericAttackLaunchModel actor. In other cases (whenever there are any missiles or beams) you will need to do exactly the same which i explained above but with GenericAttackLaunchSite actor (Located in "Combat: LaunchSite" field of the action actor)