Variablen verändern ihren Wert ungewollt

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
  • der der 50cm hinterm bildschrim liegt macht gerne solche fehler an dem alle programirer verzweifeln xxD
    zudem sollte man min 30 cm hinterm bildschirm sein :P
    letztens wollte ein objekt sich nicht löschen ,dinni wollte dinge nicht speicher usw und das kann sich alles keiner erklären.
    //EDIT der fehler muss hier sein
    Vehicle[nextcarID][modelid] = dini_Int(Autodatei,"modelid");
    ich hab es mal vor dem variablen erhöhen eingesetzt und wieder hat sie sich verändert aber alle gleichungen davor stimmen

  • Das hat's wirklich gelöst? :o
    Ist dann aber eher ein Fehler im Compiler, da man ja eigentlich nach Lust und Laune die Arrays auf Unendlich stehen lassen kann ...
    Die Nummernschildstrings sind leer, daher kommt nix.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Denke eher es liegt daran, dass es in Pawn keine dynamischen Arrays gibt. Nach seiner Idee würde sich der Array automatisch anpassen was aber nicht geht. (Verbessert mich wenn ich scheisse laber :D).

    Zitat

    Ich glaub die werden dann immernoch erstellt, aber nicht mehr vom Script bzw SA:MP richtig erkannt.
    Nimm einfach MAX_VEHICLES

    du weißt aber schon das MAX_VEHICLES genau das gleiche wie 2000 ist? Glaube kaum dass er 2000 Fahrzeuge braucht, deshalb würde ich den Array kleiner lassen..

  • ja du liegst richtig cih habe versucht diese arry dynamisch zu machen hihi
    nagut nun kämpf ich noch mim nummernschild immerhin ist der string nicht leer
    das was auf dem schild steht wird aus der autodatei geladen und da drinn steht Numemrnschild=12ab
    Das nummerschild ist nicht leer da ich ja ein string eingebe der gespeichert wird, was ist da falsch
    dcmd_createcar(playerid , params[])
    {
    if(IsPlayerAdmin(playerid))
    {
    new pname[MAX_PLAYERS],accFormat[128],extraini[50];
    [...]//dateipfade
    new model,color1,color2,nummernschild[32];
    if(sscanf(params, "ddds", model, color1, color2, nummernschild))// ich gebe für nummerschild 1234abcd ein
    {
    return SendClientMessage(playerid,COLOR_RED, "Nutze: /createcar [model] [color1] [color2] [nummerschild(32)]");
    }
    else
    {
    [...]//speicherungen
    dini_IntSet(Autodatei,"Paintjob",-1);
    dini_Set(Autodatei,"Nummernschild",nummernschild);
    dini_IntSet(Autodatei,"Spoiler",GetVehicleComponentInSlot(nextcarID,0));
    [...]//noch mehr speicherungen
    SetVehicleNumberPlate(nextcarID,dini_Get(Autodatei,"Nummernschild"));// in der datei steht 1234abcd aber das nummernschilsd wird nicht so gesetzt
    Vehicle[nextcarID][modelid] = dini_Int(Autodatei,"modelid");
    Vehicle[nextcarID][HP] = dini_Int(Autodatei,"HP");
    Vehicle[nextcarID][Farbe1] = dini_Int(Autodatei,"Farbe1");
    [...]//unnötig
    Vehicle[nextcarID][FrontBumper] = dini_Int(Autodatei,"FrontBumper");
    printf("%d", nextcarID);
    Vehicle[nextcarID][RearBumper] = dini_Int(Autodatei,"RearBumper");
    printf("%d", nextcarID);
    if(dini_Int(accFormat,"car1") == -1){dini_Set(accFormat,"car1",Vehicle[nextcarID][Nummernschild]);}
    else if(dini_Int(accFormat,"car2") == -1){dini_Set(accFormat,"car2",Vehicle[nextcarID][Nummernschild]);}// das nummernschild wird ebenfalls beim spieler gespeichert als beweis dass es sein asuto ist
    else if(dini_Int(accFormat,"car3") == -1){dini_Set(accFormat,"car3",Vehicle[nextcarID][Nummernschild]);}//allerdings steht hier nicht 1234abcd sondern 0
    else if(dini_Int(accFormat,"car4") == -1){dini_Set(accFormat,"car4",Vehicle[nextcarID][Nummernschild]);}
    else if(dini_Int(accFormat,"car5") == -1){dini_Set(accFormat,"car5",Vehicle[nextcarID][Nummernschild]);}
    else if(dini_Int(accFormat,"car6") == -1){dini_Set(accFormat,"car6",Vehicle[nextcarID][Nummernschild]);}
    else if(dini_Int(accFormat,"car7") == -1){dini_Set(accFormat,"car7",Vehicle[nextcarID][Nummernschild]);}
    else if(dini_Int(accFormat,"car8") == -1){dini_Set(accFormat,"car8",Vehicle[nextcarID][Nummernschild]);}
    else if(dini_Int(accFormat,"car9") == -1){dini_Set(accFormat,"car9",Vehicle[nextcarID][Nummernschild]);}
    else if(dini_Int(accFormat,"car10") == -1){dini_Set(accFormat,"car10",Vehicle[nextcarID][Nummernschild]);}
    nextcarID ++;
    dini_IntSet(extraini,"GesamtCars",nextcarID);
    CreateVehicle(model, x, y, z, 0, color1, color2, -1);
    }
    }
    else
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin, du darfst das nicht!");
    return 1;
    }
    Wiso sind die nummernschildstrings leer?

    Einmal editiert, zuletzt von carlos1710 ()