<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Ultra Modding | Unreal Engine Modding</title>
		<link>http://ultramodding.ucoz.com/</link>
		<description>Forums | Ultra Modding / Ultra Mapping Forums</description>
		<lastBuildDate>Fri, 15 Mar 2013 18:02:39 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://ultramodding.ucoz.com/forum/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>[Tutorial] Adding A Custom ZED To The Game</title>
			<link>https://ultramodding.ucoz.com/forum/6-24-1</link>
			<pubDate>Fri, 15 Mar 2013 18:02:39 GMT</pubDate>
			<description>Forum: &lt;a href=&quot;https://ultramodding.ucoz.com/forum/6&quot;&gt;Coding&lt;/a&gt;&lt;br /&gt;Thread starter: UltraKill&lt;br /&gt;Last message posted by: UltraKill&lt;br /&gt;Number of replies: 0</description>
			<content:encoded>&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color:DarkOrange&quot;&gt;This tutorial is currently out of date due to the 1044 update. I will be amending this soon.&lt;/span&gt;&lt;/u&gt;&lt;/b&gt; &lt;br /&gt; This tutorial will show you how to add a custom ZED into the game. &lt;br /&gt;&lt;br /&gt; &lt;span style=&quot;color:DarkOrange&quot;&gt;&lt;b&gt;Prerequisites&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; &lt;a class=&quot;link&quot; href=&quot;http://u.to/KQDj&quot; title=&quot;http://forums.tripwireinteractive.com/showthread.php?t=43484&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Creating A Basic Mutator&lt;/a&gt; by Benjamin &lt;br /&gt;&lt;br /&gt; &lt;span style=&quot;color:DarkOrange&quot;&gt;&lt;b&gt;The Mutator&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; Version 1 &lt;br /&gt; Code: &lt;br /&gt; class NewSquadMut extends Mutator;var string PackageName; &lt;br /&gt;&lt;br /&gt; function PostBeginPlay() &lt;br /&gt; { &lt;br /&gt; local int i; &lt;br /&gt; local string MID; &lt;br /&gt; local KFGameType KF; &lt;br /&gt; &lt;br /&gt; //Add the package with your new zed to the server &lt;br /&gt; if (Level.NetMode != NM_Standalone) &lt;br /&gt; AddToPackageMap(PackageName); &lt;br /&gt; &lt;br /&gt; //Only for KFGameType or and extending GameType &lt;br /&gt; KF = KFGameType(Level.Game); &lt;br /&gt; if (KF == none) &lt;br /&gt; { &lt;br /&gt; Destroy(); &lt;br /&gt; return; &lt;br /&gt; } &lt;br /&gt;&lt;br /&gt; // Get new slot in monster list &lt;br /&gt; i = KFGameType(Level.Game).StandardMonsterClasses.Length; &lt;br /&gt; KFGameType(Level.Game).StandardMonsterClasses.Length = i + 1; &lt;br /&gt; MID = Chr(65 + i); //Get the next character in the alphabet &lt;br /&gt; &lt;br /&gt; // Add monster to monster list &lt;br /&gt; KFGameType(Level.Game).StandardMonsterClasses&lt;i&gt;.MClassName = PackageName$&quot;.&lt;span style=&quot;color:DarkOrange&quot;&gt;NEWZED&lt;/span&gt;&quot;; KFGameType(Level.Game).StandardMonsterClasses[i].MID = MID; &lt;br /&gt;&lt;br /&gt; // Add monster to squads &lt;br /&gt; KFGameType(Level.Game).StandardMonsterSquads[25] $= &quot;2&quot; $ MID; //Add 2 of the new Zed to the 25th squad &lt;br /&gt; KFGameType(Level.Game).StandardMonsterSquads[26] $= &quot;1&quot; $ MID; //Add 1 of the new Zed to the 26th squad &lt;br /&gt;&lt;br /&gt; SetTimer(0.1, false); &lt;br /&gt; } &lt;br /&gt;&lt;br /&gt; function Timer() &lt;br /&gt; { &lt;br /&gt; Destroy(); // Destroy here (after mut is loaded) otherwise it won&apos;t appear as set in webadmin &lt;br /&gt; } &lt;br /&gt;&lt;br /&gt; defaultproperties &lt;br /&gt; { &lt;br /&gt; PackageName=&quot;CustomZedPackage&quot; &lt;br /&gt; GroupName=&quot;KF-AddToSquad&quot; &lt;br /&gt; FriendlyName=&quot;Add to squad&quot; &lt;br /&gt; Description=&quot;Adds a to squad in spawn list.&quot; &lt;br /&gt; } &lt;br /&gt; &lt;span style=&quot;color:DarkOrange&quot;&gt;&lt;b&gt;Breakdown&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; Code: &lt;br /&gt; var string PackageName;function PostBeginPlay() &lt;br /&gt; { &lt;br /&gt; local int i; &lt;br /&gt; local string MID; &lt;br /&gt; local KFGameType KF; &lt;br /&gt; We declare the variables we will be using. Again [i]PostBeginPlay()&lt;/i&gt; play because we want to make these changes before we start the match. &lt;br /&gt;&lt;br /&gt; Code: &lt;br /&gt; if (Level.NetMode != NM_Standalone) AddToPackageMap(PackageName); &lt;br /&gt; This statement checks to see if the game is a server or not. If it is a server it adds the package to the serverpackages. Similar to the&lt;i&gt;bAddToServerPackages&lt;/i&gt; mutator variable. The difference being that this way allows the zed package to be dependent of the mutator you are using. &lt;br /&gt; Code: &lt;br /&gt; KF = KFGameType(Level.Game);if (KF == none) &lt;br /&gt; { &lt;br /&gt; Destroy(); &lt;br /&gt; return; &lt;br /&gt; } &lt;br /&gt; Here is an alternative to the error check we had in the previous ZED mutator. This works the same way, the difference being instead of logging the error it simply kills the mutator. &lt;br /&gt; Code: &lt;br /&gt; i = KFGameType(Level.Game).StandardMonsterClasses.Length;KFGameType(Level.Game).StandardMonsterClasses.Length = i + 1; &lt;br /&gt; MID = Chr(65 + i); &lt;br /&gt; Here we define &lt;i&gt;i&lt;/i&gt; the value of the StandardMonsterClasses array length. Then we define a new array length by adding 1 to &lt;i&gt;i&lt;/i&gt;. As each squad is assigned a letter we need to find the next avalible one. Becuase we&apos;ve already found out the array length we can use i to do this as well. In the Uni8 encoding the alphabet begins at 65. So 65 is A, 65+8 would be I. &lt;br /&gt; Code: &lt;br /&gt; KFGameType(Level.Game).StandardMonsterClasses&lt;i&gt;.MClassName = PackageName$&quot;.&lt;span style=&quot;color:DarkOrange&quot;&gt;NEWZED&lt;/span&gt;&quot;;KFGameType(Level.Game).StandardMonsterClasses[i].MID = MID; &lt;br /&gt; Now we use the information we&apos;ve built to add our custom ZED to the standard monster load out. But that&apos;s not enough to get him in the game. [i]KFGameType&lt;/i&gt; calls on squads though out the game. So let&apos;s add our ZED to some existing squads. &lt;br /&gt; Code: &lt;br /&gt; KFGameType(Level.Game).StandardMonsterSquads[25] $= &quot;2&quot; $ MID;KFGameType(Level.Game).StandardMonsterSquads[26] $= &quot;1&quot; $ MID; &lt;br /&gt; There are currently 26 squads in KF, so lets add him to the last two. Two in squad 25, One in 26. &lt;br /&gt;&lt;br /&gt; Finally &lt;br /&gt; Code: &lt;br /&gt; SetTimer(0.1, false);} &lt;br /&gt; So we can destroy the mutator after it has loaded, as it&apos;s no longer needed. We also do this so the WebAdmin can flag the mutator as on. Destroy it too early and WebAdmin wouldn&apos;t know the mutator was active. &lt;br /&gt; Code: &lt;br /&gt; function Timer(){ &lt;br /&gt; Destroy(); &lt;br /&gt; } &lt;br /&gt; Finally we add the defualt properties &lt;br /&gt; Code: &lt;br /&gt; defaultproperties{ &lt;br /&gt; PackageName=&quot;CustomZedPackage&quot; &lt;br /&gt; GroupName=&quot;KF-AddToSquad&quot; &lt;br /&gt; FriendlyName=&quot;Add to squad&quot; &lt;br /&gt; Description=&quot;Adds a to squad in spawn list.&quot; &lt;br /&gt; } &lt;br /&gt; You&apos;re done.  &lt;br /&gt;&lt;br /&gt; I&apos;d like to thank matttthias aka J1gS4w for the code on this one. In his words &quot;I want to do something for the community because they helped me so much to start with coding.&quot; Honourable mention to Benjamin for the original code. &lt;br /&gt; Part 2 to follow soon. &lt;br /&gt;&lt;br /&gt; --- &lt;br /&gt; &lt;a class=&quot;link&quot; href=&quot;http://u.to/6yEOAw&quot; title=&quot;http://forums.tripwireinteractive.com/member.php?u=29165&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Gartley&lt;/b&gt;&lt;/a&gt;</content:encoded>
			<category>Coding</category>
			<dc:creator>UltraKill</dc:creator>
			<guid>https://ultramodding.ucoz.com/forum/6-24-1</guid>
		</item>
		<item>
			<title>Creating a Basic Mutator</title>
			<link>https://ultramodding.ucoz.com/forum/6-23-1</link>
			<pubDate>Fri, 15 Mar 2013 17:39:25 GMT</pubDate>
			<description>Forum: &lt;a href=&quot;https://ultramodding.ucoz.com/forum/6&quot;&gt;Coding&lt;/a&gt;&lt;br /&gt;Thread starter: UltraKill&lt;br /&gt;Last message posted by: UltraKill&lt;br /&gt;Number of replies: 0</description>
			<content:encoded>&lt;b&gt;Prerequisites&lt;/b&gt;: Killing Floor SDK (Steam-&gt;Library-&gt;Tools) &lt;br /&gt;&lt;br /&gt; &lt;b&gt;Creating a Basic Mutator&lt;/b&gt; &lt;br /&gt;&lt;br /&gt; &lt;b&gt;Step-by-step Instructions&lt;/b&gt; &lt;br /&gt;&lt;br /&gt; &lt;span style=&quot;color:Lime&quot;&gt;&lt;b&gt;1. Create directory hierarchy&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; Create a directory in &lt;i&gt;.../steamapps/common/killingfloor&lt;/i&gt; with the same name you wish to give your mutator. Create a subdirectory inside this named &lt;i&gt;Classes&lt;/i&gt;. You should now have a directory structure that looks like this: &lt;br /&gt;&lt;br /&gt; &lt;i&gt;.../steamapps/common/killingfloor/ExampleMutator/Classes&lt;/i&gt; &lt;br /&gt;&lt;br /&gt; &lt;span style=&quot;color:Lime&quot;&gt;&lt;b&gt;2. Create main mutator script file&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; Inside the classes subdirectory create a file with a .uc extension with a name matching the mutator&apos;s main directory name, for example &lt;i&gt;ExampleMutator.uc&lt;/i&gt;. The path of this file should look like this: &lt;br /&gt;&lt;br /&gt; &lt;i&gt;.../steamapps/common/killingfloor/ExampleMutator/Classes/ExampleMutator.uc&lt;/i&gt; &lt;br /&gt;&lt;br /&gt; &lt;span style=&quot;color:lime&quot;&gt;&lt;b&gt;3. Tell compiler we want to include this mutator in the compilation&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; In order to have the compiler actually compile your mutator you must add an entry for it in a file named killingfloor.ini, located in the game&apos;s &lt;i&gt;system&lt;/i&gt; directory. Open this file, search for the section with several lines beginning with &lt;i&gt;EditPackages=PackageName&lt;/i&gt;. Add an entry at the bottom of this list to include the name of your mutator package, which should look like this: &lt;br /&gt;&lt;br /&gt; &lt;i&gt;EditPackages=ExampleMutator&lt;/i&gt; &lt;br /&gt;&lt;br /&gt; &lt;span style=&quot;color:lime&quot;&gt;&lt;b&gt;4. Add some code to the mutator script&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; Code: &lt;br /&gt; class ExampleMutator extends Mutator;defaultproperties &lt;br /&gt; { &lt;br /&gt; GroupName=&quot;KFExampleMutator&quot; &lt;br /&gt; FriendlyName=&quot;Example Mutator&quot; &lt;br /&gt; Description=&quot;Mutator description here&quot; &lt;br /&gt; } &lt;br /&gt; This is the bare minimum for compiling a mutator that can be seen in Killing Floor (actually, &lt;i&gt;FriendlyName&lt;/i&gt; and &lt;i&gt;Description&lt;/i&gt; aren&apos;t strictly necessary but why compile without them?). The &lt;i&gt;GroupName&lt;/i&gt; property must start with the letters &lt;i&gt;KF&lt;/i&gt; else it won&apos;t be seen by the game. &lt;br /&gt;&lt;br /&gt; &lt;span style=&quot;color:lime&quot;&gt;&lt;b&gt;5. Compile using UCC&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; Compiling the mutator is as simple as calling &lt;i&gt;ucc make&lt;/i&gt;, which can be found in the system directory (in fact the file is simply called&lt;i&gt;ucc.exe&lt;/i&gt; and &lt;i&gt;make&lt;/i&gt; is a command line argument). Note that if you have previously compiled the mutator you must remove its .u file from the system directory in order to recompile (otherwise the mutator will be ignored in the compilation process). &lt;br /&gt;&lt;br /&gt; &lt;i&gt;If you cannot find ucc.exe you may not have the Killing Floor SDK installed. Find it on Steam in the &apos;tools&apos; section.&lt;/i&gt; &lt;br /&gt;&lt;br /&gt; Additionally you may want to remove certain files and have the console wait before closing, so that you can view the compilation output (and thus determine if it failed and why). You could do all this by opening command prompt and typing the commands manually, but it&apos;s far simpler to use a batch file. Create a batch file (anywhere - the desktop is good for easy access) with a name such as &lt;i&gt;ExampleMutator.bat&lt;/i&gt; and copy the following lines in: &lt;br /&gt;&lt;br /&gt; Code: &lt;br /&gt; del &quot;C:&amp;#92;Program Files&amp;#92;Steam&amp;#92;steamapps&amp;#92;common&amp;#92;killingfloor&amp;#92;System&amp;#92;ExampleMutator.u&quot;&quot;C:&amp;#92;Program Files&amp;#92;Steam&amp;#92;steamapps&amp;#92;common&amp;#92;killingfloor&amp;#92;System&amp;#92;UCC.exe&quot; make &lt;br /&gt; del &quot;C:&amp;#92;Program Files&amp;#92;Steam&amp;#92;steamapps&amp;#92;common&amp;#92;killingfloor&amp;#92;System&amp;#92;steam_appid.txt&quot; &lt;br /&gt; pause &lt;br /&gt; You may need to alter the paths if you have the game installed to a different hard drive or have a different directory structure. The third line removes a file generated by UCC which while exists will prevent connecting to servers (may not apply to all). &lt;br /&gt;&lt;br /&gt; Run the batch file and tada! If compilation was successful, you have just made your first mutator. If not, you have made a mistake. &lt;br /&gt;&lt;br /&gt; &lt;span style=&quot;color:lime&quot;&gt;&lt;b&gt;6. Functional mutator example&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; Here is a functional, more interesting mutator to take a look at: &lt;br /&gt;&lt;br /&gt; Code: &lt;br /&gt; class ExampleMutator extends Mutator;function PostBeginPlay() &lt;br /&gt; { &lt;br /&gt; SetTimer(1, true); &lt;br /&gt; } &lt;br /&gt;&lt;br /&gt; function Timer() &lt;br /&gt; { &lt;br /&gt; local KFHumanPawn Player; &lt;br /&gt; &lt;br /&gt; foreach DynamicActors(class &apos;KFHumanPawn&apos;, Player) &lt;br /&gt; { &lt;br /&gt; if (Player.Health + 2 &lt;= Player.HealthMax) Player.Health += 2; &lt;br /&gt; else Player.Health = Player.HealthMax; &lt;br /&gt; } &lt;br /&gt; } &lt;br /&gt;&lt;br /&gt; defaultproperties &lt;br /&gt; { &lt;br /&gt; GroupName=&quot;KFExampleMutator&quot; &lt;br /&gt; FriendlyName=&quot;Example Mutator&quot; &lt;br /&gt; Description=&quot;Mutator description here&quot; &lt;br /&gt; } &lt;br /&gt; What does it do? It increases the health of each player by 2 points every second. &lt;br /&gt;&lt;br /&gt; &lt;span style=&quot;color:lime&quot;&gt;&lt;b&gt;7. Where do I go from here?&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; Now that you understand how to compile a mutator, I&apos;d recommend first taking a look at the official &lt;a class=&quot;link&quot; href=&quot;http://u.to/LADj&quot; title=&quot;http://udn.epicgames.com/Two/UnrealScriptReference.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;UnrealScript Language Reference&lt;/a&gt;which covers all aspects of the language itself. If you plan to write mutators which work online it&apos;s vital that you understand how the networking is handled, and I&apos;d suggest reading the &lt;a class=&quot;link&quot; href=&quot;http://u.to/KwDj&quot; title=&quot;http://udn.epicgames.com/Three/NetworkingOverview.html#Unreal Networking Architecture&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Unreal Networking Architecture&lt;/a&gt; article on this. If you want to know more about the engine (and particularly which classes are available to use) you can either browse through the script files yourself, or check out the&lt;a class=&quot;link&quot; href=&quot;http://u.to/KgDj&quot; title=&quot;http://wiki.beyondunreal.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;BeyondUnreal Wiki&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt; I&apos;d recommend getting a good text editor with support for line numbers (I suggest &lt;a class=&quot;link&quot; href=&quot;http://u.to/Kz9H&quot; title=&quot;http://notepad-plus-plus.org/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Notepad++&lt;/a&gt; for this) and a search tool for searching the entire library of script files for finding where specific classes and variables are defined (I&apos;d recommend &lt;a class=&quot;link&quot; href=&quot;http://u.to/4toQAw&quot; title=&quot;http://www.wingrep.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Windows Grep&lt;/a&gt; as it&apos;s powerful, fast, and free). &lt;br /&gt;&lt;br /&gt; &lt;b&gt;--- &lt;br /&gt; &lt;a class=&quot;link&quot; href=&quot;http://u.to/49oQAw&quot; title=&quot;http://forums.tripwireinteractive.com/member.php?u=15711&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Benjamin&lt;/a&gt;&lt;/b&gt;</content:encoded>
			<category>Coding</category>
			<dc:creator>UltraKill</dc:creator>
			<guid>https://ultramodding.ucoz.com/forum/6-23-1</guid>
		</item>
		<item>
			<title>Mut : Advanced HUD ServerPerkV3</title>
			<link>https://ultramodding.ucoz.com/forum/6-22-1</link>
			<pubDate>Fri, 15 Mar 2013 17:36:58 GMT</pubDate>
			<description>Forum: &lt;a href=&quot;https://ultramodding.ucoz.com/forum/6&quot;&gt;Coding&lt;/a&gt;&lt;br /&gt;Thread starter: UltraKill&lt;br /&gt;Last message posted by: UltraKill&lt;br /&gt;Number of replies: 0</description>
			<content:encoded>&lt;b&gt;Mut : Advanced HUD ServerPerkV3 (Original author : Marco)&lt;/b&gt; &lt;br /&gt;&lt;br /&gt; Download Link:: &lt;a class=&quot;link&quot; href=&quot;http://u.to/cNoQAw&quot; title=&quot;http://goldmetal.tistory.com/attachment/cfile22.uf@124710184CE5EDB464DB2D.zip&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Click&lt;/a&gt; &lt;br /&gt;&lt;br /&gt; I received Marco&apos;s ServerPerkV3 Source Code, &lt;br /&gt; and added perk HUD. &lt;br /&gt;&lt;br /&gt; If Player PerkLevel was high, displayed many StarMaterial in Original ServerPerkV3 &lt;br /&gt;&lt;br /&gt; &lt;img src=&quot;http://cfile23.uf.tistory.com/image/117A92334CE4D7DE32CFC0&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;br /&gt; - Commando Level 20. &lt;br /&gt;&lt;br /&gt; So, I modified HUDKillingfloor and added this mutator. &lt;br /&gt;&lt;br /&gt; - Perk Level is 11~15, display Green Perkicon. &lt;br /&gt; &lt;img src=&quot;http://cfile24.uf.tistory.com/image/182E22344CE4D5C20EF8E4&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;br /&gt;&lt;br /&gt; -Perk Level is 16~20, display Blue Perkicon. &lt;br /&gt; &lt;img src=&quot;http://cfile10.uf.tistory.com/image/172E22344CE4D5C20D64FD&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;br /&gt;&lt;br /&gt; &lt;img src=&quot;http://cfile29.uf.tistory.com/image/146F74024CE5EAAE0C1056&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;br /&gt;&lt;br /&gt; &lt;img src=&quot;http://cfile7.uf.tistory.com/image/166F74024CE5EAAF0D0DA5&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt; &lt;br /&gt;&lt;br /&gt; - Display new Perk HUD &lt;br /&gt;&lt;br /&gt; Next, substance of Advanced HUD ServerPerkV3 &lt;br /&gt; - Rrebalancing All perk&apos;s abilities for perkLevel 20. &lt;br /&gt; - Added Green, Blue Perk Icon. (:: KillingFloor3HUD.utx) &lt;br /&gt; - Lobby, MainScreen, ScoreBoard applicated this Custom HUD. &lt;br /&gt;&lt;br /&gt; Thanks to Marco and YoYoBatty. &lt;br /&gt;&lt;br /&gt; Quote: &lt;br /&gt; Originally Posted by &lt;b&gt;Marco&lt;/b&gt; &lt;a class=&quot;link&quot; href=&quot;http://u.to/b9oQAw&quot; title=&quot;http://forums.tripwireinteractive.com/showthread.php?p=484300#post484300&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://forums.tripwireinteractive.com/images/buttons/viewpost.gif&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/a&gt; &lt;br /&gt; This mutator brings the perks stats tracking back the way it were in KF 2.5 in Unreal Tournament 2004: All player stats are being tracked by the server individually. &lt;br /&gt;&lt;br /&gt; &lt;a class=&quot;link&quot; href=&quot;http://u.to/cdoQAw&quot; title=&quot;http://www.klankaos.com/downloads/ServerPerksV3.zip&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Download from here&lt;/a&gt;. (Version 3.01) &lt;br /&gt;&lt;br /&gt; &lt;a class=&quot;link&quot; href=&quot;http://u.to/btoQAw&quot; title=&quot;http://www.klankaos.com/downloads/ServerPerksSrc.rar&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Download source codes from here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt; Upsides about this mutator: &lt;br /&gt; &lt;ul&gt;&lt;li&gt;It allows server host to run any mutator/modification/map they ever want without having to whitelist them all. &lt;br /&gt; &lt;li&gt;Server host can add/remove standard/custom perks. &lt;br /&gt; &lt;li&gt;Clients can&apos;t cheat their stats in offline games then join the server with level 5 everything. &lt;br /&gt; &lt;li&gt;Fixed some menu issues while at it. &lt;br /&gt; &lt;/ul&gt; &lt;br /&gt; And downsides of this mutator: &lt;br /&gt; &lt;ul&gt;&lt;li&gt;Clients will don&apos;t have their stats following from server to server (anything they do in that server will stay within that server)! &lt;br /&gt; &lt;li&gt;Archivements aren&apos;t earned. &lt;br /&gt; &lt;/ul&gt; &lt;br /&gt; Version history: &lt;br /&gt; 3.01: &lt;br /&gt; - Fixed minor problems with updated Firebug perk. &lt;br /&gt; 3.00: &lt;br /&gt; - Updated to support updated perks in latest KF version. &lt;br /&gt; - Updated network codes of this mod to resolve some other bugs. &lt;br /&gt; - Added &apos;Maximum perk levels&apos; value for defining max level you can get (you can set max level up to 254). &lt;br /&gt; - Added &apos;Requirements scaler&apos; to scale the requirements (1 = default, 0.5 = half scaling; i.e: 60 headshot kills becomes 30 headshot kills). &lt;br /&gt; - Added Mutator config/Webadmin config pages for some settings of this mutator. &lt;br /&gt; 2.55: &lt;br /&gt; - This time (hopefully) fixed the perk selection problem. &lt;br /&gt; - Added option (bForceGivePerk) to force players with no perk selected to start with a random perk available. &lt;br /&gt; - Added another option (bNoSavingProgress) to disable progress saving (for level 6 perks only servers). &lt;br /&gt; 2.30: &lt;br /&gt; - Fixed perk selection in Trader and Lobby menus. &lt;br /&gt; - Fixed some problems with not being able to select perk sometimes. &lt;br /&gt; - While at it fixed a memory leak problem on Lobby menu. &lt;br /&gt; 2.10: &lt;br /&gt; - Fixed an issue with demolition stats loading. &lt;br /&gt; 2.00: &lt;br /&gt; - Fixed a crash with &quot;SRPerkSelectList&quot; menu. &lt;br /&gt; - Updated it to work on latest KF version. &lt;br /&gt; - Added in Demolition perk. &lt;br /&gt; - Updated all perks to be equally to latest KF version. &lt;br /&gt; - Added a new option to specify minimum perk level for all players (edit ServerPerksV2.ini). &lt;br /&gt; - Added to lobby menu a &quot;Main Menu&quot; button where people can access perks selection and map voting. &lt;br /&gt; 1.00: &lt;br /&gt; - Released. &lt;br /&gt;&lt;br /&gt; How to use this mutator (eighter way): &lt;br /&gt; &lt;ul&gt;&lt;li&gt;In mutators list, add &quot;Server Veterancy Handler V2&quot; to active mutators. &lt;br /&gt; &lt;li&gt;Add to server startup commandline &quot;?Mutator=ServerPerksV2.ServerPerksMut&quot; &lt;br /&gt; &lt;/ul&gt; &lt;br /&gt; To add/remove perks, simply edit &quot;ServerPerksV2.ini&quot; and add/remove lines. &lt;br /&gt;&lt;br /&gt; If there are any bugs, please report them here (or have any comments/suggestions)!</content:encoded>
			<category>Coding</category>
			<dc:creator>UltraKill</dc:creator>
			<guid>https://ultramodding.ucoz.com/forum/6-22-1</guid>
		</item>
	</channel>
</rss>