Beiträge von Kaliber

    Wie genau mach ich das, bzw. wie verläuft die Prüfung? Alles ist ja beim Client einsehbar und veränderbar. Dann kann ich doch auch die Prüfung des Token/Hashes einfach umgehen.

    Der Token/Hash liegt beim Client, aber die Prüfung findet natürlich Serverseitig statt, mittels z.B. NodeJS :)


    Bei Verifizierungsverfahren kommt man nicht drum herum eine Serverseite zu haben ^^

    wodurch der Code den der Client am Ende erhält bundled und minified ist, wodurch es gar nicht mehr der "originale" Source Code ist und dadurch auch schwerer zu lesen ist.

    Das mag durchaus sein, allerdings gibt es Seiten, wodurch das minified rückgängig gemacht werden kann. Zudem bleiben Strings erhalten und so ist es schon möglich einige Eindrücke zu erhalten...

    Primär ging es ja auch nur um die Möglichkeit, ob es möglich wäre, nicht, ob es trivial ist ^^

    ich bräuchte einmal einen kleinen Snippet für ein PostRequest via Lua, das ganze soll eine Abfrage an einen Server darstellen und dieser liefert auch ein Ergebniss zurück.

    Was ist denn das Problem?


    Wenn der Request funktioniert und ein Ergebnis liefert, ist doch alles gut oder nicht?


    Worauf genau willst du denn eine Antwort oder einen Hinweis...deine Frage geht in deiner Erklärung irgendwie unter ^^

    Ich versuche mich mal an den Fragen:


    Habe ich das richtig verstanden: Vue ist eine reines Frontend-Framework?
    Man benötigt also, nicht wie in PHP bspw., immer eine Backend-Schnittstelle, meistens eine (selbst geschriebene) REST-Full API Schnittstelle o.ä.?

    Ja, Vue JS ist ein Frontend-Framework. Sprich es vereinfacht dir das Seitenerstellen mit Hilfe von JS. Dadurch kannst du Module und Templates erstellen und diese immer wieder verwenden und kompliziertere Logiken einfacher gestalten. (Wobei VUE inzwischen auch SSR (Server Side Rendering) kann, aber trotzdem bleibt es natürlich ein Frontend-Framework hier ein Artikel mal dazu: https://vuejs.org/guide/scaling-up/ssr.html)


    Die zweite Frage verstehe ich nicht ganz. VUE basiert auf Javascript und das kann direkt beim Client ausgeführt werden, also ja, du brauchst kein Backend, das würde alles in einer .html Datei so ausgeführt werden können.


    Ist der ganze Script-Code für den Nutzer einsehbar? Ich konnte auch im Build-Status meinen Code einsehen. Bedeutet also, ich kann keine lokale Sicherheitsabfrage stellen. Diese sind ja dann einfach im Quellcode einsehbar?
    Als Beispiel: Ich möchte für ein sehr kleines Projekt einen Login anbieten, aber dafür keine Nutzerdatenbank anlegen. Die Anmeldung läuft über statisch angelegte Werte - die dann im Quellcode lesbar sind. Gibt es hierfür eine andere Methode?

    Ja, alle JS Logiken sind immer einsehbar, da sie am Client ausgeführt werden und nicht am Server.

    Ja, dafür brauchst du ein Backend-System wie z.B. NodeJS, das läuft ja dann am Server und nicht am Client.

    (Als Hinweis: Ich nutze auch Vue-Router und Vuex) Eine Variable im Storagemanager von Vuex handelt den Status der Anmeldung. Kann der Nutzer diese nicht einfach manipulieren und ist somit dann auch angemeldet?

    Theoretisch ja, aus diesem Grund sollte natürlich auch immer ein Token/Hash generiert werden, womit abgeglichen werden kann, dass man wirklich angemeldet ist. :)

    Externer Inhalt www.youtube.com
    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.


    Macht euch das auch so fertig?

    Kickt anders rein.

    Geht nur wenn jemand im Fahrzeug ist, was ja mein problem ist.

    Wie gesagt, dann musst du in CreateVehicle die Angle setzen :) Bzw Fahrzeug zerstören und wieder erstellen.


    Hallo,

    ich brauche mal eure hilfe stehe auf dem schlauch

    er soll wenn die strings gleich sind 0 returnen und wenn nicht 1 jetzt returnt er jedoch immer 1 warum

    Drehe die Logik:

    Aber prüfe vorher irgendwo, dass die Strings nicht leer sind, sonst kommt auch immer 0 heraus!!!

    Bzw ergänze diese Prüfung!

    C
    IsPlateFree(platestring[35])
    {
        for(new i; i<sizeof(cInfo); i++)
        {
            if(strcmp(platestring,cInfo[i][plate],true) == 0) return 0;
        }
        return 1;
    }

    dann setze ich es auf eine Position die vorab gespeichert wurde

    Du setzt mit SetVehicleToRespawn es auf die Position, auf der du es mit CreateVehicle erstellt hattest.

    Wie @Grosim vermutlich meinte, kannst du einfach SetVehicleZAngle für die Rotation verwenden.

    Alternativ kannst du auch einfach beim CreateVehicle, den a Parameter richtig setzen, dann genügt SetVehicleToRespawn vollkommen :)

    ID 0 wird auch gespeichert daher ist die Abfrage ob <= 0 aus meiner Sicht sinnlos.

    Ah okay, das wusste ich nicht, dann mach es so:



    //Edit:


    Ah, mach es so.


    Pawn macht da dumme Sachen mit dem Pointer ^^


    //Edit2:

    Nutze strcat, bei der direkten Zuweisung, kann es zu Fehlern kommen...

    new tmp_name[128];

    cache_get_value_name(i, "fraktion", tmp_name);

    strmid(FrakInfo[id][frak_name], tmp_name, 0, sizeof(tmp_name), sizeof(tmp_name));

    Kannst das auch direkt laden:


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


    Im Enum ändere das zu frak_name[64], denn so lange werden Fraktionsnamen ja nicht...256 Zeichen, das wäre ja Wahnsinn :D


    Vermutlich weil du irgendwo DestroyPickup verwendest ;)


    Und dort die ID 0 gelöscht wird.


    Das ist der übliche Fehler in den Skripten, sie bedenken nicht, dass 0 eine gültige PickupID ist.


    Aus dem Grund wird z.B. im GF Skript am 0 Punkt ein Pickup ganz oben im Skript erzeugt ^^


    Würde man aber richtig programmieren, würden so Fehler nicht passieren. Aber das ist der Grund für den berühmten ID 0 Bug :)

    Wo ist diese Abfrage den drinnen?

    In einem Timer oder unter OnPlayerUpdate?


    So oder so solltest du dafür timestamps nutzen alias gettime().


    Ich reiche ein paar Beispiele später nach, gerade leider nur am Handy.

    Vllt findest schon was online :)

    Ich vermute das es etwas mit den YSI Includes zu tun hat

    So ist es ;)


    YSI nutzt auch ein Makro für SCM.

    Also musst es entweder zu SCN oder wie du magst umbenennen.

    Bin mir aber gerade nicht mehr sicher wofür genau, dafür müsst ich nochmal in die Lib schauen, aber bin unterwegs...geht also schlecht xD


    Kannst ja mal testen ob #undef SCM und dann drunter #define SCM hilft...ansonsten wie gesagt einfach was anderes nehmen xD


    #Handy