Ok , have been nutting this one out for the last few weeks and I think I have a better version completed.
it has a couple of Qwerks , however should be functional to your needs.
Version 1.2 details
CustomizeIni version 1.2 created by wises 8/3/2015
==================================================
-= About =-
CustomizeIni is used to update Pre-loaded Mutators Settings before-Game-Start.
This Allows for pre-configured settings per GameType , all you need to do is load
Desired 'set' for whatever GameType is being loaded.
-= Requirements =-
CustomizeIni requires version 451 or XC_GameEngine in Order to Run Properly this
mainly effects dealing with Arrays[x]. It may still function on version 436 however.
Also NOT tested on Linux!!!
-= Features =-
Upto 128 Packages can be Defined per "Set"
Upto 128 Settings or (1024) characters can be defined per Package.
Upto 32 Sets can be Defined.
Arrays[x] can now be set.
Settings can be inserted onto 1 line separated by a (,).
-= Installation =-
Configure "CustomizeIni.ini" with Package.Class and Settings
see below for examples;
Code: Select all
[CustomizeIni.Set1]
bVerbose=False
; modify DeathMatch
cPackage[0]=BotPack.DeathMatchPlus
cSetting[0]=bUseTranslocator=False,MinPlayers=2,AirControl=0.350000,FragLimit=0,TimeLimit=10,bForceRespawn=True
;Modify CapturetheFlag
cPackage[1]=Botpack.CTFGame
cSetting[1]=TimeLimit=20,GoalTeamScore=0.000000,bUseTranslocator=true,FragLimit=0
;Modify ServerAdds
cPackage[2]=Serveradds.Serveradds
cSetting[2]=fDelay=15.000000,iGroupSize=1,iAddType=1,sLines[0]=CustomizeIni v1.2,sLines[1]=Created by wises 8/3/2015,slines[2]=Email: psychoservers@gmail.com,sLines[3]=or visit online http://www.ut99.org.
;Modify IPPolicies
cPackage[3]=Engine.GameInfo
cSetting[3]=IPPolicies[1]=111.111.111.111,IPPolicies[2]=111.111.111.112
(X) = 1 to 32. ie; "Mutator=CustomizeIni.Set1"
* No Need for ServerPackages= as CustomizeIni is ServerSide only!!
* Be sure to load customizeIni as last Mutator in Mutator-Chain , else some settings will NOT TAKE EFFECT!
; NOTE: DO NOT USE (,) COMMAS INSIDE of "Strings" ie: cSetting[0]=First,"don't use (,) here",Third,fourth,fifth-setting.
; also note. Do-Not need "quotations" around Strings. and sometimes need to check caps for (True/False)
; furthermore: float-values ie; 10.000000 need to be entered with trailing .000000 (6 digits).
; any problems email: psychoservers@gmail.com
Version 1.0 details
+ CustomIni Version 1.0 by Wises 27/02/2015 +
+-------------------------------------------+
Basically this Mutator will allow you to edit any other "Running-Mutators" .ini files.
- Why you may want to use this Mutator?
This Mutator will allow you to Edit any other Mutators .ini Settings , classic case
would be if you use a MapVote System with varying GameTypes which all share the same .ini
file.
for more info Google CustomIni site:ut99.org
------------------
+ Functionality: +
------------------
32 Configurable Packages , with 32 Configurable Settings. see CustomIni.ini for examples.
16 CustomIni's
------------
+ Install: +
------------
Drop CustomIni.u and CustomIni.ini into system folder.
Open CustomIni.ini and adjust Packages/Settings accordingly.
note the [Package.Class] header for each Configurable [CustomIni.CustomIni] Header.
!IMPORTANT: Place and the end of the Mutator chain (last Mutator to be loaded)
To use a specific CustomIni setting on your server simply add to Mutators=CustomIni.CustomIni[x]
That's about it.
-----------------
+ Known Issues: +
-----------------
I'm sure you'll find something.
---------------
+ Disclaimer: +
---------------
This Mutator Directly Modifies your .ini files!! , backup any/all .ini files into a .zip file
incase something 'Nasty' happens to them through the use of this mod.
Aside from that I hope that it does what you need
Wises.
Download:>>
concepts thoughts etc
my theory here is based on the ConsoleCommand;
in short and for Example AutoTeamBalance , we often have scenarios where players all want to test something by going to the same team.. however ATB automatically switches players based on Strengths/etc to respective teams for balancing.
or other Mutators like UToolbox where we may want to customize weapons for one gametype and change these settings later for another?..
so I had a thought and was thinking ... is anyone able to zap up something which has some kind of array[0] for upto perhaps 20-30 configurations like so.
the mod would have an .ini file which would allow admins to enter in packages[0] and settings[0]..
these when loaded by the server could make small adjustments to other .ini files on the fly or PreGameStart for example.
Edit: perhaps there could be classes inside of "ChangeSettings" like ;
ChangeIniSettings.Setting1
ChangeIniSettings.Setting2
ChangeIniSettings.Setting3
ChangeIniSettings.Setting4
Code: Select all
Mutators=ChangeIniSettings.setting1
and ;
bDebug=True
bLogSettings=True
[ChangeIniSettings.Setting1]
Package[0]=autoteamBalance.autoteamBalance
.
.
.
Setting[0]="bBalanceTeams=True,param2=x,param3=y,param4=z"
Code: Select all
set ATB.ATB bBalanceteams=True
set ATB.ATB param2 x
set ATB.ATB param3 y
set ATB.ATB param4 z
// output changes to server.log
package[0]=AutoTeamBalance.AutoTeamBalance
package[1]=ServerAdds.ServerAdds
.
.
Setting[0]=bBalanceTeams=False
setting[1]=bEnable=False
Code: Select all
Set AutoteamBalance.AutoteamBalance bBalanceteams false
Set ServerAdds.ServerAdds bEnable False
Package[0]=
.
Setting[0]=
[etc.etc]
that could work..
classic example :
^^ note the underlined part.. therefore for TDM we could have ;NogginBasher wrote: IMPORTANT: If you are running this mod for non-CTF games which have team scores (e.g. DOM and TDM), please set FlagStrength to 0. (Or 1 or 2 might be ok.) The mod was originally designed for CTF, where team scores are low, but in DOM and TDM, FlagStrength multiplied by the difference in team scores will be much larger. Setting it low will do no harm in any gametype; FlagStrength is just an attempt to compensate for errors in player strengths, by also looking at team success during mid-game balancing. The default is now 0 in my working copy, until I work out a CTF/non-CTF specific fix. More info
Code: Select all
set autoteambalance.AutoTeamBalance Flagstrength 0
EDIT: was based on this post by Adminthis @ UA
appended: another use could be for siegeIV profile changesAdminthis wrote: function PreBeginPlay() {
if (Level.Title == "Niven Experimental Lab"){
ConsoleCommand("set Engine.GameInfo MaxPlayers 12");}
if (Level.Title == "Facing Worlds"){
ConsoleCommand("set Engine.GameInfo MaxPlayers 14");}
if (Level.Title == "The Last Command"){
ConsoleCommand("set Engine.GameInfo MaxPlayers 14");}
if (Level.Title == "Coret Facility"){
ConsoleCommand("set Engine.GameInfo MaxPlayers 16");}
if (Level.Title == "Dreary Outpost"){
ConsoleCommand("set Engine.GameInfo MaxPlayers 12");}
if (Level.Title == "EternalCaves"){
ConsoleCommand("set Engine.GameInfo MaxPlayers 14");}
if (Level.Title == "The Iron Gauntlet"){
ConsoleCommand("set Engine.GameInfo MaxPlayers 14");}
if (Level.Title == "LavaGiant"){
ConsoleCommand("set Engine.GameInfo MaxPlayers 18");}
if (Level.Title == "November"){
ConsoleCommand("set Engine.GameInfo MaxPlayers 14");}
if (Level.Title == "Hall Of Giants"){
ConsoleCommand("set Engine.GameInfo MaxPlayers 20");}
} More Info