MAGNET 2 1 6 Napisano 18 Marca 2020 Opis Przedstawiam plugin, który udostępnia na serwerze komendę !serwery. Wyświetlana jest wówczas lista serwerów (skonfigurowana w pliku *.cfg), z którymi możemy się połączyć bezpośrednio po wybraniu ich z menu Przykładowy plik konfiguracyjny (edycja w sourcemod/configs/ServerList.cfg): "Serwery" { "CodMod" { "Name" "[siec.pl] CodMod" "IP" "54.38.58.72:27015" } "AWP" { "Name" "[siec.pl] AWP" "IP" "145.239.24.170:27190" } } Instalacja Do poprawnego działania pluginu potrzebne jest wgranie dodatkowo: [Redirect] CoreHej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! LobbySessionFixer Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!(musi być wgrane na każdym serwerze, którego dodaliśmy do listy!) PTaHHej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Spoiler #include <sourcemod> #include <multicolors> #include <redirect_core> #define TAG "{purple}[Serwery]{default}" public void OnPluginStart() { RegConsoleCmd("sm_serwery", ListaSerwerow); } public Action ListaSerwerow(int client, int args) { char nameBuffer[256]; char ipBuffer[64]; char pathBuffer[1024]; BuildPath(Path_SM, pathBuffer, sizeof(pathBuffer), "configs/ServerList.cfg"); KeyValues kv = new KeyValues("List"); kv.ImportFromFile(pathBuffer); if (!kv.GotoFirstSubKey()) { CPrintToChat(client, "%s Brak dostępnych serwerów!", TAG); return Plugin_Handled; } Menu menu = new Menu(ListaSerwerow_Handler); menu.SetTitle("Wybierz serwer:"); do { kv.GetString("Name", nameBuffer, sizeof(nameBuffer)); kv.GetString("IP", ipBuffer, sizeof(ipBuffer)); menu.AddItem(ipBuffer, nameBuffer); } while (kv.GotoNextKey(false)) delete kv; menu.Display(client, 0); return Plugin_Continue; } int IPToNum(const char[] sIP) { char sResult[4][4]; return (ExplodeString(sIP, ".", sResult, 4, 4) == 4) ? GetIP32FromIPv4(sResult) : 0; } public int ListaSerwerow_Handler(Menu menu, MenuAction action, int client, int item) { switch (action) { case MenuAction_Select: { char IP[64]; GetMenuItem(menu, item, IP, sizeof(IP)); int port = -1; for (int x = strlen(IP) - 1; x >= 0; x--) { if (IP[x] == ':') { port = StringToInt(IP[x + 1]); IP[x] = '\0'; break; } } RedirectClientOnServer(client, IPToNum(IP), port); } case MenuAction_End: delete menu; } } server_redirect.zipHej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Angel 1 Napisano 18 Marca 2020 No tak i znów cały splendor spłynął na Ciebie, a kto Cię nakierował? 😄 haha Dobra robota, zaraz wgrywam 😉 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Brum Brum Napisano 18 Marca 2020 Ahh CS:GO w końcu się udało komuś zrobić redirecta. Ciekawe rozwiązanie Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 18 Marca 2020 (edytowane) del Edytowane 18 Marca 2020 przez szogun Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 18 Marca 2020 Teraz, Brum Brum napisał: Ahh CS:GO w końcu się udało komuś zrobić redirecta. Ciekawe rozwiązanie Ja jedynie użyłem funkcji przekierowania napisanej przez ruskich Posiłkowałem się tym: https://forums.alliedmods.net/showthread.php?p=2686650#post2686650Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Brum Brum 1 Napisano 18 Marca 2020 1 minutę temu, MAGNET napisał: Ja jedynie użyłem funkcji przekierowania napisanej przez ruskich Posiłkowałem się tym: https://forums.alliedmods.net/showthread.php?p=2686650#post2686650Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Nie napisałem, że Ty xD Tylko ogólnie, że ktoś wpadł na dobry i ciekawy pomysł Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Mesharsky 1 Napisano 18 Marca 2020 Ruskie to zaraz Source 2 szybciej wypuszczą niż Valve na ten csgo xd Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
VestSmart Napisano 18 Marca 2020 Smuci mnie jedynie fakt, że CSGO zaraz zamieni się w dawne CS 1.6 - tzn. jest np. 30/32 graczy, client łączy się z serwerem lecz on zostaje przekierowany na jakiś inny niechciany serwer. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
broda Napisano 2 Kwietnia 2020 Mam pytanie a z tym pluginem gosetti nie banuje reklamy ? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
n.o.x 1 Napisano 13 Kwietnia 2020 Wydaje mi się, że ładowanie wartości z KeyValues bezpośrednio do menu za każdym razem, będzie chciało posiłkować się CPU, nie lepiej wepchnąć dane w Array? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET 1 Napisano 13 Kwietnia 2020 Zdecydowanie taka operacja wymaga obliczeń. Ja jednak nie chciałem niepotrzebne zaśmiecać pamięci (nie ma tego dużo, ale jednak kilka stringów tam siedzi). Dodatkowo nie jest to jakoś bardzo wymagające obliczeniowo i, co najważniejsze, nie jest ono wykonywane zbyt często - bo jak często ktoś patrzy na listę serwerów? Myślę, że 20 razy na mapę to sufit Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach