Odwiedź Forum via SteamID/IP/Nick
R3X
23.01.2009
Odwiedź Forum via SteamID/IP/Nick
Plugin sprawdza czy w bazie danych istnieje steamid/ip/nick gracza. Jeśli go nie ma do jego nicku dodawany jest zdefiniowany tag. Usunięcie go wymaga rejestracji na forum i uzupełnienie pola steamid* w panelu użytkownika.
Wsparcie dla:
phpBB3
phpBB by przemo
Konfiguracja forum:
Dla PHPBB3
Należy stworzyć nowe pole w panelu użytkownika. W administracji szukamy w zakładce Users and Groups
Dla PHPBB by przemo
Panel Administracji -> Użytkownicy -> Pola w profilu
Dodaj nowe pole koniecznie z nazwą steamid, by plugin mógł je wykryć. Długi opis może być dowolny.
Konfiguracja pluginu:
Trzy stałe odpowiedzialne za MySQL: host (HOST), baza danych(DB) i prefiks tabel(TABLESPREFIX)
Uzupełniamy zgodnie z prawdą
Teraz w folderze konfiguracji amxxa (amxmodx/configs/) tworzymy plik sql2.txt
Wpisujemy do niego nazwę usera bazy danych i jego hasło
Tag:
Komendy:
forumnicks
pokazuje w okienku listę graczy i ich nicki: w grze i na forum.
Wybór skryptu i metody:
1. Skrypt
Identycznie rozwiązanie zastosowałem dla wyboru metody
* dodatkowe pole musi mieć (krótką) nazwę 'steamid' nawet w przypadku pracy z metodą IP
Poprawka 1.31
Plugin sprawdza czy w bazie danych istnieje steamid/ip/nick gracza. Jeśli go nie ma do jego nicku dodawany jest zdefiniowany tag. Usunięcie go wymaga rejestracji na forum i uzupełnienie pola steamid* w panelu użytkownika.
Wsparcie dla:
phpBB3
phpBB by przemo
Konfiguracja forum:
Dla PHPBB3
Należy stworzyć nowe pole w panelu użytkownika. W administracji szukamy w zakładce Users and Groups
tam dodajemy pole o nazwieCustom profile fields
typu "Single Text Field". Dalej uzupełniamy różne opcje pamiętając, by pole Field identification: zostało z wartością "steamid" (bez cudzysłowu).steamid
Dla PHPBB by przemo
Panel Administracji -> Użytkownicy -> Pola w profilu
Dodaj nowe pole koniecznie z nazwą steamid, by plugin mógł je wykryć. Długi opis może być dowolny.
Konfiguracja pluginu:
Trzy stałe odpowiedzialne za MySQL: host (HOST), baza danych(DB) i prefiks tabel(TABLESPREFIX)
//Dane MySQL, użytkownik i hasło wpisz w configs/sql2.txt #define HOST "127.0.0.1" #define DB "phpbb_byprzemo" #define TABLESPREFIX "phpbb_"
//Adres WWW #define WWW "www....."Adres Twojego forum
Uzupełniamy zgodnie z prawdą
Teraz w folderze konfiguracji amxxa (amxmodx/configs/) tworzymy plik sql2.txt
Wpisujemy do niego nazwę usera bazy danych i jego hasło
db_user
moje_haslo
Tag:
#define PREFIX "[No-Reg]"
Komendy:
forumnicks
pokazuje w okienku listę graczy i ich nicki: w grze i na forum.
Wybór skryptu i metody:
1. Skrypt
//Skrypt //------------------------------------ #define PHPBB3 0 #define PHPBB_BYPRZEMO 1 //przypisz Skrypt #define FORUM_SCRIPT PHPBB3do stałej FORUM_SCRIPT przypisujemy wartość zgodną z oczekiwaniem
#define FORUM_SCRIPT PHPBB3lub
#define FORUM_SCRIPT PHPBB_BYPRZEMO
Identycznie rozwiązanie zastosowałem dla wyboru metody
//Metoda //------------------------------------ #define FETCH_BY_STEAMID 0 //Nie polecam po IP #define FETCH_BY_IP 1 #define FETCH_BY_NAME 2 //przypisz Metodę #define FETCH FETCH_BY_STEAMIDdo stałej FETCH przypisujemy wartość zgodną z oczekiwaniem (jedną z trzech z listy powyżej)
* dodatkowe pole musi mieć (krótką) nazwę 'steamid' nawet w przypadku pracy z metodą IP
Poprawka 1.31
Attached Files
Radeon 28.02.2009
Przepraszam, że odkopuje, ale:
Mam dane podane takie jak do mysql warcraft, tylko że z innym userem i nazwą bazy danej. Połączenie na 100% działa, ale mimo tego, na serwerze ciągle nikomu nie przydziela [NoReg].
Gdy wpiszę forumnicks wtedy nie pokazuje tylko nicków na forum. Mam dodatkowe pole w profilu ustawione na moim forum Volta-sq.pl
Error z logów
L 02/28/2009 - 13:46:24: [AMXX] Run time error 10 (plugin "odwiedzforumVIAsteamid.amxx") (native "SQL_ReadResult") - debug not enabled!
L 02/28/2009 - 13:46:24: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
Mam dane podane takie jak do mysql warcraft, tylko że z innym userem i nazwą bazy danej. Połączenie na 100% działa, ale mimo tego, na serwerze ciągle nikomu nie przydziela [NoReg].
Gdy wpiszę forumnicks wtedy nie pokazuje tylko nicków na forum. Mam dodatkowe pole w profilu ustawione na moim forum Volta-sq.pl
Error z logów
L 02/28/2009 - 13:46:24: [AMXX] Run time error 10 (plugin "odwiedzforumVIAsteamid.amxx") (native "SQL_ReadResult") - debug not enabled!
L 02/28/2009 - 13:46:24: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
Radeon 28.02.2009
I takowe też uzupełniłem. Są takie same na jakich stoi forum. Mimo tego to samo.
W pierwszym moim poście dałem kod błędu
W pierwszym moim poście dałem kod błędu
Radeon 28.02.2009
L 02/28/2009 - 14:02:28: [AMXX] Run time error 10: native error (native "SQL_ReadResult")
L 02/28/2009 - 14:02:28: [AMXX] [0] textb90U8Q.sma::checkSteamId (line 41)
L 02/28/2009 - 14:02:28: [AMXX] [1] textb90U8Q.sma::checkPlayer (line 72)
L 02/28/2009 - 14:02:28: [AMXX] [2] textb90U8Q.sma::firstCheck (line 100)
L 02/28/2009 - 14:02:34: [SQLITE] No result set in this query!
L 02/28/2009 - 14:02:34: [AMXX] Displaying debug trace (plugin "odwiedzforumVIAsteamid.amxx")
No i
L 02/28/2009 - 14:05:33: [odwiedzforumVIAsteamid.amxx] no such table: phpbb_profile_fields_data
A moje forum POSIADA tą tabele (sprawdzałem przez PMA)
phpbb_profile_fields_data
L 02/28/2009 - 14:02:28: [AMXX] [0] textb90U8Q.sma::checkSteamId (line 41)
L 02/28/2009 - 14:02:28: [AMXX] [1] textb90U8Q.sma::checkPlayer (line 72)
L 02/28/2009 - 14:02:28: [AMXX] [2] textb90U8Q.sma::firstCheck (line 100)
L 02/28/2009 - 14:02:34: [SQLITE] No result set in this query!
L 02/28/2009 - 14:02:34: [AMXX] Displaying debug trace (plugin "odwiedzforumVIAsteamid.amxx")
No i
L 02/28/2009 - 14:05:33: [odwiedzforumVIAsteamid.amxx] no such table: phpbb_profile_fields_data
A moje forum POSIADA tą tabele (sprawdzałem przez PMA)
phpbb_profile_fields_data
R3X
28.02.2009
SELECT count(*)więc wynik zapytania jest zawsze, jeśli tabela istnieje. Wpis z 14:05:33 wyraźnie wskazuje, że w bazie danych nie ma takiej tabeli.
Widać, że połączenie nazwiązało, więc HOST jest ok. Sprawdź nazwę bazy i prefix:
#define DB "phpbb3" #define TABLESPREFIX "phpbb_"
Radeon 28.02.2009
#define DB "voltapro_forum"
#define TABLESPREFIX "phpbb_"
Powinno działać ok...
#define TABLESPREFIX "phpbb_"
Powinno działać ok...
Zelimus
15.04.2009
Nie działa + psuje cala baze danychwersja 1.3
Dodano obsługę phpbb by przemo
zapetla jakies pytania query 10 pytan/sec
R3X
15.04.2009
No nie wiem, samo forum podczas wczytywania strony wykonuje kilkanaście|dziesiąt zapytań, więc nie sądzę, by 10 zapytań raz na rundę zniszczyło serwer MySQL
Jednokrotne pobranie wszystkich danych jest dość..., nie będę tworzył kopii bazy w pluginie - szkoda zasobów. Racja, że można go trochę zoptymalizować, ale w Twoim wypadku problemem nie jest ilość zapytań tylko połączeń.
Jednokrotne pobranie wszystkich danych jest dość..., nie będę tworzył kopii bazy w pluginie - szkoda zasobów. Racja, że można go trochę zoptymalizować, ale w Twoim wypadku problemem nie jest ilość zapytań tylko połączeń.
R3X
18.04.2009
Ze steamID na IP to wystarczy każde get_user_authid() zmienić na get_user_ip(), przy czym pole powinno mieć nazwę 'steamid' mimo wszystko (i tak nie jest pokazywane publicznie, a nic więcej nie trzeba będzie zmieniać). Na nick to trzeba po prostu zrobić inne zapytanie SQL.
Jutro muszę pisać konspekt na maturę, więc gdzieś w poniedziałek powinna wyjść nowa wersja z cvarem do tego, więc nie będziesz musiał zmieniać tego ręcznie (bo zrobię to ja ). Zoptymalizuję też kod zmniejszając ilość zapytań do serwa na rundę.
Jutro muszę pisać konspekt na maturę, więc gdzieś w poniedziałek powinna wyjść nowa wersja z cvarem do tego, więc nie będziesz musiał zmieniać tego ręcznie (bo zrobię to ja ). Zoptymalizuję też kod zmniejszając ilość zapytań do serwa na rundę.