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

Dana funkcja co x sekund / Czas trwania.


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 Onyke

    Godlike

  • Przyjaciel

Reputacja: 708
Guru

  • Postów:2 178
Offline

Napisano 28.11.2010 15:37

Witam.
Jak zrobić żeby
a) Daną funkcję można było wykonywać co x sekund. (Np. zrobiłbym funkcję co leczy ileś tam hp)
B) Dana funkcję można było wykonywać co x sekund i trwała y sekund. (Np. Zrobić niewidzialność co trwa ileś tam sek.)
c) Daną funkcję można było wykonywać x razy na rundę. (Np. teleport na resp)

Pozdrawiam.
  • +
  • -
  • 0

#2 GoldeN

    Wszechmogący

  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 28.11.2010 15:43

c)

new uzyl_przedmiot[33];


public function(id)
{
if(uzyl_przedmiot[id] == 2)
{
client_print(id, print_center, "Tej funkcji mozesz uzyc maksymalnie 2 razy na runde")
return PLUGIN_CONTINUE;
}

set_user_health(id, 200)
uzyl_przedmiot[id]++

return PLUGIN_CONTINUE;

}


W evencie nowej rundy:

uzyl_przedmiot[id] = 0


a)

new timer[33];


public function2(id)
{
if (halflife_time()-timer[id] <= 5)
{
client_print(id, print_center, "Tej funkcji mozesz uzyc co 5 sekund")
return PLUGIN_CONTINUE;
}

timer[id] = floatround(halflife_time())

set_user_health(id, 200)
return PLUGIN_CONTINUE;
}


W evencie nowe rundy:

timer[id] = 0


Powinno działać.



B)

public function2(id)
{
if (halflife_time()-timer[id] <= 15)
{
client_print(id, print_center, "Tej funkcji mozesz uzyc co 15 sekund")
return PLUGIN_CONTINUE;
}
timer[id] = floatround(halflife_time())
set_task(0.1, "function_action", id+666)
return PLUGIN_CONTINUE;
}


public function_action(id)
{
id-=666

set_user_noclip(id, 1)
set_Task(5.0, "function_end", id+333)
return PLUGIN_CONTINUE;
}


public function_end(id)
{
id -= 333
set_user_noclip(id, 0)
}


Czyli da noclip na 5 sekund i wyłączy. Co 15 sekund można noclipu użyć.

Do evewntu startu rundy:

timer[id] = 0


Przepraszam za jakość, pisane na forum.

Użytkownik GoldeNx3 edytował ten post 28.11.2010 16:01





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

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