Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 15.10.2017 uwzględniając wszystkie działy

  1. Nie rób tego takim sposobem, jest strasznie "nieładny", powodem tych bugów powyżej był fakt, że trzeba sprawdzić przy wywołaniu funkcji czy istnieje już taki Handle od timera i jeśli tak to go zabić.
    1 punkt
  2. Nie testowałem, ale powinno działać i powinieneś mniej więcej zauważyć mechanikę działania: #include <sourcemod> int gTime[MAXPLAYERS + 1]; Handle gCounting[MAXPLAYERS + 1]; Handle gInfo[MAXPLAYERS + 1]; public void OnPluginStart() { RegConsoleCmd("sm_testinfo", Test); } public Action Test(int client, int args) { gTime[client] = 15; gInfo[client] = CreateTimer(0.1, ShowInfo, GetClientUserId(client), TIMER_REPEAT); gCounting[client] = CreateTimer(1.0, Count, GetClientUserId(client), TIMER_REPEAT); } public Action ShowInfo(Handle timer, any userid) { int client = GetClientOfUserId(userid); if (!IsClientInGame(client))return Plugin_Stop; if (gTime[client] <= 0)return Plugin_Stop; PrintHintText(client, "Zostało Ci %i sekund", gTime[client]); return Plugin_Continue; } public Action Count(Handle timer, any userid) { int client = GetClientOfUserId(userid); if (!IsClientInGame(client))return Plugin_Stop; gTime[client]--; return Plugin_Continue; }
    1 punkt
  3. Zapętlasz to poprzez kolejny powtarzający się Timer. Obniżanie zrobisz po prostu poprzez np. czas[client]--; - gdzie czas to nazwa zmiennej z czasem.
    1 punkt
×
×
  • Dodaj nową pozycję...