Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- if(RaceStarted == 1)
- {
- if(Joined[playerid] == true)
- {
- if(CPProgess[playerid] == TotalCP -1)
- {
- new
- TimeStamp,
- TotalRaceTime,
- string[256],
- rFile[256],
- rTime[3],
- Prize[2],
- TempTotalTime,
- TempTime[3]
- ;
- Position++;
- TimeStamp = GetTickCount();
- TotalRaceTime = TimeStamp - RaceTick;
- ConvertTime(var, TotalRaceTime, rTime[0], rTime[1], rTime[2]);
- switch(Position)
- {
- case 1:
- {
- Prize[0] = (random(random(5000)) + 10000), Prize[1] = 10;
- pData[playerid][RaceWon]++;
- }
- case 2: Prize[0] = (random(random(4500)) + 9000), Prize[1] = 9;
- case 3: Prize[0] = (random(random(4000)) + 8000), Prize[1] = 8;
- case 4: Prize[0] = (random(random(3500)) + 7000), Prize[1] = 7;
- case 5: Prize[0] = (random(random(3000)) + 6000), Prize[1] = 6;
- case 6: Prize[0] = (random(random(2500)) + 5000), Prize[1] = 5;
- case 7: Prize[0] = (random(random(2000)) + 4000), Prize[1] = 4;
- case 8: Prize[0] = (random(random(1500)) + 3000), Prize[1] = 3;
- case 9: Prize[0] = (random(random(1000)) + 2000), Prize[1] = 2;
- default: Prize[0] = random(random(1000)), Prize[1] = 1;
- }
- format(string, sizeof(string), ">> \"%s\" has finished the race in position \"%d\".", pName(playerid), Position);
- SendClientMessageToAll(WHITE, string);
- new IRC[100+1000];
- format(IRC, sizeof(IRC), "0,13* %s (ID: %d) has finished the race in position %d.",GetName(playerid),playerid, Position);
- IRC_GroupSay(groupID, IRC_CHANNEL, IRC);
- format(string, sizeof(string), " - Time: \"%d:%d.%d\".", rTime[0], rTime[1], rTime[2]);
- SendClientMessageToAll(WHITE, string);
- format(string, sizeof(string), " - Prize: \"$%d and +%d Score\".", Prize[0], Prize[1]);
- SendClientMessageToAll(WHITE, string);
- if(FinishCount <= 5)
- {
- format(rFile, sizeof(rFile), "/rRaceSystem/%s.RRACE", RaceName);
- format(string, sizeof(string), "BestRacerTime_%d", TimeProgress);
- TempTotalTime = dini_Int(rFile, string);
- ConvertTime(var1, TempTotalTime, TempTime[0], TempTime[1], TempTime[2]);
- if(TotalRaceTime <= dini_Int(rFile, string) || TempTotalTime == 0)
- {
- dini_IntSet(rFile, string, TotalRaceTime);
- format(string, sizeof(string), "BestRacer_%d", TimeProgress);
- if(TempTotalTime != 0) format(string, sizeof(string), ">> \"%s\" has broken the record of \"%s\" with \"%d\" seconds faster on the \"%d\"'st/th place!", pName(playerid), dini_Get(rFile, string), -(rTime[1] - TempTime[1]), TimeProgress+1);
- else format(string, sizeof(string), ">> \"%s\" has broken a new record of on the \"%d\"'st/th place!", pName(playerid), TimeProgress+1);
- SendClientMessageToAll(GREEN, " ");
- SendClientMessageToAll(GREEN, string);
- SendClientMessageToAll(GREEN, " ");
- format(string, sizeof(string), "BestRacer_%d", TimeProgress);
- dini_Set(rFile, string, pName(playerid));
- TimeProgress++;
- }
- }
- FinishCount++;
- GivePlayerMoney(playerid, Prize[0]);
- SetPlayerScore(playerid, GetPlayerScore(playerid) + Prize[1]);
- DisablePlayerRaceCheckpoint(playerid);
- CPProgess[playerid]++;
- if(FinishCount >= JoinCount) return StopRace();
- }
- else
- {
- CPProgess[playerid]++;
- CPCoords[CPProgess[playerid]][3]++;
- RacePosition[playerid] = floatround(CPCoords[CPProgess[playerid]][3], floatround_floor);
- SetCP(playerid, CPProgess[playerid], CPProgess[playerid]+1, TotalCP, RaceType);
- PlayerPlaySound(playerid, 1137, 0.0, 0.0, 0.0);
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment