←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Sprawdzanie czy gracz to steam

  • +
  • -
Pittero - zdjęcie Pittero 08.10.2010

get_user_authid(id,auth,31);
Tak pobieram gracza STEAM ID, teraz jak sprawdzic czy dany gracz to steam czy non steam tzn VALVE_ID_LAN lub STEAM_ID_LAN
Użytkownik Pittero edytował ten post 08.10.2010 16:32
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 08.10.2010


stock bool: is_user_steam(id)
{
        static pcv_dp_r_id_provider;
        pcv_dp_r_id_provider = get_cvar_pointer("dp_r_id_provider");
        server_cmd("dp_clientinfo %d", id);
        server_exec();
        
        static uClient;
        uClient = get_pcvar_num(pcv_dp_r_id_provider);
        
        if ( uClient == 2)
                return true;
        
        return false;
}
lub
is_user_steam(id) - Nieoficjalny polski support AMX Mod X
Odpowiedz

  • +
  • -
Pittero - zdjęcie Pittero 09.10.2010

DarlGL jesli gracz spelnia warunek if ( uClient == 2)
to jest steam >|??
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 09.10.2010

tzn to działa tak że gdy dproto zostawia dobry sid dla graczy steam nie zmienia go nie generuje czy coś to tak to jest steam
Odpowiedz

  • +
  • -
Pittero - zdjęcie Pittero 12.10.2010

Nie rozumiem, uzylem twoj kod z tego linku i cos zle weryfikuje bo gracza z Valve_id_lan uznaje jako steam...
Macie jakies pomysly na dproto?

Dodano 13 październik 2010 - 22:12:
stock bool:is_user_steam(id){
new authid[32], ip[32];
get_user_authid(id, authid, 31)
get_user_ip(id, ip, 31, 1)
if(containi(authid, "VALVE_ID_LAN") != -1 || containi(authid, "STEAM_ID_LAN") != -1 || containi(authid,"ID_PENDING") != -1 || containi(authid, "HLTV") != -1 || containi(authid, ip) != -1)
{
return false;
}
if(containi(authid, "STEAM_0:0") != -1 || containi(authid, "STEAM_0:1") != -1)
{
return true;
}
return false;
}

Tak zrobilem stocka i graczowi VALVE_ID_LAN daje true...
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 13.10.2010

stock bool:is_user_steam(id){
new authid[32]
get_user_authid(id, authid, 31)
return containi(authid,":")!=-1 ? true : false
}

Użytkownik grankee edytował ten post 13.10.2010 23:23
Odpowiedz

  • +
  • -
Pittero - zdjęcie Pittero 13.10.2010

stock bool:is_user_steam(id){
new authid[32]
get_user_authid(id, authid, 31)
return containi(authid,":")!=-1 ? true : false
}

A dproto generuje jakis steam id graczom non steam ?
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 14.10.2010

sprawdz czy dziala po prostu
Odpowiedz

  • +
  • -
Pittero - zdjęcie Pittero 14.10.2010

sprawdz czy dziala po prostu

Ale jak? W pluginie logow pokazuje mi STEAM_ID_LAN, or VALVE_ID_LAN
A ten stock wyzej valve_id_lan uznaje jako steam.
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 14.10.2010

... Gotowe funkcję -> is_user_steam
Odpowiedz

  • +
  • -
Pittero - zdjęcie Pittero 14.10.2010

... Gotowe funkcję -> is_user_steam

Uzylem to ale nie dziala jak nalezy:d
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 14.10.2010

nie wiem jak jest u Ciebie,ale zwykle orpheu pokazuje steam0:0:321321312 a dla nonsteam STEAM_ID_LAN
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 14.10.2010

pozatym w VALVE... czy STEAM_ID_LAN nie ma znaku ":"
Odpowiedz

hardbot - zdjęcie hardbot 14.10.2010

Sorki że się tak wbije tutaj z moim pytaniem ale mam coś z nim związanego :D

Dało by takiego skrypta wyrobić co sprawdza i wysyła info do gracza że jest steam bądź nie jest?

piszę coś na say i wysywła mi info
Tak masz Steam == jeśli gracz go ma
Nie masz Steam == jeśli gracz nie ma
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 14.10.2010

tak mozna nawet zrobic podzial na say ze jest cos takiego

[Steam] nick: wiadomosc xD
Odpowiedz

  • +
  • -
Pittero - zdjęcie Pittero 14.10.2010

Hardbot jutro Ci napisze ten plugin:P
Odpowiedz

hardbot - zdjęcie hardbot 14.10.2010

Wiem że się da ^^ tylko nie wiem jak :o i tutaj zaczyna się kręta ścieżka xP

Dziękować Pittero :)
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 15.10.2010

Używając if'a i contain/equal ?
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 15.10.2010

najlepiej dodać na końcu plugins.ini
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Home"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say","sayhandle");
}

public sayhandle(id){
	new text[192]
	read_argv(1,text,191)
	if(equal(text,"")){
		return PLUGIN_HANDLED;
	}
	new name[128];
	get_user_name(id,name,127)
	client_print(0,print_chat,"[%s] %s: %s",is_user_steam(id) ? "STEAM" : "NONSTEAM",name,text);
	return PLUGIN_HANDLED;
}

stock bool:is_user_steam(id){
                new authid[32]
                get_user_authid(id, authid, 31)
                return containi(authid,":")!=-1 ? true : false
}
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 15.10.2010

darkgl nie wiem czemu ale już któryś raz myślisz, że w ten sposób da się coś dopisać przed dwukropkiem przechwycajac say. Znaczy niby da się, ale wiadomość taką zobaczą i żywi i martwi w każdym przypadku a nick nie będzie miał koloru.
Odpowiedz