←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Modyfikacja
Ustawienia interpu - przeróbka

  • +
  • -
Aro's Photo Aro 08.03.2013

Witam wszystkich ;)

Bardzo proszę o przerobienie tego pluginu , żeby w powodzie bana nie znajdowało się 3 Zmiany ustawień - usunąć te 3 :P i zamienić na "Zmieniasz ustawienia!"



#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Poprawne ust."
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

#define AMXBANS 1
// Edytowane przez BotQ'a

new bool:timetocheck[33], zmienil[4][33];
// zmienil[1][id] - cl_updaterate
// zmienil[2][id] - rate
// zmienil[3][id] - ex_interp

new c_minrate, c_minupdaterate, c_maxinterp, c_say, c_time, c_zmian, c_powod;
new g_minrate, g_minupdaterate, Float:g_maxinterp, g_say, g_time, g_zmian;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

RegisterHam(Ham_Spawn, "player", "client_spawn", 1)

register_event("HLTV", "cache_cvars", "a", "1=0", "2=0")

c_minrate = register_cvar("set_minclrate", "20000")
c_minupdaterate = register_cvar("set_clupdaterate", "45")
c_maxinterp = register_cvar("set_interp", "0.05")
c_say = register_cvar("set_info", "1")
c_time = register_cvar("set_time", "10")
c_zmian = register_cvar("set_zmian", "3")
c_powod = register_cvar("set_powod","Zmiany ustawien")

cache_cvars()
}

public client_connect(id) {
timetocheck[id] = false
for(new con=0;con<=3;con++) zmienil[con][id] = 0
}

public client_disconnect(id) {
timetocheck[id] = false
for(new con=0;con<=3;con++) zmienil[con][id] = 0
}

public client_spawn(id)
{
if(is_user_hltv(id))
return;
static updaterate[6], rate[6]

get_user_info(id, "cl_updaterate", updaterate, 5)
get_user_info(id, "rate", rate, 5)

new nickgracza[32];
get_user_name(id,nickgracza,31);

if(str_to_num(updaterate) < g_minupdaterate)
{
client_cmd(id, "cl_updaterate %d", g_minupdaterate)
zmienil[1][id]++;

if(g_say)
{
client_print(0, 3, "~ %s posiada za niski `cl_updaterate`, zmieniono na %d (%i/%i)", nickgracza, g_minupdaterate, zmienil[1][id], g_zmian)
}
}

if(str_to_num(rate) < g_minrate)
{
client_cmd(id, "rate %d", g_minrate)
zmienil[2][id]++;

if(g_say)
{
client_print(0, 3, "~ %s posiada za niski `rate`, zmieniono na %d (%i/%i)", nickgracza, g_minrate, zmienil[2][id], g_zmian)
}
}

timetocheck[id] = true

static h
h = register_forward(FM_CmdStart, "client_cmdstart", 1)
set_task(0.01, "unregister", h)
}

public unregister(h)
{
unregister_forward(FM_CmdStart, h, 1)
}

public client_cmdstart(id, uc_handle, seed)
{
if(is_user_hltv(id))
return;

if(timetocheck[id])
{
static value;
value = get_uc( uc_handle, UC_LerpMsec );

new nickgracza[32];
get_user_name(id,nickgracza,31);

if(float(value) / 1000.0 > g_maxinterp + 0.005) // maly fix
{
client_cmd(id, "ex_interp %0.2f", g_maxinterp);
zmienil[3][id]++;

if(g_say)
{
client_print(0, print_chat, "~ %s posiada za wysoki 'ex_interp', zmieniono na %0.2f (%i/%i).", nickgracza, g_maxinterp, zmienil[3][id], g_zmian)
}
}
timetocheck[id] = false

for(new con=0;con<=3;con++)
{
if(zmienil[con][id] >= g_zmian)
{
new JakiPowod[17]
get_pcvar_string(c_powod, JakiPowod, 16);
#if AMXBANS
server_cmd("amx_ban %i %s ^"%i %s^"", g_time, nickgracza, g_zmian, JakiPowod);
#else
server_cmd("amx_ban %s %i ^"%i %s^"", nickgracza, g_time, g_zmian, JakiPowod);
#endif
switch(zmienil[con][id])
{
case 1: client_print(id, 3, "~ Przekroczony limit zmian `cl_updaterate` (%i/%i) !", zmienil[con][id], g_zmian)
case 2: client_print(id, 3, "~ Przekroczony limit zmian `rate` (%i/%i) !", zmienil[con][id], g_zmian)
case 3: client_print(id, 3, "~ Przekroczony limit zmian 'ex_interp' (%i/%i) !", zmienil[con][id], g_zmian)
}
}
}
}
}

public cache_cvars()
{
g_minrate = get_pcvar_num(c_minrate);
g_minupdaterate = get_pcvar_num(c_minupdaterate);
g_maxinterp = get_pcvar_float(c_maxinterp);
g_say = get_pcvar_num(c_say);
g_zmian = get_pcvar_num(c_zmian);
g_time = get_pcvar_num(c_time);
}



Z góry dzięki :)
Edited by Aro1z, 08.03.2013 23:31.
Quote

  • +
  • -
Aqku's Photo Aqku 09.03.2013

Proszę.

Attached Files

Quote

  • +
  • -
Aro's Photo Aro 09.03.2013

Niestety trójka w powodzie bana występuje nadal ;/
Quote