I agree, but this suggests that the field ops gave out an ammo pack. It does not tell to whom he gave it out and it can easily be for himself. Therefore, I doubt this statistics is worth something.
Stats program for ET??
Probably right I don’t think I will keep track of ammo and medpacks given then.
The good news is I can count how many times a covert ops stole an enemy uniform 
I was toying with the idea of coming up with a player ratio involving these kinds of stats.
When you think about it a good team playing med and leut will dish out a lot of pack generally, but that’s not a solid indicator that they’re good team players. They could be greedy selfish bastards.
This is true with the covert ops stat too. Just because he steals a lot of uniforms doesn’t necessarily mean that he’s helping out the team in a significant way.
My basic thinking would be to combine these stats into some kind of ratio that’d give a good indicator of team playing overall. For example: On a scale of 1 to 100 you rank a 88. I haven’t figured out a good ratio tho to my satisfaction.
Maybe somebody can think up with something great?
This would be nice I will think about it. The problem is giving ammo isn’t really trackable too much. Sometime it is and sometimes it isn’t know whos ammo pack was taken
In the stats program I was using for RTCW, I used a Ratings system with a formula like the following :
RATING = 50 + 10 * ( 2 * ( KILLS - TKILLS - DEATHS - SUIC ) + 1 * ( GIBS - TGIBS + AMMO + HEALTH ) + 3 * ( DYN + REV ) ) / TIME
where TIME is in minutes
I might check for something similar for ET. It actually made some numbers which looked pretty accurate at how a player was.
I do agree with you DerKammisar that the covops’ stealing uniform is pretty much a useless stat. It will end up with lots of covops stealing uniform for no reason at all. Actually, it’s already like that now. I often see noobs stealing uniform and then just run around feeling happy that the enemy is not noticing them. However, they’re absolutely not helping to achieve the main goal.
I love stealing uniforms, then running up to the enemy and killing them. It gets them paranoid. I was doing that one game, and they would identify me almost instantly, but they were so paranoid they were shooting each other. Stealing just for the sake of stealing does serve some purpose. (I was on axis on fueldump)
Okay some of the things I notice and have stats for. I don’t have a way to get gibs on server side, also ammo and health is that how many they picked up? Also what is DYN and REV (REV might be revive not sure)
TIME in minute isn’t an issue as I track it in seconds. But be warned TIME isn’t accurate when tracking across server crashes It should be close as it pick up time for whatever they did but still someone could sit on a server for 30 minutes doing nothing at all and I won’t know if the server crashes. TIME for the most part though should be good.
Monday I will add this in the code and check it out. With luck Tuesday sometime I should have a final working copy ready to go. It might not have a nice install program to setup databases but I will try.
Here’s what I know about it from banimod/stock RTCW (I don’t think it’s changed much tho). Gibs I don’t think are listed stock in the server logs. DYN and REV are dynamite plants and revives in that order. In ET you’re also gonna probably want to include satchel blowups for covert ops. (That’s one stat that I think would be useful. i.e. generator and ramp on battery) Time shouldn’t be an issue if the server crashes because you’ll run into the following: Game Start, Game End, etc. etc. I think in a crash that you’ll run into a game end even tho it might be game end due to an abend. If not you’ll have Game Start, Game Start, Game End. If you get that I’d totally disregard the “crashed game’s” stats.
What I found interesting (and kind of a dillemma in recording) is that the player “key” is really Game # and Slot #. This means that you could (and should IMHO) track name changes within one server log. The dillemma is do you change the name in the database to reflect the change or do you leave it alone and track it to the first name encountered.
Ah the fun with stats programs. 
Well first off thanks for the info on gib and stuff. I can certainly add the score into the program (next on my list when we agree what should be what). Also I do reset timers on game start (ie server crashes) as I said time is pretty accurate but I know there is still one way to fool it.
Hmm I will have to check my logfiles out to see if blowing up CP and generators are listed would be a good thing to track at least for the score.
Name tracking… I rather not track names if they change it I start following the new name. I might create a admin program that will allow someone to combine scores. This might change in a later version but don’t hold your breath.
http://www.puregamer.com/ETstats/stats.php
Have a look at the new program (This isn’t completed yet but I’m still hoping for my Tuesday release (tomorrow late afternoon) if not Wednesday for sure. I should be able to get score and object destruction in tomorrow.
Bad news the logs don’t keep track of items being destroyed or built for that matter 
I did see “124:24 Repair: 8” but doesn’t tell me what was repair
I do have dynamite planted messages but again don’t tell me where it was planted.
This sucks.
Splash Damage in the patch add this to the server logs!!!
Here are the values I derived for the weaponstats bitflag:
%WeaponStatsToMOD = (
1 => 6, # Knife
2 => 7, # Luger
4 => 8, # Colt
8 => 9, # MP40
16 => 10, # Thompson
32 => 11, # Sten
64 => 15/16, # FG42
128 => 17, # Panzerfaust
256 => 19, # Flamethrower
512 => 43/44, # Grenade (both teams)
1024 => 57, # Mortar
2048 => 26, # Dynamite
4096 => 27, # Air Strike
8192 => 30, # Artillery
16384 => 255 # Syringe
32768 => 254 # Smoke Can
65536 => 46, # Satchel (Detonated)
131072 => 18, # Grenade launcher (both teams)
262144 => 45, # Landmine
524288 => 1/49, # MG42 (Mobile too)
1048576 => 12/41/51,# M1 Garand (Carbine)
2097152 => 42/55/56# K43 (KAR98)
);
Note that many of the weapons are combined in the WeaponStats lines, e.g. MOD_CARBINE/MOD_GARAND/MOD_GARAND_SCOPE are all represented through the 1mega bit. I added the additional MOD numbers for the combined bits for illustrative purposes.
Ignore the 255/254 values I used for syringe/smoke.
BTW, Awol - your script is missing “MOD_CRUSH_CONSTRUCTIONDEATH (53)”.
shrub
The numbers tailing the WeaponStats log correlate directly to the order of the XP totals listed in the in-game +stats. The order will always be the same (Battle Sense will come before Engineering), but it is possible to, for example, have just one non-Battle Sense listed, e.g. Heavy Weapons. You could also end up with Battle Sense=>Medic=>Light Weapons, Battle Sense=>Engineer=>Light Weapons, or Battle Sense=>Engineer=>Light Weapons=>Heavy Weapons, etc.
shrub
Shrub:
Thanks for figuring out the weapon’s bit flags BIG help.
The weapons stats following the bitflag in what order are the weapons? lowest bitflag first or highest?
Knife, luger, mp40
or
mp40, luger, knife
Not sure what you mean about the XP part. I think I understand what you are talking about.
Also is XP on weaponstats for the round or the campaign at that point in time?
It’s “Knife-luger-mp40”, etc. To rephrase my comments on XP, from what I gathered (at 4 in the morning :)), the number of tailing numbers in the WeaponStats lines, which all represent XP, will vary. It is not possible to determine which number corresponds to a particular experience type (Battle Sense, Light Weapons, for example) through the log file output. Of course, you can total them up and still get some use out of it.
I don’t know if the XP numbers are cumulative over a campaign or not.
shrub
LOL yes I know those 4am thoughts. Thanks Shrub. Sucks that the type of XP isn’t in order but a total will do. I will process some logfiles to see if it is campaign or map XP.
With luck the first release version of my stat program will be out. I just have to check my logs to see if everything is being counted right, I hate doing manual labor to check over a computer program but it must be done.
Okay here is an update with luck the program will be released tomorrow. I have 2 smalls bug to kill first. One with counting the number of times you stole a uniform and how it counts the classes you been. Everything else looks good.
For the ratings here is the algorithm I am using.
RATING = 50 + 10 * ( 2 * ( KILLS - TKILLS - DEATHS - SUIC ) + 1 * ( AMMO + HEALTH ) + 3 * ( DYN + REV ) ) / TIME
http://www.puregamer.com/etstats/stats.php
Here is what the webpages look like, this is a real logfile from my server (first of many really)
Heads up to those wishing to use this program you need perl, PHP and mysql access.
Perl Modules you will need : DBI and DBD-mysql
You will need the ability to do SQL imports into mysql for the table structures. If I have time I will create a small perl program to do this but don’t count on it for this version.
There you go look for a new post tomorrow for a link to the whole thing.
Thanks for the input Shrub and Awol.
Sorry I’ve been out the whole weekend and I’m just coming back.
By the way, Awol, the formula I posted applied to shrub RTCW not to ET. Therefore, I didn’t make it reflect new stuff in ET. I know you cannot view gibs in the log file and DYN referred to dynamite plants. I guess we can add DYN_PLANTS and DYN_DIFF in the ET formula as well as REPAIRS. However, I’m starting to think that a more fine check over suicides is required. Sometimes, a suicide IS worth it. Let’s say the guy goes into a bunch of enemies and panzers himself out and take 3 guys down. Or, let’s the say the guys a medic and he kills himself (\kill, hence MOD_SUICIDE) to switch for Engineer in order to diffuse a dynamite. I kinda sucks to get downrated for doing so. I do it often to switch to Eng as well as when I’m field ops. I like to suicide myself when counts come to 1 and get full air strike power to call on the allies trying to come up the beach in battery.
Anyway, that was just my two cents. I’ll go back working on my stats program as well…
By the way, nice work Awol. 
You can check out my ETStat program as it is now :
http://syrinx.dyndns.org:81/etstat
Things I need to work on : check the WeaponStats line for Accuracy, Headshots and XP points (actually, I can read XP points from the Score line).
The Score line is campaign oriented, meaning that the total is added for each round in a campaign.
We use a program called FastStats (a server admin, my brother and i did enhance it 2 be used in GO) for our other gameserver (Global Operations), maybe this layout is nice/usefull for ET also, an example can be found here: http://www.thelostparadise.com/stats/June03/
About the dynamite plants/detonations/disarms: if it aint trackable in the logs where it is planted,exploded and/or disarmed i dont see any use in it to trace it down and display it in the stats, if you cant trace it you cant reward it with points so whats the use. ( i can just sit in an empty server and plant dynamite the whole day :moo: )
Same counts for all other actions that cant be traced, for example: if a medic drops medipacks but in the logs you cant trace who or if someone did pick it up then dont reward/display it.
If certain actions can be traced in the logs, it would be nice to make a rewarding system for it.
In FastStats we work with skill points, every (most) action rewards you with skill points or lowers your skill point, ive havent looked into ET logs long enough to see if this methode can be used also maybe in combination with the ingame XP system but here is an exapmle how it is done in FastStats for Global Operations:
.Revive Event
skill change = patient’s skill / medic’s skill
.Heal Event
skill change = patient’s skill / medic’s skill * Health Points Given / 15
.Kill Event
skill change = victim’s skill / killer’s skill * 10
killer’s skill = killer’s skill + skill change
victim’s skill = victim’s skill - skill change
.Team Kill
skill change = victim’s skill / killer’s skill * 10
killer’s skill = killer’s skill - skill change
victim’s skill is not changed
.Suicide
player’s skill = player’s skill - player’s skill / 500
.Kill assistance
skill change = victim’s skill / assistant’s skill * 5
assistant’s skill = killer’s skill + skill change
victim’s skill is unchanged (it is already changed by the kill event)
Basically, team assistance will give the half of kill points.
.Objective completed
player’s skill = player’s skill + 20
20 points per mission objectives: ~2x more than a kill.
.Mission completed
Nothing.
This is a team thing, and it is very hard to know how you participated in the victory.
Somethings that are calculated in GO dont exist at all in ET or maybe arent traceble, maybe the skill methode cant be used at all.