Witam
Posiadam na serwerzy trzy pluginy, które pobierają automatycznie nazwę serwera mianowicie mam z jednym problem bo nie może szczytać nazwy serwera.
Zademonstruje to na ss jak wygląda
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Napisano 26.12.2015 03:47
Rozumiem, że informacje o zrobionym screenie zapisują się do bazy danych.
Sprawdź w pluginie rozmiar tablicy, gdzie przechowywana jest nazwa serwera i w bazie danych sprawdź rozmiar pola z hostname. Pewnie wartość dla tego jednego serwera jest za długa i jej nie wpisuje.
Napisano 26.12.2015 11:08
Tak wszystko zapisuje się do bazy
Pole do zapisu nazwy ma do 300 znaków ale nadal nie pobiera nazwy z serwera
Poniżej umieszcze zapytania do bazy mysql jakie wykonuje plugin
new Handle:query; query = SQL_PrepareQuery(link, "CREATE TABLE IF NOT EXISTS `screeny` ( \ `id` int(11) NOT NULL auto_increment, \ `uname` varchar(32) NOT NULL, \ `aname` varchar(32) NOT NULL, \ `uip` varchar(20) NOT NULL, \ `usid` varchar(32) NOT NULL, \ `map` varchar(32) NOT NULL, \ `time` int(15) NOT NULL, \ `type` int(1) NOT NULL, \ `amount` int(3) NOT NULL, \ `server` varchar(300) NOT NULL, \ PRIMARY KEY (`id`) \ )");
Bardziej bym szukał przyczyny po stronie serwera mianowicie posiadam jeszcze jeden plugin, który też zapisuje dane z serwera do bazy i niestety również nie daje rady pobrać nazwy serwera
Użytkownik devil11 edytował ten post 26.12.2015 11:09
Napisano 26.12.2015 15:51
A w jaki sposób pobiera nazwę serwera? Daj ten kawałek kodu.
Napisano 26.12.2015 18:06
Już dodaje zapomniałem o tym
W linku cały kod pluginu
public Init() { #if defined SQL_ZAPIS get_mapname(gMapa, 32); get_user_name(0, gNazwa, 300); SqlInit(); #endif AddMenuItem("ScreenShot", "amx_screenm", ADMIN_BAN, name); } public client_putinserver(id) { gScreens[id] = 0; } public ZrobScreena(id, level, cid) { if(!cmd_access(id, level, cid, 2)) { return PLUGIN_HANDLED; }
Użytkownik devil11 edytował ten post 26.12.2015 18:09
Napisano 26.12.2015 19:43
Zmień
new gNazwa[101];
na
new gNazwa[256];
i
get_user_name(0, gNazwa, 300);
na
get_user_name(0, gNazwa, 255);
Komputerowi łatwiej działa się w systemie dwójkowym
Jak to nie podziała to zmień get_user_name... na to:
get_cvar_string("hostname", gNazwa, 255)
i sprawdź
Napisano 27.12.2015 03:18
Podziało dopiero po zmianie na
get_cvar_string("hostname", gNazwa, 255)
Dzięki za pomoc, plusik dodany tak nie wiele ale może ucieszy
0 użytkowników, 0 gości, 0 anonimowych