Hallo Leute.
Ich habe eben versucht ein Tutorial zu erstellen, sobald ich aber den nächsten Checkpoint setze, behält er die Größe des alten Checkpoints bei.
Also ich setze als allererstes einen Checkpoint am Las Venturas Airport für eine Roller-Vermietung. Die Größe ist auf 2.0 gesetzt, und es klappt alles wunderbar.
Dann soll der Spieler den Befehl "/Roller" eintippen damit er einen Roller erhält. Sobald er den Roller hat, wird ein neuer Checkpoint vor die Stadthalle gesetzt.
Das klappt bis dahin auch ganz gut. Und sobald ich dann einen neuen Checkpoint setze, wo die Größe z.B. auf 2.0 anstatt 4.0 gesetzt ist, bleibt die Größe bei 4.0.
Hier mal ein kleiner Quelltext der Checkpoints.
public OnPlayerEnterCheckpoint(playerid)
{
if(pCheckpoint[playerid] == CP_ROLLER_VERMIETUNG)
{
pCheckpoint[playerid] = CP_NONE;
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, COLOR_GREEN, "Willkommen bei der Roller-Vermietung in Las Venturas.");
}
else if(pCheckpoint[playerid] == CP_STADTHALLE_TUT)
{
pCheckpoint[playerid] = CP_STADTHALLE_T2;
SetPlayerCheckpoint(playerid, 2447.6890,2376.2288,12.1635, 2.0);
SendClientMessage(playerid, COLOR_WHITE, "Gehe nun in die Stadthalle rein. Die meisten Gebäude kannst du mit der Taste \"Enter\" betreten.");
}
else if(pCheckpoint[playerid] == CP_STADTHALLE_T3)
{
pCheckpoint[playerid] = CP_NONE;
DisablePlayerCheckpoint(playerid);
}
return 1;
}
CMD:roller(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, 1713.8268,1303.3132,10.8279))
{
if(pRoller[playerid] != INVALID_VEHICLE_ID)
{
SendClientMessage(playerid, COLOR_GREY, "Du hast bereits einen Roller gemietet.");
return 1;
}
if(GetPlayerMoney(playerid) < 30)
{
SendClientMessage(playerid, COLOR_GREY, "Um einen Roller mieten zu können, benötigst du 30€.");
return 1;
}
new rZufall = random(sizeof(rRollerSpawn));
pRoller[playerid] = CreateVehicle(462, rRollerSpawn[rZufall][0],rRollerSpawn[rZufall][1],rRollerSpawn[rZufall][2],rRollerSpawn[rZufall][3],0,0,-1);
new str[32];
format(str, sizeof(str), "{26BD00}VRL{FFFFFF} %d", pRoller[playerid]);
SetVehicleNumberPlate(pRoller[playerid], str);
SetVehicleToRespawn(pRoller[playerid]);
PutPlayerInVehicle(playerid, pRoller[playerid], 0);
if(pDoTut[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Fahre nun mit deinem Roller zur Stadthalle.");
pCheckpoint[playerid] = CP_STADTHALLE_TUT;
SetPlayerCheckpoint(playerid, 2429.9668,2375.9519,10.2714, 4.0);
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist nicht in der Nähe der Roller-Vermietung.");
return 1;
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_SECONDARY_ATTACK)
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, 2447.6890,2376.2288,12.1635))//SH Außen
{
if(pCheckpoint[playerid] == CP_STADTHALLE_T2)
{
pCheckpoint[playerid] = CP_STADTHALLE_T3;
SetPlayerCheckpoint(playerid, 362.0343,173.5644,1008.3828, 2.0);
SendClientMessage(playerid, COLOR_WHITE, "Gehe nun zum Informations-Zeichen und tippe /stadthalle.");
}
SendClientMessage(playerid, COLOR_GREEN, "Willkommen in der Las Venturas Stadthalle!");
SetPlayerInterior(playerid, 3);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, 387.8018,173.6864,1008.3828);
}
}
return 1;
}
Danke im Voraus. Ich hoffe es lässt sich eine Lösung finden.
(e) Rechtschreibfehler
(e) Noch etwas hinzugefügt
(e) Kann mir niemand helfen?
(e) Möchte mir irgendwie nie jemand helfen? Ich benötige echt dringend Hilfe!
(e) Ich versuche mal, bevor ich "SetPlayerCheckpoint" benutze ein "DisablePlayerCheckpoint" zu machen.
(e) Geht leider auch nicht. Sobald ich den Radius eines CP's auf 4.0 mache und einen anderen anzeigen möchte, wird jeder als 4.0 angezeigt!
(e) Geht das bei jemandem von euch denn ebenfalls nicht? Wäre sehr interessant.
(e) Überschrift geändert