das sehe ich auch schon die ganze zeit darzum muss da irgendwas sein im hintergrund was ich nicht sehe
(mein compiler macht öfter solche dummen fehler die keiner kennt)is also keine seltenheit
Variablen verändern ihren Wert ungewollt
- carlos1710
- Geschlossen
- Erledigt
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
-
-
Liegt nicht am Programm. Genauer gesagt liegen die Fehler immer an dem, der 20cm vorm Bildschirm sitzt.
Aber hier bin ich auch am Ende. Keine Ahnung was das soll ... -
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
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 -
Normalerweise dürfte sich da an nextcarID nichts ändern.
-
ja soweit bin ich auch schon aber das ausgerechnet an dieser zeile sich was verändert und die anderen funktioniren wundert mich
-
Gib mal eine max. Anzahl an Fahrzeugen an:
new Vehicle[200][vehicle_daten];
das kannst du ja dann im Script ändern wenn nötig. -
ich teste es mal ab wie viele fahrzeugen hört samp auf sie zu erstellen bei 2000 oder?
funktionirt
nun ist nurnoch das problem das das nummernschild nicht angezeigt wird -
Ich glaub die werden dann immernoch erstellt, aber nicht mehr vom Script bzw SA:MP richtig erkannt.
Nimm einfach MAX_VEHICLES -
ok nun ist immernoch das nummernschildproblem
-
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. -
-
Meta ich sags doch mein compiler macht oft fehler die ich mir nicht erklären kann da kann der code nch so richtig sein
-
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).
ZitatIch glaub die werden dann immernoch erstellt, aber nicht mehr vom Script bzw SA:MP richtig erkannt.
Nimm einfach MAX_VEHICLESdu 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? -
breadfish.de
Hat das Thema geschlossen.