Frage zu Nummernschildern an Frakcars

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
  • Guten Morgen,


    ich würde gerne auf meinen Frakfahrzeug Kennzeichen folgendes draufschreiben.

    FraktionsTag - FrakCarID zb ich erslle in der Fraktion 3 das erste fahrzeug steht dann da SAPD-01 und beim zweiten SAPD-02. Wie kann ich meine Fraktionsfahrzeuge pro Fraktion durchzählen?


    So lade ich meine Fraktionsfahrzeuge

    Code
    FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID] sollte in dem Fall die ID zum Hochzählen sein.



    Danke im Voraus.


    MfG


    Allrounder18


    Edit: Funktionen aktualisiert.

    Ich hab einiges versucht aber komm nicht weiter.

  • FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID] sollte in dem Fall die ID zum Hochzählen sein.

    Wieso hast du dann noch so Felder wie KennungZahl?


    Und frakfahrzeug_FrakCarID ist bei dir die vehicle-modelid....


    und unten verwendest du frakfahrzeug_VehicleID...eieieieiei


    Das ist ein Durcheinander bei dir...


    Übrigens in der Informatik gilt es Wiederholungen zu vermeiden. Du verwendest hier doppelten Code, einmal beim Laden und dann beim Hinzufügen, da liegt es nahe, da bestimmte Funktionen auszulagern, damit man es nicht doppelt abändern muss.


    ...also dein Problem besteht nur darin, dass du keine eindeutige Variable hast, die du einfach nur hochzählen musst...


    PS: Verlinke nächstes mal das Problem direkt auf der Pinnwand xD

    ast2ufdyxkb1.png


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

  • KennungZahl wäre für die Fahezeugkennung die ans Fahrzeug atached werden sollte, die hat mit dem Kennzeichen nichts zu tun.


    Bevor ich das alles geändert habe war nur VehicleID vorhanden.

    Mein Enumm:

    Was genau soll ich zusammenfassen?


    Vehicleid = Createvehicle - kann ich VehicleID auch hochzählen oder eher ne andere Variable wie FrakCarID?

  • Erstell doch einfach noch eine:


    frakfahrzeug_CarCounter


    und dann zählst du die so hoch:


    "%s-%02d",bla,++FrakFahrzeugInfo[id][frakfahrzeug_CarCounter])


    Wenn dir egal ist, in welcher Reihenfolge die Zahlen sind, musst das nicht einmal speichern. Kannst also theoretisch auch eine separate Variable dafür erstellen.

    ast2ufdyxkb1.png


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

  • Danke, wo genau setz4e ich die Zeile zum hochzählen?

    Die Reihenfolge ist nicht egal.


    Edit:

    Ich hab format(FrakFahrzeugInfo[id][frakfahrzeug_Kennzeichen],50,"%s-%02d",FraktionDaten[frakcarfraktion][fraktion_Tag],++FrakFahrzeugInfo[id][frakfahrzeug_CarCounter]); eingefügt, jedoch ist jetzt die Zahl sehr lang.


    Edit2: Die Zahl wird nicht hochgezählt.

  • Wie sieht denn dein Code jetzt aus?


    und wo wird das nicht hochgezählt...

    Ich hab alles mit FrakCarID wieder entfernt.

    Die Zahl auf der Numberplate wird nicht hochgezählt.

  • Ah, sry, schlechtes beispiel von mir.


    Meinte natürlich sowas wie:


    C
    new veh_car_counter[MAX_FRAKS];
    
    //Und dann im Code:
    ++veh_car_counter[frakID]


    Musst das natürlich iwi auf die FraktionsID zurückführen.

    ast2ufdyxkb1.png


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

  • Code
    format(FrakFahrzeugInfo[id][frakfahrzeug_Kennzeichen],50,"%s-%02d",FraktionDaten[frakcarfraktion][fraktion_Tag],++veh_car_counter[fraktion_ID]);

    Meinst du so? Wie genau zurückführen?
    So vielleicht?

    Code
    FraktionsID = veh_car_counter[fraktion_ID]
  • ++veh_car_counter[fraktion_ID]

    So ist das schon richtig...was passiert denn da?

    Vorausgesetzt du hast die richtige Fraktionsid da angegeben.



    FraktionsID = veh_car_counter[fraktion_ID]

    ...Nein, das macht doch gar keinen sinn. veh_car_counter speichert doch die Anzahl an Fahrzeugen in einer Fraktion.


    Ergo muss der Index die Fraktionsid sein. Wieso sollte der Wert auch die Fraktionsid sein...


    Ich sprach vom Index.

    ast2ufdyxkb1.png


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

  • Wie führe ich es auf die FrakID zurück?

  • ...naaa so:


    C
    ++veh_car_counter[FrakFahrzeugInfo[id][frakfahrzeug_Fraktion]]

    Okay, jetzt habe ich wieder ne Zahl aber die hat mehr als zwei stellen und ist auch net die ID die hochgezählt werden soll.


    format(FrakFahrzeugInfo[id][frakfahrzeug_Kennzeichen],50,"%s-%02d",FraktionDaten[frakcarfraktion][fraktion_Tag],++veh_car_counter[FrakFahrzeugInfo[id][frakfahrzeug_Fraktion]]);

  • Dann printe dir mal die Fraktionsid...


    Ist die denn richtig gesetzt bzw gespeichert?

    Fraktionsid wird richtig geprintet.

    wie meinst du gesetzt oder gespeichert?


    Edit: Ich habhe wie du sagtest new veh_car_counter[MAX_FRAKTION]; eingbaut ganz oben im Script, #define MAX_FRAKTION 7 habe ich im Script.

  • Fraktionsid wird richtig geprintet.

    wie meinst du gesetzt oder gespeichert?

    ...printe dir doch mal:


    C
    printf("Frakid: %d | Counter: %d",FrakFahrzeugInfo[id][frakfahrzeug_Fraktion],veh_car_counter[FrakFahrzeugInfo[id][frakfahrzeug_Fraktion]]);

    Und dann zeig mal den Log, was sagt der denn da so...

    ast2ufdyxkb1.png


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

  • ...printe dir doch mal:


    C
    printf("Frakid: %d | Counter: %d",FrakFahrzeugInfo[id][frakfahrzeug_Fraktion],veh_car_counter[FrakFahrzeugInfo[id][frakfahrzeug_Fraktion]]);

    Und dann zeig mal den Log, was sagt der denn da so...

    Code
    Frakid: 3 | Counter: 1
    Frakid: 3 | Counter: 2

    Das sind 2 verschiedene Fahrzeuge.


    Code
    format(string, sizeof(string), "{000000}%s",FrakFahrzeugInfo[id][frakfahrzeug_Kennzeichen]);
                FrakFahrzeugInfo[id][frakfahrzeug_VehicleID] = CreateVehicle(frakcarmodelid, FrakFahrzeugInfo[id][frakfahrzeug_Spawn][0], FrakFahrzeugInfo[id][frakfahrzeug_Spawn][1], FrakFahrzeugInfo[id][frakfahrzeug_Spawn][2], FrakFahrzeugInfo[id][frakfahrzeug_Spawn][3], FrakFahrzeugInfo[id][frakfahrzeug_Farbe][0], FrakFahrzeugInfo[id][frakfahrzeug_Farbe][1], -1, 1);
                SetVehicleNumberPlate(FrakFahrzeugInfo[id][frakfahrzeug_VehicleID], string);

    Am Kennzeichen String kanns net liegen oder?


    Edit: So wird das Kennzeichen formatiert:

    Code
                format(FrakFahrzeugInfo[id][frakfahrzeug_Kennzeichen],50,"%s-%02d",FraktionDaten[frakcarfraktion][fraktion_Tag],++veh_car_counter[FrakFahrzeugInfo[id][frakfahrzeug_Fraktion]]);
  • Dann müsste doch am Fahrzeug jetzt "blabla-01" und "blabla-02" stehen...?!


    Es sei denn, du hast das im falschen Callback...

    ast2ufdyxkb1.png


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