←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Modyfikacja
[ROZWIĄZANE] Usunięcie fragmentu kodu odpo...

Zablokowany

  • +
  • -
stream - zdjęcie stream 29.11.2011

Witam!
Chciałbym usunąć część kodu, która odpowiada za sprawdzanie i zmianę rate po stronie gracza.
#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)
}


Osobiście tak to zrobiłem, lecz nie wiem czy dobrze
#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_maxinterp, c_say, 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_maxinterp = register_cvar("sv_maxclniterp", "0.03")
c_say = register_cvar("sv_informcl", "1")

cache_cvars()
}
public client_connect(id)
{
timetocheck[id] = false
}
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_maxinterp = get_pcvar_float(c_maxinterp)
g_say = get_pcvar_num(c_say)
}


Pozdrawiam!
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 29.11.2011

#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_maxinterp, c_say,Float:g_maxinterp, g_say

public plugin_init()

{

	register_plugin(PLUGIN, VERSION, AUTHOR)

	

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

	

	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 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_maxinterp = get_pcvar_float(c_maxinterp)

	g_say = get_pcvar_num(c_say)

}

Odpowiedz

  • +
  • -
stream - zdjęcie stream 29.11.2011

Serdecznie dziękuję!
Odpowiedz

  • +
  • -
Ojciec Dyrektor - zdjęcie Ojciec Dyrektor 29.11.2011

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 29.11.2011

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

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

new c_maxinterp, c_say,Float:g_maxinterp, g_say
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HLTV", "cache_cvars", "a", "1=0", "2=0")
	
	c_maxinterp = register_cvar("sv_maxclniterp", "0.05")
	c_say = register_cvar("sv_informcl", "1")
	
	cache_cvars()
}

public client_spawn(id)
{       
	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)
{
	
	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)
		}
	}
	
}

public cache_cvars()
{
	g_maxinterp = get_pcvar_float(c_maxinterp)
	g_say = get_pcvar_num(c_say)
}
Odpowiedz
Zablokowany