Zaključano

[TuT]Kreiranje SetTimer i objasnjenje

Započeo Mr.Konj
pre 9 godina
1,623
pregleda
8
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
Mr.Konj
Street Runner
pre 9 godina
Pozdrav evo odlucio sam napravit tut o tajmerima, kako kreirati i na kojem principu radi
Pokusat cu objasnit najopsirnije...

SetTimer
SetTimer(funcname[], interval, repeating);

Znaci SetTimer, funcname[] vam je ime znaci tu stavite pod navodnicima na primjer za ucitavanje objekata ako zelite napraviti uzmete za primjer
SetTimer("UcitavanjeObjekata", interval, repeating);

Interval je vrijeme znaci koliko dugo ce tajmer trajati, kad tajmer istekne onda ce se vrsiti radnja pod public i forward, pokazat cu to kasnije kada dodjemo do tog dijela.

Interval: radi na principu stotinjke, znaci 1000 vam je jedna sekunda, ja inace koristim stalno 1000*10, znaci 1000 puta 10 je 10 sekundi, i to stavljamo ovako
SetTimer("UcitavanjeObjekata", 1000*10, repeating);


Sad kad smo rijesili ime i vrijeme mozemo na repeating objasnjenje!

Repeating: Ako dobro znate engleski znate i sami da je to ponavljanje, 0 = nece se ponavljati, a sve vise od nule ce ponavljati tajmer
E sada ako zelite da vam se tajmer ne ponavlja stavite 0, i radnja ce se vrsiti samo jednom.

SetTimer("UcitavanjeObjekata", 1000*10, 0);


Primjer ucitavanja objekata
Eh sada ja cu pokazati kako bi to trebalo izgledati kada udjete u neku prostoriju, npr ulazite u banku i zelite da igraca zamrzne i da mu pise ucitavanje objekata!

1. Napravite komandu ili ako vec imate za tipku ulazenje samo prilagodite svojoj skripti
CMD:enter(playerid, params[]);
{
    SetPlayerPos(playerid, x,y,z); //stavite kordinate svog interijera u banci ili gdje zelite
    SetTimer("UcitavanjeObjekata", 1000*5, 0); //Kreirali smo tajmer "UcitavanjeObjekata", koji ce trajati 5 sekundi i nece se ponavljati = 0
    TogglePlayerControllable(playerid, 0); //zamrzava igraca da se nemoze micati tijekom ucitavanja objekata
    SetPlayerInterrior(playerid, 1); //postavlja se igracu interijer ID 1
    return 1;
}


E sada kada imamo SetTimer kreiran pod imenom UcitavanjeObjekata, napravit cemo forward i public koji ce odmrznuti igraca nakon sto se objekti ucitaju

Forward i public preporucujem stavljajte jedan do drugog da vam se nebi nesto pomijesalo

2. Forward i public kreiranje
forward UcitavanjeObjekata(playerid);
public UcitavanjeObjekata(playerid) //znaci sva radnja unutar ovog publica se vrsi nakon sto tajmer zavrsi
{
  SendClientMessage(playerid, BOJA, "Objekti ucitani uzivajte"); //salje igracu poruku da su objekti ucitani
  TogglePlayerControllable(playerid, 1); //odmrzava igraca da se moze kretati ako je tajmer zavrsio
  SetPlayerInterrior(playerid, 0);
  return 1;
}


I sada kada je to rijeseno i imate tajmer UcitavanjeObjekata, taj tajmer mozete koristiti bilo gdje kada trebate ucitavati objekte nakon sto vas negdje prebaci gdje trebate....

Savjet: Tajmere koje slazete npr. za payday sisteme, ili ako slazete da vam salje otprilike svakih 10-20 sekundi poruku na chat igracima, takve tajmere stavljate pod OnGameModeInit

Kraj
expressoboy123
Godfather
pre 9 godina
Dobar tut,pomoci ce pocetnicima.. ☺
Muma Rascall
Forum Don
pre 9 godina
Odlicno, samo nastavi 😉
Pita
Wheel Man
pre 9 godina
Tajmeri nisu 100% u stotinku tacni, dakle ako neko želi da broji sekudne neka sekunda ce kasniti.
Ali i za to postoji rijesenje.
Mr.Konj
Street Runner
pre 9 godina
Pita wrote on April 17, 2016, 4:04 pm:
Tajmeri nisu 100% u stotinku tacni, dakle ako neko želi da broji sekudne neka sekunda ce kasniti.
Ali i za to postoji rijesenje.


znam da nisu bas 100% tocni ali barem da pocetnici znaju da je to otprilike
Joksa99
Crime Lord
pre 9 godina
Odlican tutorijal. 🙂
[CH] Michael
Shot Caller
pre 9 godina
dobar opis, mada si mogao i settimerex napisat, jer ovo vise ide po igracu 😛
amersoftic
Kingpin
pre 9 godina
posluzit ce  😄

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava