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 w set_task


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

#1 mlekovita

    Zaawansowany

  • Użytkownik

Reputacja: 7
Nowy

  • Postów:149
  • Imię:Dawid
Offline

Napisano 01.06.2022 17:42

Siema chce zrobic zeby czas sie uruchamial po wpisaniu komendy i go odliczało na hudzie jak dojdzie do 0 to usuwa ten hud i resetuje czas do stanu poczatkowego. Jak moglbym to zrobic?

public wyswietlwszystkim()
{
 set_task(1.0, "showHud");
}

public showHud()
{
if(czas > 0) {
ShowSyncHudMsg(0, syncHud, "Koniec za: %d", czas);
czas--
}
}

Problem w tym ze czasem sie to buguje i szybko mijaja te sekundy jakby task sie odpalal 2 razy albo 3


Użytkownik mlekovita edytował ten post 01.06.2022 17:44

  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 01.06.2022 18:48

Może coś takiego?

#define TASK_ID 1337
public wyswietlwszystkim()
{
    if(task_exists(TASK_ID)){
        //co chcesz zrobic gdy task juz istnieje?
    }else{
        czas = 60; // ustaw na co chcesz przed wywolaniem taska
        set_task(1.0, "showHud", TASK_ID, _, _, "b");
    }
}

public showHud()
{
    if(czas > 0) {
        ShowSyncHudMsg(0, syncHud, "Koniec za: %d", czas);
        czas--
    }else{
        remove_task(TASK_ID)
    }
}

Generalnie takie coś nie jest przystosowane do używania przez wielu graczy, ale jako że nie zaznaczyłeś tego w pytaniu to założyłem, że nie trzeba.

 

Druga możliwość to - set_task ma taki parametr jak flagi i tam można podać flagę "a", dzięki której możesz określić ile razy się ma task wykonać, więc jak chcesz np wyswietlac cos co sekundę przez 10sekund to czas taska dajesz na 1.0 i flagą "a" sterujesz, żeby task się wykonał 10 razy.

 

Wszystko zależy od tego co Ci potrzeba :)


  • +
  • -
  • 0




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

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