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.
|
Delay time
#1
Napisano 30.07.2008 15:55
Mam plugin, który wykonuje taska co 3 sekundy. Niestety wykonuje to ciągle a ja potrzebuję aby task rozpoczął działanie po pewnym czasie od początku każdej rundy, czyli np. gdy minie 10 sekunda rundy rozpoczyna działanie a gdy runda się zakończy znów czeka do 10... Mógłby mi to ktoś napisać bądź wytłumaczyć na porządnym przykładzie?
#2 Gość__*
Napisano 30.07.2008 15:56
Pokaż *.smaWitam postaram się wytłumaczyć najprościej jak potrafię ;]
Mam plugin, który wykonuje taska co 3 sekundy. Niestety wykonuje to ciągle a ja potrzebuję aby task rozpoczął działanie po pewnym czasie od początku każdej rundy, czyli np. gdy minie 10 sekunda rundy rozpoczyna działanie a gdy runda się zakończy znów czeka do 10... Mógłby mi to ktoś napisać bądź wytłumaczyć na porządnym przykładzie?
#3
Napisano 30.07.2008 16:00
#include <amxmodx> #include <cstrike> public check_zombies(){ new red = get_cvar_num("zombie_red") new green = get_cvar_num("zombie_green") new blue = get_cvar_num("zombie_blue") new players[32], num get_players(players, num, "ae", "TERRORIST") if (num==1){ set_hudmessage(red,green,blue,0.37,0.08,0, 0.0, 4.0, 0.0, 0.0, 2) show_hudmessage(0,"Jest tylko 1 Zombie... Polujemy") } return PLUGIN_CONTINUE } public plugin_init() { register_plugin("LastZombie","1.0","Monster") register_cvar("zombie_red", "255") register_cvar("zombie_green", "255") register_cvar("zombie_blue", "0") set_task(3.0, "check_zombies",0,"",0,"b") return PLUGIN_CONTINUE }
#4
Napisano 30.07.2008 16:45
set_task(3.0, "check_zombies",0,"",0,"b")
pierwszy parametr - float:czas [30 sekund]
drugi parametr - funkcja ktora ma byc wywolana w publicu[check_zombies]
trzeci parametr - id osob na ktorych ma sie to wykonywac[0 - w tym przypadku sprawdza wszystkich]
czwarty parametr - [nie potrzebne]
piaty parametr - [nie potrzebne]
szosty parametr - flagi task'a
Flagi: "a" - powtarzaj "b" - zapetl task. "c" - wykonaj task po uplywie czasu mapy "d" - wykonaj task przed uplywem czasu mapy
#5
Napisano 30.07.2008 16:52
Pozatym nie 30 tylko 3 sekundy ;]
#6
Napisano 30.07.2008 16:55
set_task(1.0, "check_zombie")
#7
Napisano 30.07.2008 16:58
Znalazłem funkcję "Float: get_gametime ( )" ale nie za bardzo wiem co ona zwraca... Czas od początku gry, rundy czy czego tam...?
#8
Napisano 30.07.2008 17:06
#include <amxmodx> #include <cstrike> public check_zombies(){ new red = get_cvar_num("zombie_red") new green = get_cvar_num("zombie_green") new blue = get_cvar_num("zombie_blue") new players[32], num get_players(players, num, "ae", "TERRORIST") if (num==1){ set_hudmessage(red,green,blue,0.37,0.08,0, 0.0, 4.0, 0.0, 0.0, 2) show_hudmessage(0,"Jest tylko 1 Zombie... Polujemy") } return PLUGIN_CONTINUE } public NewRound(){ set_task(10.0, "set_delay") return PLUGIN_CONTINUE } public set_delay(){ set_task(3.0, "check_zombies",0,"",0,"b") } public plugin_init() { register_plugin("LastZombie","1.0","Monster") register_cvar("zombie_red", "255") register_cvar("zombie_green", "255") register_cvar("zombie_blue", "0") register_event("HLTV", "NewRound", "a", "1=0", "2=0") }
EDIT: co do funkcji wydaje mi sie, ze zwraca czas uptime serwera.
#9
Napisano 30.07.2008 17:23
Poza tym co to za warunki: "1=0", "2=0"?
#10
Napisano 30.07.2008 17:57
#11
Napisano 30.07.2008 19:13
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych