• 0

    posted a message on Can terrain be loaded?

    Hello,

     

    Make a save backup of your files and try File > Merge files.

    Pay attention to order !

     

    If you can't get the expected result, then, change the tileset (Map > Map textures) and then do copy / paste (open both maps and switch between them with Window tab). Use the "Selection tool" (Tools > Selection mode) to select terrain squares.

     

    Have a nice day.

    Posted in: Terrain
  • 0

    posted a message on Unit stand Amnie while move

    Hello,

     

    Look for your "Unit" Actor then look for the field "baseline" (see attached picture 1).

     

    When the unit moves, the engine changes its baseline from "Stand" to "Walk" and reversely.

    As you may have seen in the Cutscene Editor, the Starport model has animations lying on properties as follow :

    - Stand

    - Stand Work Start

    - Stand Work

    - Stand Work End

    - Fly Walk

    - Fly Start

    - Fly Stand

    - Fly End

    - Some more about Build voluntarily omitted

     

    In Actor events, you may know that the animation group property "Fly" is applied when the unit lifts off and is removed when the unit lands.

    Properties "Start" and "End" are used when an animation bracket is applied/removed.

    The "Work" property is set from  the macro "BuildAnim".

    But except event 38 (see attached picture 2), there's nothing about "Stand" and "Walk" properties.

     

    The reason is simple, they are "resource-driven" with what engine calls "baseline" animations.

     

    If you replace "Walk" to "Stand" and make your Starport move, it will apply "Fly Stand" instead of "Fly Walk" animation properties.

     

    Have a nice day.

    Posted in: Melee Development
  • 0

    posted a message on Removing A Dependency

    Hello,

     

    This is a very difficult issue to probe and to resolve.

    What I can say is your objects use a link (or more) to the deprecated mod. That means to redo the fusion more carefully or to review each object, one by one (use raw data view CTRL+D to see links without opening heavy windows).

     

    But first of all, why do you want to merge them ? Is it really necessary ? Is it because they are heavy ? Or conflicts appeared between them (which happens when using same IDs --- that's why you prefix ou suffix them) ?

    2 mods can work together as 2 sources for your new map.

     

    Anyway, how did you do the merge ? Manually or with File > Merge files (hotkey "M") ?

     

    Have a nice day ?

    Posted in: Data
  • 0

    posted a message on cant pick up item inside of a hole

    Hello,

     

    Maybe the item is out of range when inside the hole or the path (or trajectory) blocks the unit before it reaches the item.

     

    -8 is not the lowest. It's the lowest height for the lowest "cliff" height, a terrain system.

    However Units can't go below 0 (gameplay limitation with the game grid). You can emulate the fact it's below 0 with Site Operations (Actors) but bla bla bla, the unit height is at 0 in the end.

     

    When an Actor is below the grid, it might be difficult to select it, so it might be difficult to select the Unit. Some Actor aliases can help :

    - "_EditorHelper" adds a pin to make easy the selection when the actor is partly / totally below 0 or covered with a bigger Actor. Works only in Editor.

    - "_Selectable" allows touch tests from the click of your mouse and any object on the straight line. Careful, this one is used with the standard game. Works in Editor and in-game.

     

    You may resolve this issue with a bigger radius for your item, to stick out the cliff borders.

     

    I don't have more ideas at the moment.

     

    Have a nice day !

    Posted in: Data
  • 0

    posted a message on Need help creating a Dialog Item button for a progressing upgrade

    Hello,

     

    It is indeed a UI request. Can repost your image or link to SC2Mapster forum if it's somewhere around, please ?


    PART 1 - UI EDITOR

     

    In the meantime (see attached picture 1), I put a link at the end for an archive with 3 XML files.

    Open the UI Editor and create 4 layouts :

    - MyMainUI

    - MyMainUITemplates

    - MyOverrideLayout

    - MyOverrideUpperContainer :

    MyOverrideUpperContainer will anchor the new main frame to the GameUI frame :

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <Desc>
        <Frame type="Frame" name="GameUI/UIContainer/FullscreenUpperContainer" file="GameUI">
            <Frame type="Frame" name="MyMainUI" template="MyMainUI/MyMainUI">
                <Handle val="MyMainUI"/> <!-- This handle allows us to use "$MyMainUI" reference -->
            </Frame>
        </Frame>
    </Desc>

    If you change names, change them inside too.

     

    Bravo, this is your template (see attached picture 1) !

     

    READ FILES ! I inserted some comments to understand what the text does.

     

    To go further :
    - UI Introduction : https://sc2mapster.github.io/ui/2018/02/07/basic-introduction-to-layouts.html

    - UI Editor documentation : https://sc2mapster.fandom.com/wiki/UI_Editor

    - State Groups : https://sc2mapster.fandom.com/wiki/UI/State_Groups

    (And more about frames, referencing, properties, animations etc)

     



    PART 2 - TRIGGER EDITOR

     

    To make it easy to use, we will hook up the button in triggers.

    - Create a "Dialog Item" variable.

    - Create a trigger or action definition to hook up the button (see attached picture 2).

    - Create a trigger to catch the event, when a user clicks on a dialog item. (see attached picture 3). This is a sample, do your things here.

     

    And at this point, you linked the new UI with triggers. You must understand that UI frames are in general templates meant to be specified afterwards. This can be done in many ways, inside the UI Editor or the Trigger Editor.

     

    That means the button can be duplicated, moved and used for different actions, according to your wish.


    Archive :

    SC2_UI_MyCustomButton.zip

     

    Have a nice day !

    Posted in: Triggers
  • 0

    posted a message on Unit bar is too low

    Hello,

     

    I suppose you made something wrong.

     

    Let's take the Barracks as example.

     

    > What you must know :

    - A Unit is a sheet of gameplay info, unrelated to what you try to do.

    - A Unit has to be linked to exactly 1 Actor of type "Unit".

    - That "Unit" Actor links 3 models :

        * Model (Build Model uses the same model),

        * Death model (used in field "Death Array +" or "Death Customs +"),

        * Placement model.

     

    > What you may know :

    - The building model is a different Actor (of type "Model"). Ex : BarracksBuild (see attached picture 1 : highlighted yellow text)

    - Attached picture 1 : Block [A] : Events related to "flying" variation of the Barracks (which uses the same "Unit" Actor)

    - Attached picture 1 : Block [B] : Events related to "Morph" Ability when the Barracks lifts off.

    - Attached picture 1 : Block [C] : Events related to "Morph" Ability when the Barracks lands.

    - Attached picture 1 : Block [D] : Extra events to do when the Barracks lands. It will destroy foliage and create its splat (see "Splat" Actor).




    > How I usually do :

    - Duplication of the Barracks (CTRL + U) : Select the Unit, the "Unit" Actor and all 3 models described above.

    - Look for the "Model" Actor responsible to the build process called "BarracksBuild".

    - Duplication of the Actor "BarracksBuild" + the Model "BarracksBuild" (yes, it's the same ID).

    - Replace or correct Events in the "Unit" Actor : "BarracksBuild" -> "MyBarracksBuild".

     

    Bravo, you successfully duplicated your building !

     

    > To go further :

    - You can see that "BarracksBuild" creates a "Progress" Actor named "Terran Construction Attached".

    - The Actor "Terran Construction Attached" is responsible to the animation of the Model (not the Actor) "BarracksBuild".

    - The stages are managed by the Ability which call a "Build" order (thus, "Build" Abilities).

    - Pay attention to animations names (also called animation properties). The construction model uses the property "Birth" whereas the building model uses the property "Build". That's why you can see in Stages the property "Birth" which means it controls the construction model and the property "Build" in events which means it controls the building model.

    - Mystery to me : I don't know how the game controls the building model animation and when you copy as I do, it never transfers the animation properties from the construction model to the building model. So, I do something like attached picture 2 (change the source name to yours).

    - Careful to aliases "_TerranBuildModel" and "_TerranBuildModelSmall" !

    - Sounds are detached to their own "Sound" Actors called "Terran Construction Sound".

     

    If you still get issues because you want to customize, write here !

     

    Have a nice day !

    Posted in: Data
  • 0

    posted a message on Need help getting a Behavior to add an Ability to a unit

    Please create a new thread since the object is unrelated.

    And detail your issue there.

    Posted in: Data
  • 0

    posted a message on return cargo or drop off issue.

    Hello,

     

    I'm not 100% sure about what you asked.

     

    - To make harvesters collect without waiting :

    Probe -> Mineral Field : The "Gather" Ability has a flag called "Bypass Resource Queue". All units owning this ability can gather at the same time the same resource field.

     

    - To allow resources be dropped off to a building :

    Probe -> Nexus : The default behavior does not set a queue to drop resources. To drop resources, set Unit flags for "Resource Drop Off +" field.

     

    - To make harvesters collect without spreading :

    Probe -> Mineral Field : Uncheck "Bypass Resource Queue" flag and set "Acquire Radius" to 0, the harvester won't go to another Mineral Field if this one is already being collected. Which also means, the harvester won't acquire a new one if the previous one is depleted.

     

    - To make harvesters wait during resources drop off :

    Probe -> Nexus : Create a dummy Ability (Ex : Effect - Instant) to be channeled by the harvester (don't forget to add it to the unit). Look for the example "Nuclear Strike" to do a channeled ability. Here is the schema :

    > "Resources" Behavior :: Effect - final : "Apply behavior" Effect.

    > "Apply behavior" Effect :: Effect - behavior : "Bonus" Behavior.

    > "Bonus" Behavior :: Effect - initial : "Give Order" Effect / Display Duration + : Self / Duration : 3.334 (for example) / Modification + : Behavior > Suppress moving, Suppress turning / Validators : (Caster Not Dead)

    > "Give Order" Effect :: Effect - ability : "Effect - Instant" Ability / Command Flags + : Preempt, Smart Rally

    > "Effect - Instant" Ability :: Effect : "Persistent" Effect / Uninterruptible + : Channel / Validated + : Approach, Prep, Cast

    > "Persistent" Effect :: Initial delay : 1.0 / Expire delay : 2.334 (The sum is generally equal to value 3.334 above)

     

    Bonus : You can change it to make resources added to player step by step :

    > "Resources" Behavior :: Effect - final : "Set" Effect.

    > "Set" Effect :: Effects : "Apply behavior" Effect. "Modify Player" Effect [A].

    > "Modify Player" Effect [A] :: Effect - Resources : -175 Minerals (for example).

    > "Bonus" Behavior :: Effect - initial : "Give Order" Effect / Display Duration + : Self / Duration : 3.334 (for example) / Modification + : Behavior > Suppress moving, Suppress turning / Validators : (Caster Not Dead) / Period count : 7 (for example) / Period : 0.4 (for example) / Periodic effect : "Modify Player" Effect [B]

    > "Modify Player" Effect [B] :: Effect - Resources : +25 Minerals (for example).

    > "Give Order" Effect :: Effect - ability : "Effect - Instant" Ability / Command Flags + : Preempt, Smart Rally

    > "Effect - Instant" Ability :: Effect : "Persistent" Effect / Uninterruptible + : Channel / Validated + : Approach, Prep, Cast

    > "Persistent" Effect :: Initial delay : 1.0 / Expire delay : 2.334 (The sum is generally equal to value 3.334 above)


    Note : 25 minerals per 0.4 second for 7 periods = 175 minerals total during 2.8 seconds. Plus, 2.8 < 3.334 seconds. All good !

     

     - Unfortunately, I did't get the time to try to create a queue to drop off resources ... but that would mean complex things, I saw nothing native (data fields) going to this sense.

     

     

    Have a nice day !

    Posted in: Data
  • 0.956173475225998

    posted a message on [SOLVED]found a blank button to use for secret achievement but it still shows border on hover.

    Nice work !

     

    I think the "When" tag compares the string in the Text attribute as it is than retrieve the value of a reference beforehand.

    Because I already did a label with Text attribute using a reference and worked as expected.

     

    With the property binding brackets "{" && "}", it retrieves the reference's value.

    <When type="Property" frame="NameLabel" Text="{@Unit/Name/DTRCommandCenter}"/> 

     

    What a trick to create a dummy frame to stock values. Might be useful.

     

     

    About the Alpha, you obliterate the fading animation with :

    [...]
    <FadeTime val="0"/>
    [...]
    <Action type="SetProperty" frame="$layer/CommandTooltip" Alpha="255"/>
    [...]

    But yeah, that's a good workaround if not very concerned about !

     

     

    Lastly, I discover the "$layer" frame referencing.

    Does this reference what's on the current XML sheet / layout (which is extremely useful, headache savior to find frames) ?

     

    Posted in: Data
  • 0.95618350303169

    posted a message on [SOLVED]found a blank button to use for secret achievement but it still shows border on hover.

    OMG (deserves the highlight) you made me discover we can override UIs, that's so powerful !

    That opens so much more possibilities !

     

    So I tried and modified the previous XML to hide the tooltip like previously but :

    - It depends on the Unit's name in the info panel (also called unit status) "InfoPanel".

    - New StateGroup for the info panel of the unit (child of the info panel) "InfoPaneUnit".

     

    Note : However, this inherits an odd behavior, the tooltip shows up when you play around with the mouse.

     

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <Desc>
        <Frame type="CommandPanel" name="GameUI/UIContainer/ConsoleUIContainer/CommandPanel" file="GameUI">
            <Frame type="CommandTooltip" name="CommandTooltip">
                <FadeTime val="1"/>
                <StateGroup name="TooltipState">
                    <DefaultState val="Visible"/>
                    <State name="Hidden">
                        <Action type="SetProperty" Alpha="0"/>
                    </State>
                    <State name="Visible"/> <!-- Engines makes it fading with Alpha property -->
                </StateGroup>
            </Frame>
        </Frame>
    
        <Frame type="InfoPanel" name="GameUI/UIContainer/ConsoleUIContainer/InfoPanel" file="GameUI">
            <Frame type="InfoPaneUnit" name="InfoPaneUnit">
                <StateGroup name="NameState">
                    <DefaultState val="UnitNameOff"/>
                    <State name="UnitNameOn">
                        <!-- For unknown reasons, it doesn't make the link to the text reference -->
                        <!--<When type="Property" frame="$this/NameLabel" Text="@Unit/Name/DTRCommandCenter"/>-->
                        <!-- Replace the text value to yours -->
                        <When type="Property" frame="$this/NameLabel" Text="Command Center"/>
                        <!-- Command buttons from 00, 01 ... to 14 -->
                        <When type="Property" frame="$GameUI_CommandPanel/CommandButton00/NormalImage" Texture="Assets\Textures\btn-blank.dds"/>
                        <When type="Property" frame="$GameUI_CommandPanel/CommandButton00" Hovering="True"/>
                        <Action type="SetState" frame="$GameUI/$parent/CommandTooltip" group="TooltipState" state="Hidden"/>
                    </State>
                    <State name="UnitNameOff">
                        <Action type="SetState" frame="$GameUI/$parent/CommandTooltip" group="TooltipState" state="Visible"/>
                    </State>
                </StateGroup>
            </Frame>
        </Frame>
    </Desc>

     

     

    Posted in: Data
  • 0.95638236977676

    posted a message on [SOLVED]found a blank button to use for secret achievement but it still shows border on hover.

    I was afraid of "always hidden", so it happens on any selection. That sucks.

     

    I don't think you can get a better result with the standard UI.

     

    Kudos to the person who wrote the XML above.

     

    Posted in: Data
  • 0.956372380625215

    posted a message on [SOLVED]found a blank button to use for secret achievement but it still shows border on hover.

    Ok, that person added a condition for the existing command panel.

     

    Is your background on button 14 (row 3, column 5) always hidden or only when you select your thingy ?

    Posted in: Data
  • 0

    posted a message on CSV Utility Library

    Let's see ...

     

    Open the Console (Window > Console) and type  "browse" to open the assets explorer.

    Search for "shapes\" to enumerate all doodad models.

     

    From a CSV of strings representing shape's names (subtract the prefix "Shape"), create the shape Unit if exists.

    Example : "Strawberry,Orange,Thing,Heart,Box,X,Cube" with "Thing" non-existent.

     

    Can you show me a picture of the result ?

     

    Note : There's a trap.

    Posted in: Triggers
  • 1.87428129978538

    posted a message on CSV Utility Library

    Hello,

     

    I want to add a note :

    In the Data Editor, you can do data management with User Types (Click on + button > Modify Advanced Game data > User Types).

    They are similar to sheet values, usually done with CSV files, indeed.

     

    To people who needs string functions to do what is described, you can try the library. Or create yours.

     

    Have a nice day !

    Posted in: Triggers
  • 0.956910382764153

    posted a message on [SOLVED]found a blank button to use for secret achievement but it still shows border on hover.

    Do you mean something like this (See attached picture 1) ?

     

    I hovered the button on the bottom left of the command card.

     

    If yes :

    I successfully hooked up the command card's tooltip.

    However, any element of the command card shares the tooltip. That means it's updated according to the button you hover.

    I set the background image of the tooltip to a blank image, it helps to hide without explicitly hiding it.

    See attached picture 2.

     

    Note : CTRL + ALT + F12 to open the UI debugger in the game.

    I followed the tree structure to hook up the intended element.

    On the picture 2 : The 1st hook shows that the command card's tooltip is not linked directly to the command panel.

     

     

    Finally, you must wonder when you change the background image.

    Since the tooltip is shared, there are several ways :

    - When the player hovers / "un-hovers" the button. => Impossible.

    - When the player selects / deselects the building and according to conditions (did all upgrades). => Yes but no, that means there's only 1 button on the command card.

    - All tooltips are modified and you don't care. => Yeah ok (wrong).

    - You change something else about the tooltip. => Inset values are 15 for top, right, bottom, left. Set to 0 does no effect.

    - You change something else about the tooltip. => AnchorFrame has an offset of 15 for bottom and right anchors. Set to 1 does effects, see attached pictures 3 and 4.

     

    Nevertheless, I did the changes in the UI debugger, to find the culprit (See attached picture 5). We now need to do that in triggers.

    Unfortunately, we can't change anchors.

    This is a dead end.

     

    Have a nice ... night !

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