How to create this.
#1

I have a race script, but want to make something like, when a person finishes it will set a local record.

When the gamemode starts it will say.

Race record time set by: Name at. Minutes:Seconds.

When someone else finishes and beats the others name it will set him to best time.

I've searched on the forums and could not find anything..
Reply
#2

pawn Код:
forward StartRace();
forward FinishRace(winnerid);

new seconds, minutes;

/*
When the race is started, you might want to use this:
new message[128];
format(message, sizeof(message), "The current record for this race is: %02d:%02d", dini_Int("racerecord.ini", "minutes"), dini_Int("racerecord.ini", "seconds"));
for(...) //Fine all the participants
SendClientMessage(i, COLOR_GREEN, message);
*/


//Called when race has started (racetimer = SetTimer("StartRace", 1000, true);)
StartRace()
{
    if(!dini_Exists("racerecord.ini")) dini_Create("racerecord.ini"), dini_IntSet("racerecord.ini", "minutes", "00"), dini_IntSet("racerecord.ini", "seconds", "00");
    seconds++;
    if(seconds == 60) minutes++, seconds = 0;
    return 1;
}

//Called when race is finished (also kill timer, KillTimer(racetimer);)
FinishRace(winnerid)
{
    if(minutes < dini_Int("racerecord.ini", "minutes") return 1;
    if(minutes == dini_Int("racerecord.ini", "minutes")) if(seconds < dini_Int("racerecord.ini", "seconds")) return 1;
    dini_IntSet("racerecord.ini", "minutes", minutes);
    dini_IntSet("racerecord.ini", "seconds", seconds);
    new winnername[MAX_PLAYER_NAME], message[128];
    GetPlayerName(winnerid, winnername, sizeof(winnername));
    format(message, sizeof(message), "%s has set a new race record of: %02d:%02d", winnername, minutes, seconds);
    SendClientMessageToAll(COLOR_GREEN, message);
    minutes = 0;
    seconds = 0;
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)