Hey,
ich will gerade die Angle zwischen mir und einem Checkpoint berechen. Nur das Problem ist, dafür bräuchte ich die Position des Checkpoints, was für mich nicht so einfach ist da der Checkpoint zufällig aus einer Liste ausgewählt wird. Also bräuchte ich entweder so etwas wie GetCheckpointPos oder GetCheckpointAngle, gibt es dafür irgendeine Include ?
GetCheckpointPos // GetCheckpointAngle
- Oskaar1994
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Du setzt die Position doch, also musst du doch wissen wo der Checkpoint ist.
Oder speicher die Position in einer Variable. -
Du setzt die Position doch, also musst du doch wissen wo der Checkpoint ist.
Oder speicher die Position in einer Variable.
Wie gesagt er wird zufällig aus einer Liste von Checkpoints ausgewählt. -
Dann erstellst du mittels new ein 2 Dimensionales Array
enum CPInfo {
Float:E_X,
Float:E_Y,
Float:E_Z
}Danach definierst du wieviele Checkpoints es später geben wird.
bsp:
#define MAX_RANDOM_CPS 10Als nächstes Speicherst du die Koordinaten, bzw. du machst das Array mit den Koordinaten
new Random_CPS[MAX_RANDOM_CPS][CPInfo] = {
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0}
};Danach zum erstellen machst du einfach folgendes.
new index = random(MAX_RANDOM_CPS);
SetPlayerCheckpoint(playeird, Random_CPS[index][E_X], Random_CPS[index][E_Y], Random_CPS[index][E_Z], size);Hoffe, dass ich dir helfen konnte
Grüße
-
Dann erstellst du mittels new ein 2 Dimensionales Array
enum CPInfo {
Float:E_X,
Float:E_Y,
Float:E_Z
}Danach definierst du wieviele Checkpoints es später geben wird.
bsp:
#define MAX_RANDOM_CPS 10Als nächstes Speicherst du die Koordinaten, bzw. du machst das Array mit den Koordinaten
new Random_CPS[MAX_RANDOM_CPS][CPInfo] = {
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0}
};Danach zum erstellen machst du einfach folgendes.
new index = random(MAX_RANDOM_CPS);
SetPlayerCheckpoint(playeird, Random_CPS[index][E_X], Random_CPS[index][E_Y], Random_CPS[index][E_Z], size);Hoffe, dass ich dir helfen konnte
Grüße
Danke für die Antwort, nur das alles habe ich ja schon ich muss irgendwie die Angle zwischen mir und dem Checkpoint bekommen. Weil wenn ich z.B das folgende machen würde, würde ich ja nur die Angle von einem zufälligen Checkpoint aus der Liste bekommen.
atan2(myposX - Random_CPS[index][E_X], myposY - Random_CPS[index][E_Y]) -
Dann nimmst du anstatt die Random Variable index einfach die Zahl des Checkpoints.
Wenn ich das richtig verstanden habe -
Dann nimmst du anstatt die Random Variable index einfach die Zahl des Checkpoints.
Wenn ich das richtig verstanden habe
Das wäre sehr unpassend weil ich ja zufällige Missionen mache. -
Hää
Du kannst doch einfach..
Du gehst hin und startest die mission
Dann speicherst du diese Index Variable und dann kannst du das doch immer abrufen :o -
Hää
Du kannst doch einfach..
Du gehst hin und startest die mission
Dann speicherst du diese Index Variable und dann kannst du das doch immer abrufen :o
Könntest du mir ein Beispiel machen wie ? Ich setze meinen Checkpoint so:
SetPlayerRaceCheckpoint(playerid,2,Hplanes[id][x],Hplanes[id][y],Hplanes[id][z],0,0,0,Hplanes[id][size]); -
breadfish.de
Hat das Thema geschlossen.