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

Delay time


  • Zamknięty Temat jest zamknięty
10 odpowiedzi w tym temacie

#1 MrMentor

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
Offline

Napisano 30.07.2008 15:55

Witam 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?
  • +
  • -
  • 0

#2 Gość__*

  • Gość

Reputacja: 0

Offline

Napisano 30.07.2008 15:56

Witam 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?

Pokaż *.sma

#3 MrMentor

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
Offline

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 

} 


  • +
  • -
  • 0

#4 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 87
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 30.07.2008 16:45

A wiec tak:
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

  • +
  • -
  • 0

#5 MrMentor

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
Offline

Napisano 30.07.2008 16:52

Hehe no tyle to ja wiem bo sam to pisałem... :D Ale mi chodzi o to co w pierwszym poście...
Pozatym nie 30 tylko 3 sekundy ;]
  • +
  • -
  • 0

#6 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 87
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 30.07.2008 16:55

no to jak chcesz zeby task sie wykonywal bez powtarzania, ani innych rzeczy podajesz tylko czas i funkcje czyli np
set_task(1.0, "check_zombie")

  • +
  • -
  • 0

#7 MrMentor

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
Offline

Napisano 30.07.2008 16:58

No właśnie task ma się powtarzać, tylko że chodzi mi o to, żeby zaczynał działanie od 10 sekundy każdej rundy...
Znalazłem funkcję "Float: get_gametime ( )" ale nie za bardzo wiem co ona zwraca... Czas od początku gry, rundy czy czego tam...?
  • +
  • -
  • 0

#8 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 87
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 30.07.2008 17:06

kk, juz czaje ^^
#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.
  • +
  • -
  • 0

#9 MrMentor

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
Offline

Napisano 30.07.2008 17:23

Działa to ale tylko po pierwszym restarcie rundy... Potem już task się wykonuje od początku rundy ;/
Poza tym co to za warunki: "1=0", "2=0"?
  • +
  • -
  • 0

#10 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 87
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 30.07.2008 17:57

zobacz na pw.
  • +
  • -
  • 0

#11 MrMentor

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
Offline

Napisano 30.07.2008 19:13

Po krótkiej rozkmince plugin zaczął ładnie śmigać... Thx za pomoc :]
  • +
  • -
  • 0




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

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