←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Jak odróżnić gracza steam od nonsteam?

Zablokowany

  • +
  • -
ciemny - zdjęcie ciemny 26.08.2009

Tak jak w temacie, potrzebuję w pluginie odróżnić steamowca od nsowca. Próbowałem:
new steam_id[35]
	get_user_authid (id,steam_id,34)
	
	if(equal(steam_id,"STEAM_ID_LAN"))
	{
		...
		
	}
ale niestety nie działa. Może macie na to jakieś gotowe sposoby?
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 26.08.2009

Ten kod powinien Ci pomóc:
http://amxx.pl/topic... ... ght=#89698
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 26.08.2009

http://amxx.pl/topic... ... t17526.htm

Może ten temat ci pomoże ;)
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 26.08.2009

Ok, to się udało. Ale mam inny problem, na graczu nie possiadającym flagi (najlepiej p)
chciałbym żeby była wykonywana funkcja wykop(id). kod:
if( get_user_flags(id) & ADMIN_RESERVATION)
		{
			return
		}else{
			wykop(id)
		}
Nie działa, funkcja jest wykonywana na wszystkich graczach.
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 26.08.2009

if( (get_user_flags(id) & ADMIN_LEVEL_D) == 0) wykop(id);
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 26.08.2009

Zmieniłem i nadal wykopuje wszystkich non steamowców. Podam kod całego pluginu, może gdzieś indziej popełniłem błąd...
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Kontrolowani NS"
#define VERSION "0.1"
#define AUTHOR "Ciemny"


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

public client_connect(id){
	new steamid[40]
	get_user_authid(id, steamid, 39)
	if(equal(steamid[6], "ID_LAN")){
		if( (get_user_flags(id) & ADMIN_LEVEL_D) == 0) wykop(id);
	}
		
}
public wykop(id){
	new nick[32]
	get_user_name (id, nick, 31)
	server_cmd ("kick ^"%s^"", nick)
}
Odpowiedz

  • +
  • -
Knopers - zdjęcie Knopers 26.08.2009

Może coś takiego ?
#include <amxmodx>



public plugin_init() {

	register_plugin("Kontrolowani NS", "0.1", "Ciemny");

}



public client_authorized(id){

	new steamid[40];

	get_user_authid(id, steamid, 39);

	if(equal(steamid[6], "ID_LAN")){

		if( (get_user_flags(id) & ADMIN_LEVEL_D) == 0) wykop(id);

	}

       

}

public wykop(id){

	server_cmd ("kick ^"#%d^"", get_user_userid(id));

}
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 26.08.2009

Niestety nadal nie to, wykopuje mnie nawet jak mam ustawioną flagę.
Pomógł za dobre chęci!
Odpowiedz

  • +
  • -
Knopers - zdjęcie Knopers 26.08.2009

a spróbuj zmienić
if( (get_user_flags(id) & ADMIN_LEVEL_D) == 0) wykop(id);
na :
if( !(get_user_flags(id) & ADMIN_LEVEL_D) ) wykop(id);
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 26.08.2009

To jest równoznaczne, spróbuj w client_putinserver()
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 27.08.2009

Nadal nie działa, zaczynam się już irytować :P
To na pewno przez to że, ja ten plugin napisałem, nigdy nie chcą działać :P
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 27.08.2009

a masz flagę P? ;P
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 27.08.2009

Mam wszystkie flagi
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 27.08.2009

public client_authorized(id){
    new steamid[40];
    get_user_authid(id, steamid, 39);
    new iFlags=(get_user_flags(id);
    log_amx("%s - %d&%d=%d", steamid, iFlags, ADMIN_LEVEL_D, iFlags& ADMIN_LEVEL_D);
    if(equal(steamid[6], "ID_LAN")){
        if(iFlags& ADMIN_LEVEL_D  == 0) wykop(id);
    }
       
}
i pokaż logi
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 27.08.2009

Już działa, był jakiś problem w przyznawaniu przywilejów na IP. Zmieniłem na Nicki i hasło i działa. Oczywiście wszystkie pomocne odpowiedzi dostają "pomógł"
Odpowiedz
Zablokowany