Problem mit einer Schleife!

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
  • Heyho Experten,
    undzwar habe ich ein Problem,
    meine for(new-Schleife, welche ich für einen "Heal"-Befehl angelegt hatte,
    und dafür da war, dass man NUR in einem Medicfahrzeug healen kann,
    durchläuft nicht alle Autos sondern lediglich das erste!



    mediccar[0]=AddStaticVehicle(407,1247.6630,-1811.0457,13.6555,204.0242,3,1); // Durchläuft nur dieses Auto!
    mediccar[1]=AddStaticVehicle(407,1243.7087,-1812.7396,13.6579,202.6845,3,1);
    mediccar[2]=AddStaticVehicle(407,1239.8633,-1814.3225,13.6614,202.1629,3,1);
    mediccar[3]=AddStaticVehicle(416,1203.6162,-1824.8625,13.6503,179.3722,1,3);
    mediccar[4]=AddStaticVehicle(416,1208.0288,-1824.8989,13.6344,179.1074,1,3);
    mediccar[5]=AddStaticVehicle(416,1212.6810,-1824.9159,13.6502,180.7096,1,3);
    mediccar[6]=AddStaticVehicle(416,1217.1426,-1824.8998,13.6501,179.3766,1,3);
    mediccar[7]=AddStaticVehicle(416,1199.1608,-1824.8870,13.6501,179.2532,1,3);
    mediccar[8]=AddStaticVehicle(598,1259.9880,-1808.4502,13.1565,179.9927,3,1);
    mediccar[9]=AddStaticVehicle(598,1256.0264,-1808.4395,13.1644,179.5065,3,1);
    mediccar[10]=AddStaticVehicle(598,1263.8726,-1808.3943,13.1498,178.5558,3,1);
    mediccar[11]=AddStaticVehicle(598,1267.7830,-1808.3918,13.1784,179.2419,3,1);
    mediccar[12]=AddStaticVehicle(598,1271.6570,-1808.4369,13.1352,178.9273,3,1);



    for(new i=0;i<sizeof(mediccar);i++)
    {
    if(!IsPlayerInVehicle(playerid,mediccar[i]))return SendClientMessage(playerid,0xA0A0A0FF,"Du befindest dich nicht in einem Medicfahrzeug!");
    {


    Danke im Vorraus!:)

    Einmal editiert, zuletzt von Cody_ ()


  • new bool:no;
    for(new i=0;i<sizeof(mediccar);i++){
    if(IsPlayerInVehicle(playerid,mediccar[i])){
    no=false;
    break;
    }
    else no=true;
    }
    if(no) return SendClientMessage(playerid,0xA0A0A0FF,"Du befindest dich nicht in einem Medicfahrzeug!");


    viel zu erklären gibt es dazu nicht nur das so die schleife nicht unterbrochen wird.
    Es wird die ganzen Mediccars durchgehen und wenn der spieler in einem ist wird die schleife abgebrochen und der wert bleibt
    false beziehungsweise 0 falls dieser Fall nicht eintreten sollte so bleibt der wert dann durch das else auf true und
    wird zum schluss wenn no true sein sollte die Nachricht ausgegeben.