Hallo.
Kurze Frage.. bei mir wird der nächste RaceCheckpoint nicht mehr angezeigt, wenn ich den ersten passiert habe.. mit normalen Checkpoint klappt das alles.. jedoch so nicht... wüsste wer zufällig warum?
So habe ich die koordinaten in einem array +enum
new PilotLSSF[][NJobDaten] = {
{491.0360,-2480.9023,208.3164},
{-934.9673,-2460.8608,353.8739},
{-1648.3916,-1971.1779,326.9221},
{-1535.7734,-1203.6198,252.9583},
{-1764.5897,-391.3161,247.9086},
{-1417.1436,73.7660,14.8915},
{-1249.4308,-103.9663,14.8782}
};
enum NJobDaten {
Float:X,
Float:Y,
Float:Z
}
public PilotTimerLSSF(playerid)
{
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid,COLOR_GELB,"Tower Los Santos: Startfreigabe erteilt. Guten Flug!");
SetPlayerRaceCheckpoint(playerid, 3,PilotLSSF[0][X], PilotLSSF[0][Y],PilotLSSF[0][Z],PilotLSSF[1][X],PilotLSSF[1][Y],PilotLSSF[1][Z], 5.0);//Erster Checkpoint
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
for(new i = 0;i<sizeof PilotLSSF;i++)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,PilotLSSF[i][X],PilotLSSF[i][Y],PilotLSSF[i][Z]))
{
new string[128];
DisablePlayerRaceCheckpoint(playerid);
Nebenjob[playerid][p_Checkpoint]++;
new playercp = Nebenjob[playerid][p_Checkpoint];
if(playercp == sizeof(PilotLSSF))
{
new EXP = 4 + random(5);
new GELD = 400 + random(267);
pInfo[playerid][PilotenExp] += EXP;
pInfo[playerid][pSonstigeEinnahmen] +=GELD;
format(string,sizeof(string),"Sie erhalten +%d Exp und %i$ dazu!", EXP,GELD);
SendClientMessage(playerid,COLOR_HELLBLAU,string);
PilotErfahrung(playerid);
}
else
{
SetPlayerRaceCheckpoint(playerid, 3, PilotLSSF[playercp][X],PilotLSSF[playercp][Y],PilotLSSF[playercp][Z],PilotLSSF[Nebenjob[playerid][p_Checkpoint]+1][X],PilotLSSF[Nebenjob[playerid][p_Checkpoint]+1][Y],PilotLSSF[Nebenjob[playerid][p_Checkpoint]+1][Z],5.0);
}
}
}
return 1;
}
//Edit: Hat keiner eine Idee?
Mfg
Sebastian