Beiträge von BitDEVil2K16

    Async MainThrad Helper Function



    Nutzungs Beispiel:

    Hier eine kleine Class um Strings mit einem Salt (Geheimen Schlüssel) zu verschlüsseln. Und nur mit Selbigem Salt lassen sich die Verschlüsselten Strings wieder entschlüsseln.

    Es bietet zwar keine Maximale Sicherheit doch kann man damit beim Richtigen nutzen es erschweren Quellen zu offenbaren etc.


    In dem Beispiel nutzen wir einfach die PHP Funktion time() als Salt bedeutet das der Encodierte String auch nur mit diesem UnixTimeStamp wieder decodiert werden kann!


    Try It:

    Viel Spaß damit! :evil:

    2 Nette Funktionen die vielleicht der ein oder andere Gebrauchen kann


    Nutzung:

    PHP
    <?php
    $meieintzahl = -123456;
    
    echo "Mein int $meieintzahl als uint " . IntToUint($meieintzahl); // return Mein int -123456 als uint 4294843840


    Try it:

    Man kennt es man hat ein schönes unasigned int wie zB.  1572865

    3nTGrMe


    Doch welche einzelnen Flags sind da genutzt?


    Das lassen wir uns entweder von Codewalker beantworten oder aber nutzen PHP


    PHP Code:


    Und so funktioniert es ein kleines Beispiel:


    Die Ausgabe aus dem Beispiel würde so aussehen:

    39gST0j


    Jetzt bleibt mir nur noch zu sagen viel spaß damit für die Personen die damit was anfangen können! :bitdevgrin:


    //Edit:

    Try it here:

    Update4: Discord Role / Secure Bot hat sein neues zuhause gefunden und ist am Start. Somit sind alle Heutigen Umzüge Abgeschlossen!

    Sorry für die eventuellen Unannehmlichkeiten. Und Downtimes!


    :bitdevKaffee:

    Diskussion zum Artikel Server Wechsel Umzug:

    Diskussion zum Artikel Neuer Style:

    Zitat
    Da derzeit die Style Welle umher geht machen wir das auch, der BitDEVil2K16 Club wechselt den Style


    Weiterhin bleibt es Dark allerdings nicht mehr in Schwarz sondern wir setzten Blaue Akzente mit Dark Green und etwas Grau.
    Viele werden es bereits gesehen haben daher nur mal eine kurze Um/Beschreibung warum wir das gemacht haben. Anscheinend ist es derzeit ein Trend siehe Windows10 Startleisten Context Menüs oder auch Discord alles bekommt Style Upgrades und wir haben uns entschieden dem zu…

    Wie ich finde sehr nützlich und daher poste ich das mal hier!


    Die JavaScript Side


    Nun das PHP


    PHP: getdata.php
    <?php
    //Zur Sicherheit könnte man noch Prüfen ob Constant X definiert ist
    //defined('X') OR exit('No direct script access allowed');
    $what = $_GET["q"]; // GET bei POST $_POST[x]
    /*
    Der Code zum Verarbeiten
    */
    $newData = "Du hast nach " . $what . " gefragt";
    echo $newData; //neue Daten zurück geben!


    Fertig


    Nun kann man das in JS nutzen um zB. MySQL daten mal fix ab zu Arbeiten!



    Viel Spaß damit falls es einer Braucht!

    Seit dem 15.12.2020 gibt es die neue Heist Insel in GTA-V


    Um diese auf der map zu sehen kann man folgendes Snipped verwenden


    JavaScript: inselmap.js
    mp.events.add("render", () => {
        mp.game.invoke("0xE81B7D2A3DAB2D81"); // void SET_RADAR_AS_EXTERIOR_THIS_FRAME() // 0xE81B7D2A3DAB2D81 0x39ABB10E // Das ganze als Exterior definieren
        mp.game.ui.setRadarAsInteriorThisFrame(mp.game.joaat("h4_fake_islandx"), 4700.0, -5145.0, 0, 0);
    });


    Viel Spaß

    Diskussion zum Artikel ShowCase Server Update:

    Ja genau man kennt es die Werbung nervt, aber diese Webseite und was dahinter läuft braucht ein wenig Support :).


    Es gibt aber gute Neuigkeiten 8|


    Personen die sich ein Kostenlosen Account erstellen und diesen Aktiviert haben werden keine groß aufdringliche Werbung mehr sehen!


    Solltet ihr uns und unsere Projekte** dennoch unterstützen wollen könnt ihr das ganz unten auf der Seite über den PayPal Spenden Button tun.

    Oder auch per Sub auf Twitch (Abo*) https://www.twitch.tv/bitdevil2k16/subscribe

    bzw. Direkt hier auf der Webseite (Abo*) https://bitdevil2k16.club/paid-subscription-list/ was demnächst weiter ausgebaut wird und Vorteile Verschaffen könnte.


    Kein Muss ihr seit auch so Herzlich eingeladen unsere Produkte zu nutzen oder auch Aktiv dran Teil zu nehmen zu Testen und Feedback oder Anregungen zu äußern. Besucht auch gerne unseren Discord Link findet ihr ganz unten auf der Seite bzw. auch in der Seitenleiste oder klickt einfach hier


    Gerne könnt ihr auch unseren TS3 Server nutzen.


    Fragen könnt ihr gerne hier im Forum oder auch auf dem Discord stellen.

    *Abo ist fortlaufend kann aber jederzeit gekündigt werden

    ** Dabei handelt es sich um BitDEVil2K16 Club Projekte. (Webseite, Server, Sicherheit, Dienste, TS3 ...)


    Vielen Dank und Happy Coding

    BitDEVil2K16 :evil:

    Diskussion zum Artikel Werbung nervt?:

    Da ich jetzt des Öfteren auf das Problem gestoßen bin das immer mehr DB Leichen generiert wurden in dem Bereich beim Löschen von Entitys die Verknüpfungen erhielten werde ich hier nun einmal eine Lösung aufzeigen die das Problem bei mir Gelöst hat.


    Ein kleines Beispiel zu dem Model


    Ich habe eine Abstract Class die ich für all meine Datenbank Modelle nutze



    Ein Beispiel Model mit einer Verknüpfung zu einem Anderen Model "foreign keys"


    C#: Person.cs
        public class Person : DbModel
        {
            public string FirstName { get; set; }
            public string LastName { get; set; }
            public virtual List<PersonalItems> Items { get; set; } // Erstellt in dem Model PersonalItems den FK
        }

    Constructor lassen wir mal weg sollte ja bekannt sein.


    C#: PersonalItems.cs
        public class PersonalItems : DbModel
        {
            public int ItemID { get; set; }
            public int Count { get; set; }
            //FK PersonId
        }


    Wenn ich nun Feststelle das eines der Items in der List den Count = 0 erreicht möchte ich das aus meiner DB entfernt haben. Das mache ich wie folgt.



    Alles schön alles gut doch in der Datenbank sieht es danach nicht so aus es Geschieht nur Folgendes und zwar das der FK Also die PersonId zu einer NULL wird und somit ist das "Entity" zwar Tot aber noch immer in der Datenbank.


    Um das Problem zu umgehen habe ich im meinem Context im Override von der Funktion OnModelCreating(ModelBuilder modelBuilder) eine Schleife eingebaut die den ForeignKeys die Meta Daten verändert und der Datenbank sagt wie sie sich zu verhalten hat beim Löschen.

    Das Manuelle Setzten in der Datenbank selbst Funktioniert leider nicht Wirklich.

    Aber genug gelabert hier die Lösung für das NULL Problem.


    C#: DatabaseContext.cs
            protected override void OnModelCreating(ModelBuilder modelBuilder)
            {
                foreach (var foreignKey in modelBuilder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys()))
                {
                    foreignKey.DeleteBehavior = DeleteBehavior.Cascade;
                }
                base.OnModelCreating(modelBuilder);
            }


    Vielleicht Hilft es ja dem ein oder anderen EF Core Nutzer ebenfalls.


    Viel Spaß und Happy Coding

    BitDEVil2K16 :evil:

    Diskussion zum Artikel Infrastruktur Wechsel:

    Die Idle Cam oder auch Cinematic Cam genannt die nach einer gewissen zeit Aktiv wird und ständig Schwingt kann man recht Simple Deaktivieren ich werde hier mal ein Code Snippet Veröffentlichen was euch Helfen wird die IDLE Cam zu Deaktivieren bzw den Idle Timer resetten das diese gar nicht erst Aktiv wird.


    Beschreibung der einzelnen Teile


    Wir gehen in das Render Event (Tick Event) bei zB. 60 FPS wird dieses 60 mal pro Sekunde durchlaufen.

    Aus diesem Grund erstellen wir ein Date was wir in dem Tick Event Prüfen ob es bereits die 29.5 Sekunden erreicht hat.

    Warum 29.5 Sekunden? Das ist Recht Simple erklärt nach ca. 30 Sekunden setzt die IDLE Cam ein wir Resetten mit der Native 0xF4F2C0D4EE209E20 diesen Timer bei ca. 29.5 Sekunden das dieser wieder bei 0 ist und damit wird die IDLE Cam gar nicht erst Aktiviert im Gleichem zug setzten wir unser Date auf die Zeit wo wir den Timer resettet haben damit er nach weiteren ca. 29.5 Sekunden resettet wird.


    Mehr gibt es da auch nicht wirklich zu sagen. Ich hoffe er Hilft euch beim Verwirklichen eurer Projekte. Sollten fragen sein Zögert :/ nicht diese hier zu stellen!