You can try to set the new checkpoint via a timer.
I've experienced problems as well using a clickable textdraw menu by hiding all textdraws and the re-opening them in the same function.
The menu stays closed.
I had to re-open the menu through the use of a timer.
Maybe the same happens with checkpoints, where the game keeps the size of the checkpoint if it's recreated at once.
PHP код:
public SetPlayerCheckpointEx(playerid, Float: cpx, Float: cpy, Float: cpz, Float: range)
{
DisablePlayerCheckpoint(playerid);
SetTimerEx("Newcheckpoint", 250, false, "iffff", playerid, cpx, cpy, cpz, range);
}
forward Newcheckpoint(playerid, Float: cpx, Float: cpy, Float: cpz, Float: range);
public Newcheckpoint(playerid, Float: cpx, Float: cpy, Float: cpz, Float: range)
{
CPX[playerid] = cpx;
CPY[playerid] = cpy;
CPZ[playerid] = cpz;
SetPlayerCheckpoint(playerid, cpx, cpy, cpz, range);
CPH[playerid] = 1;
return 1;
}