• 0

    posted a message on XML text problem

    Hello,

     

    Unfortunately, styles supplant other markers like color, because a style may have a color marker inside of itself.

    And in the UI Editor, you can't write those markers for your text.

     

    HOWEVER :

    - You can combine with the Text Editor !

    - Define a new text which will deliver you a custom identifier (Begins with "DOCSTR_").

    - Make the reference to your text Id in the UI Editor for your text value, with "@". Ex : <Text val="@DOCSTR_LABEL_TEST"/>

     

    In the Text Editor, you can customize your text as you want.

     

    That's all.

     

    Have a nice day !

     

    EDIT :

    For more information :
    > Introduction to UI Editor - https://sc2mapster.github.io/ui/2018/02/07/basic-introduction-to-layouts.html

    > SC2Mapster Wiki, UI Editor documentation - https://sc2mapster.fandom.com/wiki/UI_Editor

    Posted in: UI Development
  • 0

    posted a message on Minimap Help

    Hello,

     

    Maybe.

     

    If you look in the UI Editor then look for "MinimapPanel" > "MinimapPanelTemplate", there's an item dialog called "Minimap". That should be the frame you want to play with.

    I see 3 elements :

    - Type : "Minimap" ; Name : "Minimap"

    - Type : "Model" ; Name : "PingFrame"

    - Type : "MinimapCameraViewFrustumFrame" ; Name : "MinimapCameraViewFrustumFrame"

     

    If you hook it, you might be able to change some things.

     

    I never tested it but you may get a result.

     

    Have a nice day.

    Posted in: UI Development
  • 0

    posted a message on How to hide upgrades in the observer upgrade tab?

    Hello,

     

    Sorry, I can't help you.

    I don't see any field or UI settings in data to exclude them.

     

    Even if we suppose we can modify the Standard behavior of the Standard UI, we would mean to change the native code related to Observer player type.

     

    Try to change "ScoreCount" and "ScoreValue". Maybe the UI tracks only some types. I doubt it works but well, we never know.

     

    Otherwise, you should give up that idea.

     

    Have a nice day.

    Posted in: Triggers
  • 0

    posted a message on Attack waves on extension mods not maps

    Hello,

     

    Unfortunately, you can't do that because it forces you to use a pre-placed point.

     

    However, you can copy/paste a personality. Look if doing this between your maps (open multiple maps and change map in Window on the tool bar) also duplicate your attack waves. If necessary, do a special copy.

     

    That should do the trick.

     

    EDIT :

    Try to link to custom triggers, to define points in it for your references.

     

    Have a nice day.

    Posted in: Data
  • 2.85686573012778

    posted a message on Permanently mind control a unit and apply your own research/upgrades to them

    Hello,

     

    That's unfortunately more complicated than it should be.

    We all would like a field in upgrades that allows transfer.

     

    Make sure the upgrade includes the expected unit to affect.

    Two possible solutions to test.

     


    - DATA EDITOR -

     

    What you can try is to create an Effect of type "Modify Player" :

    - Set upgrades you want to change.

    - Set the value "-1" to decrease the level and the value "1" to increase. The value "0" has no effect.

    - Set the correct value to the field "Player".

     

    Note : An upgrade is considered "Researched" when its level is strictly greater than 0. Cannot be strictly lesser than 0.

     

    So when your Marine is transferred and become an Infested Marine, you execute that effect above that decrease the level then you execute an opposite effect that increase the level.

     

    Advanced tips :

    - Must be executed if the upgrade has been researched : Use a Validator of type "Player Requirement" to do that.

    - Must be precise and specific to the transferred unit (thus, specific upgrades). Don't create a generic effect that check all upgrades, that's pointless.

    - Same process for upgrades with levels. So one effect for each level.

    - The execution order is important !

     


    - TRIGGER EDITOR -

     

    That will basically be the same idea than above.

     

    EVENTS :

    - Use a trigger with an event that catches Owner Changes.

     

    CONDITIONS :

    - Validate the triggering unit type.

     

    ACTIONS :

    - If the upgrade is researched then set to 0 then set to 1 for the owner the triggering unit.

     


     

    That should be all.

    Reminder : Trigger solutions MUST BE integrated when you have depleted all Data solutions.

     

    Have a nice day.

    Posted in: Data
  • 0

    posted a message on Slow unit when hit

    Hello,

     

    I'll try to make easy for you.

     

    Use case : When a Unit attacks and successfully damage its target, the targeted Unit slows down.

    Existing example : The Terran Marauder attack when upgraded with "Punisher Grenades".

     

    I won't explain the example but I will detail how I usually do that.

     

    To achieve this, we need 2 behaviors and 1 effect :

    - A Behavior of type "Bonus" (called [1]) which will reduce the Unit's movement speed.

    - A Behavior of type "Bonus" (called [2]) which will apply [1].

    - An Effect of type "Apply Behavior" (called [3]) which will apply [1].

     

    [1] : Change the field "Modification", then select "Movement" tab and set values to :

    - "MoveSpeedMultiplier" (Ex : 0.5 will reduce half the Unit m.speed).

    - "Duration". The Behavior must expire because you may need to apply it again. Ex : The unit slows down for 2 seconds.

     

    [2] : Change the field "Damage Response", then select "Combat" tab and set values to :

    - "Chance" from "0" to "1". The response HAS TO BE executed.

    - "Handled" with the applied effect [3].

    - "Duration". The Behavior must expire because you may need to apply it again. Ex : "0.00" to never expire, this unit is always sensitive to attacks.

     

    Last thing to do is to add the Behavior [2] to units sensitive to the slow attack.

     

    What will happen ?

    To be honest, any unit owning behavior [2] will be slowed from any effect, thus from any attack dealing effect of type "Damage", and that might be not the expected work. That feels not correct.

     


    You have understood how works "Damage Response". That may open some possibilities to you.

    We know that the slow effect is functional thank to that.

     

    You may need (and that is the general case) to only deal the slow effect from that specific attack.

    The effect [3] must be added to your Effect of type "Set" [4] if already existing in your attack schema (might be a Weapon, might be an Ability).

    - If [4] does not exist, create one.

    - Replace the effect from your attack schema with [4].

    - Add [3] to [4].

     

    Optional : You can delete [2].

     

    That's all. That attack always slow damaged units.

     

    Advanced tip :

    - Use validators to filter units.

     

    Have a nice day.

    Posted in: Data
  • 0

    posted a message on How to make Structures "Produce" Terrazine?

    Hello,

     

    Except you have non standard resources, managed with an integer variable in triggers, I don't recommend you to use triggers.

     

    The perfect example is the Terran Automatic Refinery. It owns 2 distinctive behaviors :

    - A "Resource" Behavior to set the quantity of resources it holds. This behavior has fields for a harvester (if we stay standard ;) ).

    - A "Bonus" Behavior which periodically executes an "Modify Unit" Effect. This effect subtracts resources (negative value) to the Unit holding a "Resource" Behavior.

     

    And that's all.

     


    If you really want to play with triggers :

    - Non standard resources : You need to allocate variables for your players.

    - Standard resources : Make sure to show the resource. In Data Editor, open tab "Races" and change "Show Resources" value. For example, add "Terrazine".

     

    Then, execute periodically your function (Function name : "Modify Player Property") to add resources to your Player Group.

     

    Of course, for your goal, you must count player's buildings. I presume you can do that.

     

    Have a nice day.

    Posted in: Triggers
  • 0

    posted a message on Partially Textured Assets

    Hello,

     

    Unfortunately, I can't help you. I never encountered that issue.

     

    When you say "imported assets", you are not talking about all Blizzard stuffs, I suppose ?

     

    Those assets are from the Internet, built by someone else ?

    Do these assets work for someone else ?

     

    When you import in StarCraft II, there's nothing more to do.

    It might be a problem from the asset itself (if not working for anyone, can be export settings, textures/materials not found etc etc) or from the quality in graphics of your game, your editor or your setup.

     

    Have a nice day.

    Posted in: Data
  • 0

    posted a message on Air units and flying in a single direction

    While the unit is attacking / bombarding, and so is moving, you can prevent the ability "Move" (duplicate it if necessary) to be executed, by disabling it with a behavior and a prerequisite, for example.

     

    What you want is :

    - The attacking unit finds a target.

    - The attacking unit moves during the attack.

    - The attacking unit cannot accept any other order during the attack.

     

    And then, what happens after the attack ?

    I suppose it needs to continue its path. You must have a default destination when the aircraft depleted its ammo.

    For instance, in the game Command & Conquer, an aircraft returns to its assigned airpad or airfield.

    Unfortunately, I don't know how the "assigned" thingy could be done in StarCraft II. You can search a building on the map and all but which building the unit is attached to ... I don't know.

     

    Another thing :

    If you want to simply make your unit turn around in the air, you have to set for a "Unit" :

    - A small value to "Turning Rate" (Ex : 72.0)

    - A small value to "Acceleration" (Ex : 100.0)

    - A small value to "Deceleration" (Ex : 50.0)

    - Create a permanent or no expiration behavior which orders the unit to move to the next presumed 90 degrees arc (generally to the right).

    - The effect "Give Order" must have a validator which checks the orders' count of the unit.

    - The validator only uses an ability link, so you must change your weapon to an auto-ability (same effect).

     

    That's a lot of work if you still are discovering the editor but that's only training then.

     

    Good luck, stay determined.

     

    Have a nice day.

     

    Posted in: Triggers
  • 0

    posted a message on External Carrier units Load/Unload

    The difference with invisibility (or cloaked, buried ...) is that any object cannot interact with a hidden unit. And conversely.

     

    The only way to target them is to explicitly set in a target filter for "Hidden" the value "Required".

     

    The hidden unit is not able to use any of its abilities, weapons ... . Behaviors, timers ... are frozen.

     

    Have a nice day.

    Posted in: Data
  • 0

    posted a message on Hero Abilities

    Hello,

     

    You should have a Behavior of type "Veterancy" which controls each level what to modify for the unit. And you can copy / paste a row in the array. You can activate / deactivate abilities from the "Ability" tab.

     

    Look for examples that Blizzard integrated :

    - Behavior : Veterancy > Veterancy test

    - Ability : Learn > Test Learn

    - Ability : Effect - Target > Test Leveled Spell

    - Unit : Campaign > Neutral > Unit > Test Hero

     

    You can replicate a hero like in WarCraft III with learnable spells.

     

    The only thing to know is that in StarCraft II, a level 0 spell is "learnt". You need to add a prerequisite to lock it. What you can do is to set on the same slot on the command card a Behavior and an Ability and play with 2 prerequisites (Section "Show" is used to show / hide the button, section "Use" is used to grey the button).

     

     

    Have a nice day.

    Posted in: Data
  • 0

    posted a message on New rpg game in the making

    Hello,

     

    Create a "ModifyUnit" Effect :

    • Use the field "Facing Adjustment" and set the value to 180.
    • Change the field "Facing Type" to "Look At".
    • Change the field "Facing Location" to "SourceUnit" or "CasterUnit".
    • Make sure the field "Launch Unit" is the "Source" or the "Caster".

    Then set that effect to your Ability of type "Build" (On start stage).

    The effect will force the unit to face to where it faces + 180 degrees = To turn around its back.

     

    About the other Ability, of type "Gather", I don't know when the effect is applied (at start gathering, at end gathering ???). Play with the field "Effect Delay" too. So you need to test it.

    Else, you will need a workaround and that might be complex. But for now, try this and that.

     

    Have a nice day.

    Posted in: Data
  • 0

    posted a message on Create new burrowed units that unburrow after spawning

    Hello,

     

    I will quote myself from another thread :

    In Data Editor, make sure you selected your "Source" instead of "All data". Select the last option which is the map name.

    Then find your data, it should appear in green.

    In fact, the color has meanings :

    - if the name is green = changes for a built-in data, changes from your manual work.

    - if the name is blue = changes for a built-in data, changes from a specific dependency (see note below). If you change something, it will duplicate it and create a copy for your mod or your map. Only 1 copy per data ID (that means you CANNOT change all dependencies' copies).

    - if the name is grey = no changes for a built-in data.

    Of course, change again the source if needed. A "Source" is a dependency useful for your map, like LibertyMod or VoidCampaign.

     

    An Ability of type "Morph" is easy to use. What it does is simple, it will swap between two Unit Types like Siege Tank, Zergling or Warp Prism.

     

    What you need to know :

    • You may duplicate a "Morph" Ability to distinct which Unit Type can use it.
    • Because if multiple Unit Types have it, and in-game you select a group of these and use the ability, all units will perform the ability. They added "Ability ID" to do the same thing.
    • Duplicating a "Morph" Ability only requires the Button used in the field "Commands".

     

    Unfortunately, you will need a lot of time to learn how to manipulate every data tab. The advice that I can share is to understand separately how and why 2 elements are linked, for example how and why a Unit needs an Actor of type "Unit" to work. Another example, how and why an Ability of type "Instant" needs Effects. And so on.

    To facilitate that work and to see what is linked to the selected element, activate the object explorer (View > Show object explorer or Shift+Alt+E) and set your view as table (CTRL+1).

     

    Have a nice day.

    Posted in: Data
  • 0

    posted a message on External Carrier units Load/Unload

    Hello,

     

    I'm not sure if this will work but you can try.

     

    Create a macro and add events of type "Transport".

    For your carrier-type unit, add that macro to your "Unit" Actor.

     

    > AbilTransport.__YOUR_TRANSPORT_ABILITY__.CargoLoad

    > SetVisibility

     

    > AbilTransport.__YOUR_TRANSPORT_ABILITY__.CargoUnload

    > SetVisibility 1

     

    > AbilTransport.__YOUR_TRANSPORT_ABILITY__.TransportLoad

    > SetVisibility

     

    > AbilTransport.__YOUR_TRANSPORT_ABILITY__.TransportUnload

    > SetVisibility 1

     

    Define value "::OuterUnit" to "Target" of action "SetVisibility".

     

     

    "::OuterUnit" is a system tag that should refer to external units owned by your current unit (carrier, hangar ... whatever the name).

     


    Else, if the tag doesn't work, remove the macro.

    The idea is to work with outer units. You can target outer units in Effects.

    > How to detect when the carrier embarks and disembarks ?

     

    In your "Transport" Ability, you can set a behavior and an effect when 1 unit embark/disembark, when all units embark/disembark (= 4 possibilities). Apply an effect that targets "TargetOuter" (not "CasterOuter", you want "outers" of the embarking unit).

     

    Example of effect :

    • Create a "Modify Unit" Effect. Set in "Modify Flags" the flag "Hide".
    • Create a "Modify Unit" Effect. Set in "Modify Flags" the flag "Show".

    When the unit embarks, apply the one which hide outer units.

    When the unit disembarks, apply the one which show outer units.

     

     

    Have a nice day.

    Posted in: Data
  • 0

    posted a message on Making the ability splat visible to all players

    Hello,

     

    A "splat" is a simple model.

    An Actor of type "Model" and as parent "ModelAddition" (or "ModelAdditionStyleContinuous" if animated) usually does the trick, because all actors are shown to all players by default.

     

    Blizzard usually creates a "splat" for the player owner and a "splat" for the others, like the Nuclear Missile ability. And that means 2 actors with different "Visible to" values.

     

    To be honest, I don't know where might be your problem.

     

    Have a nice day.

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