Beiträge von d30af26d

    Plugins (.dll Dateien) in den plugins Ordner verschieben.
    In der server.cfg nur den Dateinamen von der .dll eintragen.
    Und für die Funktionen die Include hernehmen.

    Zitat


    Kommen wir zum typischen Aussehen ohne jegliche Argumente oder Werte:
    %[flags][width][.precision][length]specifier


    Die Erklärung steht darüber. Ist es denn mein Problem, wenn du und Andere nicht mehr fähig seid und nur 50% und weniger davon ließt?

    Moinsen,


    wie ich gesehen habe, gibt es eigentlich kein spezielles Tutorial für den Formatspezifier in Funktionen wie printf, format und co.
    Aus diesem Grund und weil ich kürzlich ein Clocktutorial gesehen habe mit unnötigen Anweisungen, habe ich beschlossen eins zu
    schreiben, damit Newbs ein bessereren Einstieg bekommen.


    Der Text wird zum Teil selbst geschrieben und zum Teil von der Quelle, unterm Text angegebenen, übersetzt.
    Quelle: www.cplusplus.com


    Kommen wir zum typischen Aussehen ohne jegliche Argumente oder Werte:
    %[flags][width][.precision][length]specifier


    %
    Dieses Zeichen gibt dem "Parser" Bescheid, dass hier ein Wert aus den Parametern eingesetzt werden soll.
    Mit dem Parameter sind nur die Variablen und Werte hinter dem Formatspezifier gemeint.
    format(ziel, sizeof(ziel), "formatspezifier", parameter1, parameter2);


    [flags]
    Diese Zeichen beeinflussen die Ausgabe mit Leerzeichen, einer Reihe von Nullen und Sonstigen, dass man aus daraus entnehmen kann:
    [table=2][*]flags[*]Bedeutung
    [*]- [*]Der Text wird linksbündig (Zahl: 15, Width: 4, Ausgabe: '15 ', Ohne '-': ' 15') (Nicht unterstützt)
    [*]+ [*]Das Vorzeichen wird auch ausgegeben (Nicht unterstützt)
    [*]\0 [*]Freie Felder (wenn die Gesamtlänge kleiner als [width] ist) werden mit 0 ausgefüllt ('\' bitte nicht beachten)
    [*](Keine Angabe) [*]Siehe '0'-flag jedoch mit Leerzeichen statt mit Nullen.
    [*]# [*]Spezielles Ausgabeformat (%#o -> Oktal, %#x -> Hex mit 0x, %#X -> Hex mit 0X, %#e(, E, f) -> Dezimalzeichen anzeigen) (Nicht unterstützt)
    [/table]


    [width]
    Angabe, wie viel Felder die Ausgabe haben sollte, wenn die Länge darunter liegt, dann wird werden die unbelegten Felder mit einem
    Leerzeichen ausgefüllt, sofern kein [flags] dies nicht geändert hat ('%02d' -> Beispiel mit der Zahl 5 wird zu '05', ohne die '0' -> 5)


    [.precision]
    Die Anzahl der Stellen nach dem Komma, bei Gleitkommazahlen (Float).
    Beispiel: '%.5f' mit der Zahl 3.4145926 wird zu 3.14159 (Kann je nach Präzision, irgendwann nicht mehr stimmen, da der Datentyp Float
    nicht unbegrenzt Zeichen nach dem Komma speichern kann)


    [length]
    Wird in Pawn nicht unterstüzt, muss weggelassen werden.


    specifier
    Der Datentyp, siehe Tabelle:
    [table=2][*]Spezifier [*]Datentyp
    [*]%b [*]Zahl in binärer Form (10 = 2, 11 = 3, 100 = 4, 101 = 5)
    [*]%c [*]Ein Zeichen ('A', 'a', 'B', 'b') -> ASCII Tabelle
    [*]%d oder %i [*]Ganzzahl (5, 10, 23, 40)
    [*]%f [*]Gleitkommazahl (3.0, 5.16, 3.14159)
    [*]%s [*]Zeichenkette ("Hallo", "Welt", "Ein Apfelbaum")
    [*]%x [*]Hexadezimale Zahl (0x15, 0xFA16, 0xFF = 255)
    [/table]


    Beispiele:










    Nun, das Tutorial wäre nun zu Ende. Vielleicht hat es dir geholfen oder nicht.
    Trotzdem ist es eine gute Nachschlageseite hier im Forum für dich und Andere.


    Freundliche Grüße
    - Necktrox

    LSPD[idx][lspdDBID]=CreateVehicle(carid,vehx,vehy,vehz,veha,c1,c2,-1);
    Die Zeile erstellt das Fahrzeug und gibt nicht die Datenbankkennung zurück. Diese ist nämlich 'idx'.
    LSPD[idx][lspdDBID] = idx;


    Da du ja die Fahrzeugkennung auch willst, machst du gleich ein Extrafeld in deinem LSPD enum.
    enum ENUM_LSPD
    {
    lspdDBID,
    lspdCARID,
    };


    Dementsprechend auch die Zeile anpassen:
    LSPD[idx][lspdCARID]=CreateVehicle(carid,vehx,vehy,vehz,veha,c1,c2,-1);