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, 1 gości, 0 anonimowych