←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Strażnik minmodels

Locked

  • +
  • -
nester's Photo nester 03.05.2011

Zrobiłem amatorski plugin, który według mojej myśli miał sprawdzać, czy gracz przy wejściu na serwer ma ustawione "cl_minmodels 1" i ustawiał "cl_minmodels" na 0. Po wyjściu gracza z serwera, gdy miał na początku ustawione "cl_minmodels" na 1, ponownie mu to ustawiał, a gdy miał na 0, pozostawiał jak jest. Lepiej nie umiem wytłumaczyć, plugin pod codmod, przy kompilacji występuje kilka błędów.

.sma:
#include <amxmodx>
#include <amxmisc>

new g_sec[32]

public plugin_init()
{
	register_plugin("Straznik minmodels", "1.0", "nesteRou")
}

public client_putinserver(id) 
{		
		get_user_info(id, "cl_minmodels",minmod,31)
		g_sec[id] = str_to_num(minmod)
}

public client_disconnect(id)
{
		if g_sec[id] = 1
			client_cmd(id,"cl_minmodels 1")
			return PLUGIN_HANDLED
}

Błędy przy kompilacji:
//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// minmodels.sma
// S:\compiler\minmodels.sma(13) : error 017: undefined symbol "minmod"
// S:\compiler\minmodels.sma(13) : warning 215: expression has no effect
// S:\compiler\minmodels.sma(13) : error 001: expected token: ";", but found ")"
// S:\compiler\minmodels.sma(13) : error 029: invalid expression, assumed zero
// S:\compiler\minmodels.sma(13) : fatal error 107: too many error messages on one line
// 
// Compilation aborted.
// 4 Errors.
// Could not locate output file S:\compiler\compiled\minmodels.amx (compile failed).
//
// Compilation Time: 0,05 sec
// ----------------------------------------

// File not found.

Press enter to exit ...
Quote

  • +
  • -
Portek's Photo Portek 03.05.2011

#include <amxmodx>
#include <amxmisc>

new g_sec[32]

public plugin_init()
{
register_plugin("Straznik minmodels", "1.0", "nesteRou")
}

public client_putinserver(id)
{
new minmod[32];
get_user_info(id, "cl_minmodels",minmod,31)
g_sec[id] = str_to_num(minmod)

if(str_to_num(minmod) == 1)
client_cmd(id,"cl_minmodels 0")
}

public client_disconnect(id)
{
if(g_sec[id] == 1) {
client_cmd(id,"cl_minmodels 1")
}
return PLUGIN_HANDLED
}


Choć nie jestem pewien czy odpytasz gracza w ten sposób o minmodels :-)
Quote

  • +
  • -
nester's Photo nester 03.05.2011

Niestety, przy wejściu na serwer nie zmienia minmodels na 0, więc nie zmieni spowrotem na 1 :confused:
Quote

  • +
  • -
Change's Photo Change 03.05.2011

przez get_user_info nie pobierzesz minmodels :coto:
Quote

  • +
  • -
nester's Photo nester 04.05.2011

Jakaś podpowiedź? sugestia? ;)
Quote

  • +
  • -
diablix's Photo diablix 04.05.2011

#include <amxmodx>

#define VERSION "0.1"

new g_TempValue[33];

public plugin_init() {
register_plugin("Min models checker", VERSION, "diablix");
}

public client_authorized(id)
query_client_cvar(id, "cl_minmodels", "funcResult");

public funcResult(id, const szCvar[], const szValue[]){
new iValue = str_to_num(szValue);

g_TempValue[id] = iValue;

if(iValue == 1)
client_cmd(id, "cl_minmodels ^"0^"");
}

public client_disconnect(id)
client_cmd(id, "cl_minmodels ^"%d^"", g_TempValue[id]);
Quote

  • +
  • -
DarkGL's Photo DarkGL 05.05.2011

dodam że plugin spowoduje wywalenie graczy non steam
Quote

  • +
  • -
diablix's Photo diablix 05.05.2011

dodam że plugin spowoduje wywalenie graczy non steam


No tak myślałem że serwer only steam :D Myślę że nie ma sposobu pobrać inaczej niż przez query_client_cvar
Quote

  • +
  • -
nester's Photo nester 05.05.2011

ok, dzięki za odpowiedź.
Quote
Locked