Hey Leute
Hab wieder ein Problemchen Folgendes: Ich versuche einen Kurs für eine Fahrprüfung auf nem ReallifeServer zu erstellen.
Hab alle Checkpoint Coords & kenn auch die drei Befehle, die man verwendet wenn man nicht mit einem Streamer(Wie dann zB SetPlayerDynamicCP)
arbeitet:
SetPlayerCheckpoint(playerid,-2044.5792,-126.9101,35.2586,3.0);
IsPlayerInCheckpoint(playerid)
DisablePlayerCheckpoint(playerid)
(RaceCPs ausgeschlossen)
Hab schon relativ erfolglos versucht diese Befehle richtig in Szene zu setzen & auch tutorials angeschaut in denen die Verwendung dieser Befehle erklärt wird -> Folge, es funktioniert trotzdem nicht so wie ich das will
Hab mal angefangen und eine Variable gemacht, die mit jedem CP erhöht wird:
new FS1[MAX_PLAYERS];
Dann hab ich in dem Befehl den man für den start der Fahrprüfung verwendet diese Variable auf "1" gesetzt & einen CP erstellt:
SetPlayerCheckpoint(playerid,-2055.2590,-126.5977,35.3067,3.0);
FS1[playerid] = 1;
So weit so gut, nun hab ich eif bei
public OnPlayerEnterCheckpoint(playerid)
folgendes gemacht(hab ich aus diversen Tutorials):
//->Fahrschule
if(FS1[playerid] == 1)
{
SetPlayerCheckpoint(playerid,-2090.0313,-142.8927,35.3203,3.0);//p1
FS1[playerid] = 2;
}
if(FS1[playerid] == 2)
{
SetPlayerCheckpoint(playerid,-2085.2576,-164.2339,35.3203,3.0);//p2
FS1[playerid] = 3;
}
if(FS1[playerid] == 3)
{
SetPlayerCheckpoint(playerid,-2084.8738,-259.3287,35.3203,3.0);//p3
FS1[playerid] = 4;
}
if(FS1[playerid] == 4)
{
SetPlayerCheckpoint(playerid,-2088.5686,-278.3327,35.3203,3.0);//p4
FS1[playerid] = 5;
}
if(FS1[playerid] == 5)
{
SetPlayerCheckpoint(playerid,-2079.7358,-278.3954,35.3203,3.0);//p5
FS1[playerid] = 6;
}
if(FS1[playerid] == 6)
{
SetPlayerCheckpoint(playerid,-2066.9626,-262.5959,35.3274,3.0);//p6
FS1[playerid] = 7;
}
if(FS1[playerid] == 7)
{
SetPlayerCheckpoint(playerid,-2054.5481,-278.3344,35.3274,3.0);//p7.1
SetPlayerCheckpoint(playerid,-2050.3645,-278.4077,35.3274,3.0);//p7.2
FS1[playerid] = 8;
}
if(FS1[playerid] == 8)
{
SetPlayerCheckpoint(playerid,-2025.1770,-270.6463,35.3274,3.0);//p8
FS1[playerid] = 9;
}
if(FS1[playerid] == 9)
{
SetPlayerCheckpoint(playerid,-2057.9827,-245.1774,35.3203,3.0);//p9
FS1[playerid] = 10;
}
if(FS1[playerid] == 10)
{
SetPlayerCheckpoint(playerid,-2057.7407,-165.9292,35.3203,3.0);//p10
FS1[playerid] = 11;
}
if(FS1[playerid] == 11)
{
SetPlayerCheckpoint(playerid,-2044.2831,-172.5241,35.3274,3.0);//p11
FS1[playerid] = 12;
}
if(FS1[playerid] == 12)
{
SetPlayerCheckpoint(playerid,-2045.1210,-221.3237,35.3274,3.0);//p12
FS1[playerid] = 13;
}
if(FS1[playerid] == 13)
{
SetPlayerCheckpoint(playerid,-2034.0541,-209.9391,35.3203,3.0);//p13
FS1[playerid] = 14;
}
if(FS1[playerid] == 14)
{
SetPlayerCheckpoint(playerid,-2038.9460,-153.4344,35.3203,3.0);//p14
FS1[playerid] = 15;
}
if(FS1[playerid] == 15)
{
SetPlayerCheckpoint(playerid,-2038.9485,-215.7825,35.3203,3.0);//p15
FS1[playerid] = 16;
}
if(FS1[playerid] == 16)
{
SetPlayerCheckpoint(playerid,-2044.5792,-126.9101,35.2586,3.0);//p16
FS1[playerid] = 17;
}
if(FS1[playerid] == 17)
{
//if Führerschein bestanden
}
return 1;
Problem: Er springt eif durch bis zu letzten CP - hab auch schon einige andere Wege erfolglos getestet, aber da diesen hier wohl die meisten kennen hab ich den für mein Problem genommen.
Was muss ich anders machen bzw. verbessern?
Danke für eure Hilfe & fürs Lesen :DD
Mfg