1. Is there a way to make a dialog button with JUST the words rather than the square with words in it? Kinda like how you can hide a dialog's background to show an item without showing the dialog window itself
2. Is there a way to set text FONT rather than the whole style?
3. Is there a way to make a trigger for when a dialog button is MOUSED OVER? i want to show the stats for a unit (set a string in a label) when the button used to select a unit is moused over
4. Is there a way to set a dialog item (button or label, specifically) background image?
5. How do you generate a random number in the trigger editor? I want to randomly assign players to specific points (making a project with several maps in it, and want it to be random which one they play on)\
6. Not a trigger question, but if you know of any asset/mod with custom images/borders for dialogs please post a link. Or is there more than the default ones already loaded in the editor?
1. I believe you can get clicks on any dialog items, not just buttons. If you want a clickable text item, create a text item.
2. You can create your own styles (search forums for that), and each style can take a custom font=X value. You can probably add extra fonts ( Open Type Fonts, .otf ) though I haven't tried.
3.I assume you already know about tooltips, and you want something fancier. You could probably use the Mouse Moved trigger event, though if you do so, really turn off that trigger whenever you don't need the event. It generates a lot of traffic. It will also go through the battle.net latency.
4. What about an image behind your label dialog item?
5. Assign a random number to an integer variable. "Random Integer" : RandomInt().
6. There are a lot of dialog borders to pick from. Browse the included textures starting with the prefix ui_ (user interface).
7. I'm trying to make a pulldown dialog for players to choose their color (exactly the same as in the Blizzard DOTA trailer video) but this is my first time using a pulldown. How do you do a trigger for when an item on the list is selected? How do you show the image with the color on it (like at 0:37 in the DOTA trailer)
2. You can create your own styles (search forums for that), and each style can take a custom font=X value. You can probably add extra fonts ( Open Type Fonts, .otf ) though I haven't tried.
3.I assume you already know about tooltips, and you want something fancier. You could probably use the Mouse Moved trigger event, though if you do so, really turn off that trigger whenever you don't need the event. It generates a lot of traffic. It will also go through the battle.net latency.
Tooltip isn't what I meant, but I think i figured out what to do - I forgot "Dialog item used" isn't JUST clicked (there's mouse enters/exits the item)
5. Assign a random number to an integer variable. "Random Integer" : RandomInt().
Can you elaborate on this? I searched "random" several times in the trigger editor and only found the seed thing, so I don't really know what youre talking about here
6. There are a lot of dialog borders to pick from. Browse the included textures starting with the prefix ui_ (user interface).
I just looked through a lot of the stuff on this list and while theres a lot for borders and edges and what not, they all seem to be PART of an image, so if i just set one as a dialog's background it looks really raunchy..
5. When you create a new action, you can only see the functions that return nothing. To see all the functions that return an integer, you must be needing to insert an integer value within the trigger editor at that point. Steps :
- Create a new local variable type "integer"
- Create new action "Set Variable", select your integer as target variable.
- Assign a "Random Integer" to your variable.
7. Changing the selection in a list triggers also the "dialog item is used" event, "selection changed" event type. Just act upon receiving the event.
1. Is there a way to make a dialog button with JUST the words rather than the square with words in it? Kinda like how you can hide a dialog's background to show an item without showing the dialog window itself
Set the image to blank.dds and rollover image to blank.dds.
2. Is there a way to set text FONT rather than the whole style?
Use <s val=""> instead of applying style to a whole item, this will ignore alignment, and then use <c val=""> to make it a colour - otherwise create your own style file
3. Is there a way to make a trigger for when a dialog button is MOUSED OVER? i want to show the stats for a unit (set a string in a label) when the button used to select a unit is moused over
No ... long answer - anything is possible with workarounds but I presume you would want it without latency issues
4. Is there a way to set a dialog item (button or label, specifically) background image?
You can set image, otherwise do what I do, create another dialog item (image type) underneath it and call it background
5. How do you generate a random number in the trigger editor? I want to randomly assign players to specific points (making a project with several maps in it, and want it to be random which one they play on)\
Random integer
6. Not a trigger question, but if you know of any asset/mod with custom images/borders for dialogs please post a link. Or is there more than the default ones already loaded in the editor?
Make buttons invisible and use dialog images under them to create a "fake" button etc ... http://www.dogmai.org/tofu.jpg
I set the dialog item image to blank, but can't find where to set its rollover image?
Setting a random integer works fine now, didn't know i had to SET one which is why i was confused
If i set a random int "BETWEEN 1 and 8" does that mean it could possibly be 1 and 8 or it will be 2-7?
My map has 12 "maps" in it (8 identical Player vs CPU maps and 4 1v1 maps). Players have the choice to choose between Boot Camp and 1v1, but if they choose 1v1 I want to randomly be assigned to one of the 4 1v1 maps. What I'm doing for the first time someone is assigned is to set the random integer as 1-8, then use that to determine which of the 8 starting points (2 per 1v1 map) the player is assigned to. However, AFTER that, when the other (up to) 7 players are assigned spots, i can't figure out a way to do this! I'd like to have just one trigger and say "if the chosen starting position is already taken, reassign a random integer and return to the top of the trigger" but there's no "return to the top of the trigger" and if i "run trigger" it seems like it'd go haywire because once it runs itself again (if it can even do that) it'll go back and finish its other runthrough..
How do you get a player's name? I'm trying to get something like this (top left corner of the screen with the colored bars)
Random integer between 1 and 8 is any number from 1 to 8 inclusively.
You could maintain an array of starting spots that are available or not, or you could either randomize an array of starting location numbers and assign the values in order. As for "returning to the beginning of the trigger", use a while() loop and "break" out of it whenever you want,
Player names : create a text variable (or preferably an array of 16), store "Name of player" for given player index.
I'll try that and see how it works for assigning starting points :)
Still need to know how to set a dialog item (button)'s rollover image
I don't see "Name of player" but i tried "Handle of player" to no success. I'm obviously player 1 when i test my maps (color is red) but it didn't show anything for handle of player 1
"Handle of player" is a string,"Name of player" is a text.
Texts are opaque chunks of text ; you can't read, parse or cut them. Strings are more flexible and can be converted to text, text can't be converted to strings. Most native dialog functions work with text.
you could either randomize an array of starting location numbers and assign the values in order
The only way I could figure out to do this is to make a random number 1-8 and assign my 1st of 8 spots to whatever the number is, then go in order and restart at 1 when it hits 8. So for example, if the number's 3:
spot 1 - 3
spot 2 - 4
etc etc etc
spot 6 - 8
spot 7 - 1
spot 8 - 2
and then just assign each player in order of the Right number above, in the order that they click the ready button
Is that random enough or would that not work?
That's not very random... Here's a simple solution, and random enough.
Create an array of 8 values, assign values of 1 to 8 to each in sequence ( so array[3] = 3, etc. ). Then, for each entry in your array, swap its value with the value of another randomly picked entry. You'll still have the values 1 to 8 stored in the array, but shuffled around.
How do I test my map with 8 players rather than just me? Is there any way for me to play as 8 different guys while testing the map?
still need to know how to set a dialog button's rollover image
EDIT: nvm on this one, it's called the Hover image, not rollover image
Is there a max number of doodads a map can hold? I copied/pasted my single-player map's doodads (the hex grid and its foliage) 7 times and it looked fine. However the next time i opened my map, it looked like this:
To simulate 8 players, you can add units for each player in your map, then modify alliances between you and these players to "share control".
Yes, there is a limit to the number of doodads in a map. It's quite high though, but I don't remember how much it is. Probably something like 16384 or 65535, but I think if you open the Overview Manager window you can see how many doodads are already placed + how many is the limit.
About your screenshot, did you modify the terrain height somehow? Did you create your map with random height enabled? If that's the case, I wouldn't worry. The doodads you use for your grid are flat, so if you put them on parts of terrain with slight height variations, the doodads won't show entirely, or won't show at all because they're kind of buried beneath the ground level. But it's still there. To prevent this from happening, modify the properties of each of your grid doodads (select them + press Enter) to make sure their height is >0 (0.1 or 0.2 should be high enough).
To simulate 8 players, you can add units for each player in your map, then modify alliances between you and these players to "share control".
This will work for almost all the testing, however my map is set to have 8 players max, with 12 total "maps" (8 identical 1player maps and 4 different 1v1 maps). I have it set so that players choose which game type they play. So if 1 player selects 1v1, they have to wait until a 2nd player selects it, then the 2 are assigned to one of the 4 1v1 maps. But because of this, there's no way to make sure this trigger works right. Because the first half of it does, im 99% sure it's fine, but is there any way to test this without uploading it to bnet?
The manager shows my doodads at an even 10,000, so I'm assuming that's the limit. Since 9,600 of that 10k is the hex doodad (protoss energy line blue) is there any way to fix this? Could I combine a ton of doodads into one, or make a custom unit with the actor of several of them? (i know nothing about the data editor)
About your screenshot, did you modify the terrain height somehow? Did you create your map with random height enabled? If that's the case, I wouldn't worry. The doodads you use for your grid are flat, so if you put them on parts of terrain with slight height variations, the doodads won't show entirely, or won't show at all because they're kind of buried beneath the ground level. But it's still there. To prevent this from happening, modify the properties of each of your grid doodads (select them + press Enter) to make sure their height is >0 (0.1 or 0.2 should be high enough).
Nope, the missing doodads are gone for good, not just buried.
That's a lot of doodads. If you are going to cover the world with hexagons, I would either :
- Use a bigger "grid" models that contain a lot of hexagon tiles.
- Or use textures, modified ones, with visible hexagon edges painted on them.
Im pretty sure there's a way to make a custom unit (or maybe a custom doodad) out of many doodads.. I'll look into it
I could actually do the custom terrain idea. That'd also fix my poblem about doing elevation I believe. Is there a tutorial for importing custom terrain pictures/tilesets and would I be able to make them hexagons rather than squares or circles?
Still need to know about testing with multiple players
whats a good (free) program for converting jpg to tga?
When should I use a string vs text? Is text basically a string-constant?
How do you say the trigger event "Any Supply Depot is selected" without adding every supply depot on the map to a unit group? Or is that the only way?
@ctccromer: Go
About multiplayer testing, maybe just making the computer-controlled units mimic what you do? I assume it's for testing purpose only anyway, so if you pick option #1 just make it so that the enemies you want will pick this option as well. I'm not really sure if I understand what you're trying to achieve here, so my help is very... unhelpful... I can't think of an easy way to test such triggers without actually uploading the map and trying it yourself with a trusted friend.
About converting JPG to TGA, there are lots of online image editing tools that will allow you to upload any image, modify it, and save it to any format you want for free (JPG, TGA, PNG, GIF, whatever...). I use them occasionally, especially when I'm lazy about re-installing an image editing tool after a clean install of my OS... Some of these online tools are really really good.
About the supply depot, you can use "any unit is selected" as the event, then add a condition "unit-type of triggering unit is supply depot" (and also "owner of triggering unit is player X", if needed).
About string vs text, as far as I know strings are mostly used for short text references (field values, names, IDs,...). Text, as the name says, contains text... of any length and format. So basically, if you want the name of a unit, use strings. If you want to describe an object, use text. You can use strings in a text, not vice-versa.
I'm quite surprised by the doodads limitation though, I thought it was higher than 10k... I'm also surprised some of the doodads you placed were removed without notice, I would have expected the editor to rather crash, or pop-up an error message when saving the map. Well, to be honest it's rare to see maps with 10k doodads anyway, I guess it will really lag if you use so much of them... You definitely need to optimize this, Zelda's ideas were not bad at all. Have you already searched in the forums for anything related to hexagonal tiles?
About converting JPG to TGA, there are lots of online image editing tools that will allow you to upload any image, modify it, and save it to any format you want for free (JPG, TGA, PNG, GIF, whatever...). I use them occasionally, especially when I'm lazy about re-installing an image editing tool after a clean install of my OS... Some of these online tools are really really good.
1. Whats one of those sites? I've been wanting to convert several images without having to download anything
About the supply depot, you can use "any unit is selected" as the event, then add a condition "unit-type of triggering unit is supply depot" (and also "owner of triggering unit is player X", if needed).
This works perfectly, ty! I knew to set owner of unit, but forgot that what i was looking for was called the unit TYPE
About string vs text, as far as I know strings are mostly used for short text references (field values, names, IDs,...). Text, as the name says, contains text... of any length and format. So basically, if you want the name of a unit, use strings. If you want to describe an object, use text. You can use strings in a text, not vice-versa.
Makes sense! This'll help a lot for the stats window. Much easier to set 1 text than 1 string that's a combination of a tonnn of other strings
I'm quite surprised by the doodads limitation though, I thought it was higher than 10k... I'm also surprised some of the doodads you placed were removed without notice, I would have expected the editor to rather crash, or pop-up an error message when saving the map. Well, to be honest it's rare to see maps with 10k doodads anyway, I guess it will really lag if you use so much of them... You definitely need to optimize this, Zelda's ideas were not bad at all. Have you already searched in the forums for anything related to hexagonal tiles?
2. Yeah, I have, but little to no help. Is it possible to combine all of the doodads in one "map" into one actor, doodad, unit, or anything else?
1. Is there a way to make a dialog button with JUST the words rather than the square with words in it? Kinda like how you can hide a dialog's background to show an item without showing the dialog window itself
2. Is there a way to set text FONT rather than the whole style?
3. Is there a way to make a trigger for when a dialog button is MOUSED OVER? i want to show the stats for a unit (set a string in a label) when the button used to select a unit is moused over
4. Is there a way to set a dialog item (button or label, specifically) background image?
5. How do you generate a random number in the trigger editor? I want to randomly assign players to specific points (making a project with several maps in it, and want it to be random which one they play on)\
6. Not a trigger question, but if you know of any asset/mod with custom images/borders for dialogs please post a link. Or is there more than the default ones already loaded in the editor?
1. I believe you can get clicks on any dialog items, not just buttons. If you want a clickable text item, create a text item.
2. You can create your own styles (search forums for that), and each style can take a custom font=X value. You can probably add extra fonts ( Open Type Fonts, .otf ) though I haven't tried.
3.I assume you already know about tooltips, and you want something fancier. You could probably use the Mouse Moved trigger event, though if you do so, really turn off that trigger whenever you don't need the event. It generates a lot of traffic. It will also go through the battle.net latency.
4. What about an image behind your label dialog item?
5. Assign a random number to an integer variable. "Random Integer" : RandomInt().
6. There are a lot of dialog borders to pick from. Browse the included textures starting with the prefix ui_ (user interface).
7. I'm trying to make a pulldown dialog for players to choose their color (exactly the same as in the Blizzard DOTA trailer video) but this is my first time using a pulldown. How do you do a trigger for when an item on the list is selected? How do you show the image with the color on it (like at 0:37 in the DOTA trailer)
Just tried this with a label and it didn't work :/
Thanks, i'll look into that!
Tooltip isn't what I meant, but I think i figured out what to do - I forgot "Dialog item used" isn't JUST clicked (there's mouse enters/exits the item)
Can you elaborate on this? I searched "random" several times in the trigger editor and only found the seed thing, so I don't really know what youre talking about here
I just looked through a lot of the stuff on this list and while theres a lot for borders and edges and what not, they all seem to be PART of an image, so if i just set one as a dialog's background it looks really raunchy..
Oh right, forgot about mouse enters/exits events.
5. When you create a new action, you can only see the functions that return nothing. To see all the functions that return an integer, you must be needing to insert an integer value within the trigger editor at that point. Steps :
- Create a new local variable type "integer"
- Create new action "Set Variable", select your integer as target variable.
- Assign a "Random Integer" to your variable.
7. Changing the selection in a list triggers also the "dialog item is used" event, "selection changed" event type. Just act upon receiving the event.
I set the dialog item image to blank, but can't find where to set its rollover image?
Setting a random integer works fine now, didn't know i had to SET one which is why i was confused
If i set a random int "BETWEEN 1 and 8" does that mean it could possibly be 1 and 8 or it will be 2-7?
My map has 12 "maps" in it (8 identical Player vs CPU maps and 4 1v1 maps). Players have the choice to choose between Boot Camp and 1v1, but if they choose 1v1 I want to randomly be assigned to one of the 4 1v1 maps. What I'm doing for the first time someone is assigned is to set the random integer as 1-8, then use that to determine which of the 8 starting points (2 per 1v1 map) the player is assigned to. However, AFTER that, when the other (up to) 7 players are assigned spots, i can't figure out a way to do this! I'd like to have just one trigger and say "if the chosen starting position is already taken, reassign a random integer and return to the top of the trigger" but there's no "return to the top of the trigger" and if i "run trigger" it seems like it'd go haywire because once it runs itself again (if it can even do that) it'll go back and finish its other runthrough..
How do you get a player's name? I'm trying to get something like this (top left corner of the screen with the colored bars)
Random integer between 1 and 8 is any number from 1 to 8 inclusively.
You could maintain an array of starting spots that are available or not, or you could either randomize an array of starting location numbers and assign the values in order. As for "returning to the beginning of the trigger", use a while() loop and "break" out of it whenever you want,
Player names : create a text variable (or preferably an array of 16), store "Name of player" for given player index.
I'll try that and see how it works for assigning starting points :)
Still need to know how to set a dialog item (button)'s rollover image
I don't see "Name of player" but i tried "Handle of player" to no success. I'm obviously player 1 when i test my maps (color is red) but it didn't show anything for handle of player 1
"Handle of player" is a string,"Name of player" is a text.
Texts are opaque chunks of text ; you can't read, parse or cut them. Strings are more flexible and can be converted to text, text can't be converted to strings. Most native dialog functions work with text.
OHHHH okay, well that (kinda) makes sense! Just tested it and it worked ^^
The only way I could figure out to do this is to make a random number 1-8 and assign my 1st of 8 spots to whatever the number is, then go in order and restart at 1 when it hits 8. So for example, if the number's 3:
spot 1 - 3
spot 2 - 4
etc etc etc
spot 6 - 8
spot 7 - 1
spot 8 - 2
and then just assign each player in order of the Right number above, in the order that they click the ready button
Is that random enough or would that not work?
That's not very random... Here's a simple solution, and random enough.
Create an array of 8 values, assign values of 1 to 8 to each in sequence ( so array[3] = 3, etc. ). Then, for each entry in your array, swap its value with the value of another randomly picked entry. You'll still have the values 1 to 8 stored in the array, but shuffled around.
How do I test my map with 8 players rather than just me? Is there any way for me to play as 8 different guys while testing the map?
still need to know how to set a dialog button's rollover image
EDIT: nvm on this one, it's called the Hover image, not rollover image
Is there a max number of doodads a map can hold? I copied/pasted my single-player map's doodads (the hex grid and its foliage) 7 times and it looked fine. However the next time i opened my map, it looked like this:
@ctccromer:
To simulate 8 players, you can add units for each player in your map, then modify alliances between you and these players to "share control".
Yes, there is a limit to the number of doodads in a map. It's quite high though, but I don't remember how much it is. Probably something like 16384 or 65535, but I think if you open the Overview Manager window you can see how many doodads are already placed + how many is the limit.
About your screenshot, did you modify the terrain height somehow? Did you create your map with random height enabled? If that's the case, I wouldn't worry. The doodads you use for your grid are flat, so if you put them on parts of terrain with slight height variations, the doodads won't show entirely, or won't show at all because they're kind of buried beneath the ground level. But it's still there. To prevent this from happening, modify the properties of each of your grid doodads (select them + press Enter) to make sure their height is >0 (0.1 or 0.2 should be high enough).
This will work for almost all the testing, however my map is set to have 8 players max, with 12 total "maps" (8 identical 1player maps and 4 different 1v1 maps). I have it set so that players choose which game type they play. So if 1 player selects 1v1, they have to wait until a 2nd player selects it, then the 2 are assigned to one of the 4 1v1 maps. But because of this, there's no way to make sure this trigger works right. Because the first half of it does, im 99% sure it's fine, but is there any way to test this without uploading it to bnet?
The manager shows my doodads at an even 10,000, so I'm assuming that's the limit. Since 9,600 of that 10k is the hex doodad (protoss energy line blue) is there any way to fix this? Could I combine a ton of doodads into one, or make a custom unit with the actor of several of them? (i know nothing about the data editor)
Nope, the missing doodads are gone for good, not just buried.
That's a lot of doodads. If you are going to cover the world with hexagons, I would either :
- Use a bigger "grid" models that contain a lot of hexagon tiles.
- Or use textures, modified ones, with visible hexagon edges painted on them.
@StragusMapster: Go
You could mash them together if you had 3ds max. There might be a way to do it with actors, but I'm not sure.
There's a protoss texture that uses hexagons though. The ones from the tzeratul4 mission.
Im pretty sure there's a way to make a custom unit (or maybe a custom doodad) out of many doodads.. I'll look into it
I could actually do the custom terrain idea. That'd also fix my poblem about doing elevation I believe. Is there a tutorial for importing custom terrain pictures/tilesets and would I be able to make them hexagons rather than squares or circles?
Still need to know about testing with multiple players
whats a good (free) program for converting jpg to tga?
When should I use a string vs text? Is text basically a string-constant?
How do you say the trigger event "Any Supply Depot is selected" without adding every supply depot on the map to a unit group? Or is that the only way?
@ctccromer: Go About multiplayer testing, maybe just making the computer-controlled units mimic what you do? I assume it's for testing purpose only anyway, so if you pick option #1 just make it so that the enemies you want will pick this option as well. I'm not really sure if I understand what you're trying to achieve here, so my help is very... unhelpful... I can't think of an easy way to test such triggers without actually uploading the map and trying it yourself with a trusted friend.
About converting JPG to TGA, there are lots of online image editing tools that will allow you to upload any image, modify it, and save it to any format you want for free (JPG, TGA, PNG, GIF, whatever...). I use them occasionally, especially when I'm lazy about re-installing an image editing tool after a clean install of my OS... Some of these online tools are really really good.
About the supply depot, you can use "any unit is selected" as the event, then add a condition "unit-type of triggering unit is supply depot" (and also "owner of triggering unit is player X", if needed).
About string vs text, as far as I know strings are mostly used for short text references (field values, names, IDs,...). Text, as the name says, contains text... of any length and format. So basically, if you want the name of a unit, use strings. If you want to describe an object, use text. You can use strings in a text, not vice-versa.
I'm quite surprised by the doodads limitation though, I thought it was higher than 10k... I'm also surprised some of the doodads you placed were removed without notice, I would have expected the editor to rather crash, or pop-up an error message when saving the map. Well, to be honest it's rare to see maps with 10k doodads anyway, I guess it will really lag if you use so much of them... You definitely need to optimize this, Zelda's ideas were not bad at all. Have you already searched in the forums for anything related to hexagonal tiles?
1. Whats one of those sites? I've been wanting to convert several images without having to download anything
This works perfectly, ty! I knew to set owner of unit, but forgot that what i was looking for was called the unit TYPE
Makes sense! This'll help a lot for the stats window. Much easier to set 1 text than 1 string that's a combination of a tonnn of other strings
2. Yeah, I have, but little to no help. Is it possible to combine all of the doodads in one "map" into one actor, doodad, unit, or anything else?