←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Problem z ma_rates

  • +
  • -
ozoku - zdjęcie ozoku 27.05.2012

Witam, mam taki problem tworzyłem przez 5 dni plugin na sprawdzanie cmd, rate, update i interp. Plugin prawie dobrze działa tylko że nie pokazuje interpu i cmd, poniżej podaje kod sma który stworzyłem:

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

#define PLUGIN "MA_RATES"
#define VERSION "1.0"
#define AUTHOR "ozoku"

public plugin_init()
{

register_concmd("ma_rates", "RATES", 0, " - pokazuje raty graczy.", ADMIN_CFG)
register_event("HLTV", "cache_cvars", "a", "1=0", "2=0");
}

public RATES(id)
{

new rate[33], update[4], imie[33];
new UserInterp[9], UserCmdRate[9];
new Players[32], ile;
new ilee=0;
get_players( Players , ile);
console_print(id , "RATY graczy grajacych na servie:");
console_print(id , "# | Nick: | Interpy: | Raty: | Cmd: | Update:");

for(new i=0; i < ile; i++, is_user_connected(id) && (!(is_user_bot(id))))

{

get_user_info(Players[i], "cl_cmdrate", UserCmdRate, 8);
get_user_info(Players[i], "ex_interp", UserInterp, 8);

get_user_info(Players[i], "rate", rate, 32);
get_user_info(Players[i], "cl_updaterate" , update, 3);
get_user_name(Players[i], imie , 32);

console_print(id , "%d | %s | %s | %s | %s | %s ", (i + 1) , imie , UserInterp , rate , UserCmdRate , update );

ilee=i+1;

}
console_print(id , "Wszystkich graczy: %d",ilee)
return PLUGIN_HANDLED;
}

Plugin ten ma działać na serwerze S/NS
Użytkownik ozoku edytował ten post 27.05.2012 19:15
Odpowiedz

Gość_21977_* 28.05.2012

Nie możesz za pomocą get_user_info pobrać tych wartości, o których wspomniałeś.
Zamiast tego użyj query_client_cvar(id, "ex_interp", (...) po spawnie, ew. przy autoryzacji
Przejrzyj też pluginy typu "wymuszacz interpu, sprawdzanie interpu itp.", by ujrzeć przykłady.
Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 29.05.2012

Uważaj tylko na query_client_cvar, gdyż powoduje wyrzucenie z serwera niektórych (jak nie większość) graczy Non Steam, gdyż protokół 47 nie jest do tej operacji przystosowany. Możesz poprzez dproto sprawdzić protokół klienta i wykonywać query_client_cvar tylko na osobach z protokołem 48. Na starszych pobieraj przez get_user_info, gdyż czasem mu się zdarzy zadziałać ;)
Odpowiedz

  • +
  • -
ozoku - zdjęcie ozoku 29.05.2012

get_user_info nie pobiera własnie danych interpu i cmd, a query_client_cvar wywala graczy NS. + lecą za chęci
Odpowiedz

  • +
  • -
ImSpY - zdjęcie ImSpY 30.05.2012

A próbowałeś get_uc ?


Tutaj masz opis: amxx.pl/dokumentacja/szukaj/get_uc
A tutaj fakemeta_const.inc: http://amxx.pl/dokum.../fakemeta_const
Użytkownik ImSpY edytował ten post 30.05.2012 10:43
Odpowiedz