Objecte per Befehl 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!


    Ich würde gerne eine Polizeikontrolle errichten...


    Habe bis jetzt folgendes:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/polizeisperre", cmdtext, true, 10) == 0)
    {
    CreateObject(987, -1959.833984, 1316.102661, 6.184834, 0.0000, 0.0000, 90.0000);
    CreateObject(987, -1959.869019, 1328.164429, 6.187500, 0.0000, 0.0000, 90.0000);
    CreateObject(987, -1959.734131, 1340.133057, 6.184143, 0.0000, 0.0000, 90.0000);
    CreateObject(987, -1987.277100, 1352.210205, 6.184143, 0.0000, 0.0000, 270.0000);
    CreateObject(987, -1987.251831, 1340.230469, 6.184145, 0.0000, 0.0000, 270.0000);
    CreateObject(987, -1987.225098, 1328.223389, 6.187500, 0.0000, 0.0000, 270.0000);
    CreateObject(979, -1955.574219, 1314.049072, 6.879282, 0.0000, 0.0000, 22.5000);
    CreateObject(979, -1953.337646, 1302.583740, 6.879282, 0.0000, 0.0000, 348.7500);
    CreateObject(979, -1962.452393, 1305.257446, 6.887062, 0.0000, 0.0000, 337.5000);
    CreateObject(979, -1964.471802, 1312.214844, 6.879282, 0.0000, 0.0000, 0.0000);
    CreateObject(979, -1972.066162, 1307.263794, 6.879282, 0.0000, 0.0000, 180.0000);
    CreateObject(979, -1973.437744, 1312.433716, 6.879282, 0.0000, 0.0000, 180.0000);
    CreateObject(967, -1970.131470, 1313.392822, 6.258283, 0.0000, 0.0000, 0.0000);
    CreateObject(1698, -1970.186157, 1313.347900, 6.132652, 0.0000, 0.0000, 270.0000);
    CreateObject(1698, -1970.158081, 1314.726196, 6.157652, 0.0000, 0.0000, 270.0000);
    CreateObject(3463, -1973.642944, 1323.871582, 6.606514, 0.0000, 0.0000, 180.0000);
    CreateObject(3463, -1974.125244, 1328.718994, 6.556660, 0.0000, 0.0000, 180.0000);
    CreateObject(3463, -1974.182861, 1333.667969, 6.556660, 0.0000, 0.0000, 180.0000);
    CreateObject(3463, -1974.235107, 1338.294312, 6.556660, 0.0000, 0.0000, 180.0000);
    CreateObject(968, -1969.822266, 1312.347900, 7.384593, 0.0000, 0.0000, 90.0000);
    CreateObject(1697, -1955.593994, 1328.416016, 7.789379, 0.0000, 0.0000, 270.0000);
    CreateObject(1444, -1959.688477, 1314.046143, 6.843750, 0.0000, 0.0000, 270.0000);
    AddStaticVehicle(597,-1974.4478,1304.9286,6.8136,73.9355,1,16); // kontrolle
    AddStaticVehicle(597,-1974.9675,1314.1409,6.8113,89.8008,0,1); // kontrolle
    AddStaticVehicle(597,-1933.2209,1320.7426,7.0113,125.8022,1,16); // kontrolle
    return 1;
    }
    return 0;
    }


    Wie kann ich diese Objekte per Befehl wieder entfernen ?

  • new Objekte[Anzahl der Objekte];//in diesem array werden nachher die objekte gespeichert


    Objekte[0] = CreateObject(...);
    Objekte[1] = CreateObject(...);
    Objekte[2] = CreateObject(...);
    ...
    Objekte[25] = CreateObject(...);//Dashier bis zum letzen objekt machen


    if(strcmp(cmdtext,"/löschen",true)==0)
    {
    for(new i=0;i<sizeof(Objekte);i++)//ist die schleife die alle objekte durchgeht und löscht
    {
    DestroyObject(i);
    }
    }


    hoffe ich konnte helfen


    MfG
    Psycho

  • das ist eigendlich alles. du musst halt vor jedem CreateObject eifnach nur den Array davor ziehn. mehr is das nicht. der rest ist schon alles vorgescriptet

  • strg+f drücken und eingeben /polizeisperre :> und ähh du hast ihn obengepostet^^

  • habe foilgendes


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/polizeisperre", cmdtext, true, 10) == 0)
    new Objekte[24];//in diesem array werden nachher die objekte gespeichert


    Objekte[1] = CreateObject(987, -1959.833984, 1316.102661, 6.184834, 0.0000, 0.0000, 90.0000);
    Objekte[2] = CreateObject(987, -1959.869019, 1328.164429, 6.187500, 0.0000, 0.0000, 90.0000);
    Objekte[3] = CreateObject(987, -1959.734131, 1340.133057, 6.184143, 0.0000, 0.0000, 90.0000);
    Objekte[4] = CreateObject(987, -1987.277100, 1352.210205, 6.184143, 0.0000, 0.0000, 270.0000);
    Objekte[5] = CreateObject(987, -1987.251831, 1340.230469, 6.184145, 0.0000, 0.0000, 270.0000);
    Objekte[6] = CreateObject(987, -1987.225098, 1328.223389, 6.187500, 0.0000, 0.0000, 270.0000);
    Objekte[7] = CreateObject(979, -1955.574219, 1314.049072, 6.879282, 0.0000, 0.0000, 22.5000);
    Objekte[8] = CreateObject(979, -1953.337646, 1302.583740, 6.879282, 0.0000, 0.0000, 348.7500);
    Objekte[9] = CreateObject(979, -1962.452393, 1305.257446, 6.887062, 0.0000, 0.0000, 337.5000); =CreateObject(979, -1964.471802, 1312.214844, 6.879282, 0.0000, 0.0000, 0.0000);
    Objekte[10] = CreateObject(979, -1972.066162, 1307.263794, 6.879282, 0.0000, 0.0000, 180.0000);
    Objekte[11] = CreateObject(979, -1973.437744, 1312.433716, 6.879282, 0.0000, 0.0000, 180.0000);
    Objekte[12] = CreateObject(967, -1970.131470, 1313.392822, 6.258283, 0.0000, 0.0000, 0.0000);
    Objekte[13] = CreateObject(1698, -1970.186157, 1313.347900, 6.132652, 0.0000, 0.0000, 270.0000);
    Objekte[14] = CreateObject(1698, -1970.158081, 1314.726196, 6.157652, 0.0000, 0.0000, 270.0000);
    Objekte[15] = CreateObject(3463, -1973.642944, 1323.871582, 6.606514, 0.0000, 0.0000, 180.0000);
    Objekte[16] = CreateObject(3463, -1974.125244, 1328.718994, 6.556660, 0.0000, 0.0000, 180.0000);
    Objekte[17] = CreateObject(3463, -1974.182861, 1333.667969, 6.556660, 0.0000, 0.0000, 180.0000);
    Objekte[18] = CreateObject(3463, -1974.235107, 1338.294312, 6.556660, 0.0000, 0.0000, 180.0000);
    Objekte[19] = CreateObject(968, -1969.822266, 1312.347900, 7.384593, 0.0000, 0.0000, 90.0000);
    Objekte[20] = CreateObject(1697, -1955.593994, 1328.416016, 7.789379, 0.0000, 0.0000, 270.0000);
    Objekte[21] = CreateObject(1444, -1959.688477, 1314.046143, 6.843750, 0.0000, 0.0000, 270.0000);
    Objekte[22] = AddStaticVehicle(597,-1974.4478,1304.9286,6.8136,73.9355,1,16); // kontrolle
    Objekte[23] = AddStaticVehicle(597,-1974.9675,1314.1409,6.8113,89.8008,0,1); // kontrolle
    Objekte[24] = AddStaticVehicle(597,-1933.2209,1320.7426,7.0113,125.8022,1,16); // kontrolle




    if(strcmp(cmdtext,"/polizeisperreabbauen",true)==0)
    {
    for(new i=24;i<sizeof(Objekte);i++)//ist die schleife die alle objekte durchgeht und löscht
    {
    DestroyObject(i);
    }
    }


    Folgender Fehler


    C:\Dokumente und Einstellungen\Marco\Desktop\polizei.pwn(112) : error 003: declaration of a local variable must appear in a compound block
    C:\Dokumente und Einstellungen\Marco\Desktop\polizei.pwn(112) : error 017: undefined symbol "Objekte"
    C:\Dokumente und Einstellungen\Marco\Desktop\polizei.pwn(112) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Marco\Desktop\polizei.pwn(112) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Marco\Desktop\polizei.pwn(112) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • ich grab den bheitrag nohcmal aus....



    hab auch sowas gemacht wo die Objekte verschwinden sollen...tun sie baer nicht vllt kann mir jemand helfen





    /Bei OnPlayerkeyStateChange


    if(newkeys==KEY_ANALOG_RIGHT)
    {
    new listnumber=1;
    new ParkZaeune[16];
    if(listnumber==1)
    {
    listnumber=2;


    ParkZaeune[0]=CreatePlayerObject (playerid,HitmanZaun1Ids[0], HitmanZaun1[0][0], HitmanZaun1[0][1], HitmanZaun1[0][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[0][5]);
    ParkZaeune[1]=CreatePlayerObject (playerid,HitmanZaun1Ids[1], HitmanZaun1[1][0], HitmanZaun1[1][1], HitmanZaun1[1][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[1][5]);
    ParkZaeune[2]=CreatePlayerObject (playerid,HitmanZaun1Ids[2], HitmanZaun1[2][0], HitmanZaun1[2][1], HitmanZaun1[2][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[2][5]);
    ParkZaeune[3]=CreatePlayerObject (playerid,HitmanZaun1Ids[3], HitmanZaun1[3][0], HitmanZaun1[3][1], HitmanZaun1[3][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[3][5]);
    ParkZaeune[4]=CreatePlayerObject (playerid,HitmanZaun1Ids[4], HitmanZaun1[4][0], HitmanZaun1[4][1], HitmanZaun1[4][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[4][5]);
    ParkZaeune[5]=CreatePlayerObject (playerid,HitmanZaun1Ids[5], HitmanZaun1[5][0], HitmanZaun1[5][1], HitmanZaun1[5][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[5][5]);
    ParkZaeune[6]=CreatePlayerObject (playerid,HitmanZaun1Ids[6], HitmanZaun1[6][0], HitmanZaun1[6][1], HitmanZaun1[6][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[6][5]);
    ParkZaeune[7]=CreatePlayerObject (playerid,HitmanZaun1Ids[7], HitmanZaun1[7][0], HitmanZaun1[7][1], HitmanZaun1[7][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[7][5]);
    ParkZaeune[8]=CreatePlayerObject (playerid,HitmanZaun1Ids[8], HitmanZaun1[8][0], HitmanZaun1[8][1], HitmanZaun1[8][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[8][5]);
    ParkZaeune[9]=CreatePlayerObject (playerid,HitmanZaun1Ids[9], HitmanZaun1[9][0], HitmanZaun1[9][1], HitmanZaun1[9][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[9][5]);
    ParkZaeune[10]=CreatePlayerObject (playerid,HitmanZaun1Ids[10], HitmanZaun1[10][0], HitmanZaun1[10][1], HitmanZaun1[10][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[10][5]);
    ParkZaeune[11]=CreatePlayerObject (playerid,HitmanZaun1Ids[11], HitmanZaun1[11][0], HitmanZaun1[11][1], HitmanZaun1[11][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[11][5]);
    ParkZaeune[12]=CreatePlayerObject (playerid,HitmanZaun1Ids[12], HitmanZaun1[12][0], HitmanZaun1[12][1], HitmanZaun1[12][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[12][5]);
    ParkZaeune[13]=CreatePlayerObject (playerid,HitmanZaun1Ids[13], HitmanZaun1[13][0], HitmanZaun1[13][1], HitmanZaun1[13][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[13][5]);
    ParkZaeune[14]=CreatePlayerObject (playerid,HitmanZaun1Ids[14], HitmanZaun1[14][0], HitmanZaun1[14][1], HitmanZaun1[14][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[14][5]);
    ParkZaeune[15]=CreatePlayerObject (playerid,HitmanZaun1Ids[15], HitmanZaun1[15][0], HitmanZaun1[15][1], HitmanZaun1[15][2], HitmanZaun1[0][3], HitmanZaun1[0][4], HitmanZaun1[15][5]);



    }
    else if(listnumber==2)
    {
    listnumber=3;


    DestroyPlayerObject(playerid,ParkZaeune[0]);
    DestroyPlayerObject(playerid,ParkZaeune[1]);
    DestroyPlayerObject(playerid,ParkZaeune[2]);
    DestroyPlayerObject(playerid,ParkZaeune[3]);
    DestroyPlayerObject(playerid,ParkZaeune[4]);
    DestroyPlayerObject(playerid,ParkZaeune[5]);
    DestroyPlayerObject(playerid,ParkZaeune[6]);
    DestroyPlayerObject(playerid,ParkZaeune[7]);
    DestroyPlayerObject(playerid,ParkZaeune[8]);
    DestroyPlayerObject(playerid,ParkZaeune[9]);
    DestroyPlayerObject(playerid,ParkZaeune[10]);
    DestroyPlayerObject(playerid,ParkZaeune[11]);
    DestroyPlayerObject(playerid,ParkZaeune[12]);
    DestroyPlayerObject(playerid,ParkZaeune[13]);
    DestroyPlayerObject(playerid,ParkZaeune[14]);
    DestroyPlayerObject(playerid,ParkZaeune[15]);
    }
    }



    MfG Leonid4s

  • Eine Array fängt immer mit 0 an das heißt
    Objekt[0] = ........Objekt[1] = ......
    usw.
    Ich habe es mal für dich gemacht ist ungetestet ^^
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/polizeisperre", cmdtext, true, 10) == 0)
    new Objekte[24];//in diesem array werden nachher die objekte gespeichert


     Objekte[0] = CreateObject(987, -1959.833984, 1316.102661, 6.184834, 0.0000, 0.0000, 90.0000);
     Objekte[1] = CreateObject(987, -1959.869019, 1328.164429, 6.187500, 0.0000, 0.0000, 90.0000);
     Objekte[2] = CreateObject(987, -1959.734131, 1340.133057, 6.184143, 0.0000, 0.0000, 90.0000);
     Objekte[3] = CreateObject(987, -1987.277100, 1352.210205, 6.184143, 0.0000, 0.0000, 270.0000);
     Objekte[4] = CreateObject(987, -1987.251831, 1340.230469, 6.184145, 0.0000, 0.0000, 270.0000);
      Objekte[5] = CreateObject(987, -1987.225098, 1328.223389, 6.187500, 0.0000, 0.0000, 270.0000);
     Objekte[6] = CreateObject(979, -1955.574219, 1314.049072, 6.879282, 0.0000, 0.0000, 22.5000);
     Objekte[7] = CreateObject(979, -1953.337646, 1302.583740, 6.879282, 0.0000, 0.0000, 348.7500);
     Objekte[8] = CreateObject(979, -1962.452393, 1305.257446, 6.887062, 0.0000, 0.0000, 337.5000); =CreateObject(979, -1964.471802, 1312.214844, 6.879282, 0.0000, 0.0000, 0.0000);
     Objekte[9] = CreateObject(979, -1972.066162, 1307.263794, 6.879282, 0.0000, 0.0000, 180.0000);
     Objekte[10] = CreateObject(979, -1973.437744, 1312.433716, 6.879282, 0.0000, 0.0000, 180.0000);
     Objekte[11] = CreateObject(967, -1970.131470, 1313.392822, 6.258283, 0.0000, 0.0000, 0.0000);
     Objekte[12] = CreateObject(1698, -1970.186157, 1313.347900, 6.132652, 0.0000, 0.0000, 270.0000);
     Objekte[13] = CreateObject(1698, -1970.158081, 1314.726196, 6.157652, 0.0000, 0.0000, 270.0000);
     Objekte[14] = CreateObject(3463, -1973.642944, 1323.871582, 6.606514, 0.0000, 0.0000, 180.0000);
     Objekte[15] = CreateObject(3463, -1974.125244, 1328.718994, 6.556660, 0.0000, 0.0000, 180.0000);
     Objekte[16] = CreateObject(3463, -1974.182861, 1333.667969, 6.556660, 0.0000, 0.0000, 180.0000);
     Objekte[17] = CreateObject(3463, -1974.235107, 1338.294312, 6.556660, 0.0000, 0.0000, 180.0000);
     Objekte[18] = CreateObject(968, -1969.822266, 1312.347900, 7.384593, 0.0000, 0.0000, 90.0000);
     Objekte[19] = CreateObject(1697, -1955.593994, 1328.416016, 7.789379, 0.0000, 0.0000, 270.0000);
     Objekte[20] = CreateObject(1444, -1959.688477, 1314.046143, 6.843750, 0.0000, 0.0000, 270.0000);
     Objekte[21] = AddStaticVehicle(597,-1974.4478,1304.9286,6.8136,73.9355,1,16); // kontrolle
     Objekte[22] = AddStaticVehicle(597,-1974.9675,1314.1409,6.8113,89.8008,0,1); // kontrolle
     Objekte[23] = AddStaticVehicle(597,-1933.2209,1320.7426,7.0113,125.8022,1,16); // kontrolle




    if(strcmp(cmdtext,"/polizeisperreabbauen",true)==0)
    {
    for(new i=24;i<sizeof(Objekte);i++)//ist die schleife die alle objekte durchgeht und löscht
    {
    DestroyObject(i);
    }
    }

    MfG
    Shooter1995

  • Er möchte ja nicht das er es nur entfernen kann, er will ja das alle es entfernen können wenn die Straßensperre z.b zuende ist.

  • ich will das man die direkt löschen kann.. wenn man die taste drückt sollen die erscheinen und wenn man die nochmal drückt sollen die verschwinden...
    Das soll ja eben nich nur für admins sein sondern für Spieler.