Couldn't you just destroy the actor (send actor message) and recreate it when it's supposed to un-hide again? That's how Blizzard does it with the siege tank and radar tower range indicators for example.
Edit: Started to use my brain and skimmed through which other actor messages exists. I haven't tried them but... sounds like what you wanna do.
Actually, I checked briefly for the "Entire map" preset, but it didn't exist. Of course, you could just cover the entire map with a region and do it anyway. Haven't tried it, but I don't see why it wouldn't be possible.
Yeah, I can believe that the data input required for Starcraft 2 is higher than that of Heroes of Newerth. I just figured Blizzard could be nice and invest in servers that could handle the load.
Imo it's good enough as it is (not counting WASD etc. input lag), but I do feel a difference and was wondering why it was like it is.
@Yaos01: Go Well, there's no need to keep every game on the same server. Balance the games out on different servers while still keeping a global chat server that connects everyone on battle.net to each other.
I don't think they will be doing this, of course, since it would require reworking a lot of things from scratch... but I don't understand why they would keep the same system, roughly, as WC3. It was clearly not optimal even though users found other ways to reduce lag/latency outside of ladder. Listchecker (LC) for example.
...but we can't match the responsiveness of an FPS game with an authoritative server...
This is just bullshit to be honest. Heroes of Newerth (stand alone DotA clone), have little to no delay at all and they run everything through dedicated official servers. Nothing that the clients are not supposed to know are sent. S2 (the creators) are a relatively tiny studio, especially compared to Blizzard. If Blizzard wanted to, they could easily remove lag completely, the game would not need to slow down for everyone when one player lags.
(Disclaimer. I'm just a hobby enthusiast and don't really know anything about client server protocols. But if one small company can do it, why not a bigger one?)
So how does the upgrade need to progress exactly? Does it need to be able to leap forwards (and backwards?) or just run in a smooth linear fashion from 0 to 100 (or something)?
Why can't you use a periodic trigger to update it?
Does this limitation also prevent you form doing something like, create a dummy unit, link it's health to the progress bar and damage it?
I assume you would like to block pathing for only certain players, but I don't think you can do that.
I would make a trigger that checks for units entering region. If they belong to someone not allowed to enter the region, disable command for that unit and order it to leave the region. Check for units exiting region and (order the unit to stop, maybe) and enable command again. Might wanna add a check on the units exiting so that only units with command disabled are affected.
You could also force move (instantly) any units that enter the region.
I do see another possible problem though. The trigger will run each time a unit enters the region. Say you have 5 marines running to the region. The trigger will run 5 times. The first 3 will be skipped since there are only 1, 2, 3 units in the region. However, marine 4 and 5 will both trigger the... uuh, trigger. Since you are waiting 1 second before you remove any units, the trigger will successfully run twice, and give you 3+3 battlecruisers even though you only had 5 marines. Remove the wait 1 second.
Ah, I think i figured out how your Unit - Remove looks. Your problem is that you are removing unit number 4 from the unit group. the number after unit in unit group is the index that identifies each unit. So you are just removing a single unit that happens to have index 4.
0
@Zinatic: Go
Disable the trigger when it runs and then enable it again via a different trigger after its energy gets above the threshold in the first condition.
0
Couldn't you just destroy the actor (send actor message) and recreate it when it's supposed to un-hide again? That's how Blizzard does it with the siege tank and radar tower range indicators for example.
Edit: Started to use my brain and skimmed through which other actor messages exists. I haven't tried them but... sounds like what you wanna do.
0
Actually, I checked briefly for the "Entire map" preset, but it didn't exist. Of course, you could just cover the entire map with a region and do it anyway. Haven't tried it, but I don't see why it wouldn't be possible.
0
Is this the action you're looking for?
0
Yeah, I can believe that the data input required for Starcraft 2 is higher than that of Heroes of Newerth. I just figured Blizzard could be nice and invest in servers that could handle the load.
Imo it's good enough as it is (not counting WASD etc. input lag), but I do feel a difference and was wondering why it was like it is.
0
@Yaos01: Go Well, there's no need to keep every game on the same server. Balance the games out on different servers while still keeping a global chat server that connects everyone on battle.net to each other.
I don't think they will be doing this, of course, since it would require reworking a lot of things from scratch... but I don't understand why they would keep the same system, roughly, as WC3. It was clearly not optimal even though users found other ways to reduce lag/latency outside of ladder. Listchecker (LC) for example.
0
This is just bullshit to be honest. Heroes of Newerth (stand alone DotA clone), have little to no delay at all and they run everything through dedicated official servers. Nothing that the clients are not supposed to know are sent. S2 (the creators) are a relatively tiny studio, especially compared to Blizzard. If Blizzard wanted to, they could easily remove lag completely, the game would not need to slow down for everyone when one player lags.
(Disclaimer. I'm just a hobby enthusiast and don't really know anything about client server protocols. But if one small company can do it, why not a bigger one?)
0
Any time. :)
0
So how does the upgrade need to progress exactly? Does it need to be able to leap forwards (and backwards?) or just run in a smooth linear fashion from 0 to 100 (or something)?
Why can't you use a periodic trigger to update it?
Does this limitation also prevent you form doing something like, create a dummy unit, link it's health to the progress bar and damage it?
0
Yeah, that sounds familiar. Didn't remember exactly where I found it when i played around with it at home.
0
You can disable it in the data editor too. Still have to do it for every unit though. I'd probably do it the trigger way too.
0
Uhm, you forgot an if condition. Your index of highest number will always be 9 with that code.
0
I assume you would like to block pathing for only certain players, but I don't think you can do that.
I would make a trigger that checks for units entering region. If they belong to someone not allowed to enter the region, disable command for that unit and order it to leave the region. Check for units exiting region and (order the unit to stop, maybe) and enable command again. Might wanna add a check on the units exiting so that only units with command disabled are affected.
You could also force move (instantly) any units that enter the region.
0
I'm having a hard time figuring out how exactly the Unit - Remove looks in the expanded "tree view"... but can't you just do something like this: ?
I do see another possible problem though. The trigger will run each time a unit enters the region. Say you have 5 marines running to the region. The trigger will run 5 times. The first 3 will be skipped since there are only 1, 2, 3 units in the region. However, marine 4 and 5 will both trigger the... uuh, trigger. Since you are waiting 1 second before you remove any units, the trigger will successfully run twice, and give you 3+3 battlecruisers even though you only had 5 marines. Remove the wait 1 second.
Ah, I think i figured out how your Unit - Remove looks. Your problem is that you are removing unit number 4 from the unit group. the number after unit in unit group is the index that identifies each unit. So you are just removing a single unit that happens to have index 4.
0
Dunno why I said integer before, wasn't really thinking since an integer obviously can't be -179,999. :)