Checkpoints
#1

Hey guys. I wanted to make simple race with checkpoints. I have coords of checkpoints
Код:
if(RaceCheckpoint[playerid] == 0)
{
	SetPlayerRaceCheckpoint(playerid,0,2430.996093,-1720.107788,13.510285,2431.342529,-1572.336791,23.507204,3);
	RaceCheckpoint[playerid] = 1;
}
Now how can i make when player enters last check points he get money?/
Thank you
Reply
#2

For 1 race, this should do the job. For more races, you'll have to write your own racing system or use an existed one.

PHP код:
// global: 
static 
    
gPlayer_RaceCP[MAX_PLAYERS char]; // I doubt will have more than 256 checkpoints but if that's the case, remove char and replace {} with []
static const 
    
FloatgRace_CPs[][] = 
    { 
// add coordinates here
        
{x1y1z1},
        {
x2y2z2}, 
        ...
        {
xnynzn
    }; 
// OnPlayerConnect/OnPlayerDisconnect/Leaving race etc, reset: 
gPlayer_RaceCP{playerid} = 0
// when a player joins the race:
SetPlayerRaceCheckpoint(playerid0gRace_CPs[0][0], gRace_CPs[0][1], gRace_CPs[0][2], gRace_CPs[1][0], gRace_CPs[1][1], gRace_CPs[1][2], 9.0);
public 
OnPlayerEnterRaceCheckpoint(playerid

    switch (
sizeof gRace_CPs gPlayer_RaceCP{playerid}) 
    { 
        case 
1// last checkpoint (finish line) 
        

              
DisablePlayerRaceCheckpoint(playerid); 
              
gPlayer_RaceCP{playerid} = 0;
              
// give money
        

        case 
2// second to last 
        

              new 
                  
cp = ++gPlayer_RaceCP{playerid}; 
              
SetPlayerRaceCheckpoint(playerid1gRace_CPs[cp][0], gRace_CPs[cp][1], gRace_CPs[cp][2], 0.00.00.09.0); 
        } 
        default: 
        { 
              new 
                  
cp = ++gPlayer_RaceCP{playerid}; 
              
SetPlayerRaceCheckpoint(playerid0gRace_CPs[cp][0], gRace_CPs[cp][1], gRace_CPs[cp][2], gRace_CPs[cp 1][0], gRace_CPs[cp 1][1], gRace_CPs[cp 1][2], 9.0); 
        } 
    } 
    return 
1

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)