Skocz do zawartości
KaMix

Rezerwacja slota, informacja przy kicku

Rekomendowane odpowiedzi

Witam, korzystam ze standardowego pluginu rezerwacji slota z sourcemod'a.

 

Wszystko działa poprawnie, aczkolwiek mam pewien problem. Gdy ktoś wchodzi na slot który jest użyty do rezerwacji normalnie go wyrzuca, na serwerze pojawia się o tym informacja i niby wszystko okej. Problem polega na tym, że informacja o tym, że został wyrzucony przez rezerwację slotów wyświetla mu się w konsoli, a nie w postaci okienka. Przez to dużo osób które nie korzysta z konsoli nie wie o co chodzi, da się to jakoś zmienić?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Pojawia się to w 2 miejscach tylko czasami ludzie mają buga i nie pokazuje tych okien.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Znaczy, informacja pojawia się w konsoli, a w okienku informacja dopiero się pojawi, gdy dodam timer żeby banowało np. 3 sekundy po dołączeniu na serwer. Tylko też nie jest to do końca dobra rozwiązanie, bo gracze ze słabszymi zasobami sprzętowymi dołączają dłużej i sytuacja się powtarza ;/

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

jeśli plugin używa funkcji KickClient(client, "powód") to najprawdopodobniej nic się z tym nie da zrobić. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A da się to jakoś przerobić aby owe okienko wyświetlało się?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ClientCommand(client, "disconnect Zakup slot rezerwowany lub vipa na xxx.xxx");

