• 0

    posted a message on How do I change the loading screen of an extension mod?

    And finally pull yourself up to SC2Mapster in Discord. link

    For questions, find Qᵐᵃˣ#4973.

     
    Posted in: Triggers
  • 0

    posted a message on How do I change the loading screen of an extension mod?

    In reply to snowmist126:

     Hello!

     

    Officially, we cannot change anything from the game until the mod is launched. In addition to attributes in the lobby. This is only possible for maps.
    However, the option to replace the boot image was found. Although it only works on the second run:

     

    Each map at the start (loading) has a picture.
    For example, the current map,

    - Ancient Cistern LE, has a loading image "loading-haven.dds".
    - Gresvan LE has "loading-belshir.dds" and so on.

     

    These pictures are tied to the texture pack for the map. Their location:
    - Terrain Types - Loading Screen

    The type used on the map Ancient Cistern LE = "loading-haven.dds".
    They are located in the "Assets/Textures/" folder (this is important !)

     

    Or you can visually see all the pictures at the start of the map and compare them with those exported from the game in folder "loading screens" - google disk.

     

    All pictures at the start of the maps are loaded into the cache. We also need to replace the pictures in the game cache.
    What are we doing?

    In modules "Import" of mod we load images into a folder:
    Assets/Textures/ [necessary names].dds


    And it will work for non-Blizzard maps - but you need to know the name of the boot image.

    You will also have to change the image format from jpeg/jpg/tiff/png to dds. This is done either in Adobe Photoshop or GIMP with .

     

    * In order for Windows Explorer to display dds pictures, you need to use a "DDS Viewer".

    * Gimp previously needed a plugin. Perhaps now, when installing the current version of Gimp, the plugin will already be in the system. I have a picture in the folder where the plugin is located - check. Either install mine, or search and download on the Internet: like "GIMP DDS plugin".

    * Photoshop also needs the "NVIDIA Texture Tools Exporter plugin". I have it in a folder. Or download from the official Nvidia website. Or look for "Photoshop DDS Plugin".

     

    Provided two mods. Only the pictures differ.
    In the Import you will see the Assets/Textures/ folder where all the pictures that are being replaced will be. It's much easier to place them there when the mod is saved as *.SC2Components

     

    Goodluck. Ask questions, if so.

    Posted in: Triggers
  • 0

    posted a message on sc2 editor: how do i give each player a random unit in the start of the game?

    Not at all. It was an interesting experience.

    Posted in: Triggers
  • 1.87778801299502

    posted a message on sc2 editor: how do i give each player a random unit in the start of the game?

    Basically, you need to use Change Owner for every unit in a certain region.

     

    Actually the question is not complete. There are many options for solving this issue and it all depends on how the units are located on the map, whether there is an AI player on the map and what his number is, the players will start at the starting points or you will distribute units to them.
    This will greatly change the structure of the algorithm.
    Therefore, it is desirable to give either a detailed description, or a diagram, or a screen (I don’t know how to put the whole map), or the map itself.

     

    Roughly, the code algorithm would be similar to (below): link to Google Disk
    I wrote quickly, as there is a lot of text and code. No, there is a lot of code (shit!, sorry) and the structure of the algorithm from the question is not clear.

     

    Global variables


    maxNumberPlayers
    The maximum player number in the game. If there are only players controlled by the User in the game, then this will mean the number of players in the game. If there is AI, then everything will depend on the settings of the GetUserPlayer function.

     

    - currentPlayers_OfStartLocation
    Stores player numbers in order. There will be only 8 players, for example, it will be stored as 1, 2, 3, 4, 5, 6, 7, 8 (index 0 is not taken !).

     

    - newPlayers_OfStartLocation
    Stores the new order of players, which will be returned in the GetNewPoint function. For example 5, 7, 3, 1, 2, 4, 8, 6 (index 0 is not taken !).

     

    - currentPoints_OfStartLocation
    Stores the start points of the players in order - which start points were given when the map was initialized (index 0 is not taken !).

     

    - newPoints_OfStartLocation
    Absolutely exactly the same order of storage of start points (index 0 is not taken !).
    Instead of changing the variable "newPlayers_OfStartLocation" with the GetNewPoint function, you can change this variable "newPoints_OfStartLocation" (change the position of the points, not the players).

     

    - currentGroupPlayers
    A group of players that plays on a map.

     

    - newGroupPlayers
    New group of players. More for order. Used in GetNewPoint and can act as a local variable there.

     

    Action functions


    - GetUserPlayer
    We fill in the group of players on the map "currentGroupPlayers" and calculate the maximum number of the player.

     

    - WriteStartLocation
    We write down for each player in order in variables
    "currentPlayers_OfStartLocation" - its number
    "currentPoints_OfStartLocation" - its starting point

     

    - GetNewPoint
    In order, for each player in the group will calculate the number of Random (random number of the player). If the number is calculated:
    - random is not equal to the player,
    - random is in the group of players on the map
    - random is not in a new group yet
    , then we write in variables
    - "newPlayers_OfStartLocation" - random number
    - "newPoints_OfStartLocation" - player's starting point (will not change)
    - add random to a new group "newGroupPlayers"
    - set the flag: we found the right random "_do" = true
    Thus, now the new player will have a different starting point (but does not mean that he will start at a different starting point when the map is initialized !!!).

     

    - WriteUnits&StructuresToPlayer
    We list in order the indices (players) in the variables
    - "newPlayers_OfStartLocation" - player number (new random)
    - "newPoints_OfStartLocation" - player's starting point
    Create a region from the starting point of the player (index)
    Create a group of old player units (index)
    We list the units in the group and record them as the owner of the new player (newPlayers_OfStartLocation (index) !!!)

     

    - Melee Initialization
    Running game conditions

     

    PrintCurrentInfo
    - PrintNewInfo
    Used for verification. Display information on starting points for each player from variables.

     

    As you can see from everything above:
    - We only swap players. You can change the starting points.
    - It is possible not to calculate the starting points of the players, but to immediately give the players the numbers of the regions from the map, if they are created. The code will be different.
    - The number of global variables can be drastically reduced by converting them to local ones. Or passing parameters to functions.
    - Depending on whether you will have starting points for players (this algorithm will work), or they will not exist and you need to distribute units from the regions, you will have to change the code algorithm.

    If you need to add units from regions, then you can have an array of regions (regions themselves or names in a string) and distribute to players after shuffling them. Then, instead of starting points for ishroks, you will have regions stored.

    Posted in: Triggers
  • 0

    posted a message on How can I increase the unit cost according to the number of units on the field

    It all depends on the conditions of the task.
    Maybe this one will work: link to Google Disk

     

    Trigger "Recalculation"
    Local variables:
    - player number: "_player"
    - amount of minerals: "_summMineralsCost"
    - amount of vespene: "_summVespeneCost"

     

    Action:

    From a certain area, all the units that are needed are taken and recalculated.

    Mineral and gas costs are taken from each unit and added to local variables: "_summMineralsCost" and "_summVespeneCost".
    So we find out the total cost of units for minerals and for gas.

     

    Further, its new cost is recorded in the Catalog for a specific unit.

     

    Functions:
    - Total cost: "Calculation_Of_AllCost"
    Returns the sum of the cost of a unit by minerals and vespene.

     

    - Mineral cost: "Calculation_Of_MineralsCost"
    Returns the cost of a unit by minerals.

     

    - Vespene cost: "Calculation_Of_VespeneCost"
    Returns the cost of a unit by vespene.

     

    You can return both the current cost (now it's in the function) of a unit OR the cost from the Catalog (see where we recorded the cost of a unit in the trigger).
    Also, you will have to make exceptions (If-Then-Else) in functions, as some units have "non-standard" cost, for example: archon, zerg unit morph.

    Posted in: Triggers
  • 0

    posted a message on How to create 1 worker at each mineral patch and make it harvest?

    Hello!

    Look at the code.

    Workers are created and sent to mine minerals. You can specifically specify which Druse they will go to. At least every worker.

    Posted in: Triggers
  • 0

    posted a message on TextStyles (Forgetfulness)

    In reply to 7AZUREMASTER7:

     may be that

    Posted in: Triggers
  • 1.88336516487945

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

    In reply to amon_or:


    Englisch:

    Hello!
    This is a forum for Data. What for here to ask about triggers?

    I don't understand what your problem is, to be honest. I see a completely different problem there.
    If all the same the question is about triggers, then (examine the file):
    You need to calculate which units appeared on the map and add them either to a group or save the unit separately in an array.
    The essence of the problem:
    - for each unit that can burrow/unburrow, there are different abilities for burrow/unburrow (different names);
    - so you need to either list all the abilities (like in my example), or somehow create a new single ability for all units and bind it when the unit is created.

    I hope this is what you need! Dare!


    Deutsch:

    Hallo!
    Dies ist ein Forum für Datum. Wozu hier nach Triggern fragen?

    Ich verstehe dein Problem ehrlich gesagt nicht. Da sehe ich ein ganz anderes Problem.
    Wenn es trotzdem um Trigger geht, dann (untersuchen Sie die Datei):
    Sie müssen berechnen, welche Einheiten auf der Karte erschienen sind, und sie entweder einer Gruppe hinzufügen oder die Einheit separat in einem Array speichern.
    Der Kern des Problems:
    - Für jede Einheit, die graben kann, gibt es unterschiedliche Fähigkeiten zum Graben (unterschiedliche Namen);
    - Sie müssen also entweder alle Fähigkeiten auflisten (wie in meinem Beispiel) oder irgendwie eine neue einzelne Fähigkeit für alle Einheiten erstellen und diese binden, wenn die Einheit erstellt wird.

    Ich hoffe, das ist, was Sie brauchen! Wagen!

    Posted in: Data
  • 0

    posted a message on (Solved) Help with Bridges and Pathing

    In reply to mandalore168:

     

    Take a look, please.

    link

    Posted in: Terrain
  • 0

    posted a message on Get current value of dialog slider

    In reply to rawrasaur69:

     

    Working Solution

    link for mod

    Posted in: Triggers
  • 0

    posted a message on Get current value of dialog slider

    In reply to atsushi:

     

    Sorry if I misunderstood something from the question.
    I sketched out a dialog with a slider (never done this before).
    And I found two variants of the event by which you can get the value of the slider - try both.
    The main problem is that the value can only be obtained from one player.
    Hope this helps. link for mod

    PS I looked. the same topic was previously unanswered. I will answer there too. https://www.sc2mapster.com/forums/development/triggers/248202-get-current-value-of-dialog-slider

    Posted in: Triggers
  • 0

    posted a message on A bit of help with some triggers

    In reply to altonnugen:

     

    I am glad if the example helped to understand.
    For the first time the example is complicated, but if you analyze it in detail, you will learn how to use functions, global and local variables, how to use message debugging, how to change unit data in the Date and how to use attributes (Mod - Game Attributes).


    The example shows the changes to any unit (including a building) that killed an enemy. If you need to somehow restrict the change of a specific unit, you can use the "if - then" check, including saving a specific unit from the Date to a local variable for check.
    You can also make a change by events:
    - at the end of time (timer)
    - for a constant period of time (periodic timer),
    - upon the appearance of a certain unit or upgrade from the enemy,
    - by the appearance of a unit in a certain region, etc.

    Yep, You can change:
    - unit size. Since the size changes along the X Y Z axes, it is necessary to subtract the root of three (this is shown in the "getSizeUnit"). It would also be nice to change the radius of the unit slightly in "getRadiusUnit",
    - maximum life, shields, unit energy,
    - the speed of restoration of life, shields and energy of the unit,
    - armor for life and shields,
    - movement speed,
    - you can even add some points or resources if your unit kills the enemy. It will be necessary to check: the event unit died on the map, if it was killed by a unit such and such, then give resources.
    - in the future, you will be able to upgrade the unit with abilities and effects, having previously created them ("getBehavior").

    You will succeed. Dare!

    Posted in: Triggers
  • 0

    posted a message on [Trigger][Splat Actor] Dynamic Terrain Texturing

    In reply to rageninpo:

     where are you dear?

    Posted in: Triggers
  • 0

    posted a message on Empty Triggers Zone (F6)

    In reply to 7AZUREMASTER7:

     Hmm... When creating a map (and in all old maps) there are standard triggers (picture).

    I suppose if they are not there, then this is an editor bug. Might be worth reinstalling SCII.

     
    Posted in: Triggers
  • 0

    posted a message on [Trigger][Splat Actor] Dynamic Terrain Texturing

    In reply to rageninpo:

     Hello!
    Were you able to make a working code and date? Maybe there is a working example.
    Also now I'm trying to achieve a beautiful color overlay on the region.

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