Beiträge von Kaliber

    so besser?

    1. Nein nicht den Code aus dem pwn Tag jetzt da einfach rein kopieren, da jegliche Formatierung zuvor zerstört wurde.


    2. Wähle bei dem Code Tag die Sprache mit aus (C) oder wenn du es als Tag direkt schreiben magst: [code=c]


    3. Du musst den Code jetzt noch einmal aus deinem Skript kopieren und da einfügen, damit die Formatierung beibehalten wird :)

    Bitte nicht den [pwn] Tag nutzen, der verschiebt sich nämlich wie du siehst, sobald du den Beitrag bearbeitest oder sonst was machst.


    Immer nur den Code Tag verwenden, ansonsten ist das wirklich nur schwer möglich dir zu helfen ^^

    Wo liegt mein Fehler ?

    Hmmm
    So einfach kannst du das nicht dynamisch abfragen...


    Wie du nämlich siehst, sobald der Winkel über 360 ist stimmt die Logik nicht mehr und sobald es kleiner als 0 ist ebenso.


    2 Möglichkeiten:


    1. Du bestimmt für den Blitzer exakt die Winkel und gibst diese als zusätzliche Parameter an und prüfst das darüber...


    2. Du nutzt eine Funktion die das berücksichtigt und abdeckt.


    Hier wurde mal eine gepostet: https://forum.sa-mp.com/showpost.php?p=3065655&postcount=2


    Und hier: https://pastebin.com/AzXJc7Lm


    Die Funktion heißt da: IsPlayerFacingPoint


    Kanst ja mal ein bisschen rumprobieren und damit spielen :)

    Du weißt ja, an welchem Biz er sich das Auto gekauft hat, als er es sich kauft...


    Du hast also 2 Möglichkeiten...


    Entweder du speicherst das in einem PVar und fügst das da einfach ein..


    oooder du prüfst die Positionen von dem Biz und checkst, an welchem er sich befindet..und hast so die ID.

    Wie kann ich am besten ein Erfahrungslevel System erstellen, wo die User Erfahrungspunkte bekommen und dadurch das Level steigt ?

    Das kommt darauf an, wie sie diese Erfahrungspunkte erhalten sollen.


    Aber üblicherweise passiert das ja über dein "PayDay".


    Du kannst also einfach eine Spieler-Variable wie das Level machen, die nennst du dann z.b. pExp.


    C
    //Damit gibst du an, dass der Spieler Pro Level 4 XP braucht
    //Also um auf Level 2 zu kommen 4
    //Um auf level 3 zu kommen 8
    //Um auf Level 4 zu kommen 16
    //Kannst den Faktor natürlich beliebig Variieren
    stock GetXPNeeded(playerid)
    {
        return 4*SpielerInfo[playerid][pLevel];
    }


    Dann gibst du dem Spieler pro PayDay einfach immer einen Xp..



    C
    SpielerInfo[playerid][pExp]++; //Erhöht immer die XP um 1
    
    
    if(SpielerInfo[playerid][pExp] >= GetXPNeeded(playerid)) //Prüft ob er genug XP hat
    {
        //Level Up! :)
        SpielerInfo[playerid][pExp] = 0;
        SpielerInfo[playerid][pLevel]++;
    }

    Also meinst du einfach nur abfragen ob das Auto in die Richtung fährt über die Z Rotation ?

    Jaa...das ist doch das, was du wissen wolltest ^^


    Darüber kannst du prüfen, ob das Auto auf den Blitzer zu fährt...oder eben nicht :)



    Den Widerspruch hört man schon raus

    Da ist kein Widerspruch, du benutzt es nicht.


    Du hast die Variablen deklariert und gibst ihnen einen Wert.


    Aber du fragst den Wert ja nirgends ab, also benutzt du die Variable nicht, du weist ihnen nur einen Wert zu :)

    Irgendwie wird die Kilometer Anzeige "über dem Weißen angezeigt"

    Du musst das TextDraw als letztes erstellen mit dem Blitzer, dann wird es auch über allen angezeigt :)



    Habe eine andere frage wie mache ich das dass der Blitzer den Spieler angucken muss ?

    Wäre es nicht einfacher....den Blitzer Trigger point nur auf der einen Spur zu halten, wo er auch in die Richtung fährt? ^^


    Ansonsten kannst du das anhand der [wiki]GetVehicleZAngle[/wiki] ja einfach prüfen, in welche Richtung das Auto zeigen sollte, damit der Blitzer reagiert :)

    Nette Idee, finde die Vorstellung ganz gut :)

    Fall 7: Time Bug

    Vielleicht hierzu noch etwas.
    Das ist ein komplexes Phänomen, was durchaus seinen Ursprung auch beim Server haben kann.
    Mal ein klassisches Beispiel, jemand ist im Auto und man spawnt diesen.
    Das verursacht einen Time-Bug, weil diese Person sich dann in einem undefinierten State befindet.


    Viele kennen das vermutlich, da steht man an der Grove Street mit Zigarette oder ner Flasche ^^
    Dieses Phänomen, kann durch viele Dinge hervorgerufen werden.
    Gerade wenn es um Spawn-Funktionen geht, die mit TogglePlayerSpectating in Zusammenhang stehen oder Fahrzeugen.
    Wenn man nicht genau aufpasst, kann man diese invaliden States hervorrufen.



    Fall 8: Leeres Interior

    Das ist wirklich ein verrücktes Phänomen, kann aber auch ohne Hacks auftreten.
    Gerade die 24/7 Läden sind davon sehr betroffen und das liegt an GTA (also clientseitig).



    Es gibt aber durchaus noch mehr Bugs ^^ Sogar welche, womit man bestimmte Funktionen aushebeln kann.
    Finde es aber eigentlich gar nicht so gut alle aufzulisten, weil sie dann vermutlich alle missbraucht werden :/

    Wie kann man den Bildschirm weiß machen ?
    Über ein Textdraw oder wäre es auch anders Möglich ?

    Hatte mal so ein System geschrieben gehabt:


    Mir würde auch kein anderer vernünftiger Weg einfallen das ohne TextDraw zu lösen...wüsste aber auch nicht wieso

    new enterexits[MAX_ENTEREXITSdef][EnterExits_info] =

    Schreib das mal so:


    stock const enterexits[][EnterExits_info] =


    Der Fehler liegt vermutlich an dem define.


    Also ich bekomme da keine Fehler.


    Wie sieht denn dein define aus?


    Prinzipiell brauchst du da auch kein define :)


    Nutze einfach sizeof(enterexits), dann musst du nicht so eine schläde Zahl anpassen, sondern der Compiler sucht sich das alles dynamisch raus ;)