Figured it out. User instance variables cannot have spaces or anything that breaks XML <ElementName/> Restrictions. I had elements such as 'max energy', and it would crash trying to write XML for <max energy/> (fails).
Actually if you read the documentation. User Data has a comand that will save that instance into the bank. This seems to work OK in some situations except for in this particular case that I have demonstrated. The XML I have provided was purely generated by using this command and not any Store Bank operations.
method to save data to my bank. However, when I view the file on disk after Bank Save command, It only shows an incomplete file. And of course as you would expect it cannot load any of the data on the next run when I try to open the bank.
When I try to save a User Instance that has 3 fields, 2 floats and 1 integer, I get:
Or can is there a way to directly hook up the First.Second.Third.Child component from parent (dialog item) Y, instead of having to repeat the following loop of commands just to access the bottom component:
Is there a way to access nested template items inside the layout. ie. Set the text of the label from within the lower frame:
...
<Frametype="Frame"name="MTProbePanel"template="MTLayout/MTPanelTemplate"><Frametype="Frame"name="ZergSpeedPanel"template="MTLayout/MTSliderPanelTemplate"><Anchorside="Top"relative="$parent"pos="Min"offset="10"/><Heightval="100"/><Frametype="MTLabel"> (I am making this up, because I do not know if this is possible. This is a child in the template from above)
<Textval="My custom text"/></Frame></Frame></Frame>
Thanks! This is exactly what I was looking for. If only I knew the terminology for these models and animatinos it might have been easier to explain and search the archive for previous solutions :)
Is this the right way to go about just adding this single feature to my map? Are there better ways to achieve this? Is it possible to export whatever I need out of that module and bring it into my game?
Honestly I have no idea what this is called. I have spent countless hours trying to find a way to articulate this query to figure out how to achieve this on the website and have not found anything useful.
In both campaign missions they have a "targeting halo" around a unit or objective note:
I have followed both the WoL and HoTS to see how they do this and in both cases they use a completely custom function that only the campaign seems to have access:
To find the map, or search by name (be sure to allow maps that have no rating to be filtered)
Custom games -> Trainer -> Other
Thanks to the original Author of the Multitask Trainer map (here), he left it open source and I wanted to make some long awaited changes to the map. Along the way, I rewrote almost every line of code, revamped the map, changed how the map works, etc, etc. Now with credits and copyright out of the way..
Testers and feedback would be highly helpful because there are several configurations that need to be tested and bugs need to be flushed out. Each run of a single configuration; Race, Difficulty; requires at least 10-20 minutes of play. The game evolves much like a normal 1v1 melee game and that should give you a rough estimate of how long it takes to get the ball rolling.
This is a single player multitasking training map for those who want to improve their APM. In the map there are several challenges that are tracked throughout the course of the game. When the player fails to comply to that challenge there is a red warning (if you allowed warnings in the initial dialogs). That should indicate to the player that they are losing points / time from their score for that challenge. The score is a 'Leaderboard' on the top right of the screen so you can see what your current score is.
To complete the map, you must defeat the turtling Terran just like in the original Multiplayer Trainer map. When the Terran is defeated, all challenges will stop tracking so the user can open up their score board and see how they did.
Feedback in AI:
how difficult were the attack waves
was the unit composition of the attack waves good?
should there be an indication of when the attack wave launches or a timer to count down?
Feedback UI:
what could be improved with the notification of 'failing the challenge'? (ie. Queen energy too high!)
should selecting initial race be chosen in lobby or in game (current)?
the Leaderboard is rather a cheap way to get aligned columns and rows and easy to update, is there better way to achieve this?
Feedback Challenges:
were any of the challenges hard to understand? which?
what challenges should be or not be included? (ie, i want to add supply cap challenge, but cannot figure out an accurate way to determine when the player is legitimately blocked)
what other statistics should be reported? (ie, a graph of game time vs challenge)
Bug report:
If anything looks suspicious or may be thought to be a bug, please report it here and include the race and difficulty you choose to play with. What time you noticed the bug, etc.
Preemptive thanks to anyone who is willing to help out.
I would like to capture the event of when a player is supply blocked, and when the block is no longer there. Ultimately, it would be BEST if I could capture the events for when a unit production building progress is PAUSED. Which for T and P is a clear indication that supply has reached supply cap. And if I could receive the sibling call for when the unit production RESUMES.
While researching this, Ive came across this information:
Unit - Any Unit construction progress is Paused Does not get triggered when a user attempts to queue units after supply limit has been reached. The progress for building the unit seems to be paused, but there is no event that is triggered.
Unit - Any Unit construction progress is Resumed Also does not trigger when supply limit is increased or in any way such that a unit begins building again.
Unit - Any Unit Enters (Entire map) Can trigger to indicate when a Supply Depot has just started building
Unit - Any Unit construction progress is Completed Can trigger an event when a Supply Depot is finished building
(Player 1 Supplies Used) can be used to determine the current supply count
(Player 1 Supplies Made) can be used to determine the current supply cap
Although I can't directly determine when the block goes away, I can use heuristics to determine if our supply has changed, such as the 'Unit construction is Completed'. As well as determining when there is most *likely* a supply cap: 1. check supply made, 2. trigger: 'Unit - Any Unit training progress is Started', 3: is supply made still the same? Yes? capped. However, its more difficult to run these commands in this order because there is no trigger or call for the pre-stage of building a unit. Only after the unit has been started does the trigger get called.
If anyone has any ideas of how to tackle this problem, as well as for how you might be able to tackle the same problem for when the player is Zerg, I would be interested in knowing. I wish I could just catch the Event trigger for when a sound file is played, such as 'BUILD MORE OVERLORDS', lol.
(pardon for the identical thread in Triggers, it was suggested I should post here)
I would appreciate anyone's insight in this challenge of how to create a nice dialog that can display a table of data.
Requirements:
The rows and columns need to be aligned.
It should be relatively easy to choose the number of rows and columns that are required of the Dialog.
The size of the columns should expand to match the largest string (text) length.
Control over the background color, or whether its visible.
Off the bat, it makes most sense to use a Leaderboard, it comes shipped with almost all of the requirements. However, the leaderboard has very limited control for how to format and display it. Mostly, I would like control whether or not to allow the Leaderboard to be minimized, remove (and display) the checkbox that toggles its visibility, and how the Leaderboard title is itself a unclickable button label when minimized.
I have been exploring quite the many Dialog Tutorials that are on the tutorial forum and the most interesting one is an incomplete recent tutorial: [UI] How to create dialogs and edit Blizzard UI using the UI and trigger editor But it seems a bit incomplete. Mostly I find this interesting because it allows you to do most of the dialog formatting within XML, which is a godsend because writing the logistic code inside the Trigger Editor is the most frustrating experience for editing code I've ever had to deal with.
If anyone knows of a dynamic way to create a dialog like this within the XML editor I would like to hear your experience doing so.
I have a question, but I thought it would be too off-tangent of your dialog here and have expanded it into its own forum thread in the Triggers category:
Dialog or Leaderboard?
I would appreciate anyone's insight in this challenge of how to create a nice dialog that can display a table of data.
Requirements:
The rows and columns need to be aligned.
It should be relatively easy to choose the number of rows and columns that are required of the Dialog.
The size of the columns should expand to match the largest string (text) length.
Control over the background color, or whether its visible.
Off the bat, it makes most sense to use a Leaderboard, it comes shipped with almost all of the requirements. However, the leaderboard has very limited control for how to format and display it. Mostly, I would like control whether or not to allow the Leaderboard to be minimized, remove (and display) the checkbox that toggles its visibility, and how the Leaderboard title is itself a unclickable button label when minimized.
I have been exploring quite the many Dialog Tutorials that are on the tutorial forum and the most interesting one is an incomplete recent tutorial: [UI] How to create dialogs and edit Blizzard UI using the UI and trigger editor But it seems a bit incomplete. Mostly I find this interesting because it allows you to do most of the dialog formatting within XML, which is a godsend because writing the logistic code inside the Trigger Editor is the most frustrating experience for editing code I've ever had to deal with.
If anyone knows of a dynamic way to create a dialog like this within the XML editor I would like to hear your experience doing so.
Figured out the problem. It was because my literal string had an underscore in the name, and was not translating into the Bank File that was being created for saving and loading. The reason I was able to access the data in the same game run I was still using was because under the hood blizzard is caching the Bank I have already loaded.
Unforunately I cannot test this map now because I am at work. That said, I have no qualms with opening up the editor to take screenshots. If it is any interest I can publish the map as public / unlocked. I do not care much about sharing code since this was a retrofit on an existing map made back in 2010, you will just have to bare with some of the leftover variables / triggers have not been removed, but that shouldnt be a problem since none of the code touches it.
0
Figured it out. User instance variables cannot have spaces or anything that breaks XML <ElementName/> Restrictions. I had elements such as 'max energy', and it would crash trying to write XML for <max energy/> (fails).
0
@willuwontu: Go
Actually if you read the documentation. User Data has a comand that will save that instance into the bank. This seems to work OK in some situations except for in this particular case that I have demonstrated. The XML I have provided was purely generated by using this command and not any Store Bank operations.
0
I am trying to use the
method to save data to my bank. However, when I view the file on disk after Bank Save command, It only shows an incomplete file. And of course as you would expect it cannot load any of the data on the next run when I try to open the bank.
When I try to save a User Instance that has 3 fields, 2 floats and 1 integer, I get:
Any ideas why this is happening? Ive isolated my saving to 1 single instance variable and i cannot figure out why it chokes on this call.
Thanks
0
Say I have the following XML in my layout file:
Or can is there a way to directly hook up the First.Second.Third.Child component from parent (dialog item) Y, instead of having to repeat the following loop of commands just to access the bottom component:
Thanks!
0
Thanks! This is exactly what I was looking for. If only I knew the terminology for these models and animatinos it might have been easier to explain and search the archive for previous solutions :)
0
@Bibendus: Go
I did not add the campaign dependencies (up until now I did not know how to). However, in my investigation to see if this is the right thing to do I came across this post about additional loading time for adding in campaign dependencies: http:www.sc2mapster.com/forums/general/general-chat/46663-adding-more-dependencies-cause-longer-loading-times/.
Is this the right way to go about just adding this single feature to my map? Are there better ways to achieve this? Is it possible to export whatever I need out of that module and bring it into my game?
0
Honestly I have no idea what this is called. I have spent countless hours trying to find a way to articulate this query to figure out how to achieve this on the website and have not found anything useful.
In both campaign missions they have a "targeting halo" around a unit or objective note:
I have followed both the WoL and HoTS to see how they do this and in both cases they use a completely custom function that only the campaign seems to have access:
Does anyone know how to do this?
0
To find the map, or search by name (be sure to allow maps that have no rating to be filtered) Custom games -> Trainer -> Other
Thanks to the original Author of the Multitask Trainer map (here), he left it open source and I wanted to make some long awaited changes to the map. Along the way, I rewrote almost every line of code, revamped the map, changed how the map works, etc, etc. Now with credits and copyright out of the way..
Testers and feedback would be highly helpful because there are several configurations that need to be tested and bugs need to be flushed out. Each run of a single configuration; Race, Difficulty; requires at least 10-20 minutes of play. The game evolves much like a normal 1v1 melee game and that should give you a rough estimate of how long it takes to get the ball rolling.
This is a single player multitasking training map for those who want to improve their APM. In the map there are several challenges that are tracked throughout the course of the game. When the player fails to comply to that challenge there is a red warning (if you allowed warnings in the initial dialogs). That should indicate to the player that they are losing points / time from their score for that challenge. The score is a 'Leaderboard' on the top right of the screen so you can see what your current score is.
To complete the map, you must defeat the turtling Terran just like in the original Multiplayer Trainer map. When the Terran is defeated, all challenges will stop tracking so the user can open up their score board and see how they did.
Feedback in AI:
Feedback UI:
Feedback Challenges:
Bug report:
Preemptive thanks to anyone who is willing to help out.
0
I would like to capture the event of when a player is supply blocked, and when the block is no longer there. Ultimately, it would be BEST if I could capture the events for when a unit production building progress is PAUSED. Which for T and P is a clear indication that supply has reached supply cap. And if I could receive the sibling call for when the unit production RESUMES.
While researching this, Ive came across this information:
Although I can't directly determine when the block goes away, I can use heuristics to determine if our supply has changed, such as the 'Unit construction is Completed'. As well as determining when there is most *likely* a supply cap: 1. check supply made, 2. trigger: 'Unit - Any Unit training progress is Started', 3: is supply made still the same? Yes? capped. However, its more difficult to run these commands in this order because there is no trigger or call for the pre-stage of building a unit. Only after the unit has been started does the trigger get called.
If anyone has any ideas of how to tackle this problem, as well as for how you might be able to tackle the same problem for when the player is Zerg, I would be interested in knowing. I wish I could just catch the Event trigger for when a sound file is played, such as 'BUILD MORE OVERLORDS', lol.
On a sidenote, Ive looked into this old thread: http:www.sc2mapster.com/forums/development/triggers/16381-trigger-that-executes-when-player-is-supply-blocked/ but was not able to apply any of the solutions that were determined back then (over 2 years ago)
0
(pardon for the identical thread in Triggers, it was suggested I should post here)
I would appreciate anyone's insight in this challenge of how to create a nice dialog that can display a table of data.
Requirements:
Off the bat, it makes most sense to use a Leaderboard, it comes shipped with almost all of the requirements. However, the leaderboard has very limited control for how to format and display it. Mostly, I would like control whether or not to allow the Leaderboard to be minimized, remove (and display) the checkbox that toggles its visibility, and how the Leaderboard title is itself a unclickable button label when minimized.
I have been exploring quite the many Dialog Tutorials that are on the tutorial forum and the most interesting one is an incomplete recent tutorial: [UI] How to create dialogs and edit Blizzard UI using the UI and trigger editor But it seems a bit incomplete. Mostly I find this interesting because it allows you to do most of the dialog formatting within XML, which is a godsend because writing the logistic code inside the Trigger Editor is the most frustrating experience for editing code I've ever had to deal with.
If anyone knows of a dynamic way to create a dialog like this within the XML editor I would like to hear your experience doing so.
0
I have a question, but I thought it would be too off-tangent of your dialog here and have expanded it into its own forum thread in the Triggers category: Dialog or Leaderboard?
0
I would appreciate anyone's insight in this challenge of how to create a nice dialog that can display a table of data.
Requirements:
Off the bat, it makes most sense to use a Leaderboard, it comes shipped with almost all of the requirements. However, the leaderboard has very limited control for how to format and display it. Mostly, I would like control whether or not to allow the Leaderboard to be minimized, remove (and display) the checkbox that toggles its visibility, and how the Leaderboard title is itself a unclickable button label when minimized.
I have been exploring quite the many Dialog Tutorials that are on the tutorial forum and the most interesting one is an incomplete recent tutorial: [UI] How to create dialogs and edit Blizzard UI using the UI and trigger editor But it seems a bit incomplete. Mostly I find this interesting because it allows you to do most of the dialog formatting within XML, which is a godsend because writing the logistic code inside the Trigger Editor is the most frustrating experience for editing code I've ever had to deal with.
If anyone knows of a dynamic way to create a dialog like this within the XML editor I would like to hear your experience doing so.
0
Figured out the problem. It was because my literal string had an underscore in the name, and was not translating into the Bank File that was being created for saving and loading. The reason I was able to access the data in the same game run I was still using was because under the hood blizzard is caching the Bank I have already loaded.
0
Unforunately I cannot test this map now because I am at work. That said, I have no qualms with opening up the editor to take screenshots. If it is any interest I can publish the map as public / unlocked. I do not care much about sharing code since this was a retrofit on an existing map made back in 2010, you will just have to bare with some of the leftover variables / triggers have not been removed, but that shouldnt be a problem since none of the code touches it.
loading score:
saving score:
0
I have adjusted the preload and bank opening calls to use literal strings and I am still having the same issue.
preloading:
saving:
loading:
Any ideas?