Objekt entfernen

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
  • Hallo Leute.
    Ich habe ein kleines Problem. Undzwar: Ich habe ein Command so gescriptet:

    if (strcmp("/test", cmdtext, true, 4) == 0)
    {
    CreateDynamicObject(19129, 258.56210, 2502.73706, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(19129, 278.52139, 2502.74561, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(19129, 298.47998, 2502.74365, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(19129, 318.39789, 2502.74683, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(19129, 338.16013, 2502.68018, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(19129, 357.96002, 2502.66479, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(18844, 313.85611, 2502.03149, 17.57942,-24.95998, 89.21986, 0.00000);
    return 1;
    }




    Das funktioniert, aber wie mache ich das, damit die objekte mit einem Command (z.B. /notest ;P) wieder verschwinden?


    Ich habe es so versucht:


    if (strcmp("/notest", cmdtext, true, 6) == 0)
    {
    DestroyObject(19129);
    DestroyObject(19129);
    DestroyObject(19129);
    DestroyObject(19129);
    DestroyObject(19129);
    DestroyObject(19129);
    DestroyObject(18844);
    return 1;
    }


    Aber das funktioniert nicht, kann mir da einer helfen?


    Lg

  • if (strcmp("/notest", cmdtext, true, 6) == 0)
    {
    partyobj1 = CreateDynamicObject(19129, 258.56210, 2502.73706, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj1 = CreateDynamicObject(19129, 278.52139, 2502.74561, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj1 = CreateDynamicObject(19129, 298.47998, 2502.74365, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj1 = CreateDynamicObject(19129, 318.39789, 2502.74683, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj1 = CreateDynamicObject(19129, 338.16013, 2502.68018, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj1 = CreateDynamicObject(19129, 357.96002, 2502.66479, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj1 = CreateDynamicObject(18844, 313.85611, 2502.03149, 17.57942,-24.95998, 89.21986, 0.00000);
    DestroyObject(partyobj1);
    DestroyObject(partyobj2);
    DestroyObject(partyobj3);
    DestroyObject(partyobj4);
    DestroyObject(partyobj5);
    DestroyObject(partyobj6);
    DestroyObject(partyobj7);
    return 1;
    }


    Ist das so richtig? Weil das funktioniert nicht ;(


    Oben im Script habe ich dann


    new partyobj1
    new partyobj2
    new ... (bis 7)

  • erst einmal entferne deine ganzen new party dinger das is ja grausam,


    new PartyObject[8];


    PartyObject[0] = Object


    PartyObject[1] = Object


    PartyObject[2] = Object


    PartyObject[3] = Object


    PartyObject[4] = Object


    PartyObject[5] = Object


    PartyObject[6] = Object


    PartyObject[7] = Object



    DestroyDynamicObject(PartyObject[0]);


    DestroyDynamicObject(PartyObject[1]);


    DestroyDynamicObject(PartyObject[2]);


    DestroyDynamicObject(PartyObject[3]);


    DestroyDynamicObject(PartyObject[4]);


    DestroyDynamicObject(PartyObject[5]);


    DestroyDynamicObject(PartyObject[6]);


    DestroyDynamicObject(PartyObject[7]);



    Kann man auch noch mit ner forschleife lösen^^

  • Ich hab das jetzt so:


    Oben im Script



    new partyobj[7]


    Und beim Command so:



    if (strcmp("/notest", cmdtext, true, 6) == 0)
    {
    partyobj[0] = CreateDynamicObject(19129, 258.56210, 2502.73706, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[1] = CreateDynamicObject(19129, 278.52139, 2502.74561, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[2] = CreateDynamicObject(19129, 298.47998, 2502.74365, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[3] = CreateDynamicObject(19129, 318.39789, 2502.74683, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[4] = CreateDynamicObject(19129, 338.16013, 2502.68018, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[5] = CreateDynamicObject(19129, 357.96002, 2502.66479, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[6] = CreateDynamicObject(18844, 313.85611, 2502.03149, 17.57942,-24.95998, 89.21986, 0.00000);
    DestroyDynamicObject(partyobj[0]);
    DestroyDynamicObject(partyobj[1]);
    DestroyDynamicObject(partyobj[2]);
    DestroyDynamicObject(partyobj[3]);
    DestroyDynamicObject(partyobj[4]);
    DestroyDynamicObject(partyobj[5]);
    DestroyDynamicObject(partyobj[6]);
    return 1;
    }


    Das funktioniert immer noch nicht.


    Ist da noch ein fehler?

  • lass mich raten die Objecte erscheinen nicht?


    das liegt daran das du sie erstellst und danach wieder löscht du musst das mit einer variable teilen oder eben ein 2ten Command dazu nehmen
    ebenfalls hast du oben beim new ein ; vergessen

  • Die Objecte erscheinen, aber die verschwinden nicht.


    EDIT: Das sind die 2 Commands:



    if (strcmp("/test", cmdtext, true, 4) == 0)
    {
    CreateDynamicObject(19129, 258.56210, 2502.73706, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(19129, 278.52139, 2502.74561, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(19129, 298.47998, 2502.74365, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(19129, 318.39789, 2502.74683, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(19129, 338.16013, 2502.68018, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(19129, 357.96002, 2502.66479, 15.51566,0.00000, 0.00000, 0.00000);
    CreateDynamicObject(18844, 313.85611, 2502.03149, 17.57942,-24.95998, 89.21986, 0.00000);
    return 1;
    }

    if (strcmp("/notest", cmdtext, true, 6) == 0)
    {
    partyobj[0] = CreateDynamicObject(19129, 258.56210, 2502.73706, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[1] = CreateDynamicObject(19129, 278.52139, 2502.74561, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[2] = CreateDynamicObject(19129, 298.47998, 2502.74365, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[3] = CreateDynamicObject(19129, 318.39789, 2502.74683, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[4] = CreateDynamicObject(19129, 338.16013, 2502.68018, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[5] = CreateDynamicObject(19129, 357.96002, 2502.66479, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[6] = CreateDynamicObject(18844, 313.85611, 2502.03149, 17.57942,-24.95998, 89.21986, 0.00000);
    DestroyDynamicObject(partyobj[0]);
    DestroyDynamicObject(partyobj[1]);
    DestroyDynamicObject(partyobj[2]);
    DestroyDynamicObject(partyobj[3]);
    DestroyDynamicObject(partyobj[4]);
    DestroyDynamicObject(partyobj[5]);
    DestroyDynamicObject(partyobj[6]);
    return 1;
    }

  • nimm mich in skype an dann erkläre ich dir das eben schneller du hast immer noch fehler im command.

  • nimm mich in skype an dann erkläre ich dir das eben schneller du hast immer noch fehler im command.

    Andere im Forum wissen dann nicht was Sache ist, dafür ist das Forum hier da :pinch:


    So würde es funktionieren:
    if (strcmp("/test", cmdtext, true, 4) == 0)
    {
    partyobj[0] = CreateDynamicObject(19129, 258.56210, 2502.73706, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[1] = CreateDynamicObject(19129, 278.52139, 2502.74561, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[2] = CreateDynamicObject(19129, 298.47998, 2502.74365, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[3] = CreateDynamicObject(19129, 318.39789, 2502.74683, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[4] = CreateDynamicObject(19129, 338.16013, 2502.68018, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[5] = CreateDynamicObject(19129, 357.96002, 2502.66479, 15.51566,0.00000, 0.00000, 0.00000);
    partyobj[6] = CreateDynamicObject(18844, 313.85611, 2502.03149, 17.57942,-24.95998, 89.21986, 0.00000);
    return 1;
    }

    if (strcmp("/notest", cmdtext, true, 6) == 0)
    {
    DestroyDynamicObject(partyobj[0]);
    DestroyDynamicObject(partyobj[1]);
    DestroyDynamicObject(partyobj[2]);
    DestroyDynamicObject(partyobj[3]);
    DestroyDynamicObject(partyobj[4]);
    DestroyDynamicObject(partyobj[5]);
    DestroyDynamicObject(partyobj[6]);
    return 1;
    }


    So dein Fehler war ganz einfach, wenn du ein Objekt mit CreateDynamicObject erstellst gibt CreateDynamicObject eine Nummer Zurück, und diese Nummer steht für das Objekt.
    Wenn du aber die Nummer neu in "notest" Zuweist gehen die anderen Nummern "Verloren".
    Also, musst du sie einfach nur Angeben und dann Löschen.

  • da hast du schon recht nur wenn ich jedes mal wieder was neues antworten muss weil dieser User mehr fragen hat ist Skype die beste lösung ich habs ihn so wie du grad geschrieben hast
    in Skype erklärt und nun gehts bei ihm