• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

New to the StarCraft "editor"

Status
Not open for further replies.
Level 5
Joined
Sep 19, 2006
Messages
152
I've had many years of good times with the WarCraft 3 editor, but have recently decided to try my hand at some simple games on the new Galaxy editor. However, I do have a few very basic questions before I get started:

1. If I'm going to make a simple RPG-style game, which "Document Type" and "Dependencies" do I use when creating the new file? (I don't really understand the differences.)

2. Where do I create globals and global arrays (or whatever the new names for them are)?

3. I'm very comfortable writing in JASS. Is it possible to disable that crap GUI point-and-click garbage and just type in the information manually (via custom script)?

4. Is it still necessary to null units, groups, and other handles when writing in GUI?

Thank you for your replies and your patience.
 
Last edited:
  • Like
Reactions: Rui

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
Hey there! Thanks so much for asking us =)

If you've got experience with JASS, then I'll assume that you're comfortable with the World Editor overall.

1. By document type you mean map or mod? A mod is just a means to store data, including imports. You can also modify any data editor data in the mod and leave the map for terrain and triggers alone.

2. I assume you mean variables? Search the trigger editor, they shouldn't be hard to find. If you can't find them, try a tutorial.

3. It is. You'd obviously have to learn the scripting language (called Galaxy I think). Statharas has submitted a tutorial on the very basics of it.

4. I believe not. It seems it has got what they are calling a «garbage collector» that cleans memory leaks every once in a while.

If you find our information insufficient, you could always try SC2Mapster, but we'd appreciate that you stick with us =P

Dr Super Good should spot your thread and elaborate on what I've told you, though.
 
Level 5
Joined
Sep 19, 2006
Messages
152
Thanks for the response!

1. Ok, and what about the dependencies? Would I use melee, campaign, or custom for a simple RPG game, and why is it necessary to set it anyway?

2. Global variables and local variables might be terms exclusive to the WC3 editor. Local variables are variable used and assigned only within a specific trigger; global variables are referenced and altered throughout all triggers.

To this latter point, if I assign the global udg_SomeUnit to unit3289 on the map, another trigger will be able to reference udg_SomeUnit and produce the same unit. For instance:

Trigger 1:
set udg_SomeUnit = unit3289

Trigger 2:
if GetWidgetLife (udg_SomeUnit) > 50.00 then
blah blah blah
endif

The WC3 editor had a specific tab for creating global variables to be used throughout all triggers. Any idea where I could find such a thing in the new Galaxy editor?


Don't worry about me slipping over to another site: I've been coming here for over a decade now! ;)
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,258
1. Depends on what resources you want. Melee is just what you get in the melee play (very simple). Campaign mods give you additional content that was used in the campaign such as Hybrid, Brutalisks and Scouts.

Generally you would want to use the campaign mods for the extra content. Open up a campaign map (File->Open) to see how the dependiencies section should look.

2. Globals can be declared anywhere outside a function. They have to be declared before they are referenced. Locals are declared at the top of a function (just like WC3) and last for the duration of the function call and are stored in the current stack frame. In GUI you can create a global element like you create a trigger element.

3. Create a custom script element. Be aware Galaxy is very different from JASS. Galaxy has many features of the C programming language but also lacks many (they will throw unsupported errors).

4. This is StarCraft II. You do not even have to destroy points and groups as the garbage collector will do that for you when all references are lost.
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
Dependencies are mods, mainly. If you select only the Liberty (Melee) and Liberty (Multi) dependencies (typical dependencies of a melee map), for instance, and then you go to the Data Editor, you'll never find the Queen of Blades, Zeratul or any other hero. This is because none of their data is part of those mods. To find them, you'll have to tick the Liberty (Campaign) dependency (or whatever it is called). This is because Blizzard included everything you see in the campaign in that mod.

Yes, I was referring to global variables. Like I said, their location should be apparent. Have you tried libraries?

EDIT: There goes DSG =P
 
ctrl + alt + t to make a new custom script

e.g.
JASS:
const int c_menuButtonsCount = 7;
int gv_menuButtonsDialog;
int[c_menuButtonsCount]  gv_menuButtonsLabel;
int[c_menuButtonsCount]  gv_menuButton;
int gv_menuButtonsPage;
text[c_menuButtonsCount] txt_menu;
int[c_menuButtonsCount]  int_menu;
void MapLoadMenuText_Init () {
    int i;
    txt_menu[0] = StringToText("<c val=\"C8F800\">Order Menu");
    txt_menu[1] = StringToText("<c val=\"C8F800\">Players");
    txt_menu[2] = StringToText("<c val=\"C8F800\">Statistics");
    txt_menu[3] = StringToText("<c val=\"C8F800\">Terrain");
    txt_menu[4] = StringToText("<c val=\"C8F800\">Unknown");
    txt_menu[5] = StringToText("<c val=\"C8F800\"><");
    txt_menu[6] = StringToText("<c val=\"C8F800\">>");
    while(i < c_menuButtonsCount) {
        int_menu[i] = i;
        i += 1;
    }
}
 
Level 5
Joined
Sep 19, 2006
Messages
152
Yeah, I guess keeping the new editor JASS-compatible would have made too much sense. Thanks again, Blizzard.

Yes, I was referring to global variables. Like I said, their location should be apparent. Have you tried libraries?

