[pomoc]Oko rekorda

Započeo Riv3R4
19. Maj 2013. Zaključano
376
pregleda
7
postova
Master1
4
Made Man
19. Maj 2013.
Skripta😮d 0
Detaljan opis problema: Evo vako pravio sam event sistem i sad me interesuje kako da napravim rekorde kada se starta neki race da ucita rekord tog racea i ako neko obori rekord da se spremi itd...

Dio skripte:
evo za start jednog eventa:
CMD:lvakstart(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid,0xAA3333AA,"Nisi ovlasten!"); return 1;
}
            new sendername;
        GetPlayerName(playerid, sendername, sizeof(sendername));
            SendClientMessage(playerid, COLOR_YELLOW, "{0084e3}Aktivirao si LVAK Race !");
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
              if(EventInfo == 1)
      {
    if(IsPlayerConnected(i))
        {
                      SendClientMessage(i,COLOR_LIGHTBLUE, "{0084e3}LVAK Race pocinje za 3 sekunde !");
                      GameTextForPlayer(i, "~b~3",1000,4);
                      SetTimer("LVTimer",1000,0);
                      TogglePlayerControllable(i, 0);
        }
        }
  }

return 1;
}

Slike/video://
Deleted User
Obrisan korisnik
19. Maj 2013.
Sistem evenata ti je ovako samo redjanje cp-a? Da znam kako bih mogao da i objasnim ako je dinamican lakse je jer imas sve sve, a ovako ako si samo CP-e postavljao onda cu ti objasniti kako da uradis...
Master1
4
Made Man
19. Maj 2013.
Quote from May 19, 2013, 11:22 am:
Sistem evenata ti je ovako samo redjanje cp-a? Da znam kako bih mogao da i objasnim ako je dinamican lakse je jer imas sve sve, a ovako ako si samo CP-e postavljao onda cu ti objasniti kako da uradis...
samo cpe nije dinamicno
Deleted User
Obrisan korisnik
19. Maj 2013.
Quote from May 19, 2013, 11:22 am:
Sistem evenata ti je ovako samo redjanje cp-a? Da znam kako bih mogao da i objasnim ako je dinamican lakse je jer imas sve sve, a ovako ako si samo CP-e postavljao onda cu ti objasniti kako da uradis...
samo cpe nije dinamicno

Pa napravis npr. folder eventi i u njega napravis fajlove sa imenima evenata npr. ime.ini i u njega uneses sve rekorde na 0:
Vreme = 0
Najbolji = Niko

To je primer posto cu ti preko y_ini-a pokazati, a sistem je takav da moras sam upisati za pocetak ili napravis komandu:
YCMD:efajl(playerid,params[],help)
{
if(isnull(params)) return SCM(playerid,-1,"Unesite ime eventa");
new string;
format(string,64,"eventi/%s.ini",params);
new INI:File = INI_Open(string);
INI_WriteFloat(File,"Vreme",0.00);
INI_WriteString(File,"Najbrzi","Niko");
        INI_Close(File);
return 1;
}

E sada kada pokrenes event jednostavno ucitas taj fajl preko INI_ParseFile na neke promenljive koje uvedes za evente da budu. I za vreme mozda bi mogao preko tajmera da dobijes kada je stigao (mogu ti napraviti stock i taj timer za to koliko mu je trebalo vremena) i onda uporedis njegovo vreme sa ovim i dobijes da li je bio brzi posto ti je ovo ucitano ako me razumes i jednostavno ako je bio brzi samo te promenljive promenis i upises u fajl od tog eventa (ime eventa zapamtis na neku promenljivu kada ga pokrenes i onda znas koji je event).
Master1
4
Made Man
19. Maj 2013.
Quote from May 19, 2013, 11:22 am:
Sistem evenata ti je ovako samo redjanje cp-a? Da znam kako bih mogao da i objasnim ako je dinamican lakse je jer imas sve sve, a ovako ako si samo CP-e postavljao onda cu ti objasniti kako da uradis...
samo cpe nije dinamicno

Pa napravis npr. folder eventi i u njega napravis fajlove sa imenima evenata npr. ime.ini i u njega uneses sve rekorde na 0:
Vreme = 0
Najbolji = Niko

