KaMix

Rezerwacja slota, informacja przy kicku

Recommended Posts

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 ten post


Link to postu
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 ten post


Link to postu
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 ten post


Link to postu
Udostępnij na innych stronach

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

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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

Edytowano przez GoldeneK

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!

Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.

Zaloguj się


  • Kto przegląda   0 użytkowników

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

  • Podobna zawartość

    • 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
    • Przez Avila
      Witam,
       
      Czy da się zrobić taką rezerwacje, że jak wchodzi powiedzmy vip z flaga "a" to jak jest full serwer to wyrzuca gracza bez rezerwacji np. takiego który ma najwyższy ping?
      Nie obchodzi mnie taka rezerwacja gdzie rezerwuje ostatniego slota i jest 9/10 bo na ostatni może wejść tylko osoba z rezerwacja. Chce, żeby wszystkie sloty były publiczne, ale jak jest pełny serwer, a wchodzi gracz z rezerwacją, aby kogoś wyrzuciło. Ktoś coś? Mogę zapłacić jeśli potrzebny do tego będzie napisany plugin, bo nie wiem czy jest coś takiego w necie za free.