Koordinaten raus bekommen

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
  • Objekt- oder Fahrzeugkoordinaten kannst du ingame nicht wirklich so herausfinden. Die beste Möglichkeit dafür, wäre einen Command zu schreiben der vom jeweiligen Fahrzeug (in dem du dich aufhälst) oder Objekt (zu dem du am nächsten bist) die Koordinaten ausliest und in einer Datei speichert.
    Deine Spielerposition bekommst du ingame mit /save raus. Eigene Dateien -> Grand Theft Auto San Andreas -> SAMP -> savedpositions.txt o.Ä.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Objekt- oder Fahrzeugkoordinaten kannst du ingame nicht wirklich so herausfinden. Die beste Möglichkeit dafür, wäre einen Command zu schreiben der vom jeweiligen Fahrzeug (in dem du dich aufhälst) oder Objekt (zu dem du am nächsten bist) die Koordinaten ausliest und in einer Datei speichert.
    Deine Spielerposition bekommst du ingame mit /save raus. Eigene Dateien -> Grand Theft Auto San Andreas -> SAMP -> savedpositions.txt o.Ä.

    Ich muss Objekte entfehren habe auch schon /save und dann gesucht finde ich aber nicht!

  • Und was für Objekte musst du entfehren?
    Selbst gemappte oder GTA-native? Für zweiteres: Gucke dir mal den SA:MP Map Editor an (falls der so heißt?).

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Dann wird es wohl - selbst wenn du die Koordinaten der Objekte herausfindest - nicht allzu einfach sein diese im Script zu finden.
    Hier mal ein kleiner Code um das nächste Objekt zu finden:
    if(!strcmp(cmdtext,"/nextobj"))
    {
    new Float:x, Float:y, Float:z;
    new objID = GetNextObject(playerid);
    GetObjectPos(objID, x, y, z);
    printf("%f . %f . %f",x,y,z);
    return 1;
    }


    GetNextObject(playerid, Float:maxRange=20.0)
    {
    new Float:x, Float:y, Float:z, Float:range=MaxRange, obj=-1;
    GetPlayerPos(playerid, x, y, z);
    for(new i=0; i<1000; i++) // Ggf. gibt es eine Konstante für die MAX_OBJECTS. Bin mir da nicht ganz sicher. 1000 ist jedoch die maximale Zahl der Objekte, die es ohne Streamer geben kann.
    {
    if(IsValidObject(i))
    {
    new Float:x, Float:y, Float:z;
    GetObjectPos(i, x, y, z);
    new currentRange = GetPlayerDistanceFromPoint(playerid, x, y, z);
    if(currentRange < range)
    {
    range = currentRange;
    obj = i;
    }
    }
    }
    return obj;
    }
    Habe den Code auf die schnelle geschrieben, sollte jedoch funktionieren.
    Die Schleife verschont die Ressourcen zwar nicht wirklich, ist ja aber nur zum Finden der jeweiligen Objekte.
    Wenn du dich an das zu löschende Objekt ranstellst und den Command eingibst, solltest du in der Konsole/Serverlog die Koordinaten des Objektes haben.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger