There is this package flag ClientOptional which can be set after compiling with the "SetPackageFlags" commandlet of UT3 (or with the upkg file). This flag ClientOptional is intended as players do not need to download these flagged packages. They can abort the autodownload but continue to connect to the server. This works fine. Another features of this package flag is/was that this package is not required for demo playback.
Create the mutator for UT2004, compile it, create a game with that mutator and record a demo. Afterwards you can close UT2004, delete these created mutator files, and start UT2004 again. Now you can play back that demo out of the menu (no extra console command needed).
Packagename: ProblemClientOpt
ProblemClientOpt\Classes\ProblemClientOpt.upkg
ProblemClientOpt\Classes\PCOMutator.uc
Now you can do the same for UT3. Compile, start a game with active mutator "PCOMutator", record a demo (or use the menu option "Record demos"). Play some seconds, exit the game, delete the mutator, and start UT3 again.
Once you're trying to play that previously recorded demo, you will get a error message that a missing package "ProblemClientOpt" is required. The demo will not start.
Do you guys have any idea why this isn't working? Is there anything i have to set in addition? Is this working for you guys?
(I'm pretty confused because I did the same like months ago and it was working. ClientOptional flagged packages do not need to be installed. Strange.)
PS: Build Version: 3809
Create the mutator for UT2004, compile it, create a game with that mutator and record a demo. Afterwards you can close UT2004, delete these created mutator files, and start UT2004 again. Now you can play back that demo out of the menu (no extra console command needed).
Packagename: ProblemClientOpt
ProblemClientOpt\Classes\ProblemClientOpt.upkg
Code:
[Flags] AllowDownload=True ClientOptional=True ServerSideOnly=False
Code:
class PCOMutator extends Mutator; function ModifyPlayer(Pawn Other) { super.ModifyPlayer(Other); if (Other != none && Other.Controller != none && PlayerController(Other.Controller) != none) { PlayerController(Other.Controller).ClientMessage("ProblemClientOpt: Player "$Other$" spawned."); } } defaultproperties { }
Once you're trying to play that previously recorded demo, you will get a error message that a missing package "ProblemClientOpt" is required. The demo will not start.
Do you guys have any idea why this isn't working? Is there anything i have to set in addition? Is this working for you guys?
(I'm pretty confused because I did the same like months ago and it was working. ClientOptional flagged packages do not need to be installed. Strange.)
PS: Build Version: 3809
Comment