• 0

    posted a message on Sublime Text plugin

    Wow, why do I only see this now? This is amazing! You should really add it to the package manager.

    I've been coding in Galaxy almost right from the beginning. It just seems so much faster and cleaner to me (if you have some coding experience). I've also been using Sublime Text most of the time, but just in normal C language mode, which can be annoying sometimes. I even thought about creating some addon like yours on my own, but never found the time for it. Now I don't have to anymore :)

    Posted in: Galaxy Scripting
  • 0

    posted a message on RPG made easy - using Orion

    I've fixed the issue with the cursor, as promised.

    Posted in: Tutorials
  • 0

    posted a message on RPG made easy - using Orion


    Sorry for the late reply, I totally forgot about this thread. I can extend the tutorial soon (hope you are still interested). Regarding the marine attack problem: Does it give you any error message, like out of range? The default attack range of a marine is very low when viewed in RPG perspective.

    Regarding the other tutorials that fishy77 mentioned: The idea of Orion is that you don't have to spend a lot of time on all the technical stuff and can start creating your own game right away. Orion is intended to be as general as possible, so that it should fit all your needs; in particular, it offers very general and powerful solutions to many systems you would want in an RPG. For example, Orion implements its own dialog item type for creating inventories; using this dialog item type, you can create inventory slots whereever you want (this is btw how you would create the character window). Similarly, the quest system allows you to create any quest you want, and I made it in a way that forces the user to implement the quests in a "clean" way.

    Edit: Seems like in RPG mode the track cursor function does not work properly, i.e. you cannot properly click on units. I guess this function broke with some SC2 patch ... I will investigate this now.

    Edit 2: I figured out why the track cursor function does not work. In some patch, Blizzard changed the functionality of "CameraGetTarget" so that this function will not return the camera target if the camera is following a unit. I will implement a "fix" for this by tomorrow.

    Posted in: Tutorials
  • 0

    posted a message on [Mod] Orion

    Nice to hear you are using the mod. If you need any help (or want me to implement this cool new feature) please don't hesitate to contact me via PM or on Skype.

    Posted in: Trigger Libraries & Scripts
  • 0

    posted a message on Alternative to TPS/FPS Save/Load Cursor Bug?

    In this case you won't be able to show the cursor in the game, would you? For example, if you want to have a User Interface of some kind.

    Posted in: UI Development
  • 0

    posted a message on Alternative to TPS/FPS Save/Load Cursor Bug?

    Not sure where to post this reply (here or in the other thread). I have had similar problems with the issue you describe (the cursor being shown after a load) and I think that firstly this is a bug in SC2 and secondly it has a wider impact than just loading games. Indeed, the bug occurs in the following scenario: Start a TPS (or FPS) map with the editor, play a little, then restart it in the editor. The cursors just doesn't want to be hidden in the second game.

    As I found out, the bug is triggered if the cursor is hidden in the current game when you start a new one (like in the scenario above); once active, the bug can only be "resetted" by restarting the client. So what I usually did to avoid it is to open the F10 menu in the game before launching the map again (in the F10 menu the cursor is visible). The fact that this little trick works is my main reason for believing that it is actually a bug we are dealing with.

    Now to your suggestions: Changing the cursors image is indeed a nice idea which I haven't come up with yet. I don't have access to the editor right now so I cannot test it, but I have some concerns: Firstly, what SC2 does in TPS/FPS camera mode is to put the cursor back to the middle of the screen every tick, which means that if the cursor is shown you will see it moving and jumping. My second concern is that if the bug affects the visibility of the cursors, it may very well also affect its appearance (as I said, I cannot test it right now ...).

    Besides that, if you are creating a TPS, have you checked out my mod Orion? It is a quite powerful RPG and TPS engine with UI support, character save/load, a fully customizable quest system etc. PM me if you want to know more about it.

    Posted in: UI Development
  • 0

    posted a message on Writing and reading the SC2 map archive

    Thanks for the answers.

    @ImperialGod: Could you tell me one command line MPQ program? This would be great!

    @Mille25: Yes, I am currently using the map as a sc2components file. I didn't know that the editor is supporting them so well (e.g., from inside the editor there is no way to distinguish between the two formats). Although it would be cool to work with the MPQ archive directly, using the sc2components is certainly an acceptable way to do it :)

    Posted in: Miscellaneous Development
  • 0

    posted a message on Writing and reading the SC2 map archive

    Hi SC2Mapster,

    is it possible to read from and write to the map MPQ archive with a script (e.g. python) in an easy way? I've looked around and found some Python libraries on this, but as far as I can see none of them implements writing to the archive. Can I use the ComponentList feature of the editor somehow (e.g., can I tell the editor to convert my map into a ComponentList and vice-versa via some command line?)

    I would be very grateful for any suggestions on this.

    Posted in: Miscellaneous Development
  • 0

    posted a message on [Mod] Orion

    I've added a tutorial for the mod. It is very basic at the moment, but I'll extend it in the future.

    Posted in: Trigger Libraries & Scripts
  • 0

    posted a message on RPG made easy - using Orion

    Hi SC2Mapster community,

    in this little tutorial I will teach you the basics of how to use my mod Orion to create your own RPG maps. Orion is a powerful and highly configurable mod that can easily be used in any of your StarCraft II maps to add RPG and basic shooter functionality.

    So far, this tutorial only describes the basics of the mod. I will add some explanation for various high-level features (such as the quest system) later. You'll see that by using Orion, you can get a basic RPG setup (WASD movement, free camera rotation, character panel and action bar) within 5 to 10 minutes.

    Have fun reading the tutorial. If you have any questions, found some bugs, or want to give feedback, feel free to do so in this thread!

    - Sanktoras.


    Installing the Mod

    There are two ways to use the mod: You can either use the version on Battle.net or you can download a local copy of it. The latter has the advantage that you'd be able to modify the mod and that you'd not need an internet connection to work on your map. However, if you want to publish the map you'll need an online version of the mod (if you modified it, you'd have to upload the modified version).

    If you want to use the online mod, skip the next few lines. Otherwise, do the following:

    • Open the StarCraft II editor and click on File -> Open...
    • In the "Open Document" dialog, select the "Battle.net" tab, login to battle.net, and locate the Orion mod in the list (its name is "[Mod] Orion". Open it.
    • Click on File->Save to save this mod in your "<StarCraft II Programs Directory>/Mods" directory (the "Save Document As" dialog will automatically present the "Maps" directory, so make sure you change it!). Choose whatever name you like.

    Creating a Sample Map

    For the purpose of this tutorial, we'll create a minimal sample map. If you already have a map on which you want to use Orion, skip the next few lines.

    • In the editor, click on File -> New, choose "Arcade Map", click on "Next" twice, then choose the texture set "Braxis Alpha" and press "Ok".
    • Save the map (that's always a good thing to do).
    • In the terrain module, create a marine for player 1. This will be our character.
    • In the trigger module, delete the "Melee Initialization" trigger.

    Adding Orion to your Map's Dependencies

    To make Orion available in your map, you have to add it to the map's dependencies:

    • Make sure your map ist opened in the editor and save it.
    • Click on File -> Dependencies.... In the "Document Dependencies" dialog, click on "Add Other..."and locate Orion (either on Battle.net or on your computer, whatever you have chosen above).
    • Apply the changes by pressing "Ok" and save the map (again, saving the map is never a bad thing to do).

    Character and Mode

    In this section you will learn two basic concepts: Character and Mode. At the end of this section you will have created a simple RPG game in which the player can control the marine with W, A, S, D and rotate the camera with the mouse buttons. It will look like this:


    Although Orion is quite complex, its core can be accessed fairly easily. For every player in the map, Orion stores two basic values:

    1. Character: The character is the unit that is controlled by a player. Basically, that's the unit which moves if you press W, A, S, or D.
    2. Mode: The mode determines how the player can control his character. You can create up to eight different modes, three of them being predefined as "RPG" (WoW-like controls), "RPG Multi" (SCU-like controls), and "TPS" (shooter-like controls). There is also a mode "TPS Cursor" which is used by the "TPS" mode (yep, modes can use other modes), a "Cinematics" mode (use this for - well - cinematics; basically, the player cannot control the character and the camera in this mode), and a "Profile Selection" mode (used internally for the profile selection).

    All we have to do is to set the character of player 1 to the marine and the mode to "RPG". That's quite simple, actually:

    • In the trigger module, create a new trigger. Call it "Initialization".
    • Add a "Map Initialization" event to this trigger so that it will be executed when the map starts.
    • Add a "Set Player Character" action to the trigger. Specify the parameters as follows: Player to "1", Character to the marine, Duration to "Immediate" or "0.0".
    • Add a "Set Player Mode" action to the trigger. Specify the parameters as follows: Player to "1", Mode to "RPG", Duration to anything you want.

    Start the map. VoilĂ , there you are. You have just created a simple RPG!

    Introduction to Controls

    Lets start adding some additional controls to the game. For every key on the keyboard, Orion stores two types of values: a set of "Control Flags" which determine basic behavior such as "Move Forward" or "Rotate Camera", and an "Action", such as casting an ability or using an item. As you usually don't need to change the control flags of the keys, I'll focus completely on actions in this tutorial.

    Stim on R

    In tihs part we'll put the marine's stimpack ability on the R key. All we have to do is to setup the action of the R key correctly:

    • In the trigger module, go to the "Initialization" trigger and add an action of type "Set Control Key Action". Specify the parameters as follows: Key to "R", Mode to "RPG", Type to "Ability", ID to "Convert Ability to Action ID" with parameter Ability set to "Marine - Stimpack". The action should now look like
      • Controls - Set the action of key R of mode RPG to a Ability action with ID (Action ID(Marine - Stimpack))

    Start the map. When you press R, nothing happens. The reason for this is that the marine cannot use stimpack because the necessary upgrade has not been researched in the tech lab. Currently, Orion does not support such requirements on abilities which means that no error is displayed.

    To fix this, we can disable all tech tree requirements:

    • In the "Initialization" trigger, add an action of type "Enable/Disable Tech Tree Requirements". Specify the parameters as follows: Enabled to "Disable", Player to "1".

    Start the map again. Now, if you press R, the marine uses his stimpack:


    Note also that the stimpack buff is displayed in the upper right of the screen.

    Action Type and Action ID

    Now that you have configured your first action, it is time to give you some background information: An action consists of two values:

    • Action Type: The type determines what the action basically does. The available types are: "Ability" (cast an ability), "Weapon" (attack with a weapon), "Item" (use an item), "Slot" (use an action bar slot - see below), "Mode" (change the player's mode).
    • Action ID: The action Id is a string that provides additional information and whose interpretation depends on the action type being used. E. g., if the action is of type "Ability" then the action Id stores a reference to the ability that is casted. For "Ability", "Weapon" and "Item" actions, there are three different ways to store such a reference:
      • Store it directly. That's what we did above: we told Orion to use the "Stimpack" ability.
      • Store it as an index. I.e. tell Orion to use the n-th ability/weapon/item of the character. In this case, the Id gets the form "#n" where n is the index. This is especially useful when the character only has one ability/weapon/item.
      • Store it as a category. This is useful if you want to put a ranged weapon on a specific key and a melee weapon on another. A "category" is just a prefix of an ability/weapon/item's Id in the data editor, e.g. if you give your weapon the Id "MeleeMySword" than it would be in the "Melee" category. A category is stored as "_c" in the action id, where c is the category name.

    Look through the various options of the ID parameter in the "Set Control Key Action" action to see what's possible.

    Attacking with the Gauss Rifle

    Lets make the F key attack something which should be quite easy now:

    • In the "Initialization" trigger, add another action of type "Set Control Key Action" and specify the parameters as follows: Key to "F", Mode to "RPG", Type to "Weapon", ID to "Convert Index To Action ID" with parameter Index set to "1". It should look like
      • Controls - Set the action of key F of mode RPG to a Weapon action with ID (Action ID(1))
    • In the terrain module, create a zergling for player 15 (hostile) somewhere near the marine.

    Start the map. Then click on the zergling (note that a target panel is displayed at the top left of the screen) and hit F. You'll probably have to move some steps towards the zergling as the marine's weapon range is very short.


    Interaction Table

    There is a much cleaner way to implement attacking in RPG mode. As you might know from WoW (or from some other MMORPG's as well), the easiest way to interact with a game object (such as an enemy, a friendly NPC, a chest, ...) is to right click on it. Orion provides a similar feature.

    In the predefined "RPG" mode, the right mouse button is configured to select the object under the cursor and then to interact with it ("Select" and "Interact" control flags). How a player interacts with an object is specified in the interaction table. This is basically a list of interaction entries, each storing the following information:

    • A "Filter": This filter consists of an ordinary unit filter (where the check marks on the bottom - "Ally", "Enemy", ... - must be activated) and an alliance filter. When the player interacts with an object (i.e., a unit), then the first entry which matches the unit and alliance filter of the target is applied.
    • "Control Flags" and an "Action": These determine what happens if the entry is used for an interaction.

    We need to specify the first interaction entry such that it reacts to a hostile unit:

    • In the "Initialization" trigger, remove the action we created last (the one which puts the weapon action on F).
    • Create an action of type "Set Interaction Table Entry" and specify the parameters as follows: Index to "1", Mode to "RPG", Filter to "(No Filter)" (just click on the parameter and press Ok without changing anything), Alliance Type to "Hostile", Control Flags to "No Options" (click on the parameter and press Ok without changing anything), Action Type to "Weapon", Action ID to "Convert Index To Action ID" with parameter Index set to "1". The action should now look like
      • Controls - Set interaction table entry 1 of mode RPG: Interact if target matches (No Value) and is Hostile, then apply No Options and execute a Weapon action with ID (Action ID(1))

    Start the map. Now you can attack the zergling by right-clicking on it.

    To Be Continued ...

    That's it so far. I know it's not much, and I'm going to extend the tutorial to include some of the various features Orion offers. Let me know if you're interested in something specific, such as

    • How to use the action bar?
    • How to create items and an inventory?
    • How does Orion's window system work? How can I create a character window (similar to that in WoW)?
    • How to create quests?
    • How to save and load character profiles?

    All these questions lead to features that are more or less supported by Orion and thus can be easily used in your own map!

    Posted in: Tutorials
  • 0

    posted a message on [Mod] Orion

    Hi KazielX,

    I answered you here. Basically, the download link is broken (I don't know why ...) but I can send you a copy of Orion via Skype or PM. If you want some help, I would also be happy to explain how to use the mod.

    Posted in: Trigger Libraries & Scripts
  • 0

    posted a message on TPS Mod ?

    Hi KazielX,

    I am the creator of the Orion mod and I'm happy to hear that you are interested in it. The download link given in Orion's presentation thread seems to be broken (thanks for notifying me) but I can send you a copy via PM or Skype if you want (see below). Also, if you are new to the SC2 editor then you're probably not familiar with its scripting editor, which is definitely required to build an RPG map (even if you use Orion).

    Feel free to contact me on Skype (my name there is "sanktoras") or via PM; then I can send you the mod and explain how to use it.

    Posted in: General Chat
  • 0

    posted a message on [Mod] Orion

    Hey guys,

    I'm back home now and am working on the tutorial. However, it will take some time since I don't have much free time at the moment. Again, if you want to use the mod now, just write me a PM so that I can explain the basics.

    Also, I'm still looking for someone who can help me creating a presentation video for the mod. If you're interested, please write me a PM.


    Posted in: Trigger Libraries & Scripts
  • 0

    posted a message on [Mod] Orion

    Hey guys,

    just so you know: this project is not dead and the tutorial I promised will come. It's just that I am currently attending a summer school in Boston, having not enough free time to work on anything except maths ;)

    I'll be back home on 17 August, then I will finish the tutorial.

    If you have any questions about the mod, just ask them (either here ore via PM). I'll answer them as soon as possible (which shouldn't take longer than a day).


    Posted in: Trigger Libraries & Scripts
  • 0

    posted a message on [Mod] Orion

    You can change the controls with the GUI actions in the "Controls" category. I can explain this in a pm or on Skype ("sanktoras") if you want.

    PS: Sorry for the late response, I'm travelling at the moment.

    Posted in: Trigger Libraries & Scripts
  • To post a comment, please or register a new account.