Technically the robot assistants WERE the computers, and the guy wanted a robot assistant not just a computer (I've watched like 8 episodes).
Anyways, I actually thought about that idea and making a desktop helper (I'm a programmer). But it would require A LOT of effort for minimal functionality. Essentially you'd be creating an AI that can not only understand sentences (or at the very least commands), but could also speak back in a human-like tone and speech. All for the purpose of either:
A - Just having a machine to converse with for the fun of it
OR
B - Doing things you could do with a few mouse clicks anyways.
That is unless you'd try and get the entity to understand complex commands, which would be even harder. But yea, interesting idea and it would be fun to play around with if it was ever made. However odds are the only chance of it being made is by a really dedicated independent team who for some reason or other, really want a desktop assistant.
As for the creepy bit, it really depends on how it's made vs who uses it. Though I doubt most people would be creeped out by it.
Also, not everyone is meant to make maps. If you don't want to take the time to learn the editor, then your map doesn't deserve to be played. End of story. That is a general statement that applies to everyone. If you don't want to figure out the editor, and you think that it is too complex, leave it to the people who like the new freedom the editor gives them, and stop whining. Last time I checked, making WC3 maps hasn't been banned. If you are so emotionally attached to WC3, keep making WC3 maps!
No, not really....
Just because the map editor is non-newb friendly doesn't mean you have to get all superior to everyone else and say "unless you can use it leave". Personally I only hate the data editor, and in all honesty it's annoying to the point where I've been really put off to finish any map.
Not everyone gives a shit about every data field in the data editor, and that's the issue here. Blizzard treated every single field equally when they're not, and also connected things in an odd fashion. I understand the data editor just fine, it's just annoying as fuck to deal with so I don't bother.
A "Noob Friendly" version of (at least) the data editor would benefit the mapping community greatly, as not only would new people not be put off as much. But veterans of mapping will also have a more enjoyable time making their maps and not feel like it's a chore.
I agree, one things i dislike about this tug of war is if even one of your players are worse than their opponent, you lose. Mainly because you usually have to use all your money just to keep your lane in check, having to build in someone else's lane will generally result in you falling behind in your own lane and then losing anyways. Which is why I stopped playing this tug.
You may need to do a secondary check in case multiple people tie for most kills, right now it'll take the first player it finds with the highest kills and declare them the winner.
I think hostile is considered player 0,(or 15) if you ever player warcraft 3 they're the same as the creep that was spawned in each map. I don't believe you can do things like give them orders, they're just kind of there and they attack anything that gets close (though I'm not totally sure on giving them orders or not).
So in short I would not use it, and I'm pretty sure active players does not include players that have left. Or its better to say, when the players leave they are no longer considered active.
That way it adds the one before putting it into the array.
Also you never actually remove anyone from the "Survivors" group so it won't affect people who leave. I'm sure all you need to do is something along the lines of making an event that whenever someone leaves and they are in the group, remove them from the group.
Well then, assuming you changed your array and the max human players is 10, you have to do some debugging.
After each action where you change a variable, do another action that prints that variable on the screen (maybe print some text before it explaining what it is too) and then use that to find out what sort of numbers you're getting. Post the numbers here(with the new code too) if you don't understand it. Thats about all I can do, it seems like it should work.
I guess I understand it, however just to be safe I duplicated your triggers. For some odd reason, I get an error saying "Trying to access an element past an array".
Variable - Set Selected Player Index = (Random integer between 0 and (Counter of Min Players - 1))
Or maybe I had to push some triggers under the Else in the if-then statement?
Try those changes, I made them in bold, you changed some of the code so I changed it back.
With the first part you were subtract 1 when the variable starts at -1 so its not needed.
Second part you were setting the the value the Chosen Player to the value of the next player in the array. Since the Chosen Player could be the last player in the index, and you would be setting it to the next player it could be the reason.
Also I would change the arrays to be 11 or 12, player numbers start at 1 and the indexes of arrays start at 0. So if you want 10 players you should make the array 11 since the first index would be skipped.
This website has so many flaws...just spent 10 minute typing something out, and its all gone now....
Anyways you're right, the trigger's only purpose is to chose the next player.
The Selected Player Index isn't what you want in this case, its the index number to the Min Players Array, it won't work for the Values one as it would give you the wrong person. The right way is to do it like this:
Variable - Set Player Values[Min Players[Selected Player Index]] = 1
However dealing with an array in an array is a bit odd to understand so the alternative way is to store the chosen players number in another variable.
Chosen Player = 0 <Integer>
This is the local variable we use to store the chosen player's number.
Then we add these two triggers:
Variable - Set Chosen Player = Min Players[Selected Player Index]
Variable - Set Player Values[Chosen Player] = Player Values[Chosen Player] + 1
I changed the action a bit, now instead of setting the value to 1, its adds one to its previous value, this way the trigger will keep working until you hit the default value of the Min Value with all Player Values (which is the 10 players times 999 right now, which is 9990). So this would work around 9990 time before failing. This way you don't have to do that check of setting the values back and forth with 1 and 0.
Also the number you're infested marines and marines would be attacking would be the Chosen Player variable.
One of the parts were collapsed so i filled it in (fail lol).
I understand better what you meant now, this method should still work although its not what i aimed for it to be, as long as the initial value of "Min Value" stays higher than the values that they players can have it should work. (Though you may need to edit what players you are looking at to not include computers)
Alright well....in all honesty that trigger looks like it has nothing to do with what you're ask....
Anyways, I'm not sure but i think this is what you're asking for:
GettheMinPlayerEventsLocalVariables------- Min Value needs to start higher than the highest value you can give to the playersMinValue=999<Integer>CurrentPlayerNumber=0<Integer>CounterofMinPlayers=-1<Integer>ConditionsActions------- This finds the lowest valuePlayerGroup-ForeachplayerCurrentPlayerNumberin(Allplayers)do(Actions)ActionsGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfPlayerValues[CurrentPlayerNumber]<MinValueThenVariable-SetMinValue=PlayerValues[CurrentPlayerNumber]Else------- This finds all players with the same value as the lowest onePlayerGroup-ForeachplayerCurrentPlayerNumberin(Allplayers)do(Actions)ActionsGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfPlayerValues[CurrentPlayerNumber]==MinValueThenVariable-SetMinPlayers[CounterofMinPlayers]=CurrentPlayerNumberVariable-SetCounterofMinPlayers=(CounterofMinPlayers+1)Else------- This gets a random index in the array of players with the minimum value, hence you get a random player out of themVariable-SetSelectedPlayerIndex=(Randomintegerbetween0andCounterofMinPlayers-1)
Anyways what this does is find the lowest "value" of all the players, it then finds all players which have that matching "value" and puts them in their own array.
It then generates a random number between 0 and the number of players in the array (minus 1). It takes away one because otherwise if only 1 guy had the lowest number, it would generate a number of either 0 or 1, where only the index of 0 holds a players. So this way it looks for a number between 0 and 0 (which is only 0).
You then use that number as the index for the array of players with the min value, and the value of that index is the number value of the player.
Well I hope that makes sense.....and works.....and helps.
0
@Reaper872: Go
Technically the robot assistants WERE the computers, and the guy wanted a robot assistant not just a computer (I've watched like 8 episodes).
Anyways, I actually thought about that idea and making a desktop helper (I'm a programmer). But it would require A LOT of effort for minimal functionality. Essentially you'd be creating an AI that can not only understand sentences (or at the very least commands), but could also speak back in a human-like tone and speech. All for the purpose of either: A - Just having a machine to converse with for the fun of it OR B - Doing things you could do with a few mouse clicks anyways.
That is unless you'd try and get the entity to understand complex commands, which would be even harder. But yea, interesting idea and it would be fun to play around with if it was ever made. However odds are the only chance of it being made is by a really dedicated independent team who for some reason or other, really want a desktop assistant.
As for the creepy bit, it really depends on how it's made vs who uses it. Though I doubt most people would be creeped out by it.
0
Random element button in element selection building? I like to play random but apparently no one else does.
0
No, not really....
Just because the map editor is non-newb friendly doesn't mean you have to get all superior to everyone else and say "unless you can use it leave". Personally I only hate the data editor, and in all honesty it's annoying to the point where I've been really put off to finish any map.
Not everyone gives a shit about every data field in the data editor, and that's the issue here. Blizzard treated every single field equally when they're not, and also connected things in an odd fashion. I understand the data editor just fine, it's just annoying as fuck to deal with so I don't bother.
A "Noob Friendly" version of (at least) the data editor would benefit the mapping community greatly, as not only would new people not be put off as much. But veterans of mapping will also have a more enjoyable time making their maps and not feel like it's a chore.
0
@Anteep: Go
I agree, one things i dislike about this tug of war is if even one of your players are worse than their opponent, you lose. Mainly because you usually have to use all your money just to keep your lane in check, having to build in someone else's lane will generally result in you falling behind in your own lane and then losing anyways. Which is why I stopped playing this tug.
0
You may need to do a secondary check in case multiple people tie for most kills, right now it'll take the first player it finds with the highest kills and declare them the winner.
0
@TrenixPL: Go
I think hostile is considered player 0,(or 15) if you ever player warcraft 3 they're the same as the creep that was spawned in each map. I don't believe you can do things like give them orders, they're just kind of there and they attack anything that gets close (though I'm not totally sure on giving them orders or not).
So in short I would not use it, and I'm pretty sure active players does not include players that have left. Or its better to say, when the players leave they are no longer considered active.
Anyways no problem, glad i could help you out.
0
@TrenixPL: Go
For the negative index just switch the order of:
To:
That way it adds the one before putting it into the array.
Also you never actually remove anyone from the "Survivors" group so it won't affect people who leave. I'm sure all you need to do is something along the lines of making an event that whenever someone leaves and they are in the group, remove them from the group.
0
@TrenixPL: Go
Well then, assuming you changed your array and the max human players is 10, you have to do some debugging.
After each action where you change a variable, do another action that prints that variable on the screen (maybe print some text before it explaining what it is too) and then use that to find out what sort of numbers you're getting. Post the numbers here(with the new code too) if you don't understand it. Thats about all I can do, it seems like it should work.
(And the function you used was the right one)
0
@TrenixPL: Go
Try using "Active Players" Instead of all players, since all players includes computers.
0
Try those changes, I made them in bold, you changed some of the code so I changed it back.
With the first part you were subtract 1 when the variable starts at -1 so its not needed.
Second part you were setting the the value the Chosen Player to the value of the next player in the array. Since the Chosen Player could be the last player in the index, and you would be setting it to the next player it could be the reason.
Also I would change the arrays to be 11 or 12, player numbers start at 1 and the indexes of arrays start at 0. So if you want 10 players you should make the array 11 since the first index would be skipped.
0
This website has so many flaws...just spent 10 minute typing something out, and its all gone now....
Anyways you're right, the trigger's only purpose is to chose the next player.
The Selected Player Index isn't what you want in this case, its the index number to the Min Players Array, it won't work for the Values one as it would give you the wrong person. The right way is to do it like this:
Variable - Set Player Values[Min Players[Selected Player Index]] = 1
However dealing with an array in an array is a bit odd to understand so the alternative way is to store the chosen players number in another variable.
Chosen Player = 0 <Integer> This is the local variable we use to store the chosen player's number.
Then we add these two triggers:
Variable - Set Chosen Player = Min Players[Selected Player Index]
Variable - Set Player Values[Chosen Player] = Player Values[Chosen Player] + 1
I changed the action a bit, now instead of setting the value to 1, its adds one to its previous value, this way the trigger will keep working until you hit the default value of the Min Value with all Player Values (which is the 10 players times 999 right now, which is 9990). So this would work around 9990 time before failing. This way you don't have to do that check of setting the values back and forth with 1 and 0.
Also the number you're infested marines and marines would be attacking would be the Chosen Player variable.
That help?
0
One of the parts were collapsed so i filled it in (fail lol).
I understand better what you meant now, this method should still work although its not what i aimed for it to be, as long as the initial value of "Min Value" stays higher than the values that they players can have it should work. (Though you may need to edit what players you are looking at to not include computers)
Good Luck with it.
0
Alright well....in all honesty that trigger looks like it has nothing to do with what you're ask.... Anyways, I'm not sure but i think this is what you're asking for:
Global Variables
The Trigger
Anyways what this does is find the lowest "value" of all the players, it then finds all players which have that matching "value" and puts them in their own array.
It then generates a random number between 0 and the number of players in the array (minus 1). It takes away one because otherwise if only 1 guy had the lowest number, it would generate a number of either 0 or 1, where only the index of 0 holds a players. So this way it looks for a number between 0 and 0 (which is only 0).
You then use that number as the index for the array of players with the min value, and the value of that index is the number value of the player.
Well I hope that makes sense.....and works.....and helps.