szogun Napisano 6 Czerwca 2018 Hej. Mam mały problem z pluginem clientlimiter, rozchodzi się o to że vipa dodaje poprzez sklep-cs gdzie plugin nie zunaje tych flag poprzez co nie działa rezerwacja slota, gdy dodam ręcznie rezerwacje slota vipowi do pliku /config/admin_slot wtedy gracz ma nadpisane flagi i posiada tylko flagę dla rezerwacji slota https://forums.alliedmods.net/showthread.php?p=2302217Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 6 Czerwca 2018 Czy sklep-cs przypisuje takie sami flagi uprawnień co serwer, czy ma swój własny system flag? Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 7 Czerwca 2018 W sklepie się ustala swoje flagi typu "a,b,c" po czym on to zapisuje w bazie danych a na serwerze poprzez plugin pobiera informacje o flagach. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 7 Czerwca 2018 możesz przypisywać daną flagę z poziomu sklepu Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 7 Czerwca 2018 Tak, mogę nadać dowolną flagę Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 7 Czerwca 2018 chodziło mi o to, że możesz przypisywać przez sklep flagę, która jest odpowiedzialna za rezerwacje slota. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 7 Czerwca 2018 Tak, mogę ją przypisać do konkretnej osoby Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 7 Czerwca 2018 noo to przypisz ? Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 8 Czerwca 2018 (edytowane) W tym problem że przypisanie tej flagi nie pomaga, w momencie gdy jest pełen serwer + uzycie connect ip dostaje kicka ze serwer jest pełny // Specifies how the reserved slots plugin operates. Valid values are: // 0 : Public slots are used in preference to reserved slots. Reserved slots are freed before public slots. // 1 : If someone with reserve access joins into a reserved slot, the player with the highest latency and // no reserved slot access (spectator players are selected first) is kicked to make room. Thus, the reserved // slots always remains free. The only situation where the reserved slot(s) can become properly occupied is // if the server is full with reserve slot access clients. // -- // Requires: reservedslots.smx // Default: 0 sm_reserve_type 1 // Specifies the number of reserved player slots. Users with the reservation // admin flag set will be able to join the server when there are no public slots // remaining. If someone does not have this flag, they will be kicked. // (Public slots are defined as: maxplayers - number of reserved slots) // -- // Requires: reservedslots.smx // Default: 0 sm_reserved_slots 1 // Specifies whether or not reserved slots will be hidden (subtracted from max // slot count). Valid values are 0 (Visible) or 1 (Hidden). // -- // Requires: reservedslots.smx // Default: 0 sm_hide_slots 0 Edytowane 8 Czerwca 2018 przez szogun Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 20 Czerwca 2018 bump ktoś coś, nadanie flagi w sklepie czy nawet w sourcebansie nie pomaga. Dodanie steamid osoby do pliku już tak tylko wtedy nadpisuje wszystkie jego flagi i posiada tylko rezerwacje slota Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 22 Czerwca 2018 hmm a jesteś pewien, że na rezerwację, którą dodajesz do sklep-cs, jest poprawna? Skoro przy ręcznym wpisywaniu do pliku rezerwacja działa poprawnie ja bym się doszukiwał winy właśnie tam Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 22 Czerwca 2018 Jestem pewien, gdy wywalę clientlimiter rezerwacja działa prawidłowo, w momencie gdy jest pełen serwer to kickuje losową osobę Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 22 Czerwca 2018 spróbuj pod flagę, którą przydzielasz graczowi z rezerwacją, przypisać uprawnienia do...czegokolwiek (np. glupiego pisania na czacie) i sprawdź, czy będziesz w stanie pisać. Po prostu znajdź jakikolwiek plugin, który nadaje uprawnienia i zmień flagę na tą samą z rezerwacji Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 25 Czerwca 2018 Dodałem aby gracz otrzymywał granat pod flagą rezerwacji i to działa ale już sama rezerwacja slota nie działa. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 26 Czerwca 2018 W takim razie problem najwidoczniej dotyczy samej rezerwacji... Dopiero teraz zajrzałem do bebechów tej rezerwacji i zauważyłem, że plugin czyta flagi z pliku txt, a następnie przypisuje je graczowi clientlimiter061.sp, linijki 34-37: if (FindStringInArray(Arr_SteamIDs, auth) != -1) { SetUserFlagBits(client, ADMFLAG_RESERVATION); } warunek sprawdza, czy w tablicy, wcześniej przygotowanej w funkcji LoadSteamIDList, znajduje się SteamID gracza wchodzącego na serwer. Jeśli tak, przypisuje mu flagę rezerwacji Autor robi to jednak poprzez przypisanie (flagi_gracza = ADMFLAG_RESERVATION, gdyż SetUserFlagBits tym się zajmuje). W praktyce oznacza to, że wszystkie dotychczasowe przywileje gracza zostają otracone. Można to prosto ominąć zmieniając podane przypisanie na: if (FindStringInArray(Arr_SteamIDs, auth) != -1) { SetUserFlagBits(client, GetUserFlagBits(client)|ADMFLAG_RESERVATION); } Spowoduje to, że graczowi zostaną przypisane aktualnie posiadane flagi wraz z nowo dodaną rezerwacją, dzięki zastosowaniu bitowej operacji alternatywy OR (więcej o operacjach bitowych tutajHej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!) Podmień warunek, wrzuć na serwer i sprawdź, czy działa Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 26 Czerwca 2018 (edytowane) A jest jeszcze jakaś szansa aby pominąć dodawanie ich do pliku txt ? Np dodaje flagi poprzez sourcebansa i aby się nie bawić w dodawanie oddzielnej flagi do pliku Edytowane 26 Czerwca 2018 przez szogun Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 26 Czerwca 2018 Pousuwałem z pliku czytanie listy z txt. Spróbuj to skompilować i wgrać na serwer, a także przydzielić graczowi flage rezerwacji slota (ADMFLAG_RESERVATION) clientlimiter061.spHej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 28 Czerwca 2018 Dalej nie działa. Może jest jakiś plugin, który ogarniczy ile może być osób w teamie i będzie prościej Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 28 Czerwca 2018 obydwie metody? Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 28 Czerwca 2018 Obydwie, po prostu ten plugin uniemożliwa połączenia się osobą z serwerem gdy jest pełny. Gdy nie miałem owego pluginu wszystko działało jak powinno z wyjątkiem sv_visiblemaxplayers Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 29 Czerwca 2018 Okej, teraz rozumiem podmień funkcje OnClientPostAdminCheck na: public OnClientPostAdminCheck(client) { //Reserved slots mechanism int limit = GetMaxHumanPlayers(); if (GetClientCount(false) > (limit - GetConVarInt(sm_admin_slots))) { if (hasReservedSlotAccess(GetUserFlagBits(client))) { char playername[50]; GetClientName(client, playername, 49); LogMessage("player %s connected to a reserved slot", playername); } else { CreateTimer(0.1, OnTimedKickForReject, GetClientUserId(client)); } } } Usunąłem z funkcji: if (GetClientCount(false) > limit) { CreateTimer(0.1, OnTimedKickForReject, GetClientUserId(client)); } który powodował, że jeśli ilość graczy przekraczała wartość zmiennnej limit (będącej maksymalną liczbą graczy, która wyświetla się w GameTrackerze), to wykopywalo. Pominiecie tego warunku powinno rozwiązać problem, bo gracze będą już mogli się łączyć na ukryte sloty Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 1 Lipca 2018 Problem rozwiązany? Jeśli już coś zrobiłeś dawaj na bierząco feedback - muszę wiedzieć, czy zamknąć temat, lub pomóc w czymś jeszcze ? Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 2 Lipca 2018 Sorry nie miałem czasu, teoretycznie można nazwać że problem rozwiązany, można się już z serwerem łączyć, teraz tylko jak by jeszcze przy okazji kickowało losową osobę za rezerwacje slota bo wychodzi teraz 12/11 co jest mi całkowicie nie na rękę Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
MAGNET Napisano 2 Lipca 2018 Spróbuj pokombinować coś z tymi cvarami: https://wiki.alliedmods.net/Reserved_Slots_(SourceMod)#Hidden_SlotsHej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! (masz tam ładne opisy co robią, a jak nie znasz angielskiego to google tłumacz powinien dać rade) Sam nie miałem nigdy tego problemu inie wiem do konca jak go rozwiazac Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
szogun Napisano 3 Lipca 2018 (edytowane) No ja też za bardzo z racji że nigdy nie korzystałem z rezerwacji slota aż do tego momentu, już wypróbowałem wszystko. Na necie są jakieś sposoby ale zawodzą/ Edytowane 3 Lipca 2018 przez szogun Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach