Hey Leute. So habe folgendes Problem.
Ich hab mir nen Checkpoint Streamer von Luxorious geladen. Ich brauche den zum Betreten und Verlassen von Gebäuden (interiors). Ich will es so haben das jefalls nur ein checkpoint vor dem interior zum Betreten und ein checkpoint in dem Interior zum verlassen dient. Ausserdem möchte ich, das Der Player der den Checkpoint vor dem Interior benutzt zu dem Checkpoint (der zum verlassen dient) im Interior teleportiert wird. Das Problem ist sobald das passiert, wird de Spieler sofort wieder hinaus teleportiert und dann sofort wierder rein und raus und rein etc, weil man beim teleportieren immerwieder auf dem Checkpoint landet (aber das will ich ja so) nur es soll nicht passieren das der Spieler sofort wieder teleportiert wird, erst nachdem der Checkpoint 1 mal verlassen und wieder betreten worden ist! Ich hoffe ihr habt mich soweit verstanden.
Ich hab das schon mit hilfe einer Globalen Variable und Timer versucht. Das klappt aber nicht so ganz. Ich wüsste auch nicht wie ich dem Timer sagen soll, welche Playerid er beim ausführen der funktion weiterleiten soll. Ich habs auch schon mit Onplayerleavecheckpoint versucht (ist ein spezial in dem streamer) funzt auch net gut. Wird immer wieder sofort teleportiert. Weis einer rat? bisher habe ich es so gemacht:
new EnterExit[MAX_PLAYERS];
public LCS_OnPlayerEnterCheckpoint(playerid,checkpointid)
if(checkpointid == Bankentrance)
{
if(EnterExit[playerid] != 1)
{
EnterExit[playerid] = 1;
ResetEnterExit(playerid);
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid,-2159.122802,641.517517,1052.381713);
SetPlayerFacingAngle(playerid, 180);
return 1;
}
else if(EnterExit[playerid] == 1)
{
return 0;
}
}
if(checkpointid == Bankexit)
{
if(EnterExit[playerid] != 1)
{
SetTimer(ResetEnterExit(playerid), 2000, 0);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-1581.1720,866.7291,7.6953);
SetPlayerFacingAngle(playerid, 180);
return 1;
}
else if(EnterExit[playerid] == 1)
{
return 0;
}
}
// Beispiel 1 per OnPlayerLeaveChckpoint //funzte net richtig
public LCS_OnPlayerLeaveCheckpoint(playerid,checkpointid)
{
if(checkpointid == Bankexit)
{
EnterExit[playerid] = 0;
return 1;
} //etc etc
}
// Beispiel 2 per Timer wuste nicht richtig wie es geht
Hilfe