Let's assume this. I'll try to write that mod loader framework we spoke about.
Functions for parsing returned date and time into a pseudo-object array DateTime and functions to operate on them, like substracting, adding, comparing (equals, compare functions),converting to different display formats (like you give it a formatting and it formats the output datetime string for you and so on).
strings.scr can manipulate cvars.
split , join, etc
Here's the anticham.scr
CVARS:
sv_anticham 1=on 0=off
sv_antichamhud - anticham huds will start at this hud number. If not specified, default is 20 (useful if other mods use huds)
RCON COMMAND:
rcon anticham <clientID> will send anticham to an individual player. ie: rcon anticham 4 (for client 4)
ADDITIONAL FILE:
main/anticham.txt - for anticham textures
I included anticham.scr and anticham.txt with textures I use on my server.
Last edited by armageddon; August 20th, 2012 at 08:21 AM.
maybe anti-cham should be an extra downloadable mod, really
as its more a mod than a fix and the textures list may get updated, unless it gets proper support and auto updating
I agree with Elgan. You don't want to clutter too much stuff. It's not really a "fix" just an annoyance for the cheater, and we all know that most cheaters these days just rely on the download button as opposed to making stuff themselves, however if someone with half a brain were to take existing chams and change the name to something custom, it would remain a problem.
Let's not forget there is still the problem with the ghostchams.
If Razor's method for parsing scripts works, we can simply check for
"blendfunc add"
and
"noDepthTest"
keywords and simply filter them out...
Here is another thought though...
The anti-norecoil fix that was initially introduced by sorrid Stroker & jv_map, can a concept like that be done for player models?
When a player model gets spawned, replace him with a specific server model that get's rendered with server side shader strings?
We all know shaders are clientside, but if there is a way to push out a specific string among clients, that could work..
Elgan\Armageddon thoughts on this.
The concept won't work, because server is not streaming any graphical content, so your idea would just complicate cheating a bit and development a lot unfortunately.
I initialy wanted to include Anticham.scr because it seems to be a standard on servers. I know it's a lame protection and can be disabled even with CVar, but it's used widely.
Maybe we should split stuff into 4 paks: reborn_server.pk3, reborn_client.pk3, reborn_serveraddons.pk3, reborn_clientaddons.pk3?
I'll work on mod loader so stuff should get simplified for admins.
-------------------------------
Edit:
@Elgan, I know that Strings.scr can do this, and we should use this, but I thought that we could create something like Stdlib in C, so we provide modders with sort of a library, and I'd like to have it modularized. Date and time operations can also be done with Strings.scr and yes, we'll use them, but in my opinion it's better to give a separate module for that to modders, so if we update the library, all mods using the library modules will be updated and there won't be a need to update many mods manually because devs implemented same functionalieties in different ways and were using some deprecated functions. Having a library let us leave old functions and just mark them as deprecated, while introducing new stuff.
but nearly every mohaa modder active knows that strings.scr::split will split a line.
also I don't cant think what a cvars could do apart from split a line. every single modder, no matter how standard you make something, decides to do their cvar in a different way.
date/time, yeah, actually thought about it when making files.scr...cant rememebr what limitation I came across..
Then maybe we should add something like serialize and deserialize functions for arrays, that will split and join arrays in some general way (that we'll develop) and add it to Strings.scr
I'd like to have them (yes, they are very simple), because this would allow modders to use a general way to store arrays and so on and files produced by various mods will be the same (arrays stored in files), which would let others build generic tools to manipulate on them (take XML for example, it's structure is documented and thanks to this, many tools can use them and exchange data in XML format without a problem)
strings already has it,
toarray, joinarray
maybe I could better name them, or just have a func serialize call it.
but really, I get what youre doing, but no one ever uses whats available. eg, look at the mods released here, out of all, some use some strings to format their UI.
They mostly have their own cvar finding and player finding routine. they mostly have their own files routines, most mods since AP use a text based array to load data, which files.scr, ini should replace.
I think really its because many don't have a programming back knowledge to understand the use of available "architectural" and available preexisting functions, but copy out the functions in a new file.
and over many years of being annoyed by it, I'm finally over it and except that people just make their server work for them.
the fact is, I never made a mod for a server, ever....
never made a mod for myself, ever
never made a mod I used,, ever
all my mods were to work with other mods and other mods to work with them, by trying to make standards, people ended up copying the standards in their own way by copying the ideas, and causing conflicts anyway.
still......I love the idea.. but really I think this thread proved not many even know what is there already, or possible.
what you want RR, and I think would be nice is....STRICT SCRIPTING GUIDE LINES....
get cvar by this...
get player id by this...
use strings like this...
change map like this...
What I WOULD like, is this:
A GIT? subversion system? for each of the PK3's
Where I can upload edits, changes, updates upon request from people, people can submit their requests and I / people would be happy to validate them.
Then a serverside zip script compiles it in to a pk3 with a version ID. The mods/server then auto update the pk3.
actually I like this idea so much, I'm thinking on my project I'm doing I may do something similar,
TRIVIA? did anyone know I also had a file nagle.scr
This file contained numerous functions for dealing with lights, random things, colours, player id's etc
I used it to get random colours, turn strings from text based settings files to arrays of colours for huds. "0 0 0"...-> local.array[2] = 9;....