GLua - Programmierung in Garry's Mod

  • Alpha MySQL wird in Gmod standardmäßig nicht unterstützt. Es gibt jedoch diverse Binaries (.dll) die MySQL integrieren. Da wären zum Beispiel tmysql oder mysqloo. tmysql wird nicht mehr unterstützt, weshalb ich die neueste Version von mysqloo empfehle. Hier zu finden: https://gmod.facepunch.com/f/gmodaddon/jj…transactions/1/

    Das ganze wird serverseitig in lua/bin installiert und ist ab dann (natürlich nur auf dem Server) benutzbar. Dafür musst du das Modul einfach mit require("mysqloo") einbinden. Ich rate davon ab das Modul von FTPJe zu verwenden, da du keinen tmysql wrapper brauchst und mysqloo gut genug dokumentiert ist. Du schreibst am besten deinen eigenen Wrapper. Hier ist ein kleiner Teil von meiner MySQL Integration aus EGM:RP:

  • Alpha MySQL wird in Gmod standardmäßig nicht unterstützt. Es gibt jedoch diverse Binaries (.dll) die MySQL integrieren. Da wären zum Beispiel tmysql oder mysqloo. tmysql wird nicht mehr unterstützt, weshalb ich die neueste Version von mysqloo empfehle. Hier zu finden: https://gmod.facepunch.com/f/gmodaddon/jj…transactions/1/

    Das ganze wird serverseitig in lua/bin installiert und ist ab dann (natürlich nur auf dem Server) benutzbar. Dafür musst du das Modul einfach mit require("mysqloo") einbinden. Ich rate davon ab das Modul von FTPJe zu verwenden, da du keinen tmysql wrapper brauchst und mysqloo gut genug dokumentiert ist. Du schreibst am besten deinen eigenen Wrapper. Hier ist ein kleiner Teil von meiner MySQL Integration aus EGM:RP:

    Hatte bei dem Wrapper von MySQLite nur gelesen, dass es die MySQL und SQLite Befehle eben kombiniert, was der einzige Grund war diesen zu verwenden.

    GOTT

    Source Map Creator, Lua-, Java-, C#-, Unity, Unreal- und Web-Developer!

    Founder of Alphavex.com

    Ehemalige Posten:


    TWD:RP Senior-Moderator

    CW:RP Admin

    TTT Admin

    Teamspeak Admin

    Military:RP Admin

    SWTOR:RP Developer
    TWD:RP Developer
    Einfach Minecraft Developer

    Prison:RP Serverleiter

  • Serverseitig oder Clientseitig?

    Die Hook bzw. das ganze Script läuft Serverseitig. Das Problem ist eben, wenn Ich diesen Command ausführe um jemanden zu beeinflussen dann muss Ich diese Hook erstellen damit zwischen dem Beeinflusser und dem Beeinflussten diese Hook aufgestellt wird. Aber wenn es mehrere Beeinflussungs Vorgänge gibt dann wird diese Hook mehrfach erstellt was dann sicherlich zu Problemen führt. P4sca1

    hi.

  • Die Hook bzw. das ganze Script läuft Serverseitig. Das Problem ist eben, wenn Ich diesen Command ausführe um jemanden zu beeinflussen dann muss Ich diese Hook erstellen damit zwischen dem Beeinflusser und dem Beeinflussten diese Hook aufgestellt wird. Aber wenn es mehrere Beeinflussungs Vorgänge gibt dann wird diese Hook mehrfach erstellt was dann sicherlich zu Problemen führt. P4sca1

    Würde gern das Script sehen.

    Und warum erstellt du ein Hook zwischen Beeinflusser und Beeinflussten?

    Mit freundlichen Grüßen,

    Airfox

    -

    ehemaliger Forenadministrator und Forenverwaltungsleiter, TS³-Moderator und EGM-Developer. FeelsBirthdayMan

  • Hey,da es ja diesen Beitrag ja für Fragen gibt hätte ich da eine was ist eigentlich eine Hook?

  • Komm noch zu was im Hauptbeitrag. :)

    Achso oki :D

    aber mal ne frage zu dem ganzen EGM Design also f4 etc. ist das über LUa gemacht das Design? Also alles was da ist? Außer jetzt das Hintergrundbild...

  • Airfox Code gibt es immoment noch nicht wirklich dazu. Es ist nur das Gedanken Konstrukt in meinem Kopf. Wenn Ich in einem Chatcommand jemanden beeinflusse und die Beeinflussung schaffe dann muss zwischen diesen beiden Spielern die Distanz gemessen werden damit Ich weiß wann die Beeinflussung gestoppt werden muss.

    Bzw. es gibt ein bischen Code aber da sind die Hooks noch nicht drin. Nur das Problem von den Hooks hatte Ich halt bei ner älteren Version vom Script welche Ich jetzt nicht mehr habe

    hi.

  • Airfox Code gibt es immoment noch nicht wirklich dazu. Es ist nur das Gedanken Konstrukt in meinem Kopf. Wenn Ich in einem Chatcommand jemanden beeinflusse und die Beeinflussung schaffe dann muss zwischen diesen beiden Spielern die Distanz gemessen werden damit Ich weiß wann die Beeinflussung gestoppt werden muss.

    Bzw. es gibt ein bischen Code aber da sind die Hooks noch nicht drin. Nur das Problem von den Hooks hatte Ich halt bei ner älteren Version vom Script welche Ich jetzt nicht mehr habe

    Du brauchst da eigl keine Hooks erstellen dazu..

    Mit freundlichen Grüßen,

    Airfox

    -

    ehemaliger Forenadministrator und Forenverwaltungsleiter, TS³-Moderator und EGM-Developer. FeelsBirthdayMan

  • Mekphen Ein wenig Pseudo Code (Server):

    Code
    hook.Add("Think", "InfluencingSystem", function()
        for k, ply in pairs(player.GetAll()) do
            if ply.influencing and IsValid(ply.influenceTarget) then
                if ply:GetPos():Distance(ply.influenceTarget:GetPos()) > 500 then
                    ply.influencing = false
                    ply.influenceTarget = nil
                end
            end
        end
    end)
  • Hab noch ein Problem:

    Immer wenn ich versuche zu connecten (local einen MySQL Server mit XAMPP laufen) kommt der Fehler

    "Access denied for user 'gmod'@'localhost' (using password: YES)

    Der Benutzer hat alle Rechte und die Daten stimmen auch. Was mach ich falsch?

    GOTT

    Source Map Creator, Lua-, Java-, C#-, Unity, Unreal- und Web-Developer!

    Founder of Alphavex.com

    Ehemalige Posten:


    TWD:RP Senior-Moderator

    CW:RP Admin

    TTT Admin

    Teamspeak Admin

    Military:RP Admin

    SWTOR:RP Developer
    TWD:RP Developer
    Einfach Minecraft Developer

    Prison:RP Serverleiter

  • Hab noch ein Problem:

    Immer wenn ich versuche zu connecten (local einen MySQL Server mit XAMPP laufen) kommt der Fehler

    "Access denied for user 'gmod'@'localhost' (using password: YES)

    Der Benutzer hat alle Rechte und die Daten stimmen auch. Was mach ich falsch?

    Schau mal nach welcher Host für den Nutzer eingetragen ist und wie da das Passwort ist.

  • Schau mal nach welcher Host für den Nutzer eingetragen ist und wie da das Passwort ist.

    Als Hostname steht da Lokal localhost und Passwort ka find ich nix.

    GOTT

    Source Map Creator, Lua-, Java-, C#-, Unity, Unreal- und Web-Developer!

    Founder of Alphavex.com

    Ehemalige Posten:


    TWD:RP Senior-Moderator

    CW:RP Admin

    TTT Admin

    Teamspeak Admin

    Military:RP Admin

    SWTOR:RP Developer
    TWD:RP Developer
    Einfach Minecraft Developer

    Prison:RP Serverleiter

  • Hab mal die Funktionssection weitergemacht und somit soweit den "Syntax"-Teil abgeschlossen.

    Mit freundlichen Grüßen,

    Airfox

    -

    ehemaliger Forenadministrator und Forenverwaltungsleiter, TS³-Moderator und EGM-Developer. FeelsBirthdayMan