Peršokti į turinį

Timer'ių[PAMOKA]


Pawn'o

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3870 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki,

Taigi sugalvojau sukurti pamoką apie timerių naudojimą.

Pirmiausias kam reikalingi ir kas yra tie timeriai.

Na timeriai yra tokie dalykai, kurie po tam tikro laiko pasikartojančiai ara nepasikartojančiai iššaukia tam tikrą funkciją.

Kaip galima panaudoti timerius? - Labai paprastai, galima naudoti kaip laiko matavimą kas sekunde, kaip tam tikro dalyko pajungimą po tam tikro laiko, kuri yra tam tikroje funkcijoje.

Timerių nustatymo funkcijos yra:

SetTimer( "Funkcija", 3000, false );

Parametrai:

"Funkcija" - public funkcijos pavadinimas, kuri turės būti iššaukta.

3000 - Laiko tarpas kada suveiks timeris. Sekundės dauginasi iš 1000.

false - rodo ar timeris kartosis ar nesikartos.

Taip pat yra timerio iššaukimo funkcija, kurioje gali nurodyti norim funkcijos parametrus.

SetTimerEx( "Funkcija", 3000, false, "i", playerid );

Parametrai:

"Funkcija" - public funkcijos pavadinimas, kuri turės būti iššaukta.

3000 - Laiko tarpas kada suveiks timeris. Sekundės dauginasi iš 1000.

false - rodo ar timeris kartosis ar nesikartos.

"i" - norimo parametro formatas( i - integer, s - string, f - float ).

playerid - parametrų kintamasis.

Timeris gali iššaukti tik public funkciją. Public funkcijai reikalingas forward.

forward Funkcija( );
public Funkcija( )
{
}

Vat funkcija kurią gali iškviesti timeris. Funkcijoje galime įrašyti bet ką:

forward Funkcija( );
public Funkcija( )
{
SendClientMessageToAll( 0xFFFFFFFF, "Sveiki mieli gtahelp.lt lankytojai" );
}

Pagal aukščiau sukurtus timerius, ši žinutė pasirodys po 3 sekundžių nuo timerio paleidimo. Timerį paleisti galite bet kurioje savo scripto vietoje.

Na su SetTimerEx funkcija yra šiek tiek sudėtingiau. Jeigu timeris su vienu parametru, funkcija atrodys taip:

forward Funkcija( playerid );
public Funkcija( playerid )
{
SendClientMessage( playerid, 0xFFFFFFFF, "Sveikas, mielas gtahelp.lt lankytojau." );
}

Aišku SetTimerEx timeryje gali būti jų ir daugiau, pvz.:

SetTimerEx( "Funkcija", 3000, false, "ii", playerid, vehicleid );

Tokiam timeriui funkcija atrodys taip:

forward Funkcija( playerid, vehicleid );
public Funkcija( playerid, vehicleid )
{
PutPlayerInVehicle( playerid, vehicleid, 1 );
}

Jeigu timerį darome pasikartojantį, jį dažniausiai norime kurioje nors vietoje sustabdyti. Kiekviena timerio paleidimo funkcija returnina savo id. Taigi, kuriame globalą, pvz.: new timer1;

Kai leidžiame timerį, leidžiame taip:

timer1 = SetTimerEx( "Funkcija", 3000, true, "ii", playerid, vehicleid );

Čia jau nustačiau pasikartojantį timerį, kadangi pasikartojimo reikšmė - true.

bet kurioje vietoje šį timerį galėsime sustabdyti:

public OnPlayerExitVehicle( playerid, vehicleid )
{
KillTimer( timer1 );
}

KillTimer funkcija panaikina timerį pagal jo id.

Tikiuosi gavosi panaudoti timer funkcijas

Sėkmės.

KOPIJUOTI BE AUTORIAUS SUTIKIMO, GRIEŽTAI DRAUDŽIAMA.

Jeigu buvo vertinga ir pravertė,nepagailėkite +rep.

Redaguota , nario Bebras
  • Teigiamai 3
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 2 metų...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3870 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...