To je primer posto cu ti preko y_ini-a pokazati, a sistem je takav da moras sam upisati za pocetak ili napravis komandu:
YCMD:efajl(playerid,params[],help)
{
if(isnull(params)) return SCM(playerid,-1,"Unesite ime eventa");
new string;
format(string,64,"eventi/%s.ini",params);
new INI:File = INI_Open(string);
INI_WriteFloat(File,"Vreme",0.00);
INI_WriteString(File,"Najbrzi","Niko");
        INI_Close(File);
return 1;
}

E sada kada pokrenes event jednostavno ucitas taj fajl preko INI_ParseFile na neke promenljive koje uvedes za evente da budu. I za vreme mozda bi mogao preko tajmera da dobijes kada je stigao (mogu ti napraviti stock i taj timer za to koliko mu je trebalo vremena) i onda uporedis njegovo vreme sa ovim i dobijes da li je bio brzi posto ti je ovo ucitano ako me razumes i jednostavno ako je bio brzi samo te promenljive promenis i upises u fajl od tog eventa (ime eventa zapamtis na neku promenljivu kada ga pokrenes i onda znas koji je event).

nekontam brate i dalje to sa timerima :S bil bio prob da mi obavis ti to dacu ti ja fs event skripte :S nikako nmg skontati
Deleted User
Obrisan korisnik
19. Maj 2013.
Quote from May 19, 2013, 11:22 am:
Sistem evenata ti je ovako samo redjanje cp-a? Da znam kako bih mogao da i objasnim ako je dinamican lakse je jer imas sve sve, a ovako ako si samo CP-e postavljao onda cu ti objasniti kako da uradis...
samo cpe nije dinamicno

Pa napravis npr. folder eventi i u njega napravis fajlove sa imenima evenata npr. ime.ini i u njega uneses sve rekorde na 0:
Vreme = 0
Najbolji = Niko

To je primer posto cu ti preko y_ini-a pokazati, a sistem je takav da moras sam upisati za pocetak ili napravis komandu:
YCMD:efajl(playerid,params[],help)
{
if(isnull(params)) return SCM(playerid,-1,"Unesite ime eventa");
new string;
format(string,64,"eventi/%s.ini",params);
new INI:File = INI_Open(string);
INI_WriteFloat(File,"Vreme",0.00);
INI_WriteString(File,"Najbrzi","Niko");
        INI_Close(File);
return 1;
}

E sada kada pokrenes event jednostavno ucitas taj fajl preko INI_ParseFile na neke promenljive koje uvedes za evente da budu. I za vreme mozda bi mogao preko tajmera da dobijes kada je stigao (mogu ti napraviti stock i taj timer za to koliko mu je trebalo vremena) i onda uporedis njegovo vreme sa ovim i dobijes da li je bio brzi posto ti je ovo ucitano ako me razumes i jednostavno ako je bio brzi samo te promenljive promenis i upises u fajl od tog eventa (ime eventa zapamtis na neku promenljivu kada ga pokrenes i onda znas koji je event).

nekontam brate i dalje to sa timerima :S bil bio prob da mi obavis ti to dacu ti ja fs event skripte :S nikako nmg skontati

Pa imas par nacina:
1. Da brojis sekunde koliko traje event i onda te sekunde konvertujes u minute i sekunde
2. Da brojis sekunde i odmah tu i minute evo primer:
    //Kao globalna
    new EventMin,EventSec,EventT;

    //Kada krene event;
    EventMin = 0; EventSec = 0;
    EventT = SetTimer("EventTime",1000,true);

    //timer
    forward EventTime();
    public EventTime()
    {
EventSec++;
        if(EventSec == 60) { EventMin++; EventSec = 0; }
        return 1;
    }
    //Kraj eventa
    KillTimer(EventT);
    //Prvi koji udje samo cuvaj u fajlove kao npr: VremeMin = ... i VremeSec = ....
    if(ta_promenljiva != 0)//Ako rekord postoji, a to ta_promenljiva ti treba biti npr. VremeMin
{
          //Ovde dodas uslove da li je ovaj bio brzi...
    }
      else//Dodas da odmah upise da je to rekord da nema uslova

3. Mozda bi moglo preko gettime...
Master1
4
Made Man
20. Maj 2013.
BUMPARA!

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha