Yes, this is definitely possible. You would use EUDs to detect the player name as a condition, then give them defeat/kill their units/desync them/all of the above/whatever for the action.
I don't know the addresses you need off the top of my head, although there is an
EUD Database. There is also a guide regarding EUDs
here. Especially useful to you are Chapter 3 and Chapter 7, since you'll need to convert their name into a usable number first.
In order to convert their name into a number, you can use the manual method listed there, or one of the resources linked to that does it for you. I always use
this program, but for just a single name it may be quicker for you to use
this or
this.
You will end up with multiple numbers, since the name is longer than 4 characters, and StarCraft breaks text up into blocks that are 4 characters long. If the person's name is 10 characters, you will end up with 3 numbers (first four letters, next four letters, then last two letters). You may want to consider only doing full 4 letter blocks (so if their name is 7 letters long, just check the first 4 letters; if their name is 10 characters long, just check the first 8). This will still likely only ever affect your intended target, unless the beginning of their name is a clan tag or something, and will certainly be easier for you.
As for getting the actual memory addresses that will store these numbers, if you can't find them in the EUD DB, it's not hard to get them yourself. Get a name spoofer to change your name to the name you want to ban (you should do this regardless since you'll want to test your triggers after you're done), then play the map by yourself as Player 1, and search the memory for each number with a program like ArtMoney. This will give you the memory addresses for Player 1. Repeat this process for Player 2, Player 3, etc. You'll have to make one trigger for each player slot, and each trigger will need one condition for every 4 letters you're detecting in the player's name.
Anyways, then you'll have your conditions, you'll just need your action. There's a whole slew of things you can throw at them. The memory address that stores player names is shared, so you can actually do whatever you want to them and it won't cause desync. You could kill all their units, or subtly handicap them, or make it impossible for them to win, or force them to keep unallying their team at regular intervals, or have them lose vision of their own units, or have any other random misfortune befall them throughout the game. You can also just purposely desync them so they drop and then try to crash them and then give them defeat for good measure.
Keep in mind that if they spoof a different name, it will not affect them.
Edit:
Once you detect the players name simply give the player a mineral, and they will desync.
Player names can be detected from global addresses.
This is not theory, by the way. I have previously implemented a system that could detect when I was playing and altered the game accordingly.
Post has been edited 1 time(s), last time on Sep 8 2011, 7:18 am by Azrael.Wrath.