Probleme bei MoveDynamicObject

  • Probleme bei MoveDynamicObject

    Yo,
    folgendes Problem.
    Ich habe nur zu Testversuchen beim LSPD ein Tor hin gemappt mithilfe von MTA,
    dann habe ich es mit hilfe eines Map Converters in PAWN übersetzt und ins Script eingefügt.
    Doch wenn ich jetzt Ingame /auf zum Tor öffnen eingebe fährt das Tor zwar in den Boden aber komischerweiße ist ein zweites Tor dann an der stelle des ersten und fährt nicht runter. Und wenn ich /zu eingebe geht das Tor nicht auf die alte Position zurück sondern es kreuzt sich. Hier kurzes Video:

    youtube.com/watch?v=qEYaGS-a2O…DskJoVZSW_vFdrajauawDfQuA

    Der betroffene Teil des Scriptes:


    ocmd:auf(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,10,1588.4000244141, -1638.1999511719, 13.699999809265))
    {
    if(IstSpielerInFraktion(playerid,1))
    {
    MoveDynamicObject(pdtor,1588.4000244141, -1638.1999511719, 13.699999809265-10,4);
    SendClientMessage(playerid,GELB,"Das Tor wurde erfolgreich geöffnet. Gib /zu ein, um es wieder zu schließen!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Nur Mitglieder des LSPD's dürfen dieses Tor öffnen bzw. schließen!");
    return 1;
    }
    }
    return SendClientMessage(playerid,ROT,"Nicht in der Nähe von einem Tor.");
    }


    ocmd:zu(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,10,1588.4000244141, -1638.1999511719, 13.699999809265))
    {
    if(IstSpielerInFraktion(playerid,1))
    {
    MoveDynamicObject(pdtor,1588.4000244141, -1638.1999511719, 13.699999809265,4);
    SendClientMessage(playerid,GELB,"Du hast das Tor erfolgreich geschlossen!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Nur Mitglieder des LSPD's dürfen dieses Tor öffnen bzw. schließen!");
    return 1;
    }
    }
    return SendClientMessage(playerid,ROT,"Nicht in der Nähe von einem Tor.");
    }

    //Edit: Irgendwie ist [pwn] verbuggt immer wenn ich meinen Text dort einbringen will macht es nur eine Zeile obwohl ich eingerückt habe!

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Logan_Adams ()

  • Hm steht doch alles oben in meinem Script.
    Ich habe Sie mit CreateDynamicObject in OnGameModeInit reingemacht
    als pdtor= CreateDynamicObject definiert.
    Ja und dann habe ich alle Dateien ersetzt funz aber auch nicht.
    Nein ich habe mir die map nochmal angeguckt und geschauft ob ich ausversehen auf klonen gekommen bin, was aber nicht der Fall ist.


    //Edit: Habe mit hilfe der Replace Funktion aus CreateDynamicObject CreateObject und aus MoveDynamicObject moveobject gemacht
    aber obiges Problem gibt es immer noch!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Logan_Adams ()

  • Vincent Petritz schrieb:

    MoveDynamicObject ist ab 0.3d nicht mehr verfügbar. Du musst daraus "MoveObject" machen.

    Natürlich ist es noch verfügbar 8|
    Wäre an sonsten etwas doof, für größere Scripts mit mehreren sich bewegenden Objecten :D
    Es gab bisher im Incos Streamer nur einige Probleme, die nun in den neueren Versionen wieder beseitigt worden scheinen.

    Zum Problem:



    Ich denke dass du die Coordinaten nicht rihtig hast,
    wäre nun meine einzige Erklärung.

    Ach ja, an sonsten soltest du vll. statt 2 Befehle nur einen Befehl verwenden, wie z.B.:

    [pwn]
    new pdtor;
    new ptorzustand;

    //OnGameModeInit
    pdtor = CreateDynamicObject(pdtor,1588.4000244141, -1638.1999511719, 13.699999809265, 0, 0, 270);

    ocmd:lspd1(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,10,1588.4000244141, -1638.1999511719, 13.699999809265))return SendClientMessage(playerid,ROT,"Nicht in der Nähe von einem Tor.");
    if(!IstSpielerInFraktion(playerid,1))return SendClientMessage(playerid,ROT,"Nur Mitglieder des LSPD's dürfen dieses Tor öffnen bzw. schließen!");
    if(ptorzustand == 0)
    {
    MoveDynamicObject(pdtor,1588.4000244141, -1638.1999511719, 13.699999809265-10,4);
    SendClientMessage(playerid,GELB,"Das Tor wurde erfolgreich geöffnet. Gib /lspd ein, um es wieder zu schließen!");
    }
    else
    {
    MoveDynamicObject(pdtor,1588.4000244141, -1638.1999511719, 13.699999809265,4);
    SendClientMessage(playerid,GELB,"Du hast das Tor erfolgreich geschlossen!");
    }
    return 1;
    }
    [/pwn]
    (Ungetestet gerade eben nur mal so hingeklatscht :D)

    Überprüfe doch bitte nochmal deine Coordinaten, sind die Coordinaten zum schließen des Tsr die selben wie CreateDynamicObjyct?