Zaraz BlackPerfum mnie oswieci i opieprzy
Jak się prosisz to dobrze.
czy da się pobrać czy gracz gra na serwerze przez X map
Stanowczo nie polecam takiego sprawdzania gdyż żaden sposób nie jest idealny aby to dokładnie sprawdzić a ten najbardziej dokładny opiera się na przegranym czasie w danej mapie dlatego od razu mówię że lepiej rboić liczniki w stylu "
czy gracz ma przegrane x godzin/minut na serwerze" o czywiście można ten czas podzielić przez
mp_timeleft dzięki czemu wyjdzie nam taki pseudo licznik map co też nie jest zbyt dobre gdyż gracz wchodzi na 10 map ale na 2~4 minuty a ma w statystykach że przegrał tylko 1 mapę
Zatem najlepszym sposobem jest sprawdzanie ile gracz przegrał
czasu na serwerze
A wiesz może, jak sprawdzić czy ofiara została zgładzona przez admina?
Bez łapania logów które można zmieniać może byc ciężko.Możesz przerobić plugin
admincmd gdyż w nim jest funkcja odpowiedzialna za slay'a Można zrobić najwyżej coś takiego:
//w plugin_init
register_concmd("amx_slay", "LapiemyKomende", ADMIN_SLAY)
//Gdzies dalej
public LapiemyKomende(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new arg[32]
read_argv(1, arg, 31)
new player = cmd_target(id, arg, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE)
if (!player) return PLUGIN_HANDLED_MAIN
//Ty mamy zlapanego slay'a
SlayPlayer(player,id)
}
SlayPlayer(IdGracza,IdAdmina)
Co do map:
da sie. Prostu plugin na nvault/text i po sprawie. Co mape powiekszac licznik o 1, a jak wyjdzie to wyzerowac.
Gracz wejdzie na 1 sek akurat na zakończenie mapy i dostaje do statystyk 1 pkt a był tylko sekundę na serwerze no super pomysł
I jak byście zrobili sprawdzanie ilość połączeń gracza na serwer, żeby nie działał reconnect i żeby nabijało połączenia np. co 20 min, ja wiem jak to mniej więcej zrobić z połączenia gracza na serwer, ale chciał bym się poradzić.
W
client_connect dodajesz do aktualnej liczby połączeń 1 oraz obok tej jedynki zapisujesz aktualny czas (polecam za pomocą SQL) oraz robisz set_taska na 20 min ale robisz to wszystko jeśli pobrany czas jest równy/większy niż 20 min a w tasku robisz to samo co w
client_connect (czyli tam tez sprawdzasz czy mineło 20 min) Zapisujesz jakimkolwiek sposobem np. vault/nvault/sql/do pliku ale oczywiście polecam SQL'a gdyż może kiedyś ci się zamarzyć coś większego a w SQL'u jest banalnie aktualne dane przerabiać
Jesli jest wiekszy od 20 to kick lub ban na 5 min.
Za co ban ?? Za to że zrobił reconnect bez przesady
Mi osobiście często net się rozłącza i bardzo nie lubię jak ktoś ma na serwerze takie badziewne pluginy.