Rozpoznawanie graczy po zmianie mapy
Najlepsza odpowiedź
zasepa
14.06.2016 08:08
Serwery różnie mają zrobiony system logowania. Ja napisałem go po swojemu
Jeszcze raz bardzo dziękuje za pomoc. Wszystko śmiga jak należy

zasepa
05.06.2016
Witam
Nie wiem jak to opisać ale mam nadzieje że jakoś się uda
Mam pytanie w jaki sposób mogę sprawdzać że po zmianie mapy gracz został ponownie połączony do serwera. A nie sam ponownie wszedł.
Czyli: następuje zmiana mapy, gracze ponownie zostają połączeni do serwera. i tu wykonuje się komenda dla tych co zostali z poziomu serwera połączeni.
Chodzi mi o coś takiego że po zmianie mapy nie musimy ponownie wpisywać hasła na serwerze, Jak w przypadku gdy sami wejdziemy
Proszę o pomoc
Master Yoga
11.06.2016
Jeśli chodzi o automatycznie logowanie to możesz rozwiązać to w taki sposób:
#include <amxmodx> #include <amxmisc> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Master Yoga" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("get_value", "getValue") register_clcmd("set_value", "setValue") } public getValue(id) { new Value[ 30 ]; get_user_info(id,"set_info _pass",Value,29) client_print(0,print_chat," Value :: %s ", Value) return PLUGIN_HANDLED; } public setValue(id) { set_user_info(id,"set_info _pass", "7#0bC5814A") client_print(0,print_chat," Haslo ustawione ") return PLUGIN_HANDLED; }
Master Yoga
12.06.2016
Dlatego też pozwolę sobie napisać post pod postem i odwzorować ci usunięty fragment.
A więc musisz użyć funkcji set_user_info oraz get_user_info. Zastosowanie tych funkcji zaprezentowałem ci w kodzie powyżej.
Wartość komendy zostanie usunięta w momencie gdy wyjdziemy z gry, bądź rozłączymy się z serwerem ( disconnect ). Innymi słowy wartość komendy po zmianie mapy nie ulegnie zmianie.
Co do rozpoznawania graczy, którzy dopiero się połączyli oraz automatycznego logowania:
Jeśli dana komenda nie ma ustawionej wartości to znaczy że gracz dopiero co dołączył do rozgrywki.
Pamiętaj by w momencie kiedy gracz poprawnie poda hasło, przypisać wartość komendzie. U ciebie tą wartością będzie podane hasło.
Kontynuując, gdy gracz połączy się z serwerem musisz sprawdzić czy komenda ma jakąś wartość jeśli nie odsyłasz gracza do standardowego logowania jeśli jednak ma ustawioną jakąś wartość to porównujesz ją z hasłem ( logowanie automatyczne ).
GeDox
12.06.2016
A więc musisz użyć funkcji set_user_info oraz get_user_info. Zastosowanie tych funkcji zaprezentowałem ci w kodzie powyżej.
Wartość komendy zostanie usunięta w momencie gdy wyjdziemy z gry, bądź rozłączymy się z serwerem ( disconnect ). Innymi słowy wartość komendy po zmianie mapy nie ulegnie zmianie.
Krwiopijca ustawia u siebie w modzie _pin i dalej zostaje po wyjściu
Master Yoga
12.06.2016
A więc musisz użyć funkcji set_user_info oraz get_user_info. Zastosowanie tych funkcji zaprezentowałem ci w kodzie powyżej.
Wartość komendy zostanie usunięta w momencie gdy wyjdziemy z gry, bądź rozłączymy się z serwerem ( disconnect ). Innymi słowy wartość komendy po zmianie mapy nie ulegnie zmianie.Krwiopijca ustawia u siebie w modzie _pin i dalej zostaje po wyjściu
Przed napisaniem postu przetestowałem powyższą metodę.
Uwierz mi plugin nie odczytał wartości dla danej komendy.
Być może obaj mamy rację, a efekty metody są uzależnione od pewnych ustawień ?
NEQU#
12.06.2016
A więc musisz użyć funkcji set_user_info oraz get_user_info. Zastosowanie tych funkcji zaprezentowałem ci w kodzie powyżej.
Wartość komendy zostanie usunięta w momencie gdy wyjdziemy z gry, bądź rozłączymy się z serwerem ( disconnect ). Innymi słowy wartość komendy po zmianie mapy nie ulegnie zmianie.Krwiopijca ustawia u siebie w modzie _pin i dalej zostaje po wyjściu
W modzie krwiopijcy działa ta opcja tylko dla steamid.
zasepa
12.06.2016
Zrozumiałem zasadę. Wgrałem i działa świetnie.
Więc mogą wystąpić błędy że inny gracz się zaloguje?
Hmm ale skoro ja tam zapisze hasło to przecież nie po wejściu gracza tylko po jego zalogowaniu. Więc jesli ktoś inny wbije to on musiał by znać hasło aby ustawić te komedne jakoś
Wiec nie tylko na steam id bedzie dzialac ale i na wszystko.
Chyba że się mylę.
Bardzo dziękuje za pomoc
Master Yoga
13.06.2016
Przy czym należy pamiętać, że mając hasło gracz zalogowałby się nawet standardowym logowaniem.
A jeśli chodzi o błędne przypisanie hasła innemu użytkownikowi.
To taki użytkownik nie przejdzie walidacji danych.
W skrócie: Bezpieczeństwo tej metody jest porównywalne z standardowym logowaniem.
Najlepsza odpowiedź
zasepa
14.06.2016
Serwery różnie mają zrobiony system logowania. Ja napisałem go po swojemu
Jeszcze raz bardzo dziękuje za pomoc. Wszystko śmiga jak należy