public OnPlayerEnterRaceCheckpoint(playerid)
{
...
case finish:
{
new RTime = GetTickCount()-StartTickcount;
new Min, Sec, Mil;
ConvertTime(RTime, Min, Sec, Mil);
if(position == 1)
{
GivePlayerMoney(playerid,10000);
GetPlayerName(playerid, rank_1,sizeof(rank_1));
format(string, sizeof(string), "Winner in %01d:%02d:%02d are %s",Min, Sec, Mil, rank_1);
SendClientMessageToAll(blue, string);
format(string, sizeof(string), "%s, you win: $10000",rank_1);
SendClientMessage(playerid,blue, string);
}
if(position == 2)
{
GivePlayerMoney(playerid,6000);
GetPlayerName(playerid, rank_2,sizeof(rank_2));
format(string, sizeof(string), "2. in %01d:%02d:%02d are: %s ",Min, Sec, Mil, rank_2);
SendClientMessageToAll(blue, string);
format(string, sizeof(string), "%s, you win: $6000",rank_2);
SendClientMessage(playerid,blue, string);
}
if(position == 3)
{
GivePlayerMoney(playerid,2000);
GetPlayerName(playerid, rank_3,sizeof(rank_3));
format(string, sizeof(string), "3. in %01d:%02d:%02d are: %s ",Min, Sec, Mil, rank_3);
SendClientMessageToAll(blue, string);
format(string, sizeof(string), "%s, you win: $2000",rank_3);
SendClientMessage(playerid,blue, string);
}
DisablePlayerRaceCheckpoint(playerid);
race[playerid] = 0;
position++;
racesticket[playerid] = 0;
racecheck[playerid]=0;
SetTimer("RestTime", 30000, 0);
}
}
new RacePositions[3];
RacePositions[0] = -1; RacePositions[1] = -1; RacePositions[2] = -1;
public OnPlayerEnterRaceCheckpoint(playerid) { ... case finish: { if(RacePositions[0] == -1) { RacePositions[0] = playerid; position = 1; } else if(RacePositions[1] == -1) { RacePositions[1] = playerid; position = 2; } else if(RacePositions[2] == -1) { RacePositions[2] = playerid; position = 3; } //Rest of that callback.... } }
Originally Posted by =>Sandra<=
Try something like:
//Global: Code:
new RacePositions[3]; Code:
RacePositions[0] = -1; RacePositions[1] = -1; RacePositions[2] = -1; Code:
public OnPlayerEnterRaceCheckpoint(playerid) { ... case finish: { if(RacePositions[0] == -1) { RacePositions[0] = playerid; position = 1; } else if(RacePositions[1] == -1) { RacePositions[1] = playerid; position = 2; } else if(RacePositions[2] == -1) { RacePositions[2] = playerid; position = 3; } //Rest of that callback.... } } |
Originally Posted by backwardsman97
Quote:
|
public OnPlayerEnterRaceCheckpoint(playerid)
{
new time = 0;
if(CURRENTCP[playerid] == 1)
{
time = GetTickCount();
}
RaceInfo[Checkpoints] = dini_Int("/Races/CurrentRace.txt","Checkpoints");
new MAXRACECPS = RaceInfo[Checkpoints];
if(CURRENTCP[playerid] == MAXRACECPS)
{
new min1,sec,milis;
ConvertTime(time,min1,sec,milis);
DisablePlayerRaceCheckpoint(playerid);
new name[24],string[128];
GetPlayerName(playerid,name,24);
format(string,128,"%s finished first :O(%d:%d.%d)",name,min1,sec,milis);
SendClientMessage(playerid,THIAZ_YELLOW,string);
PlayerPlaySound(playerid, 1076, 0.0, 0.0, 0.0);
}
stock ConvertTime(time, &minutes, &seconds, &milliseconds)
{
for(new i; i<1000; i++) {
if(time >= 1000) {
time = time-1000;
seconds++;
if(seconds == 60) {
seconds = 0;
minutes++;
}
}else{
milliseconds = time;
break;
}
}
}