Brauche hilfe mit SetObjectRot

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
  • Gleich im vorraus, ich möchte eine Schranke Scripten und mache das mit SetObjectRot zum ersten mal (habe vohrer immer mit Destroy und CreateObject gearbeitet, ist aber verhätnismäßig verbugt).
    Heute hab ich herausgefunden, dass es mit SetObjectRot einfacher geht und nicht verbugt ist.^^ Ich habe blos einige Probleme vielleicht liegt es daran, dass ich für die Rot Koordinaten die Koordinaten der ggeöffneten Schranke genommen habe, bitte einfach um etwas hilfe und evtl. um Aufklärung, wie ich die Rotation Koordinaten bekomme.


    Vielen dank schonmal im Vorraus, hoffe konnte mein Problem einigermaßen schildern, wenn nicht fragt nach ;)



    Greetz,
    T3rroR




    Hier:

    if(!strcmp(cmdtext, "/zollschranke", true))
    {
    if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pMember] >= 2)
    GetPlayerName(playerid, playername, sizeof(playername));
    {
    if(zollschranke1status == 0 && PlayerToPoint(4, playerid,14.427220, -1521.988403, 3.559756)
    {
    format(string, sizeof(string), "* %s drückt auf seine Fernbedienung und öffnet die Schranke, der Zoll Station.", playername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    printf("%s", string);
    SetObjectRotToStream(zollschranke1,14.468498, -1521.931152, 3.560239);
    zollschranke1status = 1;
    return 1;
    }
    else
    {
    format(string, sizeof(string), "* %s drückt auf seine Fernbedienung und schliest die Schranke, der Zoll Station.", playername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    printf("%s", string);
    SetObjectRotToStream(zollschranke1,14.427220, -1521.988403, 3.559756);
    zollschranke1status = 0;
    return 1;
    }
    }
    else SendClientMessage(playerid, COLOR_GREY,"Du hast nicht die passende Fernbedienung, um die Zollschranken zu Bedienen!");
    return 1;
    }


    ich weis das die Funktion
    }
    else SendClientMessage(playerid, COLOR_GREY,"Du hast nicht die passende Fernbedienung, um die Zollschranken zu Bedienen!");
    return 1;
    Falsch ist habe aber im mom ka wie ich sie richtig stelle ...

  • dafür sind co/sinus (und matritzen) kenntnisse erforderlich, es belastet den server sehr und ist nicht unbedingt nötig.


    es ist seeeehr kompliziert. nen kumpel hat ne hochbegabung in mathematik und musste einige stunden dafür lernen...

  • Den kack musst ich damals schon in der Schule durchnehmen, daran zerbricht man sich die Birne, musst dich nur halt Stück für Stück vorarbeiten , hilft manchmal auch eigene Aufgaben zu erstellen und diese zu lösen dann kommst du schneller voran

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Das Problem hatte ich auch und das ist menge arbeit


    Mache es einfach über


    DestroyObject und CreateObject


    So habe ich es gelöst, wusste nicht ob es ein anderen Befehl gibt der direkt von einem Objekt die Postion ändert und wenn ja wie das geht.

  • ok danke für eure hilfe, dann werde ich es über DestroyObject und CreateObject weiterhin machen^^.
    Hab da blos eine Frage zu, wenn ich den fertigen cmd für meine Schranke (die ich mit destroy und createobject erstellt habe), auf meinem Server ausführe, verschwindet die Schranke immer zunäcst und nach 1 sec taucht sie an der Stelle, wo sie als offen festelegt wurde wieder auf. Woran liegt das, dass sie zunächst für 1 sec verschwindet?



    Nochmals danke für eure Hilfe!


    //edit:
    Außerdem, wenn man den cmd für die schranke 2 mal hintereinander tippt, erstellt es ein feste offene Schranke, die sich weder öffnen noch schliesen lässt. Nach Ablauf des timers schliest sich die schranke, die feste offene schranke bleibt jedoch bestehen.



    Sobald ich meine Neue Schranke mit create/destroyobject gescriptet habe poste ich sie hier dann könnt ihr sie anguggen!
    Etwas kompliziert ausgedrückt wusste jedoch nicht, wie ich es umschreiben soll^^


    //update:
    Hier meine gescriptete Schranke:


    //Zoll Schranken
    if(!strcmp(cmdtext, "/zollschrankeauf", true)) //By T3rroR
    {
    if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3)
    {
    if (PlayerToPoint(4, playerid,x,y,z))
    {
    DestroyObjectToStream( SCHRANKENNAME );
    SCHRANKENNAME = CreateObjectToStream( x,y,z);
    SendClientMessage(playerid, COLOR_BLUE,"Die Schranke öffnet sich.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s drückt auf seine Fernbedienung und öffnet die Schranke, der Zoll Station.", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    else { SendClientMessage(playerid, COLOR_GREY,"Die Entfernung ist zu groß."); }
    }
    else return SendClientMessage(playerid, COLOR_GREY,"Du hast keine Fernbedienung / Schlüssel, um dies zu tun");
    return 1;
    }
    //------------------------------------------------------------------------------------------------------------------------------------


  • So geht es den Rest kriegst du sicherlich zusammen, leider hatte ich keine Zeit um dir das fertig zu scripten

  • ja das mit ner nach ner bestimmten zeit weis ich ja xD blos die schranken sind verbuggt, wenn ich sie mit Destroy/CreateObject mache ... ka wie ich das los bekomme mache ma en Screen und füge es dann ein.



    //update:


    "/zollschrankeauf" einmal getippt:
    Screen#1


    "/zollschrankezu" einmal getippt:
    Screen#2


    "/zollschrankeauf" zweimal schnell hintereinandergetippt, danach "/zollschrankezu"
    Screen#3

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen