quake/articles/1997/art-1141
Path: mantis!not-for-mail
From: fritz@tecs.de (J.F.Niebuhr)
Newsgroups: rec.games.computer.quake.announce
Subject: The Ultimate GibStats for Quake
Date: 3 Mar 1997 21:09:49 -0000
Organization: CompuServe Incorporated
Lines: 269
Sender: moderate@jobstream.co.uk
Approved: quake@mantis.co.uk
Message-ID: <5fe4hf$sjj@hil-news-svc-5.compuserve.com>
Reply-To: fritz@tecs.de
GibStats has been released on ftp.cdrom.com - Quake - utils\stats
Title : GibStats for Quake and CTF
Filename : Gibstats.zip
Version : Beta 0.7 (for W95, Quake and CTF (ThreeWave))
Date : 02/03/97
Author : Fritz Niebuhr
Email : fritz@tecs.de
Credits : id software, ThreeWave, Dave (Zoid) Kirsch, Nick Maher
Beta testing: Jan (RoadRunner), TC, Holle, Rassi
Features (short)
----------------
- analysis of QConsole.log
- all frags, deaths, suicides, flag captures etc are stored in a
database
- all maps may be viewed as tables or graphs
- all maps may be exported to html or tabbed tables
- scores for blue and red team can be displayed as tables or graphs
- player vs. player view
- efficiency and skill are calculated
- all data may be stored on disk and reloaded
- adding, renaming, deleting and storing of maps
- adding, renaming, deleting and storing of players
- automatic player name detection
- history of player ...
and much more
Description of GibStats
---------------------
We wanted to know who is the best, on which map one is the best.
Everything about scoring in CTF as well. With this program you can
analyse a game of quake. The data is separated into the different
games and maps which were played. Totals of a games, maps and of all
games ever played can be displayed. Furthermore you can export any
table to Netscape to be printed.
I started this project, because there was no program that was also
analysing CTF (ThreeWave), no program to print scores later. And our
dedicated server always stooped for a half a second when logs where
transferred to disk. Therefor it analyses the client's log. As it is
not a Quake-C patch you can run Quake with any patch or even analyse
an Internet game.
The GibStats works also fine with ReaperBots and the CTFBots. Toggle
normal names when using the CTFBots. Otherwise you are going to end up
with too many players.
How to Install and Run
----------------------
VB40032.dll and MFC40.dll
You need the files "vb40032.dll" and "mfc40.dll" in your W95 system
directory. They are not included in this archive. You might have them
already on your hard disk. Have a look for them. In case you don't
have them, you can download them from the following sites (there are
many other sites):
VB40032.dll is available at:
http://www.sandsol.com/osl/vb40032.htm
http://www.softseek.com/Utilities/VBRUN_Files/Review_6057_index.html
ftp://ftp.simtel.net/pub/simtelnet/win95/dll/vb40032.zip
MFC40.dll is available at:
http://www.trc-circuits.com/download.htm
http://www.cs.washington.edu/homes/erask/mfc.zip
Once you have these files in your Windows/System directory:
1. Unzip the Gibstats.zip into a temporary directory. Run the
Setup.exe and install GibStats.
2. Play a lot of Quake with some friends, ReaperBots or the CTFBots
(or load the "player1.dat" demo file). You have to start one or the
client with the parameter "-condebug", for example: quake -winmem 24
-game ctf -condebug. Don't try the dedicated server log. It will not
work.
3. You will find either in the "quake\id1" or "quake\ctf" directory
(or any other directory where the patch is located which you played) a
file called "qconsole.log" move this file into the same directory in
which GibStats.exe is located (rename it if you want to keep it).
4. Now start GibStats.exe.
5. Select File/Add Quake log.
6. Select the file containing the log (which is qconsole.log unless
you renamed it, which you may want to do if you have more than one).
7. Type in the name and/or date of the game you want to add.
8. Now the log will be analysed and displayed.
9. Save the data (Save Database).
10. Once the data is saved by you, you don't need the qconsole.log
file any more. Keep it in case you want to read the logs into future
versions of this program.
FEATURES
--------
Added in 0.7
- Removed Map History
- Added Graph: everything is now displayable as a graph.
- killed some bugs
Added in 0.65
- CTF team scores are displayed
- game history for CTF games
- Map History now also for Games and All Games
- Export (bmp / printer) for Graph
- Options: number of players and maps
- some bugs
Added in 0.6
- kills and suicides of a map as a graph (Map History)
- correct recalculation of skill when Map is deleted
- correct recalculation of skill when Player is deleted
- correct recalculation of skill when Player is deleted only from one
Map
- some bugs
Added in 0.5
- automatic player name recognition
- skill is calculated
- some bugs
Displaying Scores
- each qconsole.log (of the client) is stored as a game divided into
the maps played
- each map can be viewed as a two dimensional table of who fraged who
how many times
- each map includes scores of each player for CTF (ThreeWave)
- suicides of each player are displayed
- totals and efficiency (frags*100/(deaths + frags)) are displayed for
each map/game/all games played
- map names with special characters are translated correctly
- totals for all maps in a game are displayed as they are for the maps
- totals for all games are displayed the same way as for maps
- all data is stored in a database
- logs (games) can be added at any time
- ranking of any map or game or all games by kills, deaths etc. can be
displayed
- Player vs. Player display where only two players and their scores
are displayed
- maps with only one player are not transferred into the database
- players with a zero frag score are not displayed
- League table whereby a player gets points according to the number of
players in the game and his rank at the end of the game (4th rank with
12 players in game = 8 points)
- History of the efficiency of a player displayed by maps displaying
each time his opponents and their efficiency
Exporting Data
- every map, game, all games or rankings can be exported to HTML or
tabbed tables(for spreadsheets)
Options
- add/delete/rename players
- individual maps and games can be deleted
- automatic filtering out of maps below a certain score and with less
than 2 players
- each player can be removed from the display (keeping him in the
database)
- option to automatically subtract suicides from kills
- several databases can be created
To Do
-----
- better team support?
mail suggestions to: fritz@tecs.de
The Rest
--------
Play around with the different options. The only things which might
not be obvious are:
1. Exporting Data
Export creates a file called "qresults.htm" or "qresults.xls". Load it
into Netscape or a spreadsheet and you can print out your data.
2. Minimum Points per Map
In View/Options you can specify the minimum amount of points a level
has to have to be included into the database. I included this because
we often played around with a level for a few minutes to get used to
it before starting the real game. The function filters out all these
maps automatically.
3. Option of patched Version
The Problem:
ThreeWave CTF does not log an enemy flag carrier frag (2 bonus frags)
on all client screens, but only on the client which scores the bonus.
Therefor the score for enemy flag carrier frags is not correct for all
players except for the player whos qconsole.log is analysed. All
scores will be logged correctly.
The Solution:
a. You can recompile the source of the CTF Threewave patch after
replacing the client.qc with the client.qc which comes with this
archive. Then you have to check in "Options" the "patched Version"
(see below for how to recompile).
b. You don't do anything about it. In that case GibStats will log each
time when someone is fragged and is logged to have lost the flag right
afterwards as an enemy flag carrier bonus. This logging is not 100%
correct as a bonus is not given in all these cases, but only if the
enemy flag carrier had carried the flag for a certain time. You will
end up with too many points for enemy flag carrier frags. You are
going to end up with too many points.
4. Skill Calculation
Skill is calculated according to the current skill of each player.
Therefor one has to add the logs in the right order.
5. Table Abbreviations
F = Flag
FC = Flag Carrier
6. Scoring System of CTF
Look into CTF readme file or the teamplay.qc file in the scr directory
of CTF.
Limitations
-----------
Only 30 Players are allowed.
Bugs ....
---------
Please mail any ideas, bugs, etc. to: fritz@tecs.de
Tell me what you like and don't like about the program.
In case of bugs attach the data file created by GibStats!
How to Recompile
----------------
Make a new sub directory (eg. CTFP) in your Quake directory. Copy all
files that come with the CTF patch into that directory. Move the
client.qc file that comes with this program into the sub directory
"scr" (overwriting the old client.qc). Recompile the source with a
Quake-C compiler like Advqcc (ftp.cdrom.com in /.11/idgames2/). Now
move the recompiled progs.dat into the new CTF directory.
Now run Quake with -game name of the sub directory you created (e.g.
ctfp). Note that from now onwards you have to check the patched
version option in GibStats.
If you have no idea what all this meant than try it but make a backup
copy of everything before or don't do it.
Copyright and Distribution Permissions
--------------------------------------
The program GibStats.exe included in this archive is Copyright 1997,
Fritz Niebuhr.
You may distribute this program in any electronic format as long as
all the files in this archive remain intact and unmodified and is
distributed together and there is no charge for the distribution.
Disclaimer
----------
The author cannot be held responsible for whatever damage might occur
through the use or malfunction of this program.