Hallo, wie der Threadname schon sagt gibt random() bei mir immer den Wert 0 zurück. Hier der Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/start", cmdtext, true, 10) == 0)
{
SetPlayerCheckpoint(...); //cp1
return 1;
}
return 0;
}
public OnPlayerEnterCheckpoint(playerid)
{
zufall = random(2);
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
if (zufall == 0) { SetPlayerCheckpoint( ...); } //cp2
else if (zufall == 1) { SetPlayerCheckpoint( ...); } //cp3
else if (zufall == 2) { SetPlayerCheckpoint( ...); } //cp4
return 1;
}
Nachdem man /start eingegeben hat und man den 1. Checkpoint durchfahren hat, kommt der 2. Checkpoint. Wenn man den (auch wenn mehrmals) durchfährt, wird die Position des Checkpoints immer noch nicht geändert. Ist random() buggy oder liegt das an meinem Script? Das Script soll einfach nur bewirken, dass wenn man /start eingibt und den ersten Checkpoint durchfahren hat, man danach zufällige Checkpoints auf der Karte angezeigt bekommt und man diese abfahren soll.