Jump to content

GroWy

Member
  • Posts

    101
  • Joined

  • Last visited

  • Days Won

    7

Reputation Activity

  1. Ador
    GroWy reacted to Leonard in Vreau sa invat YSI Timers.   
    @TheSnitzelAdv hmm, y_timers...
     
    Pentru a face un timer global, sintaxa e urmatoarea:
    task name[ delay ]( ) { return 1; }  
    Exemplu:
    #define oneSecond 1000 task oneSecondTimer[ oneSecond ]( ) { foreach( new x : Player ) { SendClientMessage( x, -1, "Acesta este un timer de 1 secunda, global." ); } return 1; }  
    Pentru timer-ul per player, avem urmatoarea sintaxa:
    ptask name[ delay ]( playerid ) { return 1; } E la fel ca la timer-ul global, doar ca aici adaugi parametrul playerid si nu mai ai nevoie de foreach pentru a parcurge o categorie de jucatori.
     
    Exemplu:
    ptask playerTimer[ oneSecond ]( playerid ) { if( IsPlayerConnected(playerid) ) { playerVariables[ playerid ][ pSeconds ] ++; } return 1; }  
    Se pot creea si timere care sa fie executate intr-un anumit timp per player.
    Pentru astea, avem nevoie de o variabila timer cu parametrul 'MAX_PLAYERS'.
    new Timer: variabilaTimer[MAX_PLAYERS];  
    Sa creem timer-ul:
    timer variabilaTimer[ 1000 ]( playerid ) { SendClientMessage( playerid, -1, "Acest mesaj va fi afisat dupa x secunde dupa apelarea timer-ului." ); return 1; }  
    x - timpul introdus in parametrul 'deelay'.
    Mai pe scurt, acest timer, este apelat dupa numarul de secunde introdus in parametrul 'deelay' a-l timer-ului.
     
    Cum apelam timer-ul creat?
    YCMD:start( playerid, params[], help ) { defer variabilaTimer[ playerid ]; return 1; }  
    defer - functia care apeleaza timer-ul
     
    Cum oprim timer-ul? 
    YCMD:stop( playerid, params[], help ) { stop variabilaTimer[ playerid ]; return 1; }  
    stop - functia care opreste timer-ul
     
    Ca sa nu avem probleme cu timerele, la OnPlayerDisconnect( playerid, reason ) o sa le oprim.
    public OnPlayerDisconnect( playerid, reason ) { stop variabilaTimer[ playerid ]; return 1; }  
    Sper ca ai inteles, daca ai intrebari, nu ezita sa le lasi mai jos. ? 
  2. Ador
    GroWy reacted to Leonard in Vreau sa invat YSI Timers.   
    Daca erai mai atent la ce am zis referitor la timer, poate intelegeai.
     
    ptask este per player, dar e apelat continuu cand jucatorul se conecteaza.
    timer este la fel ca ptask, dar este apelat doar cand jucatorul face o actiune ce declanseaza acest timer.
    - - - - - - - - - - - - - - - - -
    Se pot creea si timere care sa fie executate intr-un anumit timp per player.
    Pentru astea, avem nevoie de o variabila timer cu parametrul 'MAX_PLAYERS'.
    new Timer: variabilaTimer[MAX_PLAYERS];  
    Sa creem timer-ul:
    timer variabilaTimer[ 1000 ]( playerid ) { SendClientMessage( playerid, -1, "Acest mesaj va fi afisat dupa x secunde dupa apelarea timer-ului." ); return 1; }  
    x - timpul introdus in parametrul 'deelay'.
    Mai pe scurt, acest timer, este apelat dupa numarul de secunde introdus in parametrul 'deelay' a-l timer-ului.
     
    Cum apelam timer-ul creat?
    YCMD:start( playerid, params[], help ) { defer variabilaTimer[ playerid ]; return 1; }  
    defer - functia care apeleaza timer-ul
     
    Cum oprim timer-ul? 
    YCMD:stop( playerid, params[], help ) { stop variabilaTimer[ playerid ]; return 1; }  
    stop - functia care opreste timer-ul
  3. Ador
    GroWy reacted to Leonard in Vreau sa invat YSI Timers.   
    Topic inchis.
  4. Upvote
    GroWy got a reaction from Leonard in Vreau sa invat YSI Timers.   
    Am inteles acuma, multumesc mult de ajutor. Esti cel mai de treaba. ?
×
×
  • Create New...