Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Czas bana


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 Anonymuss

    Profesjonalista

  • Użytkownik

Reputacja: 55
Pomocny

  • Postów:194
  • Imię:Anonimowy
  • Lokalizacja:Polska
Offline

Napisano 10.11.2020 09:24

Witam.

 

Jaka jest najlepsza metoda aby stworzyć "czas bana" (zapis nvault)? Chciałbym zrobić czas bana na CT (jailbreak cypisa) podany w minutach. Gdy minie czas określony przez admina, gracz dostaje unbana.

Myślałem o zapisaniu czasu wpisanego przez admina i czasu unixowego w momencie nadania bana a później sprawdzać w warunku na zbanowanym graczu przy wejściu na serwer,

czas bana + czas unixowy (w momencie nadania bana) >= czas unixowy (rzeczywisty) - true = usunięcie bana z pliku .vault / false = ignoruje

Druga sprawa to jak wyłapać moment w którym ban się kończy danemu graczowi. Będę sprawdzał w client_putinserver (ewentualnie client_authorized) warunek podany wyżej ale co jeśli gracz już jest na serwerze i ban się skończy, chciałbym usunąć mu bana w czasie rzeczywistym zamiast czekać do zmiany mapy. Zapętlony set_task co 1sec raczej będzie mało optymalny. Może istnieje opcja na stworzenie forwardu, który wywołałby się gdy np. minie czas unixowy podany w parametrze? Ale to chyba działałoby tak samo jak set_task co sekundę.


  • +
  • -
  • 0

#2 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 049
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 10.11.2020 10:44

Sprawdzaj na początku rundy to samo, co przy wejściu na serwer, albo co kilka sekund. Twój komputer wykonuje dziesiątki tysięcy operacji bez zająknięcia. Jeden check co 5 sekund kompletnie nic nie zmieni. Nawet hud'y są co 0.1 sekundy na 32 graczach i pobierają nieoptymalnie dane. O optymalizacji mówimy, kiedy jest ona potrzebna, a mówiąc wprost - serwery 1.6 jej nie potrzebują.

 

A przy pisaniu następnego tematu opisz go w sposób czytelny, a nie tak jak tutaj. Cały Twój post można byłoby skrócić do:

 

 

Jak sprawdzać, czy gracz zbanowany na ct (zapis nvault, czas unixowy) został odbanowany w środku rundy?

 


  • +
  • -
  • 1

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#3 Mixtaz

    Zaawansowany

  • Użytkownik

Reputacja: 21
Życzliwy

  • Postów:76
  • Steam:steam
  • Imię:Jędrzej
  • Lokalizacja:%s
Offline

Napisano 10.11.2020 10:58

napisz mi na pw a podeśle ci pluga z którego będziesz mógł sobie wyekstrahować co trzeba

 

Mianowicie mute manager z zapisem mySQL i obsługą unixtime, tam pogrzebiesz sobie co trzeba


  • +
  • -
  • 1

:nuke:  Mój serwer Zombie Biohazard/Deathmatch  :nuke:
:cwaniak:


#4 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.11.2020 14:01

możesz wczytać czas bana przy wejściu na serwer i popatrzeć - jeśli pozostały czas bana jest mniejszy niż np czas mapy (albo jakis inny czas) to ustaw taska na ten czas, który usunie wpis z nvault i poprzestawia odpowiednie zmienne :)


  • +
  • -
  • 1




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych