Problem mit Schleife + mehrdimensionalem Array

  • Problem mit Schleife + mehrdimensionalem Array

    Abend,
    Da ich gerade an einer Map sitze, habe ich einen mehrdimensionalen Array erstellt, damit ich die Objekte mit einem CMD removen kann, ohne die einzelnen Objekte ausschreiben zu müssen.

    Allerdings komm ich nicht weiter.
    [pwn]new delob[24][7]{
    {..};
    };[/pwn]
    Das ist das, was ich bis jetzt habe.

    Nun aber frage ich mich : Wie kann ich "delob" mit einer Schleife durchgehen, damit ich nicht immer "DestroyObject" schreiben muss.

    Leider ist das englische Forum down, sonst hätte ich mir da ein Tutorial angeschaut.
    Ich hoffe, ihr könnt mir helfen
  • Gerne.
    Ich habe eine Map erstellt, die sich mit einem command "zerstören" lässt -> alte objekte verschwinden, neue werden erstellt.

    Nun ist es ja üblich, dass man eine Variable deklariert und diese immer einem Objekt zuweist.
    also:

    new ob[2];

    ob[0] = CreateObj...

    Wenn ich dann die Objekte zerstören will, um die neuen zu erschaffen, würde man ja
    DestroyObject(ob[0]);
    DestrobObject(ob[1]); schreiben.
    Allerdings ist da ja nicht grade ne schöne Lösung.

    Ich wollte es mit einem Array und einer Schleife lösen -> Objekte im Array durchgehen und destroyen.

    Soweit so klar?:)

    Nun habe ich gerade eben ein bisschen rumgetestet, und mir ist folgende idee gekommen.

    [pwn] enum delobdata
    {
    modelid,
    Float:x,
    Float:y,
    Float:z,
    Float:rx,
    Float:ry,
    Float:rz,
    Float:DrawDistance
    }
    new delob[2][delobdata]={
    {2927, 282.13910, -1519.60034, 24.84121, 0.00000, 0.00000, 505.89368};
    {2927, 290.44641, -1518.02429, 24.84121, 0.00000, 0.00000, 594.75391};
    };
    [/pwn]

    [pwn]for(new i;i<sizeof(delob);i++)
    {
    CreateObject(delobdata[modelid],delobdata[Float:x],delobdata[Float:y],delobdata[Float:z],delobdata[Float:rx],delobdata[Float:ry],delobdata[Float:rz],delobdata[DrawDistance]);
    } [/pwn]

    Würde das funktionieren?

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

  • Nein, du musst schon in dem Array bleiben, in dem du die Werte hast, mit denen du arbeiten willst.
    Alles andere wäre ja quatsch.

    Zudem sollten Tag's, wie Float, bei der Adressierung des Arrays nicht genutzt werden.
    In der oberen Struktur ist das so völlig in Ordnung.

    Einde richtige adressierung deines Arrays wäre bspw.

    [pwn]delob[0][modelid][/pwn]

    In der Schleife wird dann 0 mit i ausgetauscht

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