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.


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

#1 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 01.05.2010 13:05

Jak zrobić w pluginie odliczanie? Tzn, np. mamy godmode to odliczanie żeby było, jak zrobić?

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 01.05.2010 13:19

odliczanie np. 30 sekund ?

najlepiej najpierw zmienną globalną dla każdego usera:
new odliczanie[33]

potem jakieś wywołanie tej funkcji
odliczanie[id] = 30;
set_task(1.0, "odlicz", id, _, _, "a", odliczanie[id])

potem funkcja odejmująco-sprawdzająca:
public odlicz(id)
{
	if (--odliczanie[id]<=0)
	{
		if (task_exists(id))
			remove_task(id)
		
		koniec_czasu(id)
		return
	}
	client_print(id, print_chat, "Pozostalo %d sekund", odliczanie[id])
}

i do tego funkcja która będzie wykonana jak czas się skończy:
public koniec_czasu(id)
{
	client_print(id, print_chat, "Koniec Czasu")
	//inne funkcje itd
}

Czyli przykładowa całość:
#include <amxmodx>

new odliczanie[33]

public plugin_init() {
register_plugin("Odliczanie", "1.0", "AMXX.PL")
}

public client_putinserver(id)
{
odliczanie[id] = 30;
set_task(1.0, "odlicz", id, _, _, "a", odliczanie[id])
}

public odlicz(id)
{
if (--odliczanie[id]<=0)
{
if (task_exists(id))
remove_task(id)

koniec_czasu(id)
return
}
client_print(id, print_chat, "Pozostalo %d sekund", odliczanie[id])
}

public koniec_czasu(id)
{
client_print(id, print_chat, "Koniec Czasu")
//inne funkcje itd
}

  • +
  • -
  • 1

#3 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 01.05.2010 17:40

Czemu jest to:

_, _,

Dzięki. :>

#4 Gość_deLLek_*

  • Gość

Reputacja: 0

Offline

Napisano 01.05.2010 17:43

Pomija

parameter i len w tasku.

#5 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 01.05.2010 17:49

Muszę do plugin_init dawać?

I
--odliczanie
pierw odejmuje potem pokazuje?

#6 Gość_deLLek_*

  • Gość

Reputacja: 0

Offline

Napisano 01.05.2010 17:53

Nie musisz tasku w inicie dawać. Możesz w każdej innej funkcji.

Co do drugiego to TAK.

Najpierw odejmuję ( - 1 ) i zwraca wartość zmiennej odliczanie :)

#7 Screeaam...

    ; ooo

  • Autor tematu
  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 01.05.2010 17:55

czyli w putin server też nie muszę, tylko taska muszę wywołać w swojej funkcji ?

#8 Gość_deLLek_*

  • Gość

Reputacja: 0

Offline

Napisano 01.05.2010 18:01

Możesz wrzucić gdzie chcesz, ale...

odliczanie[id] = 30;
set_task(1.0, "odlicz", id, _, _, "a", odliczanie[id])


Powinny być w jednej funkcji jedna pod drugą.

#9 Lukasz5

    Godlike

  • Power User

Reputacja: 280
Wszechwidzący

  • Postów:1 414
  • Imię:Łukasz
  • Lokalizacja:C: / WINDOWS
Offline

Napisano 02.05.2010 01:29

Lub Pasek ładowania - Nieoficjalny polski support AMX Mod X
  • +
  • -
  • 0




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

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