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

Odliczanie w menu


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

#1 Mixtaz

    Zaawansowany

  • Użytkownik

Reputacja: 21
Życzliwy

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

Napisano 21.08.2018 15:13

Kolejny szalony pomysł ugrzązł w mojej głowie.

 

Mianowicie to próbuję włożyć zmienną do nowego menu, która będzie działała na zasadzie odliczania - zatem %i dekrementuje się o 1 co każdą sekundę.



public Odrodzenie(id)
{
if( !task_exists(TASKID) )
{
g_Timer = 5;
set_task( 1.0, "TaskFunction", TASKID, _, _, "b" )
}



new szMenu[33];
formatex( szMenu, charsmax(szMenu), "\d Czas [%i]", g_Timer );
new menu = menu_create(szMenu, "Handel_Menu");
 
//niżej są menu_additemy to sobie daruję

 

Wszystko fajnie dobrze, próbowałem zrobić to tak jak z normalnym odliczaniem na np. hudzie, i w rzeczy samej liczba malała o 1 w ciągu jednej sekundy, więc myślałem że mogę to ogłosić sukcesem, no ale niestety nie do końca.

 

Cały myk polega na odświeżaniu taskiem danej funkcji, lecz oprócz odświeżania tytułu menu ze zmienną, odświeża się również całe menu, więc gdy wybiore opcję to menu zamiast zniknąć - pojawia się ponownie..



public TaskFunction()
{
g_Timer--
 
new iPlayers[32], iNum, id;
get_players( iPlayers, iNum )
 
for( new i = 0; i < iNum; i++ )
{
id = iPlayers[i]
 
Odrodzenie(id)
}

Czy dałoby radę jakoś wyłuskać samą zmienną, aby tylko ona się odświeżała i dekrementowała, a resztę menu zostawić jak jest?

 

PS: Sory za brak intendera, tak się skopiowało :X


  • +
  • -
  • 0

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


#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 21.08.2018 16:25

Może jakaś tablica bool globalna która trzyma to czy gracz wybrał coś z menu, jeśli wybrał to ustaw na true i w pętli wyświetlającej sprawdź odpowiednim warunkiem i nie wyświetlaj mu menu.

A i reset całej tej tablicy gdzieś może na nową rundę czy coś

I pamiętaj o client_disconnect tam też trzeba by zresetować graczowi


Opisz trochę więcej to, daj więcej kodu czy coś
  • +
  • -
  • 0




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

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