Indexangabe funktioniert nicht?

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
  • Hey Com,


    Dieser stock returnt immer -1 jedoch müsste er noch -1 returnen da die Autos noch nicht im enum hinterlegt sind aber wieso kommt dann -1?


    Grüsse?


    stock GetCarpriceIndex(model)
    {
    for(new i; i < sizeof(CarBuy); i++)
    {
    if(CarBuy[i][vModel] == model) return i;
    }
    return -1;
    }

  • Soweit ich weiß bewirkt ein return something; in einer Schleife dasselbe wie continue; Probiers mal so:


    Nein tut es nicht :D


    Die Funktion ist richtig ;)


    Aber wahrscheinlich sind die Werte falsch, printe es dir doch einfach aus ^^


    So:


    stock GetCarpriceIndex(model)
    {
    for(new i; i < sizeof(CarBuy); i++)
    {
    printf("%d = %d",CarBuy[i][vModel],model);
    if(CarBuy[i][vModel] == model) return i;
    }
    return -1;
    }


    und mach dir selbst ein Bild davon, wieso das nicht klappt ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Beim Sultan kommt dann 560 = 0 das gehört aber net zum autohaus und beim ahauscar kommt 0 = 0


    So habe ich das bei OnPlayerEnterVehicle


    if(AutohausVeh(vehicleid))
    {
    print("Test");
    new model = GetVehicleModel(GetPlayerVehicleID(playerid)), stringi[128];
    new index = GetCarpriceIndex(model);
    printf("Index: %i | Model: %i", index, model);
    if(index == -1) return SendClientMessage(playerid, COLOR_WHITE, "Modelid nicht vorhanden.");
    else
    {
    actcarid[playerid][0] = model;
    actcarid[playerid][1] = CarBuy[index][Price];
    format(stringi,sizeof(stringi),"Fahrzeuginformationen:\n\nPreis:\t$d\n\nModelname: %s",CarBuy[index][Price], FahrzeugName[model-400]);
    ShowPlayerDialog(playerid,DIALOG_CAR,DIALOG_STYLE_MSGBOX,"Fahrzeug kaufen:",stringi,"Kaufen","Abbrechen");
    }
    return 1;
    }


    Edit:


    Ich setze mich einmal ins car dann wird geprintet 560 = 0 das stimmt ja auch oder?


    und einmal 0 = 0 nochmal direkt hinter

    Einmal editiert, zuletzt von NicoWiss ()