Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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 czasu w minutach


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

#1 palarie

    Banned

  • Zbanowany

Reputacja: 19
Początkujący

  • Postów:76
  • Lokalizacja:Polska
Offline

Napisano 04.11.2013 03:03

Witam.

 

Mam taki kod:

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


#define ZADANIE 3481

new timer[33]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
}
public zegar(id)
{    
    timer[id] = 30
    
    if(task_exists(id + ZADANIE))
    {
        remove_task( id + ZADANIE )
    }
    set_task( 1.0, "licz", id + ZADANIE, _, _, "b" )
    
    return PLUGIN_CONTINUE
}
public licz(task_id)
{
    new id = task_id - ZADANIE
    
    set_hudmessage( 255, 255, 255, 0.03, 0.3, 2, 0.02, 1.0, 0.01 )
    show_hudmessage( id, "Do konca pozostalo: %d", timer[id] )
    
    timer[id] -= 1
    
    if(timer[id] <= 0)
    {
        if( task_exists(task_id) )
        {
            remove_task( task_id )
        }
    }
}

W jaki sposób go zmienić, aby liczył minuty, nie sekundy.

 

Przykład: 30 minut (HUD ciągle się wyświetla i zmienia liczby co minutę, np: 30>29>28, itd, bez sekund)


Użytkownik palarie edytował ten post 04.11.2013 03:04

Pobierz najnowszą wersję CS 1.6 PrO [Professional Edition]!
Temat z opisem i screenamiCS 1.6 PrO
Oficjalna strona: CS 1.6 Download

#2 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1662
Godlike

  • Postów:2495
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 04.11.2013 07:54

set_task( 60.0, "licz", id + ZADANIE, _, _, "b" )

  • +
  • -
  • 0

#3 palarie

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 19
Początkujący

  • Postów:76
  • Lokalizacja:Polska
Offline

Napisano 04.11.2013 13:11

Teraz odliczanie jest co minutę, ale w ten sposób, że HUD wyświetla się raz na minutę, pokaże czas i znika, poza tym chciałbym aby HUD pojawiał się od początku wywołania, a nie dopiero po 60 sec.


Pobierz najnowszą wersję CS 1.6 PrO [Professional Edition]!
Temat z opisem i screenamiCS 1.6 PrO
Oficjalna strona: CS 1.6 Download

#4 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 625
Wszechmogący

  • Postów:1510
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 04.11.2013 13:47

No to wywoluj huda przy spawnie z czestotliwoscia 0.1s
@EDIT
Albo czas trwania HUDA na 60s lepiej :D
  • +
  • -
  • 0

#5 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1279
Godlike

  • Postów:2371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Tomaszów Mazowiecki
Offline

Napisano 05.11.2013 21:18

public licz(task_id)
{
    new id = task_id - ZADANIE
    
    set_hudmessage( 255, 255, 255, 0.03, 0.3, 2, 0.02, 1.0, 0.01 )
    show_hudmessage( id, "Do konca pozostalo: %d", timer[id] )
    
    timer[id] -= 1
    
    if(timer[id] <= 0)
    {
        if( task_exists(task_id) )
        {
            remove_task( task_id )
        }
    }
}

->

public licz(task_id)
{
    new id = task_id - ZADANIE
    static sSekundy[33];

    if(!is_user_connected(id))
    return;

    set_hudmessage( 255, 255, 255, 0.03, 0.3, 2, 0.02, 1.0, 0.01 )
    show_hudmessage( id, "Do konca pozostalo: %d", timer[id] )
    
    sSekundy[id]++;
    if(sSekundy[id] && sSekundy[id]%60==0)
    timer[id] -= 1
    
    if(timer[id] <= 0)
    {
        if( task_exists(task_id) )
        {
            remove_task( task_id )
        }
    }
}

Sprawdź jak tam kompilacja, bo pisane w edytorze tekstu IPB :D

Trochę można to było lepiej zrobić, ale i tak jest lepiej chyba niż dwa taski na raz :D


Użytkownik HubertTM edytował ten post 05.11.2013 21:18

  • +
  • -
  • 0

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!





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

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