Veteran Member
Join Date: Nov 2015
Location: Chocolate Factory
|
09-16-2018
, 18:32
Re: [L4D1/2] Respawn Statistics Fixer
|
#6
|
A suggestion:
PHP Code:
bool bMapStatsSaved[MAXPLAYERS+1];
public void OnAllPluginsLoaded() { AddCommandListener(OnRespawnCmd, "sm_respawn"); // or whatever respawn cmd has been set to }
public Action OnRespawnCmd(int client, const char[] command, int args) { // A validity check for the client here... char sArg[256]; GetCmdArgString(sArg, sizeof(sArg)); int iTarget = FindClientOfName(sArg); // A validity check for the target here along with the plugin's team check... if (!bMapStatsSaved[iTarget]) { bMapStatsSaved[iTarget] = true; // Do the plugin's magic here... FakeClientCommand(client, "say /%s %N", command, iTarget); // In the case of multiple cmds with the same use and with '/' trigger for secrecy. return Plugin_Handled; } bMapStatsSaved[iTarget] = false; return Plugin_Continue; }
int FindClientOfName(const char[] sName) { int iMatch = 0; for (int i = 1; i <= MaxClients; i++) { if (IsClientInGame(i) && GetClientTeam(i) > 1) { char sClientName[128]; GetClientName(i, sClientName, sizeof(sClientName)); if (!StrEqual(sClientName, sName)) { continue; } iMatch = i; break; } } return iMatch; }
These are all the map stats I can find in L4D2:
PHP Code:
char sMapStats[60][] = { "m_checkpointAwardCounts", "m_missionAwardCounts", "m_checkpointZombieKills", "m_missionZombieKills", "m_checkpointSurvivorDamage", "m_missionSurvivorDamage", "m_classSpawnCount", "m_checkpointMedkitsUsed", "m_checkpointPillsUsed", "m_missionMedkitsUsed", "m_missionPillsUsed", "m_checkpointMolotovsUsed", "m_missionMolotovsUsed", "m_checkpointPipebombsUsed", "m_missionPipebombsUsed", "m_checkpointBoomerBilesUsed", "m_missionBoomerBilesUsed", "m_checkpointAdrenalinesUsed", "m_missionAdrenalinesUsed", "m_checkpointDefibrillatorsUsed", "m_missionDefibrillatorsUsed", "m_checkpointDamageTaken", "m_missionDamageTaken", "m_checkpointReviveOtherCount", "m_missionReviveOtherCount", "m_checkpointFirstAidShared", "m_missionFirstAidShared", "m_checkpointIncaps", "m_missionIncaps", "m_checkpointDamageToTank", "m_checkpointDamageToWitch", "m_missionAccuracy", "m_checkpointHeadshots", "m_checkpointHeadshotAccuracy", "m_missionHeadshotAccuracy", "m_checkpointDeaths", "m_missionDeaths", "m_checkpointMeleeKills", "m_missionMeleeKills", "m_checkpointPZIncaps", "m_checkpointPZTankDamage", "m_checkpointPZHunterDamage", "m_checkpointPZSmokerDamage", "m_checkpointPZBoomerDamage", "m_checkpointPZJockeyDamage", "m_checkpointPZSpitterDamage", "m_checkpointPZChargerDamage", "m_checkpointPZKills", "m_checkpointPZPounces", "m_checkpointPZPushes", "m_checkpointPZTankPunches", "m_checkpointPZTankThrows", "m_checkpointPZHung", "m_checkpointPZPulled", "m_checkpointPZBombed", "m_checkpointPZVomited", "m_checkpointPZHighestDmgPounce", "m_checkpointPZLongestSmokerGrab", "m_checkpointPZLongestJockeyRide", "m_checkpointPZNumChargeVictims" };
Last edited by cravenge; 09-16-2018 at 18:36.
|
|