Description

This package for Unreal Tournament (UT99) contains the Mutator SBFactoryMonsterCounter and an extended counter.

Mutator

Before game starts, this mutator iterates over all ThingFactories and its sub classes and checks, if their Prototype is a Pawn. If so, an existing counter for that factory is searched. If a counter is found and its message is empty or has its default value, it is set to my default message (see below). If its message is deactivated, it is activated. If no counter is found, an Extended Counter is spawned. The counter's NumToCount and Prototype is set to the ThingFactory values.

All Mutator's parameters in a nut shell

These settings are stored in the file .\System\SBFactoryMonsterCounter.ini:
NameValuesDefaultDescription
bActivetrue | falsetrueSet to FALSE to deactivate the mutator. Use it to disable this mutator temporarily.
bUseLogTimeStamptrue | falsetrueAdd a time stamp in front of every log message?
CompleteMessage%ps are history now!"%p" will be replaced by the Pawn's class name.
CountMessageOnly %i more %p to go..."%i" will be replaced by the amount, "%p" by the Pawn's class name.
DontTreatTheseFactoriesA list of maximum 32 factories that should be ignored. Details see Factory Exceptions.
LogLevelsee LogLevelLOG_InfoSee LogLevel.

Factory Exceptions

You can exclude factories from adding a counter, for example, if a special custom factory is used that adapts the capacity to the player count at run time. Therefore you add the map name and the factory name the list DontTreatTheseFactories. Example:
DontTreatTheseFactories[0]=(MapName="ExampleMap",FactoryName="ExampleFactory123")
Default value is
DontTreatTheseFactories[0]=(MapName="MH-RoguesV4",FactoryName="")
(MH-RoguesV4 has only custom "ScalingCreatureFactories" and therefore all factories should be ignored.)

Nota bene:

LogLevel

Play with the Log level to see what is going on. Possible values and their meanings are:
LOG_NoneDon't log anything. Not recommended.
LOG_ErrorLog errors only. (An error prevents the code to continue.)
LOG_WarningLog warnings also. (A warning is issued when an unexpected circumstance occur but the operation will not being compromised.)
LOG_InfoAdditional information of what has happend is logged.
LOG_DebugAdditional information of what has NOT happend is logged. Use this to track down bugs.
LOG_AllAll logging is send to the log file. For example if a special code block is entered or left.

ExtendedCounter

The most important differences of the new Counter to the stock Counter of the package 'Engine' are: A complete documentation of SBCounter is included in the archive.

Installation (Client and Server)

Put the files
.\System\SBFactoryMonsterCounterV1.u
.\System\SBCounterV5.u
.\System\SBFactoryMonsterCounter.ini
.\System\SBFactoryMonsterCounter.int
into the System directory of your UT installation. Change the values in file SBFactoryMonsterCounter.ini to your needs. Documentation can also be found in there.

Installation on a Server

Add SBFactoryMonsterCounterV0.SBFactoryMonsterCounter to the chain of your mutators. Details depends on your server configuration and addons.
An entry in ServerPackages is not needed, the mutator works on server side only.

Installation on a Client

Start UT and choose the Mutator "SBFactoryMonsterCounter V1" for a local game.

About

This package was created by Barbie.
Contact: SeriousBarbie AT barbies DOT world

Copyright

This package is copyleft - do whatever you want.

Changelog

SBFactoryMonsterCounterV1, 22 Apr 2024

Filelist

NameSizeDateMD5 sum
./Help/SBCounter.htm89562020-11-14c9d46de4a071afd51479b919040c2b20
./Help/SBCounterPic.gif13512016-06-0394c403ea78604cfb8dd54d1fcff24cf6
./Help/SBCounterProperties.jpg284152020-06-244a2dd9463478fc26be7d2a7a84d27277
./Help/SBFactoryMonsterCounter.htm102742024-04-23(this file)
./Sourcecode/Classes/SBFactoryMonsterCounter.uc114032022-06-28e29110f54efd2abf457fc6a0f59d97d5
./Sourcecode/make.ini3302022-07-044e4cf6b50f25db2e11bde6e375424ea8
./Sourcecode/readme.txt692016-01-0965e1642a4cd5f397e424d0521cca2d42
./System/SBCounterV5.u127112022-07-048e0221ea1c1d918ce4e95309b5d873de
./System/SBFactoryMonsterCounter.ini13632024-04-22650e62d37ccacbfc5294e82bc253e5b6
./System/SBFactoryMonsterCounter.int1952021-08-06a0cba4c82856cc1bcde45f476ed285c1
./System/SBFactoryMonsterCounterV1.u203122022-07-0482198a1582509d3924fcdb7783891c0b

SBFactoryMonsterCounterV0, 14 Jul 2020

Filelist

NameSizeDateMD5 sum
./Help/SBCounter.htm75592020-06-245b51ae5c0f35ddd94267ba08184f657c
./Help/SBCounterPic.gif13512016-06-0394c403ea78604cfb8dd54d1fcff24cf6
./Help/SBCounterProperties.jpg284152020-06-244a2dd9463478fc26be7d2a7a84d27277
./Help/SBFactoryMonsterCounter.htm78852020-07-148319680bddc1a35b920e684639b4d865
./redirect/SBFactoryMonsterCounterV0.u.uz64422020-06-145bd21c03a2b267982e4c4ce40d969a78
./Sourcecode/Classes/SBFactoryMonsterCounter.uc96172020-06-14d02f07ea24f120669e0dad87a1607e61
./Sourcecode/make.ini3302020-06-0958d6a63fe1dae4eb33cb674231f4ef4d
./System/SBCounterV3.u107562020-06-2444250782597e52cdc12fbde0b87c0ef6
./System/SBFactoryMonsterCounter.ini11602020-07-14c6d50ee359608d7845253dd6457df668
./System/SBFactoryMonsterCounter.int1952020-06-17f370e29e4bb40e4568dca21f4147d523
./System/SBFactoryMonsterCounterV0.u171822020-06-14d7d31f6a20a4f7a4c666dfaa915840a7