Edytowane przez GoldeneK

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

  • Podobna zawartość

    • Przez GULLSON
      Witajcie przychodzę do was z zapytaniem, ponieważ mam problem z rezerwacją slotów dla vipów. Nie działa on osobą wchodzącym przez konsolę
      Moje ustawienia
      sourcemod.cfg
      Rezerwacja slota sv_visiblemaxplayers 24 sm_reserve_type 1 sm_reserved_slots 1 sm_hide_slots 1 hreserved_slots
      // Version of [HANSE] Reserved Slots // - // Default: "2.0" hreserved_slots "2.0" // protect admins from beeing dropped from server by reserved slot access (0: no protection, 1: except spec mode, 2: full protection) // - // Default: "1" sm_hreserved_admin_protection "1" // authenticate admins by clan tag specified by sm_hreserved_auth_tag; 0: off, 1:on // - // Default: "0" sm_hreserved_auth_by_tag "0" // authentication clan tag // - // Default: "" sm_hreserved_auth_tag "" // kick bots/fake clients (e.g. SourceTV)? (0: kick, 1: do not kick) // - // Default: "0" sm_hreserved_bot_protection "0" // method for dropping players to free a reserved slot (0: no players are dropped from server, 1: kick, 2: offer to be redirected to the server specified in sm_hreserved_redirect_target) // - // Default: "1" sm_hreserved_drop_method "1" // select how players are chosen to be dropped from server when there are multiple targets with the same priority. (0: highest ping, 1: shortest connection time, 2: random) // - // Default: "0" sm_hreserved_drop_select "0" // value to be subtracted from the immunity level of spectators. The value 0 will make spectators to be treated like players in the game // - // Default: "1" sm_hreserved_immunity_decrement "1" // alternate server a client is offered to be redirected to, if sm_hreserved_drop_method is set to value 2 // - // Default: "" sm_hreserved_redirect_target "" // time to show the redirection offer dialog // - // Default: "12" sm_hreserved_redirect_timer "12" // number of reserved slots (do not specify or set to -1 to automatically use hidden slots as reserved) // - // Default: "-1" sm_hreserved_slots_amount "-1" // disable/enable reserved slots // - // Default: "1" sm_hreserved_slots_enable "1" // use sourcemod immunity level to find a player to be dropped (0: do not use immunity , 1: use immunity level) // - // Default: "1" sm_hreserved_use_immunity "1" Mam na serwerze ponad 20 vipów w tym samym czasie wchodzi czasami i 3-4 vipów jak  to ustawić by zawsze dla nich było miejsce ?
    • Przez szogun
      Mam mały problem od czasu gdy zacząłem używać wtyczki clientlimiter nie mogę poprawnie zrobić rezerwacji slota - https://forums.alliedmods.net/showthread.php?p=2302217
      Przy ustawieniu sm_reserve_type 1 nikogo nie wyrzuca z serwera, ukrytych slotów nie mam jak i nie ograniczam w żaden sposób slotów
    • Przez fabko
      Hejka,
      szukam pluginu, który po tym kiedy gracz rzuci granat pokazuje o tym informacje na chacie. Chyba gdzieś już to widziałem, więc strzelam, że jest dostępny gdzieś w internecie ;-)
    • Przez T1LT3D
      Siemka, jako iż mam jakieś nie potrzebne mi rzeczy na dysku to chciałbym zamieścić takie małe coś do sbpp_comms.sp pliku od sourcebansa, które wyświetla info o blokadzie na mikrofon/czat lub obydwu jednocześnie :)
      Tutaj prezentacja: 
       
       
       
      KOD: 
      public Action Blokady(int client,int args) { new String:enddate[17]; FormatTime(enddate, sizeof(enddate), "%d-%m-%Y %H:%M", g_iMuteTime[client]+g_iMuteLength[client]*60); new String:enddategag[17]; FormatTime(enddategag, sizeof(enddategag), "%d-%m-%Y %H:%M", g_iGagTime[client]+g_iGagLength[client]*60); char sBuffer[256]; GetConVarString(FindConVar("hostname"), sBuffer,sizeof(sBuffer)); if (BaseComm_IsClientGagged(client) & BaseComm_IsClientMuted(client)) { if(g_iGagLength[client] & g_iMuteLength[client]==0) { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0E%s!", sBuffer); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } else if(g_iMuteLength[client]==0) { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0E%s!", sBuffer); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddategag); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } else if(g_iGagLength[client]==0) { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0E%s!", sBuffer); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddate); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } else { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0E%s!", sBuffer); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddate); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddategag); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } } else if (BaseComm_IsClientMuted(client)) { if(g_iMuteLength[client]==0) { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0E%s!", sBuffer); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } else { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0E%s!", sBuffer); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddate); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } } else if (BaseComm_IsClientGagged(client)) { if(g_iGagLength[client]==0) { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0E%s!", sBuffer); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } else { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0E%s!", sBuffer); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddategag); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } } else { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0E%s!", sBuffer); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x08NIE MASZ AKTYWNYCH BLOKAD"); PrintToChat(client, " \x09* \x08ŻYCZYMY MIŁEJ GRY :D!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } } Oczywiście zamieńcie sobie EVOGAMERS na nazwe swojego forum bądź czego kolwiek :) 
      Jeżeli chcecie to mieć na komendę to dopisujecie w OnPluginStart 
      RegConsoleCmd("sm_blokady", Blokady); Jeżeli jednak chcecie, żeby to każdemu graczowi było wyświetlane przy wchodzeniu na serwer to wtedy to będzie wyglądać tak:
      public void OnClientPutInServer(client) { CreateTimer(12.0, Blokady, client); } public Action Blokady(Handle timer,any client) { new String:enddate[17]; FormatTime(enddate, sizeof(enddate), "%d-%m-%Y %H:%M", g_iMuteTime[client]+g_iMuteLength[client]*60); new String:enddategag[17]; FormatTime(enddategag, sizeof(enddategag), "%d-%m-%Y %H:%M", g_iGagTime[client]+g_iGagLength[client]*60); if (BaseComm_IsClientGagged(client) & BaseComm_IsClientMuted(client)) { if(g_iGagLength[client] & g_iMuteLength[client]==0) { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x10WITAMY NA SERWERZE!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } else if(g_iMuteLength[client]==0) { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x10WITAMY NA SERWERZE!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddategag); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } else if(g_iGagLength[client]==0) { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x10WITAMY NA SERWERZE!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddate); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } else { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x10WITAMY NA SERWERZE!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddate); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddategag); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } } else if (BaseComm_IsClientMuted(client)) { if(g_iMuteLength[client]==0) { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x10WITAMY NA SERWERZE!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } else { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x10WITAMY NA SERWERZE!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ MIKROFONU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddate); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sMuteReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } } else if (BaseComm_IsClientGagged(client)) { if(g_iGagLength[client]==0) { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x10WITAMY NA SERWERZE!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07Nigdy"); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } else { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x10WITAMY NA SERWERZE!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x0BMASZ AKTYWNĄ: \x07BLOKADĘ CZATU"); PrintToChat(client, " \x09* \x0BKONIEC BLOKADY: \x07%s", enddategag); PrintToChat(client, " \x09* \x0BPOWÓD: \x07%s", g_sGagReason[client]); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } } else { PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x10WITAMY NA SERWERZE!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x08NIE MASZ AKTYWNYCH BLOKAD"); PrintToChat(client, " \x09* \x08ŻYCZYMY MIŁEJ GRY :D!"); PrintToChat(client, " \x09*"); PrintToChat(client, " \x09* \x06==========\x04[ \x02EVOGAMERS \x04]\x06=========="); } } I teraz za każdym razem po 12 sekundach od połączenia gracza wydrukuje mu wiadomość na czacie czy ma blokadę na mikrofon/czat lub te obydwa :D 
      Pokaże mu dokładną datę zakończenia blokady itd :)
      Mi to nie potrzebne, a miło będzie zobaczyć u kogoś na serwerze taką informacje o blokadach :D
×