Yep! As in - two human beings in a room sitting at two separate computers playing on my map. I only want each individual's APM sitting at the computer written to the bank on their own computer.
Cool! Will check it out now! Yay patch at the perfect time!
Getting closer. ;) I want to ONLY write the APM of the current player to the bank - no others.
Your code separates out different player's APMs into different banks, but what if I only want to do one bank-write for the current player.
Again, if Player 1 and Player 2 are playing on my map, on Player 1's computer I want to find a bank file that has only Player 1's APM, and on Player 2's computer I want to find a bank file that only has Player 2's APM.
The remaining issue for this right now is figuring out how to tell which player is the current player - how do I tell Player 1 is the "current user" playing the game on his machine as opposed to Player 2?
Once again - thanks so much. I feel like we're almost there. :)
Your loop will get me the data for all the users. If what you are saying is true about not being able to see which user is currently logged in, then I will be unable to do this no? :(
But even with a BattlenetID for each Player, if I can't get the BattlenetID for the logged in user, it won't be very helpful.
p.s. gg icon! I just started playing FF6. Once I play that one, I'll have played all the major non-MMORPG FFs!
I believe I want your first option. This is mostly an issue of data separation. Right now, I can get both players' APMs using something based off the map you wrote for me. I just want to always to ensure the data I am getting is for the current logged in user.
But I was want your second option as well. Essentially, I want both players to be writing data to the banks on their respective computers, but not each other's data.
Player A is playing Player B. Player A writes only his APM to the apmBank bank on his computer and Player B writes only his APM to the apmBank file on his computer.
Wow! Thanks a bunch! I especially enjoyed your interpretation of "at the computer."
That made things much easier to see an example. I'm still having some trouble though that your map doesn't address. If I have two players in your game, and both are in the "Computer" area, it prints out saying Player 1 and Player 2 are at the "Computer." I'd like to only print information for my current user. So if I am 2v2ing on this map and both of us are in the computer area, I only see "Player 1 is at the computer" assuming I am Player 1.
Is this possible?
Thanks again! :D
EDIT: I'd also like to avoid having separate banks for each player. I'm running some scripts in the background to parse any bank files that are updated, so IDEALLY, Player 1 would only ever write out Player 1 data, and so on.
EDIT 2: Essentially, I want it to do something like this. Excuse my use of what looks like a real programming language. :)
// every 1 secondfor(PlayerinAll-Players){if(Player==currentPlayerSittingAtComputer)// this is the part I need to figure out{// retrieve data for only that user, write it to the bank}}
One more question though - instead of writing all player's APMs to the bank, is it possible to only pick the player at the computer and not all players playing? I'd like to keep player's data separate in the bank.
I'm trying to create a map that writes a bunch of data for the current player to a bank file. I'm having some trouble retrieving stuff like APM and score-related things for players other than 1. When I get the APM, it defaults to giving me the APM of Player 1. I'm trying to set that to be the APM of the current player (however many players there are). Changing 1 to "Player property" which should return an integer for the current player, adds a bunch of stuff I don't need.
See the attached screenshot.
Running this map, I get this error:
Thanks!
EDIT: Images aren't loading properly for me. Check it out here:
Hi all,
I'm working on a project to do real-time analysis of a Starcraft 2 game. I've got a prototype working with banks - I save data to a bank and parse it out. I'm wondering if I could go more directly between the game and my program analyzing the data and cut out the XML parsing completely.
Right now, with banks I see my flow like:
set up triggers -> trigger happen -> write to bank -> program checks for change in file -> processes xml to get data out -> process data
Is this possible:
set up triggers -> triggers happen -> custom script runs and sends a packet of data to a program running -> process just that data
Wow - super helpful videos! Since I've caught someone who seems to know the editor pretty well, I'll just ask. I saw the "custom script" option. Is there a more direct way to get a value like resources from my map to a program running on the computer?
Right now, with banks I see my flow like:
set up triggers -> triggers happen -> write to bank -> program checks for change in file -> processes xml to get data out
Is this possible:
set up triggers -> triggers happen -> custom script runs and sends a packet of data to a program running -> process just that data
Cool! I've been toying around with the Map Editor and have a basic game running. I can't figure out how to save any data to this bank. I see Game Attributes and Game Variants which looks close. Any tips on going from a working map to a map that saves data out?
That link covers my main question (reiterated here for those who avoid Reddit)...
I am looking to create a map where I can have 2+ people play and have a program running on their computer that reads out data (example data includes stuff you normally see in the observer mode screen) and sends it to an external program for real-time analysis.
I'm not looking to map hack or use this on the ladder - this is merely to experiment with what one can do with data. I don't need each player reading their own data either - if I have to have an observer in the game to read data out on all players, that works as well.
0
@gerSlikey: Go
Yep! As in - two human beings in a room sitting at two separate computers playing on my map. I only want each individual's APM sitting at the computer written to the bank on their own computer.
Cool! Will check it out now! Yay patch at the perfect time!
0
@gerSlikey: Go
Getting closer. ;) I want to ONLY write the APM of the current player to the bank - no others.
Your code separates out different player's APMs into different banks, but what if I only want to do one bank-write for the current player.
Again, if Player 1 and Player 2 are playing on my map, on Player 1's computer I want to find a bank file that has only Player 1's APM, and on Player 2's computer I want to find a bank file that only has Player 2's APM.
The remaining issue for this right now is figuring out how to tell which player is the current player - how do I tell Player 1 is the "current user" playing the game on his machine as opposed to Player 2?
Once again - thanks so much. I feel like we're almost there. :)
0
@SouLCarveRR: Go
Your loop will get me the data for all the users. If what you are saying is true about not being able to see which user is currently logged in, then I will be unable to do this no? :(
But even with a BattlenetID for each Player, if I can't get the BattlenetID for the logged in user, it won't be very helpful.
p.s. gg icon! I just started playing FF6. Once I play that one, I'll have played all the major non-MMORPG FFs!
0
@gerSlikey: Go
I believe I want your first option. This is mostly an issue of data separation. Right now, I can get both players' APMs using something based off the map you wrote for me. I just want to always to ensure the data I am getting is for the current logged in user.
But I was want your second option as well. Essentially, I want both players to be writing data to the banks on their respective computers, but not each other's data.
Player A is playing Player B. Player A writes only his APM to the apmBank bank on his computer and Player B writes only his APM to the apmBank file on his computer.
0
@gerSlikey: Go
Wow! Thanks a bunch! I especially enjoyed your interpretation of "at the computer."
That made things much easier to see an example. I'm still having some trouble though that your map doesn't address. If I have two players in your game, and both are in the "Computer" area, it prints out saying Player 1 and Player 2 are at the "Computer." I'd like to only print information for my current user. So if I am 2v2ing on this map and both of us are in the computer area, I only see "Player 1 is at the computer" assuming I am Player 1.
Is this possible?
Thanks again! :D
EDIT: I'd also like to avoid having separate banks for each player. I'm running some scripts in the background to parse any bank files that are updated, so IDEALLY, Player 1 would only ever write out Player 1 data, and so on.
EDIT 2: Essentially, I want it to do something like this. Excuse my use of what looks like a real programming language. :)
0
@lzravanger: Go
Thanks for the step by step! I'm excited to try!
One more question though - instead of writing all player's APMs to the bank, is it possible to only pick the player at the computer and not all players playing? I'd like to keep player's data separate in the bank.
Thanks for the help!
0
@gamfvr: Go
BUMP.
Couldn't get this working. Anyone know how I can make this work?
0
@gamfvr: Go
That sounds like a good solution that would scale. Any help on what that would look like in the editor?
I'm going to give it a try now, but will probably fail in a bit. :)
Thanks for the help Enexy and gamfvr!
0
@Enexy: Go
If 2 people are playing this custom map, I'd like for each player to only write their APM to the bank file. Is that possible?
So if you are player 1, it writes your APM out. If you are player 2 it writes your APM out.
0
@Enexy: Go
Is there a way to say the current player in this case? That is, every 1 second write the APM of the current player to the bank file?
0
I'm trying to create a map that writes a bunch of data for the current player to a bank file. I'm having some trouble retrieving stuff like APM and score-related things for players other than 1. When I get the APM, it defaults to giving me the APM of Player 1. I'm trying to set that to be the APM of the current player (however many players there are). Changing 1 to "Player property" which should return an integer for the current player, adds a bunch of stuff I don't need.
See the attached screenshot.
Running this map, I get this error:
Thanks!
EDIT: Images aren't loading properly for me. Check it out here:
http://cl.ly/2H2a24190K2h230E4032
http://cl.ly/283w2w1j103P0g1C221y
0
Hi all, I'm working on a project to do real-time analysis of a Starcraft 2 game. I've got a prototype working with banks - I save data to a bank and parse it out. I'm wondering if I could go more directly between the game and my program analyzing the data and cut out the XML parsing completely.
Right now, with banks I see my flow like: set up triggers -> trigger happen -> write to bank -> program checks for change in file -> processes xml to get data out -> process data
Is this possible: set up triggers -> triggers happen -> custom script runs and sends a packet of data to a program running -> process just that data
What do you think?
0
@OneTwoSC: Go
Wow - super helpful videos! Since I've caught someone who seems to know the editor pretty well, I'll just ask. I saw the "custom script" option. Is there a more direct way to get a value like resources from my map to a program running on the computer?
Right now, with banks I see my flow like: set up triggers -> triggers happen -> write to bank -> program checks for change in file -> processes xml to get data out
Is this possible: set up triggers -> triggers happen -> custom script runs and sends a packet of data to a program running -> process just that data
What do you think?
0
@b0ne123: Go
Cool! I've been toying around with the Map Editor and have a basic game running. I can't figure out how to save any data to this bank. I see Game Attributes and Game Variants which looks close. Any tips on going from a working map to a map that saves data out?
0
Greetings all! I was directed here by someone's recommendation here: http://www.reddit.com/r/starcraft/comments/iy7w3/is_it_possible_to_read_data_unit_composition_unit/
That link covers my main question (reiterated here for those who avoid Reddit)...
I am looking to create a map where I can have 2+ people play and have a program running on their computer that reads out data (example data includes stuff you normally see in the observer mode screen) and sends it to an external program for real-time analysis.
I'm not looking to map hack or use this on the ladder - this is merely to experiment with what one can do with data. I don't need each player reading their own data either - if I have to have an observer in the game to read data out on all players, that works as well.
Any suggestions on where to start? Many thanks!