Pascal.: Du hast die Überprüfung der Stufe vergessen.
public OnPlayerEnterRaceCheckpoint(playerid)
{
if(GetPVarInt(playerid,"Prufung") == 1)
{
if(GetPVarInt(playerid,"Stufe") != 1)
{
new cID = GetPVarInt(playerid, "fCP");
new Float:range;
if(cID == sizeof(fsCP)-1) range = 20.0;
else range = 10.0;
if(IsPlayerInRangeOfPoint(playerid, range, fsCP[cID][fx], fsCP[cID][fy], fsCP[cID][fz]))
{
cID++;
if(cID >= sizeof(fsCP))
{
new string[150];
DestroyVehicle(GetPVarInt(playerid,"Flugzeug"));
new vID = CreateVehicle(487,419.8472,2503.8560,17.8609,89.4706,1,1,-1);
SetPVarInt(playerid,"Flugzeug",vID);
SetPVarInt(playerid,"fCP",0); //Setzen Checkpoint 0 (es wird ab 0 angefangen zu zählen)
SetPlayerRaceCheckpoint(playerid, 3,fsCP[0][fx],fsCP[0][fy],fsCP[0][fz], fsCP[1][fx],fsCP[1][fy],fsCP[1][fz], 10); //Hier wird der Checkpoint erstellt & der 2 Checkpoint auch
TextDrawShowForPlayer(playerid, usebox3);
TextDrawShowForPlayer(playerid, arz);
TextDrawShowForPlayer(playerid, info1);
format(string,150,"Fliege mit dem Maverick~n~erneut den Rundflug.");
TextDrawSetString(info1,string);
SetVehicleVirtualWorld(GetPVarInt(playerid,"Flugzeug"),GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid,vID,0);
SetPVarInt(playerid,"Stufe",1);
}
SetPVarInt(playerid, "fCP", cID);
if(cID < sizeof(fsCP)-1) SetPlayerRaceCheckpoint(playerid, 3, fsCP[cID][fx], fsCP[cID][fy],fsCP[cID][fz], fsCP[cID+1][fx], fsCP[cID+1][fy],fsCP[cID+1][fz], 10);
else SetPlayerRaceCheckpoint(playerid, 4, fsCP[cID][fx], fsCP[cID][fy],fsCP[cID][fz], fsCP[cID][fx], fsCP[cID][fy],fsCP[cID][fz], 10);
}
return 1;
}
}
if(GetPVarInt(playerid,"Prufung") == 1)
{
if(GetPVarInt(playerid,"Stufe") == 1)
{
new cID = GetPVarInt(playerid, "fCP");
new Float:range;
if(cID == sizeof(fsCP)-1) range = 20.0;
else range = 10.0;
if(IsPlayerInRangeOfPoint(playerid, range, fsCP[cID][fx], fsCP[cID][fy], fsCP[cID][fz]))
{
cID++;
if(cID >= sizeof(fsCP))
{
SetPVarInt(playerid, "fCP", 0);
new string[128];
format(string,128,"{C8C8C8}Du hast den Flugschein erfolgreich {41FF00}bestanden.");
SCM(playerid,COLOR_GRAU,string);
DestroyVehicle(GetPVarInt(playerid,"Flugzeug"));
SetPlayerPos(playerid,415.1635,2535.5076,19.1484);
SetPlayerVirtualWorld(playerid,0);
SetPVarInt(playerid,"Prufung",0);
SetPVarInt(playerid,"Flugschein",1);
DisablePlayerRaceCheckpoint(playerid);
SavePlayer(playerid);
SetPVarInt(playerid,"Stufe",0);
}
SetPVarInt(playerid, "fCP", cID);
if(cID < sizeof(fsCP)-1) SetPlayerRaceCheckpoint(playerid, 3, fsCP[cID][fx], fsCP[cID][fy],fsCP[cID][fz], fsCP[cID+1][fx], fsCP[cID+1][fy],fsCP[cID+1][fz], 10);
else SetPlayerRaceCheckpoint(playerid, 4, fsCP[cID][fx], fsCP[cID][fy],fsCP[cID][fz], fsCP[cID][fx], fsCP[cID][fy],fsCP[cID][fz], 10);
}
return 1;
}
return 1;
}
DisablePlayerRaceCheckpoint(playerid);
return 1;
}