Beiträge von Kaliber

    So das sind beide Command.

    Jaaa und die sind falsch.


    Wie ist es möglich...dass du es verkackt hast 4 Zeilen zu kopieren?!?!?!?!


    else
    {
    Vehicle[vehicleid][vehMats] -= gebraucht;
    Frak[1][frakEisen] += gebraucht;

    Das hast du da stehen.


    else
    {
    Vehicle[vehicleid][vehMats] = 0;
    Frak[1][frakEisen] += Vehicle[vehicleid][vehMats];

    Das hab ich da stehen...fällt dir irgendwie..irgendwas auf?!?!?!



    Negativ ich kann mich ausrüsten also sind Materialien vorhanden.
    habe dies schon getestet wen keine vorhanden sind kann man sich nicht ausrüsten.

    Habe ich dich gefragt ob du dich ausrüsten kannst oder ob ich wissen will OB da was drinnen ist?
    Nein ich habe dich gefragt WIE VIELE GENAU geladen werden und dafür musst du das printen.



    Wie bereits ich geschreieben habe habe ich den fehler schon beim laden gesucht da liegt kein fehler da die anzeige genauso daran liegt (3DTextLabel)
    Da steht es genauso in der DB: 245.000 und maximale Materialien 250.0000

    Das hattest du nicht geschrieben, aber gut zu wissen.


    Ja du solltest natürlich noch prüfen ob gebraucht 0 ist, dann ist ja klar, dass er nichts mehr benötigt und du kannst eine Fehlermeldung ausgeben.

    Hab es soweit angepasst.

    Nein, du hast vergessen beim else Vehicle[vehicleid][vehMats] = 0; zu setzen..so wie in meinem Code.



    Aber wen die Fraktion nur 5.000 brauchen liefert er trotzdem 25k ab?

    Bist du dir denn sicher, dass nur 5k gebraucht werden?


    Printe dir doch mal gebraucht und schau, welcher Wert da berechnet wird.


    Und ich hoffe dir ist klar, dass du angegeben hast, dass in das Lager 250k passen.

    einfach nur hinfahren und die menge was das biz braucht abladen. Wen zuviel geladen ist bleibt der Rest bzw sollte es bleiben. Schließlich bezahlt man dafür so gesehn.

    Dann musst du das berechnen.


    Du hast auch die Klammern falsch gesetzt...oh man..


    C
    if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 435) return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du hast den falschen Anhänger. Du brauchst den Produkt Anhänger!");

    hoffe jemand kann mir helfen

    Du machst es dir viel zu kompliziert, schreib es einfach nur so:


    #define MAX_FRAKTIONEN 1

    Okay, alles klar :)


    Das Problem ist du hast einen index.


    Also schauen wir uns das mal an:



    new x[1];
    x[0] = 5; //Das ist kein Problem, denn ein Array fängt bei 0 an
    x[1] = 3; //Das geht nicht...weil wir nur 1nen Index zur Verfügung haben und zwar die 0


    Du versuchst aber, genau das untere auf x[1] zuzugreifen.


    Die Lösung ist ganz einfach, du musst entweder überall Fraktion[f_ID-1] verwenden oder direkt nur 0 als Fraktion eingeben, da sich das ja auf den Index bezieht :)

    [19:33:16] [debug] Run time error 4: "Array index out of bounds"
    [19:33:16] [debug] Attempted to read/write array element at index 1 in array of size 1

    Da, das ist dein Fehler :)


    Wie hast du denn Fraktion deklariert? ;)



    Ich komm auf den Fehler nicht ich änder das die ganze zeit und die fehler beleiben..

    Dann schreib es doch mal ordentlich ^^


    Oder lager es aus.


    C
    new veh = GetPlayerVehicleID(playerid);
    new trailer = GetVehicleTrailer(vehicleid);
    new model = GetVehicleModel(veh);
    
    
    if((model == 514 || model == 515) && GetVehicleModel(trailer) == 584)

    Hinzufüge kann der Compeiler den Code nicht compeilen warum? bzw reagiert er nicht mehr

    Vermutlich weil die Zeile zu lang ist.


    Aber lager das doch aus: