Raised This Month: $51 Target: $400
 12% 

[NEW] Developer script


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
minimiller
Veteran Member
Join Date: Aug 2007
Location: United Kingdom
Old 12-13-2008 , 17:45   [NEW] Developer script
Reply With Quote #1

It has recently come to my attention (since the last VALVE update where they made cl_yawspeed max at 400) that people are using a new developer script to get better FPS, longjumps, aim etc.
As you can see, this affects alot of peoples favourite mods, including mine (KZ)

My best longjump up untill now (all legal KreedZ settings) was 251.666
After applying the dev script, i went to try again and after about 5 or 6 jumps, i hit 254.809...
Not good

I then turned auto scroll on my mouse to continually bhop, and realised my console was spammed with this:
Quote:
Cbuf_AddText: overflow
Cbuf_AddText: overflow
Cbuf_AddText: overflow
Cbuf_AddText: overflow
Cbuf_AddText: overflow
Cbuf_AddText: overflow
I have no idea what this means, and aparently, nor does google


I highly recommend people to use this plugin below (made by exolent, edited by me) to stop this from happening

I will not say what the script is, but if ur 1/2 decent at coding, its quite obvious from the plugin


PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

public plugin_init()
{     
    
register_plugin("Anti Dev Script""1.0""Exolent & Stewie!");
    
register_forward(FM_CmdStart"FwdCmdStart");
}

public 
FwdCmdStart(clientuc_handleseed)
{
    if(!
is_user_alive(client)) 
    {
        return;
    }
    
    static 
button;    
    
button get_uc(uc_handleUC_Buttons);
    
    if(
button&IN_FORWARD
    
|| button&IN_MOVELEFT
    
|| button&IN_MOVERIGHT
    
|| button&IN_BACK
    
|| button&IN_JUMP
    
|| button&IN_DUCK)
    {
        
client_cmd(client"developer 0");
    }

This will block the the client from having "developer 1" enabled for about 1/4th of the time that it will be enabled with kz_ljs_xm
If you have none of these plugins, the script could potentially run continously while they play CS

Untill a greater fix is found however, i suggest u use this:
Attached Files
File Type: sma Get Plugin or Get Source (DevScriptProtection.sma - 1730 views - 555 Bytes)
__________________
minimiller is offline
Send a message via MSN to minimiller
Exolent[jNr]
Veteran Member
Join Date: Feb 2007
Location: Tennessee
Old 12-13-2008 , 17:47   Re: [NEW] Developer script
Reply With Quote #2

Are you submitting this or requesting a better method? lol.
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw View Post
I love you exolent!
Exolent[jNr] is offline
minimiller
Veteran Member
Join Date: Aug 2007
Location: United Kingdom
Old 12-13-2008 , 17:50   Re: [NEW] Developer script
Reply With Quote #3

kinda both

I just wanted ppl to know that its possible to "cheat" without cheating
Using FM_CmdStart still lets the dev script run for about 0.10 seconds with this plugin and about 0.50 seconds with kz_ljs_xm
Which is enough to get a boost from the prestrafe to strafes 1, 2 and probably 3
__________________
minimiller is offline
Send a message via MSN to minimiller
SchlumPF*
Veteran Member
Join Date: Mar 2007
Old 12-13-2008 , 19:41   Re: [NEW] Developer script
Reply With Quote #4

developer with fps < 100 have afaik no effect on the gameplay so this just kicks the player when his fps are above 100

PHP Code:
#include <amxmodx>
#include <fakemeta>

#pragma semicolon 1

#define SVC_KICK 2

new g_iCounter[33];

public 
plugin_init( )
{
    
register_plugin"Anti Developer""1.0""SchlumPF" );
    
register_forwardFM_PlayerPreThink"fwdPlayerPreThink_Pre");
}

public 
fwdPlayerPreThink_Preplr )
{
    static 
Float:last_check[33], Float:game_time;
    static 
frames[33];
    
    if( 
is_user_connectedplr ) )
    {
        
game_time get_gametime( );
        
        if( 
game_time last_check[plr] > 1.0 )
        {
            
// if the player has more than 100 fps he will be using developer; frames[plr] will be 100 on 99.99 fps
            
if( frames[plr] > 100 )
            {
                switch( ++
g_iCounter[plr] )
                {
                    case 
12client_printplrprint_chat"[AMXX] Using 'developer' is disallowed on this server! You will be kicked on changing developer three times (%i/3)."g_iCounter[plr] );
                    case 
3kick_userplr"'developer 1' is not allowed on this server" );
                }
                
                
client_cmdplr"developer 0" );
            }
            
            
frames[plr] = 0;
            
last_check[plr] = game_time;
        }
        
        
frames[plr]++;
    }
}

public 
client_connectplr )
{
    
g_iCounter[plr] = 0;
}

kick_userplr, const input[], { FloatSqlResult}:... )
{
    static 
reason[64];
    
vformatreason63input);

    
message_beginMSG_ONESVC_KICK, { 00}, plr );
    
write_stringreason );
    
message_end( );


Last edited by SchlumPF*; 12-13-2008 at 20:32.
SchlumPF* is offline
Send a message via ICQ to SchlumPF*
Exolent[jNr]
Veteran Member
Join Date: Feb 2007
Location: Tennessee
Old 12-14-2008 , 00:48   Re: [NEW] Developer script
Reply With Quote #5

Have you tested this?
I only ask because PreThink is based upon the server FPS.
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw View Post
I love you exolent!
Exolent[jNr] is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 12-14-2008 , 03:09   Re: [NEW] Developer script
Reply With Quote #6

I just want to say that if i put this in userconfig.cfg, your plugin won't effect me at all :

developer 1
alias developer ""

