Hallo, ich habe heute mir das tutorial für die race Checkpoints angekuckt und habe es geschaft.
So jetzt wollte ich 2 weiter Strecken dabei packen mit 2 andren befehlen aber dann spackt alles rum
Ich kann zawar durschfahren aber der 1 verschwindet nicht und das genau gleiche bei der 3 strecke.
bei der 1 geht alles 100% mhh kann mir einer helfen ihr ist mal mein code von der Gamemode.
#define MAX_RACE_POINTSA 17
#define MAX_RACE_POINTSB 17
#define MAX_RACE_POINTSC 17
new MachtArbeitA[MAX_PLAYERS];
new MachtArbeitB[MAX_PLAYERS];
new MachtArbeitC[MAX_PLAYERS];
new CheckpointStatusA[MAX_PLAYERS];
new CheckpointStatusB[MAX_PLAYERS];
new CheckpointStatusC[MAX_PLAYERS];
new Float:buschecka[MAX_RACE_POINTSA][3] = {
{1182.0342, -1734.7896, 12.9615}, //Linie 1-1
{1277.1027, -1714.2407, 12.9446}, //Linie 1-2
{1489.2850, -1734.7723, 12.9545}, //Linie 1-3
{1805.7523, -1735.3319, 12.9574}, //Linie 1-4
{1819.2798, -1875.3885, 12.9839}, //Linie 1-5
{2056.5996, -1940.1371, 12.9122}, //Linie 1-6
{2115.4287, -1400.2982, 23.3906}, //Linie 1-7
{2306.2002, -1313.7911, 23.3939}, //Linie 1-8
{2158.1003, -1115.0045, 24.9318}, //Linie 1-9
{1824.7280, -1178.1555, 23.2007}, //Linie 1-10
{1460.3375, -1031.4832, 23.2164}, //Linie 1-11
{1175.6552, -938.2986, 42.3738}, //Linie 1-12
{518.1565, -1256.4653, 15.6491}, //Linie 1-13
{527.4529, -1507.5858, 13.9531}, //Linie 1-14
{872.2324, -1787.8326, 13.2159}, //Linie 1-15
{1182.0934, -1832.5228, 12.9778}, //Linie 1-16
{1182.0934, -1832.5228, 12.9778}
};
new Float:buscheckb[MAX_RACE_POINTSB][3] = {
{1181.8596, -1735.4093, 12.9677}, //Linie 2-1
{721.5611, -1753.8352, 13.9930}, //Linie 2-2
{107.8725, -1530.5292, 6.1006}, //Linie 2-3
{-108.1544, -1160.3534, 1.7963}, //Linie 2-4
{-1801.1699, -574.9293, 15.6090}, //Linie 2-5
{-2251.5098, -327.0618, 50.4386}, //Linie 2-6
{-2061.3191, -72.5554, 34.7359}, //Linie 2-7
{-1991.5287, 149.5185, 27.1109}, //Linie 2-8
{-1998.8617, 586.1841, 34.5875}, //Linie 2-9
{-1627.8982, 728.5603, 14.0254}, //Linie 2-10
{-1627.8982, 728.5603, 14.0254}, //Linie 2-11
{-1662.6156, 395.2200, 6.5930}, //Linie 2-12
{-1802.7261, -314.9729, 24.3445}, //Linie 2-13
{-1801.6030, -584.1558, 15.5852},//Linie 2-14
{-116.2949, -1164.6552, 2.1462}, //Linie 2-15
{380.2866, -1718.3601, 7.0727}, //Linie 2-16
{872.1151, -1787.5747, 13.2153} //Linie 2-17
};
new Float:buscheckc[MAX_RACE_POINTSC][3] = {
{1181.6285, -1735.0781, 12.9600}, //Linie 3-1
{1277.0609, -1714.4529, 12.9439}, //Linie 3-2
{1319.8336, -1536.6691, 12.9450}, //Linie 3-3
{1367.9175, -1079.5706, 24.6685}, //Linie 3-4
{1545.8483, -995.1221, 43.0945}, //Linie 3-5
{1680.3718, -298.7335, 44.4356}, //Linie 3-6
{1834.3010, 831.3017, 9.6854}, //Linie 3-7
{2069.0654, 892.3493, 7.1055}, //Linie 3-8
{2069.9985, 1353.9974, 10.2297}, //Linie 3-9
{2039.4832, 1321.7142, 10.2320}, //Linie 3-10
{2045.5692, 869.6846, 6.4456}, //Linie 3-11
{1782.8911, 764.5721, 11.7469}, //Linie 3-12
{1657.8313, -287.6163, 39.3377}, //Linie 3-13
{1603.1088, -878.2926, 53.6561}, //Linie 3-14
{1352.0442, -1017.9941, 26.1473}, //Linie 3-15
{1295.1267, -1827.7804, 12.9462}, //Linie 3-16
{1181.7307, -1831.7385, 12.9643} //Linie 3-17
};
public OnPlayerEnterRaceCheckpoint(playerid)
{
if (IsPlayerInAnyVehicle(playerid)) // Bedeutet, dass die Fukntion nur dann funk. ,wennn man in einem fahrzeug sitzt.
{
if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 437) // Model ID 408, bedeutet, dass das ganze,was unten geschicet nur dann geht, wenn man im Model 408 drinne sitzt.
{
if(MachtArbeitA[playerid] == 1) // Dies passiert nur dann, wenn man /mission geschieben hat.
{
CheckpointStatusA[playerid]++; // Hier werden die Checkpoints aufgezählt.
new letzerpunktA = MAX_RACE_POINTSA; // Wichtig. Hier wird der letze Checkpoint definiert.
if(CheckpointStatusA[playerid] < letzerpunktA) // Ist der checkpoint Status kleiner als die maximale Anzahl der Checkpoints, bedeutet dieser Code.
{
DisablePlayerRaceCheckpoint(playerid); // Beendet den Checkpoint
SetPlayerRaceCheckpoint(playerid,0,buschecka[CheckpointStatusA[playerid]][0],buschecka[CheckpointStatusA[playerid]][1],buschecka[CheckpointStatusA[playerid]][2],buschecka[CheckpointStatusA[playerid]+1][0],buschecka[CheckpointStatusA[playerid]+1][1],buschecka[CheckpointStatusA[playerid]+1][2],3.0);
} // Bedeutung: SetPlayerRaceCheckpoint(playerid, Checkpointtype, X[CheckpointSTatus], Y[CheckpointStatus], Z[CheckpointStatus], NächsterX[Nächster CheckpointSTatus],NächsterY[Nächster CheckpointSTatus],NächsterZ[Nächster CheckpointSTatus], size);
if(CheckpointStatusA[playerid] == letzerpunktA)
{ // Wenn der Checkpoint STatus die maximale Anzahl erreich hat. Passiert folgendes:
MachtArbeitA[playerid]= 0; // Hier wird die Mission beendet.
CheckpointStatusA[playerid] = 0; // Hier wird definiert, dass, der Checkpoint Status bei Null liegt.
DisablePlayerRaceCheckpoint(playerid); // Damit wird der Race Checkpoint beendet.
}
}
}
return 1;
}
if (IsPlayerInAnyVehicle(playerid)) // Bedeutet, dass die Fukntion nur dann funk. ,wennn man in einem fahrzeug sitzt.
{
if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 437) // Model ID 408, bedeutet, dass das ganze,was unten geschicet nur dann geht, wenn man im Model 408 drinne sitzt.
{
if(MachtArbeitB[playerid] == 1) // Dies passiert nur dann, wenn man /mission geschieben hat.
{
CheckpointStatusB[playerid]++; // Hier werden die Checkpoints aufgezählt.
new letzerpunktB = MAX_RACE_POINTSB; // Wichtig. Hier wird der letze Checkpoint definiert.
if(CheckpointStatusB[playerid] < letzerpunktB) // Ist der checkpoint Status kleiner als die maximale Anzahl der Checkpoints, bedeutet dieser Code.
{
DisablePlayerRaceCheckpoint(playerid); // Beendet den Checkpoint
SetPlayerRaceCheckpoint(playerid,0,buscheckb[CheckpointStatusB[playerid]][0],buscheckb[CheckpointStatusB[playerid]][1],buscheckb[CheckpointStatusB[playerid]][2],buscheckb[CheckpointStatusB[playerid]+1][0],buscheckb[CheckpointStatusB[playerid]+1][1],buscheckb[CheckpointStatusB[playerid]+1][2],3.0);
} // Bedeutung: SetPlayerRaceCheckpoint(playerid, Checkpointtype, X[CheckpointSTatus], Y[CheckpointStatus], Z[CheckpointStatus], NächsterX[Nächster CheckpointSTatus],NächsterY[Nächster CheckpointSTatus],NächsterZ[Nächster CheckpointSTatus], size);
if(CheckpointStatusB[playerid] == letzerpunktB)
{ // Wenn der Checkpoint STatus die maximale Anzahl erreich hat. Passiert folgendes:
MachtArbeitB[playerid]= 0; // Hier wird die Mission beendet.
CheckpointStatusB[playerid] = 0; // Hier wird definiert, dass, der Checkpoint Status bei Null liegt.
DisablePlayerRaceCheckpoint(playerid); // Damit wird der Race Checkpoint beendet.
}
}
}
return 1;
}
if (IsPlayerInAnyVehicle(playerid)) // Bedeutet, dass die Fukntion nur dann funk. ,wennn man in einem fahrzeug sitzt.
{
if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 437) // Model ID 408, bedeutet, dass das ganze,was unten geschicet nur dann geht, wenn man im Model 408 drinne sitzt.
{
if(MachtArbeitC[playerid] == 1) // Dies passiert nur dann, wenn man /mission geschieben hat.
{
CheckpointStatusC[playerid]++; // Hier werden die Checkpoints aufgezählt.
new letzerpunktC = MAX_RACE_POINTSC; // Wichtig. Hier wird der letze Checkpoint definiert.
if(CheckpointStatusC[playerid] < letzerpunktC) // Ist der checkpoint Status kleiner als die maximale Anzahl der Checkpoints, bedeutet dieser Code.
{
DisablePlayerRaceCheckpoint(playerid); // Beendet den Checkpoint
SetPlayerRaceCheckpoint(playerid,0,buscheckc[CheckpointStatusC[playerid]][0],buscheckc[CheckpointStatusC[playerid]][1],buscheckc[CheckpointStatusC[playerid]][2],buscheckc[CheckpointStatusC[playerid]+1][0],buscheckc[CheckpointStatusC[playerid]+1][1],buscheckc[CheckpointStatusC[playerid]+1][2],3.0);
} // Bedeutung: SetPlayerRaceCheckpoint(playerid, Checkpointtype, X[CheckpointSTatus], Y[CheckpointStatus], Z[CheckpointStatus], NächsterX[Nächster CheckpointSTatus],NächsterY[Nächster CheckpointSTatus],NächsterZ[Nächster CheckpointSTatus], size);
if(CheckpointStatusC[playerid] == letzerpunktC)
{ // Wenn der Checkpoint STatus die maximale Anzahl erreich hat. Passiert folgendes:
MachtArbeitC[playerid]= 0; // Hier wird die Mission beendet.
CheckpointStatusC[playerid] = 0; // Hier wird definiert, dass, der Checkpoint Status bei Null liegt.
DisablePlayerRaceCheckpoint(playerid); // Damit wird der Race Checkpoint beendet.
}
}
}
return 1;
}
2 Teil folgt