←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

gotowa funkcja na sprawdzanie np ex_interp

mlekowita - zdjęcie mlekowita 03.12.2011

Witam. Szukam gotowej funkcji na sprawdzenie u gracza np ex_interp. Za każdą odpowiedź naprowadzającą :plus: . Ale wolę gotową funkcję bo jest leniem.
Odpowiedz

  • +
  • -
speedkill - zdjęcie speedkill 03.12.2011

Interpu Gracza chyba nie da się sprawdzić możesz go zmienić ale i tak i tak client_cmd( zadziała chyba tylko na steam'owców :]
A może się da sprawdzić ale tylko steamowcą.
Użytkownik speedkill123 edytował ten post 03.12.2011 12:45
Odpowiedz

mlekowita - zdjęcie mlekowita 03.12.2011

a taki plugin "strażnik interpu" czy coś w tym stylu , to jak on sprawdza ? :&
Użytkownik Kacper357 edytował ten post 03.12.2011 13:11
Odpowiedz

  • +
  • -
^Grzyboo - zdjęcie ^Grzyboo 03.12.2011

Nie sprawdza, ustawia co jakiś czas każdemu 0.01
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 03.12.2011

sprawdzać możesz poprzez query_client_cvar ale działa to tylko dla steam i ns patch v42 chyba
lub w cmdstart sprawdzać UC_LerpMsec (trzeba podzielić zwracano wartość przez 1000 chyba)
Odpowiedz

  • +
  • -
kapi10072 - zdjęcie kapi10072 04.12.2011


/* Plugin generated by AMXX-Studio */

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

#define PLUGIN "Poprawne rate"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

new bool:timetocheck[33]

new c_minrate, c_minupdaterate, c_maxinterp, c_say, g_minrate, g_minupdaterate, Float:g_maxinterp, g_say

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("sv_minclrate", "20000")
c_minupdaterate = register_cvar("sv_minclupdaterate", "45")
c_maxinterp = register_cvar("sv_maxclniterp", "0.05")
c_say = register_cvar("sv_informcl", "1")

cache_cvars()
}

public client_connect(id)
{
timetocheck[id] = false
}

public client_spawn(id)
{
static updaterate[6], rate[6]

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

if(str_to_num(updaterate) < g_minupdaterate)
{
client_cmd(id, "cl_updaterate %d", g_minupdaterate)

if(g_say)
{
client_print(id, 3, "[AMXX] Twoje ustawienie `cl_updaterate` bylo zbyt niskie, zostalo ustawione na %d", g_minupdaterate)
}
}

if(str_to_num(rate) < g_minrate)
{
client_cmd(id, "rate %d", g_minrate)

if(g_say)
{
client_print(id, 3, "[AMXX] Twoje ustawienie `rate` bylo zbyt niskie, zostalo ustawione na %d", g_minrate)
}
}

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(timetocheck[id])
{
static value
value = get_uc( uc_handle, UC_LerpMsec )

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

if(g_say)
{
client_print(id, 3, "[AMXX] Twoje ustawienie `ex_interp` bylo zbyt wysokie, zostalo ustawione na %0.2f", g_maxinterp)
}
}
timetocheck[id] = false
}
}

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)
}

Coś takiego?
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 04.12.2011

tak
Odpowiedz