Beiträge von Kaliber

    da brauch ich nix zu beweisen und vor Kinder soweiso nicht

    Kein Grund hier schnippisch zu werden. Wir wollten lediglich erfahren, was du alles für tolle Systeme meinst.


    Die Seite als Beispiel hätte doch schon vollkommen gereicht.


    Vielen Dank für das Teilen! :)

    Eine Idee wie ich auf den "Packer" Fahrzeuge mehr oder weniger attachen kann.

    AttachVehicleToVehicle gibts ja nicht. Ich habe überlegt, ob man das vllt mit einem Timer und setposition hinbekommt oder mit Objects die die Fahrzeuge festhalten.

    Kp ob dafür eine Lösung existiert.

    Tatsächlich existiert keine sehr schöne Lösung dafür.

    Natürlich könnte man das mit den Positionen so machen..ist aber auch etwas unschön, gerade da man mit mehreren Rotationsachsen arbeiten müsste, diese aber nicht gesetzt, nur abgefragt (https://team.sa-mp.com/wiki/GetVehicleRotationQuat.html) werden können.


    Alternativ einfach Objekte nehmen, die aussehen wie Fahrzeuge (mit entsprechender Textur o.ä.) und diese attachen.

    Oder einfach Fahrzeuge drauffahren und dann per Objekt "einklemmen". :)

    Aber wenn du näher ran gehst, wird dir der Boden angezeigt? 😅


    Okay, also in diesem Fall hast du wohl ein nicht so gutes Modell Objekt erwischt, darf man fragen welche modelid das Objekt hat? :)


    PS: Gerne auch mal von einem Boden Objekt den CreateDynamicObject Code posten :)

    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)