Proste menu z listą serwerów
sebul
05.07.2011
Jak sama nazwa wskazuje, jest to prosty plugin z jednym cvarem (a tak go zrobiłem, w sumie niekoniczny on jest), który tworzy listę serwerów. Po wpisaniu na chacie /server otwiera nam się menu z listą serwerów, gdy wybierzemy jakiś serwer od razu nas z nim zacznie łączyć. Pluginów takich może trochę jest, ale nudziło mi się, do tego starałem się napisać go tak, aby było jak najbardziej przejrzyście i krótko, no i chyba mi to wyszło ;]
Dodaje dwie wersje pluginu, w jednej aby dodać lub usunąć serwer/y trzeba edytować kod w sma według wzoru i przekompilować, natomiast w drugiej (z końcówką v2) wystarczy dodać lub usunąć serwer/y w pliku servers_list.ini. Nie ma żadnych ograniczeń co do ilości serwerów, nie licząc ograniczenia amxxa i ograniczenia jakie zostało dodane w pluginie (64 serwerów), bo nie wiem ile może być opcji w jednym menu, ale w każdym razie na pewno ciężko by było ten limit/ograniczenie osiągnąć. Instalacja standardowa.
UWAGA! 05-01-2014
Aktualizacja komendy connect.
server_show_ip "1" // pokazywać ip serwera? 1 - tak, 0 - nie
server_menu.sma 1,34 KB 645 Ilość pobrań
server_menu_v2.sma 2,01 KB 1105 Ilość pobrań
servers_list.ini 182 bajtów 2647 Ilość pobrań
Użytkownik sebul edytował ten post 05.01.2014 17:21
TomiGun
06.07.2011
Ładny plug. Działa i co najważniejsze to że jest ŁATWY w obsłudze. Thx i Łap +.
VerShinin
06.07.2011
Ładny i prosty plugin. Według mnie lepszy jest v2, ponieważ trzeba tylko edytować plik .ini
radek_b11 06.07.2011
Czy ten plugin bez problemu przekieruje Steam jak i NonSteam ?
Bo w xredirect był i chyba dalej jest problem z przekierowaniem Steamowców
Bo w xredirect był i chyba dalej jest problem z przekierowaniem Steamowców
sebul
06.07.2011
A czemu miałby być problem?Czy ten plugin bez problemu przekieruje Steam jak i NonSteam ?
Bo w xredirect był i chyba dalej jest problem z przekierowaniem Steamowców
A co do xredirect mnie normalnie przekierowuje, a mam steama, wiem bo sam mam u siebie ten plugin.
Fixiu 19.07.2011
Plugin może być ale po co mazałeś to w paincie?
jeżeli widać w sygnaturce że to donald haa
jeżeli widać w sygnaturce że to donald haa
sebul
19.07.2011
Nie mazałem tego w paincie ;]
A zamazane, bo sygnaturka to nie to samo co post, więc obrazek ma zamazane IP serwerów oraz ich początek nazw, które zarazem są linkiem do forum.
A zamazane, bo sygnaturka to nie to samo co post, więc obrazek ma zamazane IP serwerów oraz ich początek nazw, które zarazem są linkiem do forum.
FreaK.?
19.07.2011
Bardzo przejrzyste Wykorzystam to na swoim serwerze gdy będą 2 Otrzymujesz plusika
sebul
09.08.2011
W "server_menu_v2.sma" usunąłem jedno niepotrzebne sprawdzanie czy plik istnieje.
sebul
12.11.2011
Nie, bo to jest proste menu z serwerami ;] I niech tak zostanie, bo teraz doda się te sloty, potem jeszcze coś i na koniec wyjdzie prawie to samo co xredirect, z tym że napisany inaczej i pewnie mniej optymalnie, bo na socketach mało się znam.
oxys_bsnt
12.11.2011
A masz może jakiś poradniczek jak dodać do czegoś takiego ile na ile jest graczy na serwie?
Grz3chu 17.02.2013
Nie działa mi przekierowanie, jaki moze być tego powód? Wyświetla się całe menu wybieram wyłącza się a nie przekierowuje.
VipoSek
10.11.2013
#include <amxmodx> #include <amxmisc> #define PLUGIN "Menu serwerow" #define VERSION "0.2" #define AUTHOR "Sebul" #define SERVERS_FILE "servers_list.ini" #define MAX_SERVERS 32 #define MAX_CHARACTERS 64 new g_servers[MAX_SERVERS][2][MAX_CHARACTERS]; new g_number_server; new cvar_pokaz_ip; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /server", "show_server"); register_clcmd("say /servery", "show_server"); register_clcmd("say /serwery", "show_server"); register_clcmd("say_team /server", "show_server"); cvar_pokaz_ip = register_cvar("server_show_ip", "1"); set_task(4.0, "load_servers"); } public load_servers() { new file_serwers[64]; get_configsdir(file_serwers, charsmax(file_serwers)); formatex(file_serwers, charsmax(file_serwers), "%s/%s", file_serwers, SERVERS_FILE); g_number_server = 0; new fHandle = fopen(file_serwers, "rt"); if(fHandle) { new data_server[128]; for(new i=0; i<MAX_SERVERS && !feof(fHandle); i++) { fgets(fHandle, data_server, charsmax(data_server)); if(!data_server[0] || data_server[0] == ' ' || data_server[0] == ';') { i--; continue; } parse(data_server, g_servers[i][0], MAX_CHARACTERS-1, g_servers[i][1], MAX_CHARACTERS-1); g_number_server++; } fclose(fHandle); } else log_amx("Brak '%s' na serwerze", file_serwers); } public show_server(id) { new menu = menu_create("Lista serwerow Cs-Oneshot.pl - polacz z:", "show_server_handle"); new pokaz = get_pcvar_num(cvar_pokaz_ip); new formats[256]; for(new i=0; i<g_number_server; i++) { formatex(formats, charsmax(formats), "%s%s%s", g_servers[i][0], pokaz ? " - \y" : "", pokaz ? g_servers[i][1] : ""); menu_additem(menu, formats); } menu_setprop(menu, MPROP_BACKNAME, "Wroc"); menu_setprop(menu, MPROP_NEXTNAME, "Dalej"); menu_setprop(menu, MPROP_EXITNAME, "Wyjscie"); menu_display(id, menu); return PLUGIN_HANDLED; } public show_server_handle(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } client_cmd(id, "Connect %s", g_servers[item][1]); menu_destroy(menu); return PLUGIN_HANDLED; }
Można prosić o aktualizację:
Nie mam pojęcia gdzie mam wstawić/podmienić;
"echo ^"Zostales przekierowany^";^"Connect^" ip:port"
W server_menu_v2.sma jest coś takiego:
client_cmd(id, "Connect %s", g_servers[item][1]);
Da rade ktoś pomóc, aby ten plugin przekierowywał? Z góry WIELKIE dzięki