AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Automatic Lowrate Fixxer (https://forums.alliedmods.net/showthread.php?t=130456)

Stylaa 06-24-2010 03:53

Automatic Lowrate Fixxer
 
Heres my Plugin ( Edit of the Rate Checker )

What i have done Wrong ?
It dont work :)
Nothing happens ingame when i set the Rate to example 2000

Code:


#include < amxmodx >
#include < amxmisc >
#include < engine >
#include < cstrike >
#include < fun >
#include < fakemeta >
#include < hamsandwich >

#define PLUGIN "Lowrate Fixxer"
#define VERSION "1.00"
#define AUTHOR "Stylaa"
#define AUTHOR_ICQ "797-081"

forward GlobalTimer();

// - // - // - // - // - // - // - //

new minrate, maxrate, mincmdrate, maxcmdrate, minupdaterate,maxupdaterate,mininterp, maxinterp;
new g_rateon, g_updaterateon, g_cmdrateon, g_interpon, g_minmodelon, minmodelforce;

enum pInfo // Plugin Store Data
{
    pConnected,
    pName[32],
    pRate[32],
    pCMDRate[32],
    pUpdateRate[32],
    pSteamID[35],
    pinterp[32],
    pminmodels[32],
   
    pDetectedRate[32],
    pDetectedCmdRate[32],
    pDetectedUpdateRate[32],
    pDetectedInterp[32],
    pDetectedMinModels[32],
};
new PluginInfo[32][pInfo];
new num
new players[32];

// - // - // - // - // - // - // - //

