Koordinaten "übermitteln"

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
  • Ich hab mal ne kleine Frage an euch,.
    Wie mache ich es am besten das z.b. ein Spieler /savelook macht das seine koords und seine "Blickrichtung" gespeichert werden und wenn ein anderer /watch eingibt seine Ansicht dann da hin bewegt wird?


    Hauptproblem für mich ist die "Übermittlung" der Koords, hab mich damit noch nicht soviel beschäftigt ^^


    Danke schon mal.


    mfg
    fenestro

  • Ich selber würde diese mit dini Abspeichern... aber da ich kein Profi Scripter bin gehe ich mal von einer besseren Lösung aus^^


    //Edit: Also mit dini Speichern und dann bei den anderen Befehl Abrufen und die CameraPos und Facing Angle so setzen^^

  • //Oben


    new Float:a[MAX_PLAYERS];//Float als spieler varriable für alle




    //befehl


    ocmd:savelook(playerid)
    {
    new Float:angel;//neuer float
    GetPlayerFacingAngle(playerid,angel); //Um es auszulesen also die sicht...
    a[playerid] = angel; //Unsere Variable auf angel
    return 1;
    }


    ocmd:watch(playerid);
    {
    SetPlayerFacingAngle(playerid,a[playerid]); //Wir setzen die sicht
    return 1;
    }

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • Ich hab mal ne kleine Frage an euch,.
    Wie mache ich es am besten das z.b. ein Spieler /savelook macht das seine koords und seine "Blickrichtung" gespeichert werden und wenn ein anderer /watch eingibt seine Ansicht dann da hin bewegt wird?


    ocmd:watch(playerid);
    {
    SetPlayerFacingAngle(playerid,a[playerid]); //Wir setzen die sicht Das playerid macht kein Sinn da er dann seine Eigenen Koordinaten sieht.
    return 1;
    }
    Ich würde es mit /watch [playerid] und sscanf machen und das playerid durch die richrige ersetzen. z.B. so


    ocmd:watch(playerid);
    {
    new target;
    if(sscanf(params, "u", target))return SendCLientMessage(playerid, FARBE, TEXT);
    else
    {
    SetPlayerFacingAngle(playerid,a[target]);
    }
    return 1;
    }

  • Nein ein watch playerid brauch ich sowieso nicht. Das dient für etwas anderes, aber das werdet ihr noch früh genug hören :)


    //Edit:
    Okay ich checks grad nicht.


    Also es sollte nur 1x das ganze gespeichert werden. Also spieler 1 gibt /savelook ein und später spieler 2. man sollte dann wer /watch das vom letzten sehen der /savelook eingegeben hat.


    Hoffe jetzt ist es verständlich ^^


    //edit


    gibts wirklich keine andere möglichkeit auser mit dini anzuspeichern?
    das erscheint mir schon sehr umständlich

    Einmal editiert, zuletzt von fenestro ()

  • Du kannst auch einfach das playerid weglassen dann machst du es so.


    //Oben


    new Float:X, Float:y, Float:Z;//Float als spieler varriable für alle




    //befehl


    ocmd:savelook(playerid)
    {
    //neuer float
    GetPlayerPos(playerid, X, Y, Z);
    return 1;
    }


    ocmd:watch(playerid);
    {
    SetPlayerCameraLookAt(playerid, X, Y, Z, CAMERA_MOVE);
    return 1;
    }
    Müsste klappen ist aber ausm Kopf und ungetestet.

  • Wieso nicht? Probier es doch einfach mal aus. Und anstatt GetPlayerPos machst du halt GetPlayerCameraPos und das mit SetPlayerCameraLookAt hat schon seinen Grund undzwar wird die Kamera so dorthin"gefahren" und ist nicht plötzlich da.

  • ocmd:savelook(playerid)
    {
    new Float:X, Float:y, Float:Z;


    GetPlayerCameraPos (playerid, X, Y, Z);

    return 1;
    }




    ocmd:lookat(playerid);
    {
    new Float:X2, Float:Y2, Float:Z2;
    GetPlayerPos (playerid, X2, Y2, Z2);

    return 1;
    }

    ocmd:watch(playerid);
    {
    SetPlayerCameraLookAt(playerid, X2, Y2, Z2,
    CAMERA_MOVE);
    SetPlayerCameraPos ( playerid, X , Y, Z ) ;
    return 1;
    }



    würde das so gehen oder hab ich da was verwechselt? Bin am Handy darum kein pwn tag


    mfg
    fenestro

  • new X, Y, Z, X2, Y2, Z2;


    ocmd:savelook(playerid)
    {


    GetPlayerCameraPos (playerid, X, Y, Z);

    return 1;
    }




    ocmd:lookat(playerid);
    {


    GetPlayerPos (playerid, X2, Y2, Z2);

    return 1;
    }

    ocmd:watch(playerid);
    {
    SetPlayerCameraLookAt(playerid, X2, Y2, Z2,
    CAMERA_MOVE);
    SetPlayerCameraPos ( playerid, X , Y, Z ) ;
    return 1;
    }


    So?