Cogito, ergo sum
Legacy:Sweavo/SniperMuts
Sweavo's page of sniper mutator projects
Project: KillsMinusDeaths[edit]
This is a finished Mut for the SAS Camper server that awards your score and your rating based on your kills (headshots counts as 2 kills) minus your deaths. If two people have the same score, the one with the fewest deaths wins, so if I made one kill and never died, I beat the guy who made 21 kills and died 20 times. This is not publicly released (go see it on the UT2004 SAS sniper/camper server) but I'm here if you want to make something similar and have technical questions.
Project: YouDontQuitThatEasy[edit]
A workaround for the above mutator is that if you have a massive negative score you can quit and rejoin, shedding all those negative points. This mutator causes a returning player get back his or her score from when they quit.
SuperApe: I've been wondering about saving data between matches and sessions for a while. I haven't gotten around to hunt for info on it. I'd love to see it. :)
Sweavo: Ah, now THAT it doesn't do! I still need to research on storing stuff between matches. In this method, the data is stored in actors in the level, so they are trashed at level end.
SuperApe: Keep us updated. :) I'll pipe up if I find anything along the lines of the SinglePlayer savegame, etc.
SuperApe: DatabaseConnection seems to provide some interesting info and links on the subject.
Jimboh: meh...can't you just save it as a package on the server side? See: DataObject
SuperApe: At first glance, that look like it. Thanks, Jimboh. (I'll link from DatabaseConnection)
Sweavo: yep, savepackage() is where I'm at at the moment. I'm coming up with an abstract class that will make this dead easy for people in general. Watch this space.
Sweavo: well it turns out not to be that straightforward. I declared a class that knew how to save itself when destroyed, and was able to save and load data on a player-by-player basis. But I wanted to give it an abstract struct for its save data so that subclasses could simply override that in order to implement per-player persistence across levels and sessions. Can't see how to do that in UScript so I think I'll have to make a concrete class and publish that so that people can rip the source and duplicate it rather than extending.
Project: Walk Don't Run[edit]
In ut99 I used to play a lot of sniper servers. Just been playing on the SAS server and it's a pain for the admins that people run around a lot. I figure why not have a mut that prevents it. Ideally I'd like to reverse the sense of the Walk button - so if you don't press walk, you walk, and if you do press it, you run. SAS don't like this mut (it's quite intrusive even if you are playing fair) so feel free to grab it and try it on your own server.