Well, if their location was apparent, I guess I wouldn't have posed the question in the first place. I guess I'll try to figure out what is/where are "libraries."
 
Last edited by a moderator:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,258
Yeah, I guess keeping the new editor JASS-compatible would have made too much sense. Thanks again, Blizzard.
Or too little sense, seeing as how shit JASS was. Galaxy is based on C up to a certain complience level and unlike JASS, C is a standard programming language which a lot of people know.

Well, if their location was apparent, I guess I wouldn't have posed the question in the first place. I guess I'll try to figure out what is/where are "libraries."
In default view layout libraries are located in the top left pannel above where you declare script objects such as globals, triggers and custom script elements etc.
 
Level 4
Joined
Jul 1, 2010
Messages
60
I've had many years of good times with the WarCraft 3 editor, but have recently decided to try my hand at some simple games on the new Galaxy editor. However, I do have a few very basic questions before I get started:

1. If I'm going to make a simple RPG-style game, which "Document Type" and "Dependencies" do I use when creating the new file? (I don't really understand the differences.)

2. Where do I create globals and global arrays (or whatever the new names for them are)?

3. I'm very comfortable writing in JASS. Is it possible to disable that crap GUI point-and-click garbage and just type in the information manually (via custom script)?

4. Is it still necessary to null units, groups, and other handles when writing in GUI?

Thank you for your replies and your patience.

1. I'd go for all of the standard dependencies. There's not much reason not to use them when you're starting out, and it's better to get a good look at all the assets you get by default before making a bunch on your own.

A map file is what you'll use the most. It's what you'll run, and it can store terrain, data, and triggers. You will probably only use one of these if you're going for a simple game.

The reason you'd use mod files is if you're map file reaches 20mb in size. You can attach an unlimited number of mod files, which are just like map files only without terrain, to a map and the map will draw from their triggers (they might need to be in a library) and data.

2. You create them in the same area as you create triggers. Right click on the bottom left area and hover over "new" to familiarize yourself with the hotkeys. Making an array should be pretty straightforward once you've created a variable.

3. Yes, using the custom script feature. To make custom scripts, see my above comment. You'd be coding in Galaxyscript, which is, for most intensive purposes, C, albeit with many fewer functions and some new functions.

4. Thankfully, no. SC2 does it for you now.
 
Level 5
Joined
Sep 19, 2006
Messages
152
Or too little sense, seeing as how shit JASS was. Galaxy is based on C up to a certain complience level and unlike JASS, C is a standard programming language which a lot of people know.

Well, this is my fourth game editor through Blizzard (WC2, SC2, WC3, and now SC2) and it would be nice if, just once, some programming features could be retained from one program to the next. Having to relearn everything every single time is really a big hassle. Perhaps Blizzard could just make everything compatible with C++, and leave it at that.
 
Level 19
Joined
Aug 8, 2007
Messages
2,765
I believe you mean SC1, WC3, and now SC2

But anyway, wc2 and sc had no coding system and SC2's galaxy and wc3's cJass are both incredibilly simillar
 
Last edited by a moderator:
Level 5
Joined
Sep 19, 2006
Messages
152
SC operated under a GUI-based system which was incredibly dissimilar to that of either WC3 or SC2. WC3 had a different GUI-style system with the option of auto-converting triggers into something JASS-like. From what I can tell so far, SC2 offers no such conversion option, instead requiring that a language not used in any of the previous games be entered in manually or imported.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,258
From what I can tell so far, SC2 offers no such conversion option, instead requiring that a language not used in any of the previous games be entered in manually or imported.
GUI would not work in StarCraft II unless it converted it into Galaxy script at some stage. You can see the GUI converted by viewing the map script.

The conversion is not very interesting as most elements convert to a single line of Galaxy. The auto-generated code is a lot more efficient than that used WarCraft III which is why using GUI no longer makes you a bad map maker.
 
Level 1
Joined
Jan 16, 2012
Messages
9
um im edditing a already made starcraft 2 map and i cant figure out how to be able to train old units (firebat vulcher ext) from the barricks and other buildings i put the dependices on so i can use campain units and i know how to eddit the barricks unit training but i cant find the firebat vulcher ext train ability can some one pleace help me

{EDIT}
i also cant figure out how to save a map so i can play it is there a map folder some where?
 
Last edited by a moderator:
Level 19
Joined
Aug 8, 2007
Messages
2,765
First of all, please do not ask questions in other peoples threads

second, to play a sc2 map, you either have to open it with the editor and hit test map or publish it to bnet and play it there

and i dont understand your hellion question
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,258
um im edditing a already made starcraft 2 map and i cant figure out how to be able to train old units (firebat vulcher ext) from the barricks and other buildings i put the dependices on so i can use campain units and i know how to eddit the barricks unit training but i cant find the firebat vulcher ext train ability can some one pleace help me

They are appended to the normal train ability for those structures. The problem is if you load the melee mods after the campaign mods those abilities will be set to the melee values where they cannot be trained.

The order the mods get loaded (from top to bottom on the list should be)...
1. Liberty (Mod) // standard melee content
2. Liberty Multi (Mod) // patch added melee content
3. Liberty (Campaign) // basic campaign conent
4. Liberty Stroy (Campaign) // rest of the campaign content

Then the normal training abilities such as Barracks - Train will have all the expansion units such as Medics and Firebats.
 
Status
Not open for further replies.
Top