Skocz do zawartości
Viral

YSI - Biblioteka y_timers

Rekomendowane odpowiedzi

A jak zrobić coś w stylu SetTimerEx'a że funkcja wykona się po 10 sekundach? bez powtarzania?

SetTimerEx("JakasFunkcja", 10000, false, "i", JakasZmienna);
Edytowane przez Plajcyt

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

YSI wpływa jakoś na obciążenie serwera? Czy własnie lepiej z YSI korzystać?

Edytowane przez Wojtek020699

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Znaczy bardziej chodzi mi o to że wychodzi na to że lepiej używać y_timers od zwykłych timerów ?

Edytowane przez Wojtek020699

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Lepiej zwykłe. 

O tyle lepiej używać y_timer, gdyż został w nim naprawiony błąd z przekazywaniem tablic jako argumentów w SetTimerEx (nie pamiętam czy w fixes2 zostało to naprawione).

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Mam takie pytanie: Czy to normalne, że jak mam mapę która waży mniej niż 1mb i jak dodam jeden timer + użycie defer to wartość zwiększa się do +4mb?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wątpliwe, a bynajmniej u mnie taka sytuacja nie ma miejsca(a jest jeszcze kilka innych bibliotek i nieco kodu). Możesz pokazać kod, który napisałeś i być może wyłapiemy jakieś nieprawidłowości.

Edytowane przez _l0stfake7

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
#include <a_samp>
#include "YSI\y_timers"

public OnPlayerConnect(playerid)
{
    defer TimerTest(playerid);
    return 1;
}

timer TimerTest[2000](playerid)
{
    printf("id gracza to %d", playerid);
}

Po takim kodzie gdy przekompiluje na *.amx to plik waży 4.02mb. Paczkę od y_lessa pobierałem z tego tematu, najnowszy link: http://forum.sa-mp.com/showthread.php?t=321092 Zdziwiło mnie to, pisząc skrypt to po dodaniu jednego timera waga nagle wzrasta. Również dodam, że jak odpalam serwer, to wyskakuje mi informacja, że wyszła nowa paczka od y_less'a ale sęk w tym że mam najnowszą.

Edytowane przez Smurf

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Lekki odkop, ale w końcu ten temat jest o y_timers. ;)

 

Jak przerobić taki kod:

SetTimer("hAnn", 1000*time, false);

 

Najbardziej się rozchodzi o to '1000*time', bo tutaj nie widzę takiego przykładu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
forward hAnn();
public hAnn()
{
TextDrawHideForAll(ann);
}
SetTimer("hAnn", 1000*time, false);

zamieniłem na:

timer hAnn[10000]()
{
    TextDrawHideForAll(ann);
}
defer HideAnn[time*1000]();
I niby działa, ale jak na moje oko to jest trochę bez sensu, bo najpierw timer ma 10000ms, a potem go wywołuję zmieniając jego czas (?). 'time*1000' to czas wpisany w komendzie /ann [czas] [tekst] razy 1000ms (to chyba można się domyślić), a sam timer wrzucony zamiast wcześniejszego publica z sampowskiego timera na koniec kodu.
Edytowane przez Sproket

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×