So, what you have to do is use query_client_cvar 1 time to check value and block it to 0, query it a second time to see if you have succeed in setting it to 0.
If the value is still not 0, that means that the player has blocked it before he joined, then you have no other way than kicking him.

See a method :
PHP Code:
/*    Copyright © 2008, ConnorMcLeod

    Check Kz Players Cvars is free software;
    you can redistribute it and/or modify it under the terms of the
    GNU General Public License as published by the Free Software Foundation.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Check Rates; if not, write to the
    Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.
*/

#include <amxmodx>

#define PLUGIN "Check Kz Players Cvars"
#define AUTHOR "ConnorMcLeod"
#define VERSION "0.1.3"

#define _LOG

#define SVC_DISCONNECT    2

#define NULL_FLOAT        0.000000
#define MAX_FPSMAX        101.0
#define MAX_SPEED        400.0
new const g_szCvars[][] =           {"developer""fps_max" "fps_modem""cl_sidespeed""cl_forwardspeed""cl_backspeed"}
new const 
Float:g_flCvarsValues[] = {NULL_FLOAT MAX_FPSMAX,  NULL_FLOAT,   MAX_SPEED   ,     MAX_SPEED    ,   MAX_SPEED   }

new 
g_iCvarNum

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_dictionary("kzcvars.txt")
    
g_iCvarNum sizeof(g_szCvars)
}

public 
client_putinserver(id)
{
    
set_task(0.1"FirstCheck"id)
}

public 
FirstCheck(id)
{
    for(new 
ii<g_iCvarNumi++)
    {
        
CheckClientCvar(idg_szCvars[i])
    }
}

public 
Recheck(parm[])
{
    new 
id parm[0]
    if( 
is_user_connected(id) )
    {
        
CheckClientCvar(idg_szCvars[parm[1]], 1)
    }
}

CheckClientCvar(id, const szCvar[], iSecondCheck=0)
{
    static 
recheck[1]
    
recheck[0] = iSecondCheck
    query_client_cvar
(idszCvar"ClientCvarResult"1recheck)
}

public 
ClientCvarResult(id, const szCvar[], const szValue[], const recheck[])
{
    
#if defined _LOG
        
static const szLogFile[] = "KzPlayersCvars.log"
    
#endif
    
if( equal(szValue"Bad CVAR request") )
    {
        
#if defined _LOG
            
log_to_file(szLogFile"%s is not a (catchable) client cvar"szCvar)
        
#endif
        
return
    }
    
    for(new 
ii<g_iCvarNumi++)
    {
        if( 
equal(szCvarg_szCvars[i]) )
        {
            new 
Float:flMaxVal g_flCvarsValues[i]
            if( 
str_to_float(szValue) != flMaxVal )
            {
                if( 
recheck[0] )
                {
                    
#if defined _LOG
                        
new szName[32], szAuthid[20]
                        
get_user_name(idszName31)
                        
get_user_authid(idszAuthid19)
                        
log_to_file(szLogFile"<%s><%s><%s><%s>"szNameszAuthidszCvarszValue)
                    
#endif
                    
new szReason[128]
                    
formatex(szReason127"%L"id"KZCVAR_KICK_REASON"szCvarszValueflMaxValszCvar)
                    
kick_user(idszReason)
                }
                else
                {
                    
client_cmd(id"%s %.0f;alias %s"szCvarflMaxValszCvar)
                    new 
parms[2]
                    
parms[0] = id
                    parms
[1] = i
                    set_task
(0.1"Recheck"id+(32*i), parms2)
                }
            }
            else if( !
recheck[0] )
            {
                
client_cmd(id";alias %s"szCvar)
            }
            break
        }
    }
}

kick_user(id, const szKickMsg[])
{
    
emessage_begin(MSG_ONESVC_DISCONNECT_id// oranguntanz
    
ewrite_string(szKickMsg)
    
emessage_end()

__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
SchlumPF*
Veteran Member
Join Date: Mar 2007
Old 12-14-2008 , 08:02   Re: [NEW] Developer script
Reply With Quote #7

oh thtas what i wanted to tell minimiller too cuz i was testing around yesterday and tried some way to block developer by querying the cvar ^^

anyway i once tested the fps code i use above and was working (dunno why but i know that playerprethink is not fps based :/

edit: i think i made a big mistake xD i was testing the plugin on my listenserver so it should be working... unfortunately i cannot test this on a ds with "+sys_ticrate 1000" :/ anyway i already saw two other method of getting the fps by clientprethink so i just thought they are somehow working.
__________________

Last edited by SchlumPF*; 12-14-2008 at 08:20.
SchlumPF* is offline
Send a message via ICQ to SchlumPF*
minimiller
Veteran Member
Join Date: Aug 2007
Location: United Kingdom
Old 12-14-2008 , 10:29   Re: [NEW] Developer script
Reply With Quote #8

my KZ server is 1000FPS and 1200 ticrate, so ill test this soon
Thanks for every1s help

(Y)
__________________
minimiller is offline
Send a message via MSN to minimiller
SchlumPF*
Veteran Member
Join Date: Mar 2007
Old 12-14-2008 , 16:17   Re: [NEW] Developer script
Reply With Quote #9

according to steampowered's faq sys_tickrate == server fps (except for listenservers which's max fps gets changed by fps_max). moreover sys_tickrate's maximum value is 1000
__________________
SchlumPF* is offline
Send a message via ICQ to SchlumPF*
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 12-15-2008 , 03:26   Re: [NEW] Developer script
Reply With Quote #10

sys_tickrate == MAX server fps || MAX server fps = sys_tickrate
__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 12-15-2008 at 11:28.
ConnorMcLeod is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:26.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode