GTA-Center.com » Forum
http://www.gta-center.com/forums/

[GUIDA]Cronometro
http://www.gta-center.com/forums/viewtopic.php?f=40&t=201
Pagina 1 di 1

Autore:  Giuseppe_Mazzei [ 03/11/2010, 17:16 ]
Oggetto del messaggio:  [GUIDA]Cronometro

Viste le innumerevoli richieste di realizzare un cronometro che prenda il tempo impiegato da un giocatore in una gara, ho deciso di realizzare questa guida.
Brevemente, si verifica l'ora di arrivo e si sottrae all'ora di partenza precedentemente memorizzata

Partiamo con un metodo che riceva un tempo espresso in millisecondi, e tre variabili (minuto, secondo, millisecondo) e trasformi il tempo dividendolo tra minuti, secondi e millisecondi, assegnando i rispettivi valori alle 3 variabili
Cita:
stock ConvertTime(Milliseconds,&rMin,&rS,&rMS)
{
rMin=Milliseconds/60000;
Milliseconds-=rMin*60000;
rS=Milliseconds/1000;
Milliseconds-=rS*1000;
rMS=Milliseconds;
}

Inseritelo alla fine della gamemode.

Adesso creiamo un array che memorizzi l'orario di partenza, cioè
Cita:
new timer[MAX_PLAYERS];

Inseritelo all'inizio della gamemode

Alla fine del count, o meglio appena il giocatore parte, cioè può muoversi, dobbiamo registrare l'orario di partenza. Semplimente
Cita:
timer[playerid] = GetTickCount();

Poi potete anche creare dei checkpoint per definire un percorso

Al traguardo, o meglio all'ultimo checkpoint, ci rimane ben poco da fare. Solamente:
Cita:
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new Min, Sec, MS;
timer[playerid] = GetTickCount() - timer[playerid];
ConvertTime(timer[playerid], Min, Sec, MS);
format(string, sizeof(string), "%s ha finito in %02d:%02d.%03d",plname, Min, Sec, MS);


Non è una guida molto approfondita, ma vi permette di capire com'è strutturato il cronometro (Ho letto di persone che pensavano che doveva esserci un timer che si ripeteva ogni millisecondo e andava ad aumentare i millisecondi).
Spero di esservi stato utile.
Tanti saluti,
Giuseppe Mazzei

Autore:  barletheking [ 03/11/2010, 17:23 ]
Oggetto del messaggio:  Re: [GUIDA]Cronometro

grande peppe.. per quanto riguarda della storia del timer: se ne fai un timer che si svolge ogni millisecondo il server crasha :S

Autore:  Giuseppe_Mazzei [ 03/11/2010, 17:39 ]
Oggetto del messaggio:  Re: [GUIDA]Cronometro

uno una volta mi ha detto:
Ho fatto una gamemode che è molto piu leggera di quella delle super drift series, oltre ad avere meno righe non ha il cronometro che non sono riuscito a farlo ma sicuramente un timer che si ripete ogni millisecondo è pesante...
LoL

Autore:  Giovanni94m [ 03/11/2010, 18:13 ]
Oggetto del messaggio:  Re: [GUIDA]Cronometro

timer di 1 millisecondo è una bomba pronta ad esplodere
comunque guida carina ma troppo semplice :asd:

Autore:  Giuseppe_Mazzei [ 03/11/2010, 18:46 ]
Oggetto del messaggio:  Re: [GUIDA]Cronometro

ahahahah giova concordo, ma troppe persone me l'hanno chiesto e mi seccava spiegare uno per uno, cosi ho deciso di fare sta mini-guida xD

Autore:  barletheking [ 03/11/2010, 21:26 ]
Oggetto del messaggio:  Re: [GUIDA]Cronometro

LooL era joker quello che credeva di avere una GM più leggera delle SDS...

Pagina 1 di 1 Tutti gli orari sono UTC + 1 ora [ ora legale ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/