Beiträge von Kaliber

    von etwa 10m gestreamt, weshalb ich nichtmal sehe was direkt vor meiner Nase steht.

    Gerne mal dahin stellen und F5 drücken und den screen hier posten, dann kann ich dir da mehr zu sagen :)


    Aber grundsätzlich gibt es sowohl die stream, als auch die draw-distance, beide könnten erhöht werden für diesen Zweck.

    Allerdings könnte es noch an etwas anderem liegen.

    Jetzt wo die Smileys aus den Server-Werbungen verbannt wurden, gibt es gar keine Farbe oder Bilder mehr...richtig trostlos, die Armen 🙄😅🙈😊😜😉🙊😁🤩🎈🖼🎯🏅🏆

    Achso, ja dann geht es noch einfacher:

    Wäre dann halt wieder die Frage ob man format texte auch in ein define setzen kann oder wie man das am besten macht.

    Für format, kannst du den Text quasi als Template nutzten:


    Und noch ein Profi Tipp:

    Nun zu meinem Anliegen.

    Ich habe vor alle vom Script ausgehenden Texte in mehreren Sprachen anzubieten, also mit Übersetzung.
    Hatte die Idee das ganze per DEFINES zu machen und dann halt eine sprachabfrage zu machen, sodass ich die texte beispielsweise in einem include übersetzen kann.

    Wie würdet ihr das ganze umsetzen. Für mich klingt das nicht nach der besten Lösung.

    Gibt eine heftige YSI-Lib dazu: https://github.com/pawn-lang/YSI-Includes

    Leider ist sie nicht (mehr) gut dokumentiert und schwer sich reinzuarbeiten.


    Spontan würde mir sowas einfallen:

    Wenn du öfters den Selben Satz verwendest, sowas wie z.B. "Du bist kein Admin!"


    Leg dir dafür konstanten an:


    C++
    stock const NO_ADMIN_MSG_GER[] = "Du bist kein Admin!";
    stock const NO_ADMIN_MSG_ENG[] = "You're not an admin!";
    stock const NO_ADMIN_MSG_SPN[] = "No eres un admin!";
    
    //Und dann an entsprechender Stelle einfach:
    if(!IsAdmin(playerid,5)) return SCML(playerid,rot,NO_ADMIN_MSG_GER,NO_ADMIN_MSG_ENG,NO_ADMIN_MSG_SPN);

    Dadurch wird nämlich nur 1x der Speicher reserviert ;)

    Der Error/Warning Text ist schon sehr präzise was das angeht "invalid expression - expression has no effect".


    Das ist wie, wenn du im Mathe Unterricht anstatt x = 5 nur = 5 schreibst...da fragt man sich doch, was ist 5?!?!


    Ne in besitzer steht doch nur die db Id
    cInfo[id][besitzer]=PlayerInfo[playerid][p_id]

    Ah, das hatte ich nicht gesehen.


    Ich würde einfach das enum für cInfo erweitern.


    Füg einfach sowas wie c_Owner[MAX_PLAYER_NAME] hinzu.


    Und dann einfach createPlayerCar abändern zu:



    Deswegen lösche ich doch Zeichen 3 -64

    Das ist gar nicht notwendig, kannst auch einfach nur die ersten Zeichen abfragen.


    Im format einfach:


    C
    format(kennzeichen,16,"%c%c",cInfo[id][c_Owner][0],cInfo[id][c_Owner][1]); //Gibt dir die ersten 2 Zeichen des Namens als Kennzeichen

    Ein Spielername muss immer mind. 3 Zeichen lang sein, also ist das problemlos machbar. (Natürlich vorher immer prüfen, dass der String nicht leer ist)

    Aber ich weiß nicht ob es überhaupt Funkt oder gut so ist

    Nein, das wird nicht funktionieren, da PVars, wie der Name schon sagt, Spieler bezogen sind, also ein SetPVar(carid wird nicht funktionieren bzw. zwangsläufig zu Fehlern führen.


    Verstehe die Notwendigkeit von dem PVar auch gar nicht, da der Name vom Besitzer des Fahrzeuges ja schon in cInfo[carid][besitzer] steht. Aber wie Maho schon anmerkte, wäre das eh viel zu Lange, also den Spielernamen sollte man faktisch nicht als Nummernschild verwenden.

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Viel Spaß :)

    Du kannst direkt:


    cache_get_value_name(i, "fraktion",FrakInfo[id][frak_name],128 );

    Nutzen. Davon abgesehen ist das Laden ja offensichtlich nicht dein Problem, da es ja funktioniert.


    Wie rufst du denn die Funktion auf?

    Vermutlich einfach getFraktion(playerid), allerdings musst du ja in der Funktion erstmal die FraktionsID vom Spieler ermitteln und da ist dein Denkfehler ;)

    #Handy