Nice Idea. Keeping health between maps is a fresh approach to versus, although you could abuse this by disconnecting with a good loadout, then reconnecting on next map and getting it all back.
Suggestions:
Keep code comments in english, so other people can follow your thoughts
PHP Code:
public SaveClientData(client)
public FindSteamID(String:SteamID[])
There is no need to make all your 'private' functions public. You could also make the String in that function const, since it doesnt change anymore.
PHP Code:
public LogPluginAction(String:action[], String:name[], client) {
decl String:clientName[200];
GetClientName(client, clientName, sizeof(clientName));
LogToGame("%s '%s' for %s", action, name, clientName);
}
No need for this function, simply use
PHP Code:
LogToGame("%s '%s' for %N", action, name, client);
You re-give melee weapons? Aren't there model precache issues on some maps?
Consider using a Trie or something to save data instead of a static 64 player global, on a 10on10 server you'll have this filled in no time and then what? Or at least wipe this global if a certain player left the server and doesnt come back for a certain time.
I see you only restore m_iHealth. That would bring someone who was on Pills only back with 1 health. Consider just transforming temporary health into hard health, as the Survivors could rest and all.