I know some things don't save in banks when a unit is saved.
I'm still lost on what exactly banks are used for. I know it stores information to be recalled later, but is it specifically meant to carry information from one map to the next in a campaign scenario? Single Player games store information in the game save, correct? So I guess it could be used to store character info in a multiplayer RPG style map.
It's not doing anything, that I can tell. At least, it's not applying any of the actions stated in the trigger to (picked unit). I do see your point in not needing an array since I can just set the region string in the pick and do. I ended up just going back to my old formula, but I'll probably end up trying it again without using the Array. And I set the Level Numbers to 1,2,3, etc. since I didn't think it would register if I had zeroes in front.
I then renamed all of the regions to simply 1,2,3 and took out the "Level " string altogether, just using convert integer to string, but it was still not applying any changes in game. (Bounty not set, buffs not applied, custom values not changed allowing the respawn trigger to set units in the proper places.)
Could it have been the convert integer to string that broke it? Should I just have set the variable? (Region Named (L)) instead of (Region Named (String(L)))?
Miraculously, it finally let me remove the dependencies I wasn't using. So it's now Swarm Campaign, Swarm Story, and Void Campaign. If anyone knows how to export the One Void unit I'm using, I could remove that dependency, as well. Actually, I could probably just get away with the actor, and attach it to an existing unit, but I don't know how to do that, either.
So, I've tweaked some things about the map I'm working on, and it will now be a 2(MAYBE 3) part prologue to the Campaign I was wanting to start. I consider the data half done, maybe less. The terrain is about how it's going to stay. I've just got to work on finishing up some ability work (Blegh) and linking buttons and upgrades to the research ability.
And since I still haven't written the trigger that sets up the second part of the map, I may be a little late on an alpha. But I think it'll come together nicely. I've just got a lot on my plate in RL right now and I am starting to get seriously sleep deprived. Two hours or less a night just doesn't cut it. Let me know if you want in on testing, as I probably won't put the map on here until it's ready to go. (Just weird like that)
So, I've narrowed down my error issue to my Enemy Initialize trigger. Which I forgot I had set to use a region array instead of my original "copy past" formula. So I'm assuming I'm setting the regions improperly.
EventsLocalVariablesL=0<Integer>UnitType=0<Integer>Levels=NoRegion<Region[100]>
Conditions
Actions
General - For each integer L from 1 to 100 with increment 1, do (Actions)
Actions
Variable - Set Levels[L] = (Region named ("Level " + (String(L))))
Unit Group - Pick each unit in (Any units in Levels[L] owned by player 15 matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
Actions
Unit - Set (Picked unit) custom value 0 to (X of (Position of (Picked unit)))
Unit - Set (Picked unit) custom value 1 to (Y of (Position of (Picked unit)))
Unit - Set (Picked unit) custom value 2 to L
Unit - Add L STAG Enemy Buff to (Picked unit) from player 15
Unit - Set (Picked unit) Bounty (Minerals) to (Ceiling(((Minerals cost of (Unit type of (Picked unit))) * (1.2 ^ L))))
I've got the object error resolved, but the trigger is not functioning properly. All of my regions are named Level X, but I have the space set up in the Region named string. Am I using this correctly?
Sorry, I Edited to add the answer to your second question before I saw you post.
And using Expression, you use ~ A ~ ~ B ~ ~ C ~ (without the spacing), and set the values for A, B, and C by clicking the letter in the lower portion of the Expression box. You have to click the green plus twice to add B and C.
And unfortunately, you have to set the Unit Type Array manually through a trigger on initialize. Which, if you are doing this for Every Unit Type, means you need to set up a LOT of variables.
However, I am still having trouble with figuring out which units need what information applied. I can only figure out how to identify units that pre-exist on the map, but when I try to write "xx unit is created", I cannot actually select a unit in general.
You need to set up a trigger event "unit is created" with a way to apply the chosen variable to newly created units of a certain type.
For each integer (unit) from 1 to 100, do actions
If (type of (last created unit)) = typeArray(unit)
then set unit info to nameArray(unit)
You would be able to set the nameArray(x) values through a dialog, and any new unit that matches the unit type will be renamed to the last entry of the dialog.
A lot of the original SC1 maps come to mind... think of Omega where once you put a dent in one of the three enemies, the map is basically over as it just gets easier and easier, yet will still take a bunch of time to clean the map up and win.
That freaking Tassadar installation map. It had so many infested terrans and storm targets that you had to wait for your energy to refill every 2-3 minutes. It would have been fine if they had increased his recovery out of combat...
Just Player Abilities on a cooldown with an interface at the top of the screen. LotV has a number of abilities that can be upgraded and swapped out between missions.
Just be sure to create as much of the dialog as you can during map init.
I read in a tutorial that you should have the dialog trigger run manually from your initialize trigger. Is that the same as it being on initialize, or is that meant to let it run after the initialize?
I understand (better) now. If I decide to implement a power system (like the spear of adun abilities), would it be easier to set up a dialog with as many buttons as I choose, or put in screen buttons and fit them to the dialog I make to frame it?
Well, I added the campaign dependencies because I wanted to use some HOTS. But I decided 10 minutes later that it was dumb to add the other campaign dependencies just for that, and tried to remove them. But all I got was errors out the wha zoo. And of course, I had just overwritten my only save, like a moron.
This is how far I got when I decided to mess around with arrays again. So now I'm setting up an initialize trigger for the arrays, and then I have to reset all of my triggers with the new information.
But it works, I just have to fool around with the effects some more to get it just how I want it. I know that constants and variables should be set up before-hand, but I've just been testing different sizes and eyeballing the changes. Would I need to be worried about different.... uhh... resolutions? (widescreen, 4:3, whatever it is now) with just one image and some text?
0
@temhawk: Go
I believe it was run from my initialize. I really don't remember.
0
I'm still lost on what exactly banks are used for. I know it stores information to be recalled later, but is it specifically meant to carry information from one map to the next in a campaign scenario? Single Player games store information in the game save, correct? So I guess it could be used to store character info in a multiplayer RPG style map.
0
@temhawk: Go
It's not doing anything, that I can tell. At least, it's not applying any of the actions stated in the trigger to (picked unit). I do see your point in not needing an array since I can just set the region string in the pick and do. I ended up just going back to my old formula, but I'll probably end up trying it again without using the Array. And I set the Level Numbers to 1,2,3, etc. since I didn't think it would register if I had zeroes in front.
I then renamed all of the regions to simply 1,2,3 and took out the "Level " string altogether, just using convert integer to string, but it was still not applying any changes in game. (Bounty not set, buffs not applied, custom values not changed allowing the respawn trigger to set units in the proper places.)
Could it have been the convert integer to string that broke it? Should I just have set the variable? (Region Named (L)) instead of (Region Named (String(L)))?
0
No promises there. The Editor isn't what's keeping me from sleeping, it's what is keeping me sane during the lack of sleep.
Miraculously, it finally let me remove the dependencies I wasn't using. So it's now Swarm Campaign, Swarm Story, and Void Campaign. If anyone knows how to export the One Void unit I'm using, I could remove that dependency, as well. Actually, I could probably just get away with the actor, and attach it to an existing unit, but I don't know how to do that, either.
0
So, I've tweaked some things about the map I'm working on, and it will now be a 2(MAYBE 3) part prologue to the Campaign I was wanting to start. I consider the data half done, maybe less. The terrain is about how it's going to stay. I've just got to work on finishing up some ability work (Blegh) and linking buttons and upgrades to the research ability.
And since I still haven't written the trigger that sets up the second part of the map, I may be a little late on an alpha. But I think it'll come together nicely. I've just got a lot on my plate in RL right now and I am starting to get seriously sleep deprived. Two hours or less a night just doesn't cut it. Let me know if you want in on testing, as I probably won't put the map on here until it's ready to go. (Just weird like that)
0
So, I've narrowed down my error issue to my Enemy Initialize trigger. Which I forgot I had set to use a region array instead of my original "copy past" formula. So I'm assuming I'm setting the regions improperly.
I've got the object error resolved, but the trigger is not functioning properly. All of my regions are named Level X, but I have the space set up in the Region named string. Am I using this correctly?
0
@hardball69: Go
Sorry, I Edited to add the answer to your second question before I saw you post.
And using Expression, you use ~ A ~ ~ B ~ ~ C ~ (without the spacing), and set the values for A, B, and C by clicking the letter in the lower portion of the Expression box. You have to click the green plus twice to add B and C.
And unfortunately, you have to set the Unit Type Array manually through a trigger on initialize. Which, if you are doing this for Every Unit Type, means you need to set up a LOT of variables.
0
@hardball69: Go
When you set the text, use Expression. Set the A value to <s val="BoardWarAppraiseBig5">
Set the B value to your variable (the text that is input by the player)
Set the C value to </s>
The number (1-5) in Value A determines how large it will be. Or you can use any other style already in the editor.
You need to set up a trigger event "unit is created" with a way to apply the chosen variable to newly created units of a certain type.
For each integer (unit) from 1 to 100, do actions
If (type of (last created unit)) = typeArray(unit)
then set unit info to nameArray(unit)
You would be able to set the nameArray(x) values through a dialog, and any new unit that matches the unit type will be renamed to the last entry of the dialog.
0
That freaking Tassadar installation map. It had so many infested terrans and storm targets that you had to wait for your energy to refill every 2-3 minutes. It would have been fine if they had increased his recovery out of combat...
0
@GlornII: Go
Just Player Abilities on a cooldown with an interface at the top of the screen. LotV has a number of abilities that can be upgraded and swapped out between missions.
0
I read in a tutorial that you should have the dialog trigger run manually from your initialize trigger. Is that the same as it being on initialize, or is that meant to let it run after the initialize?
0
@GlornII: Go
I understand (better) now. If I decide to implement a power system (like the spear of adun abilities), would it be easier to set up a dialog with as many buttons as I choose, or put in screen buttons and fit them to the dialog I make to frame it?
0
So wait. Should I simply hide the dialogue and just SHOW it each time?
0
@Domper: Go
Well, I added the campaign dependencies because I wanted to use some HOTS. But I decided 10 minutes later that it was dumb to add the other campaign dependencies just for that, and tried to remove them. But all I got was errors out the wha zoo. And of course, I had just overwritten my only save, like a moron.
0
@GlornII: Go
It doesn't destroy it each time it updates. It sets a break so that the button that initializes the dialog can't be pressed repeatedly.
This is how far I got when I decided to mess around with arrays again. So now I'm setting up an initialize trigger for the arrays, and then I have to reset all of my triggers with the new information.
But it works, I just have to fool around with the effects some more to get it just how I want it. I know that constants and variables should be set up before-hand, but I've just been testing different sizes and eyeballing the changes. Would I need to be worried about different.... uhh... resolutions? (widescreen, 4:3, whatever it is now) with just one image and some text?