public plugin_init()
{
    register_plugin( PLUGIN, VERSION, AUTHOR );
    register_cvar( "lowrateforcer_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY );
   
    // Rate
    g_rateon =register_cvar("lr_rateon","1")
    minrate  =register_cvar("lr_minrate","20000")
    maxrate  =register_cvar("lr_maxrate","25000")
    // Cmdrate
    g_cmdrateon =register_cvar("lr_cmdrateon","1")
    mincmdrate  =register_cvar("lr_mincmdrate","99")
    maxcmdrate  =register_cvar("lr_maxcmdrate","101")
    // Update Rate
    g_updaterateon =register_cvar("lr_updaterateon","1")
    minupdaterate  =register_cvar("lr_minupdaterate","99")
    maxupdaterate  =register_cvar("lr_maxupdaterate","101")
    // Interp
    g_interpon =register_cvar("lr_checkinterp","1")
    mininterp  =register_cvar("lr_mininterp","0.09")
    maxinterp  =register_cvar("lr_maxinterp","0.1")
    // Minmodels
    g_minmodelon  =register_cvar("lr_minmodelcheck","1")
    minmodelforce  =register_cvar("lr_setminmodelsto","0")
   

    set_task( 3.0, "GlobalTimer", _, _, _, "b" )
   
    return PLUGIN_CONTINUE
}

public GlobalTimer()
{
    //Get Number of players in the server
    get_players(players,num,"c")
        //Loop for all players and retrieve rate info
    for (new i[1] = 0; i[0] < num; ++i[0]) {
       
        PluginInfo[num][pDetectedRate] = 0;
        PluginInfo[num][pDetectedCmdRate] = 0;
        PluginInfo[num][pDetectedUpdateRate] = 0;
        PluginInfo[num][pDetectedInterp] = 0;
        PluginInfo[num][pDetectedMinModels] = 0;
       
        get_user_name(players[num],PluginInfo[num][pName], 31)
        get_user_authid(players[num], PluginInfo[num][pSteamID], 34);
        get_user_info(players[num], "rate", PluginInfo[num][pRate], 31)
        get_user_info(players[num], "cl_updaterate", PluginInfo[num][pUpdateRate], 31)
       
       
        query_client_cvar(players[i[0]],"cl_cmdrate","cmdrate_result_func",1,i)
        query_client_cvar(players[i[0]],"ex_interp","interp_result_func",1,i)
        query_client_cvar(players[i[0]],"cl_minmodels","minmodel_result_func",1,i)


        if(PluginInfo[num][pRate] >= maxrate || PluginInfo[num][pRate] <= minrate)
        {
            if(g_rateon == 1)
            {
                PluginInfo[num][pDetectedRate] = 1;
            }
        }
       
        if(PluginInfo[num][pCMDRate] >= maxcmdrate || PluginInfo[num][pCMDRate] <= mincmdrate)
        {
            if(g_cmdrateon == 1)
            {
                PluginInfo[num][pDetectedCmdRate] = 1;
            }
        }
       
        if(PluginInfo[num][pUpdateRate] >= maxupdaterate || PluginInfo[num][pUpdateRate] <= minupdaterate)
        {
            if(g_updaterateon == 1)
            {
                PluginInfo[num][pDetectedUpdateRate] = 1;
            }
        }
       
        if(PluginInfo[num][pinterp] >= maxinterp || PluginInfo[num][pinterp] <= mininterp)
        {
            if(g_interpon == 1)
            {
                PluginInfo[num][pDetectedInterp] = 1;
            }
        }
       
        if(g_minmodelon == 1 && PluginInfo[num][pminmodels] != minmodelforce)
        {
            PluginInfo[num][pDetectedMinModels] = 1;
        }
       
        if(PluginInfo[num][pDetectedRate] == 1 || PluginInfo[num][pDetectedCmdRate] == 1 || PluginInfo[num][pDetectedUpdateRate] == 1 || PluginInfo[num][pDetectedInterp] == 1 || PluginInfo[num][pDetectedMinModels] == 1)
        {
            client_print(0,print_chat,"---> Lowrates of %s<---", PluginInfo[num][pName])
           
            if(PluginInfo[num][pDetectedRate] == 1)
            {
                client_print(0,print_chat,"-> Rate : %d set to %d", PluginInfo[num][pRate], maxrate)
                client_cmd(num, "rate %d", maxrate)
            }
           
            if(PluginInfo[num][pDetectedCmdRate] == 1)
            {
                client_print(0,print_chat,"-> Cmd-Rate : %d set to %d", PluginInfo[num][pCMDRate], maxcmdrate)
                client_cmd(num, "cl_cmdrate %d", maxcmdrate)
            }
           
            if(PluginInfo[num][pDetectedUpdateRate] == 1)
            {
                client_print(0,print_chat,"-> Update-Rate : %d set to %d", PluginInfo[num][pUpdateRate], maxupdaterate)
                client_cmd(num, "cl_updaterate %d", maxupdaterate)
            }
           
            if(PluginInfo[num][pDetectedUpdateRate] == 1)
            {
                client_print(0,print_chat,"-> eX-Interp : %d set to %d", PluginInfo[num][pinterp], maxinterp)
                client_cmd(num, "ex_interp %d", maxinterp)
            }
           
            if(PluginInfo[num][pDetectedUpdateRate] == 1)
            {
                client_print(0,print_chat,"-> cl_minmodels : %d set to %d", PluginInfo[num][pminmodels], maxinterp)
                client_cmd(num, "cl_minmodels %d", minmodelforce)
            }
           
        }
       
    }
   
}


public cmdrate_result_func(id,const cvar[],const value[],const param[])
{
    copy(PluginInfo[id][pCMDRate][param[0]],31,value)
}

public interp_result_func(id,const cvar[],const value[], const param[])
{
    copy(PluginInfo[id][pinterp][param[0]],31,value)
}

public minmodel_result_func(id,const cvar[],const value[], const param[])
{
    copy(PluginInfo[id][pminmodels][param[0]],31,value)
}


BLANCIKJOINT_ 02-13-2014 03:55

Re: Automatic Lowrate Fixxer
 
L 02/13/2014 - 09:30:00: Invalid player id 0
L 02/13/2014 - 09:30:00: [AMXX] Displaying debug trace (plugin "rate_new2.amxx")
L 02/13/2014 - 09:30:00: [AMXX] Run time error 10: native error (native "get_user_info")
L 02/13/2014 - 09:30:00: [AMXX] [0] rate_new2.sma::GlobalTimer (line 90)

JusTGo 02-13-2014 12:42

Re: Automatic Lowrate Fixxer
 
you should check if player connected

fysiks 02-13-2014 12:52

Re: Automatic Lowrate Fixxer
 
This plugin will not work and is horrible concept to begin with, aka it wouldn't work if it was even possible to run.


All times are GMT -4. The time now is 14:52.

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