Beiträge von Dachdecker

    Entweder machst du einen Befehl zum schliessen oder wie du schon Vorgeschlagen hast einen Timer, wo du dann die ID übergibst womit du dann das Tor wieder schliesst.

    Also muss ich die ID des geöffneten Tores ausgeben speichern und in den Timer übergeben? Wie soll ich das machen? Mit PVars oder wie ?

    Float:Tor_AufZ}
    new Tor[][Toree] =
    {
    {2, BundeswehrTor[0], 193.41330, 1923.53125, 19.92830, 193.41330, 1923.53125, 16.64330}, //Zeile 146
    {2, BundeswehrTor[1], 202.39410, 1923.53088, 19.85580, 202.39410, 1923.53088, 16.64330},
    {2, BundeswehrTor[2], 211.42378, 1923.54504, 19.85580, 211.42378, 1923.54504, 16.64330},
    {2, BundeswehrTor[3], 220.40250, 1923.50122, 19.85580, 220.40250, 1923.5012, 16.64330},
    {2, BundeswehrTor[4], 174.81837, 1826.89746, 19.85580, 174.81837, 1826.89746, 16.64330},
    {2, BundeswehrTor[5], 183.79898, 1826.90100, 19.85580, 183.79898, 1826.90100, 16.64330},
    {2, BundeswehrTor[6], 192.81992, 1826.91675, 19.85580, 192.81992, 1826.91675, 16.64330},
    {2, BundeswehrTor[7], 201.81436, 1826.91016, 19.85580, 201.81436, 1826.91016, 16.64330},
    {2, BundeswehrTor[8], 216.98787, 1826.88000, 19.85580, 216.98787, 1826.88000, 16.64330},
    {2, BundeswehrTor[9], 225.98384, 1826.91248, 19.85580, 225.98384, 1826.91248, 16.64330},
    {2, BundeswehrTor[10], 234.98415, 1826.89368, 19.85580, 234.98415, 1826.89368, 16.64330},
    {2, BundeswehrTor[11], 243.96420, 1826.90649, 19.85580, 243.96420, 1826.90649, 16.64330},
    {2, BundeswehrTor[12], 143.52200, 1911.17798, 20.25760, 138.18201, 1911.17798, 20.25760},
    {2, BundeswehrTor[13], 148.88490, 1911.15796, 20.25760, 154.26489, 1911.17798, 20.25760}
    };//Zeile 160



    Zeile 3587 ist das Ende vom Script, also nichts besonderes

    Wenn ich es abändere wie du sagtest kommen diese Fehler:


    ohne das CreateObject im Array

    E:\Grand Theft Auto San Andreas\Server\gamemodes\Selfmade.pwn(146) : error 008: must be a constant expression; assumed zero
    E:\Grand Theft Auto San Andreas\Server\gamemodes\Selfmade.pwn(160) : error 010: invalid function or declaration
    E:\Grand Theft Auto San Andreas\Server\gamemodes\Selfmade.pwn(3587) : warning 203: symbol is never used: ""
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase




    2 Errors.

    Hab ich vorhin schon eingefügt.



    enum Toree
    {
    Tor_Fraktion,
    Tor_Bezeichnung[32],
    Float:Tor_X,
    Float:Tor_Y,
    Float:Tor_Z,
    Float:Tor_AufX,
    Float:Tor_AufY,
    Float:Tor_AufZ
    }



    new Tor[][Toree] =
    {
    {2, "BundeswehrTor[0]", 193.41330, 1923.53125, 19.92830, 193.41330, 1923.53125, 16.64330},
    {2, "BundeswehrTor[1]", 202.39410, 1923.53088, 19.85580, 202.39410, 1923.53088, 16.64330},
    {2, "BundeswehrTor[2]", 211.42378, 1923.54504, 19.85580, 211.42378, 1923.54504, 16.64330},
    {2, "BundeswehrTor[3]", 220.40250, 1923.50122, 19.85580, 220.40250, 1923.5012, 16.64330},
    {2, "BundeswehrTor[4]", 174.81837, 1826.89746, 19.85580, 174.81837, 1826.89746, 16.64330},
    {2, "BundeswehrTor[5]", 183.79898, 1826.90100, 19.85580, 183.79898, 1826.90100, 16.64330},
    {2, "BundeswehrTor[6]", 192.81992, 1826.91675, 19.85580, 192.81992, 1826.91675, 16.64330},
    {2, "BundeswehrTor[7]", 201.81436, 1826.91016, 19.85580, 201.81436, 1826.91016, 16.64330},
    {2, "BundeswehrTor[8]", 216.98787, 1826.88000, 19.85580, 216.98787, 1826.88000, 16.64330},
    {2, "BundeswehrTor[9]", 225.98384, 1826.91248, 19.85580, 225.98384, 1826.91248, 16.64330},
    {2, "BundeswehrTor[10]", 234.98415, 1826.89368, 19.85580, 234.98415, 1826.89368, 16.64330},
    {2, "BundeswehrTor[11]", 243.96420, 1826.90649, 19.85580, 243.96420, 1826.90649, 16.64330},
    {2, "BundeswehrTor[12]", 143.52200, 1911.17798, 20.25760, 138.18201, 1911.17798, 20.25760},
    {2, "BundeswehrTor[13]", 148.88490, 1911.15796, 20.25760, 154.26489, 1911.17798, 20.25760}
    };


    BundeswehrTor[0] = CreateObject(19906, 193.41330, 1923.53125, 19.92830, 0.00000, 0.00000, 360.21191);
    //193.41330, 1923.53125, 16.64330
    BundeswehrTor[1] = CreateObject(19906, 202.39410, 1923.53088, 19.85580, 0.00000, 0.00000, 359.93188);
    //202.39410, 1923.53088, 16.64330
    BundeswehrTor[2] = CreateObject(19906, 211.42378, 1923.54504, 19.85580, 0.00000, 0.00000, 359.93188);
    //211.42378, 1923.54504, 16.64330
    BundeswehrTor[3] = CreateObject(19906, 220.40250, 1923.50122, 19.85580, 0.00000, 0.00000, 359.93188);
    //220.40250, 1923.5012, 16.64330
    //Halle 2
    BundeswehrTor[4] = CreateObject(19906, 174.81837, 1826.89746, 19.85580, 0.00000, 0.00000, 359.93188);
    //174.81837, 1826.89746, 16.64330
    BundeswehrTor[5] = CreateObject(19906, 183.79898, 1826.90100, 19.85580, 0.00000, 0.00000, 359.93188);
    //183.79898, 1826.90100, 16.64330
    BundeswehrTor[6] = CreateObject(19906, 192.81992, 1826.91675, 19.85580, 0.00000, 0.00000, 359.93188);
    //192.81992, 1826.91675, 16.64330
    BundeswehrTor[7] = CreateObject(19906, 201.81436, 1826.91016, 19.85580, 0.00000, 0.00000, 359.93188);
    //201.81436, 1826.91016, 16.64330
    //Halle 3
    BundeswehrTor[8] = CreateObject(19906, 216.98787, 1826.88000, 19.85580, 0.00000, 0.00000, 359.93188);
    //216.98787, 1826.88000, 16.64330
    BundeswehrTor[9] = CreateObject(19906, 225.98384, 1826.91248, 19.85580, 0.00000, 0.00000, 359.93188);
    //225.98384, 1826.91248, 16.64330
    BundeswehrTor[10] = CreateObject(19906, 234.98415, 1826.89368, 19.85580, 0.00000, 0.00000, 359.93188);
    //234.98415, 1826.89368, 16.64330
    BundeswehrTor[11] = CreateObject(19906, 243.96420, 1826.90649, 19.85580, 0.00000, 0.00000, 359.93188);
    //243.96420, 1826.90649, 16.64330
    BundeswehrTor[12] = CreateObject(19908, 143.52200, 1911.17798, 20.25760, 0.00000, 0.00000, 90.01000);
    //138.18201, 1911.17798, 20.25760
    BundeswehrTor[13] = CreateObject(19908, 148.88490, 1911.15796, 20.25760, 0.00000, 0.00000, 90.01000);
    //154.26489, 1911.17798, 20.25760

    Es öffnet sich kein Tor, wo ist der Fehler?



    if (strcmp("/auf", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    for(new i = 0; i<sizeof(Tor); i++)
    {
    if(SpielerInfo[playerid][Fraktion] == Tor[i][Tor_Fraktion])
    {
    printf("SpielerFrak: %d und Tor[i][Tor_Fraktion]: %d", SpielerInfo[playerid][Fraktion], Tor[i][Tor_Fraktion]);
    //new Float:Get_X, Float:Get_Y, Float:Get_Z;
    if(IsPlayerInRangeOfPoint(playerid, 5, Tor[i][Tor_X], Tor[i][Tor_Y], Tor[i][Tor_Z]))
    {
    printf(" Tor_X: %f, Tor_Y: %f, Tor_Z: %f",Tor[i][Tor_X], Tor[i][Tor_Y], Tor[i][Tor_Z]);
    MoveObject(Tor[i][Tor_Bezeichnung], Tor[i][Tor_AufX], Tor[i][Tor_AufY], Tor[i][Tor_AufZ], 3, -1000.0,-1000.0,-1000.0);
    printf("Tor_Bezeichnung: %s", Tor[i][Tor_Bezeichnung]);
    }
    }
    }
    }
    return 1;
    }

    Danke für den Tipp:


    also z.b.



    enum Toree
    {
    Tor_Fraktion,
    Tor_Bezeichnung,
    Tor_X,
    Tor_Y,
    Tor_Z,
    Tor_Auf_X,
    Tor_Auf_Y,
    Tor_Auf_Z,
    Tor_Speed
    }
    new Tor[][Toree] =
    {
    {2,BundeswehrTor[0],193.41330, 1923.53125, 19.92830,193.41330, 1923.53125, 16.64330, 3}
    };



    so?

    Hallo


    Ich habe in der Armybase eine "Menge" Tore und ich möchte, dass sich immer nur ein Tor öffnet wo ich näher dranne stehe. Also klar mit IsPlayerInRangeOfPoint aber bei jedem Tor für x Fraktionen ist das etwas Viel... gibt es eine Möglichkeit, das etwas kleiner zu gestalten? z.B. Switch and Case oder sowas? Hat jemand eine Idee, bzw Tipp wie ich es machen kann. In der Armybase sind circa 15Tore.
    Ich hoffe ihr versteht micht. ||