T_MySQL v0.1

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Breadfisher,


    ich habe heute meine erste Include mal geschrieben und getestet.
    Diese möchte ich zum Download anbieten, da ich selbst Anfangs mit MySQL sehr viele Probleme hatte.


    Was kann die Include ?

    Spoiler anzeigen

    Die Include ist derzeit bestens für ein Login & Registersystem ausgelegt.
    Nicht mehr Unnötig viele Zeílen wo man nichts versteht sondern einfach nur ein Befehl.
    Dennoch kommt in der nächsten Version noch einige Funktionen dazu, wie INT, FLOAT, STRING Abfrage und setzen.


    Wie Verbinde ich zu meiner MySQL-Datenbank ?

    Spoiler anzeigen

    - Im Gamemode ganz oben im Script folgendes einfügen.
    #include <T_MySQL>

    Spoiler anzeigen
    - Danach direkt unter die Includes
    #define HOST "Deine IP meist (localhost)"
    #define USER "Dein Benutzername"
    #define PASS "Dein Passwort"
    #define DATA "Den Datenbanknamen"

    Spoiler anzeigen
    - Dann zu OnGameModeInit()
    T_Connect(HOST,USER,PASS,DATA);
    T_Debug();

    Spoiler anzeigen
    So wenn der Server gestartet wird, wird eine Verbindung zum Server hergestellt und gehalten.


    TIPP

    Spoiler anzeigen

    In der MySQL-Tabelle muss für dein Login & Registersystem die Tabelle wo die Spieler gespeichert werden "accounts" heißen.
    Die Spalten mit dem Passwort und den Namen des Spielers werden unter "Name" und "Passwort" gespeichert.
    Wenn man genug Erfahrung hat, kann man es auch in der Include seiner Datenbank anpassen.


    Funktionen v0.1

    T_Connect(host,user,pass,data); // Stellt eine Verbindung zum Server her
    T_Debug(); // Debuggt die Verbindung
    T_CheckAcc(playerid); // Fragt ab ob der Account exestiert oder nicht
    T_CreateAcc(playerid, pass[]); // Erstellt einen neuen Account
    T_CheckPass(playerid); // Fragt dem Spieler sein Passwort ab




    T_MySQL.inc (2.2 KB)
    Datenbank.sql (289 Bytes)
    Pastebin

    Einmal editiert, zuletzt von [LP]Tochnas () aus folgendem Grund: Datenbank.sql für die MySQL-Datenbank hinzugefügt.

  • Langweilig..


    Was genau hast du da gemacht?
    Außer etwas unbenannt mehr nicht


    Die Methode ist sowiso blödsinn da man anders schneller vorran kommt als damit


    Desweiteten holt man den Namen eines Spielers nicht aus einer extra Funktion...

    All in all it's just another brick in the wall

  • Warum sollte ich den namen nicht aus einer extra funktion holen ?


    Weil es Schwachsinn ist und Lahm


    Ich Kleb auch keine Zettel mit meinen Namen drauf auf Unterlagen wo mein Name drauf soll.
    Das ist ein Argument was passt


    Teste mal die Zeit


    Name direkt holen
    Name aus Funktion


    Das sind alles werte die man sparen kann

    All in all it's just another brick in the wall

  • Beavis Die Testzeit ergab bei beiden 0 Millisekunden !!!


    Scriptanschau des Testes.


    public CheckTime()
    {
    Time ++;
    }
    ocmd:test(playerid,params[])
    {
    new id, string[32];
    if(IsAdmin(playerid) >= 1337)
    {
    if(sscanf(params,"d",id)){
    return SendClientMessage(playerid,COLOR_GREY,"/test ID");
    }
    if(id == 0)
    {
    testtimer = SetTimer("CheckTime", 1, 1);
    GetName(playerid);
    KillTimer(testtimer);
    format(string,sizeof string,"Testzeit: %d Millisekunden",Time);
    SendClientMessage(playerid,COLOR_WHITE,string);
    Time = 0;
    }
    else if(id == 1)
    {
    testtimer = SetTimer("CheckTime", 1, 1);
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    KillTimer(testtimer);
    format(string,sizeof string,"Testzeit: %d Millisekunden",Time);
    SendClientMessage(playerid,COLOR_WHITE,string);
    Time = 0;
    }
    }
    return 1;
    }

  • Dann will ich deinen Code gar nicht erst erahnen...


    ... Der Kommentar ist fail ne?
    Wozu eine Funktion in einer Funktion extra holen?


    Beavis Die Testzeit ergab bei beiden 0 Millisekunden !!!


    Aha dein Test ist auch kein Test...
    bcmd:speed(suppe,prm[])
    {
    new t1 = GetTickCount(),str[50],N[MAX_PLAYER_NAME];
    format(str,50,"~> %s",UName(suppe));
    SendClientMessage(suppe,-1,str);
    new t2 = GetTickCount();
    format(str,50,"~> Stock %d ms",t2-t1);
    SendClientMessage(suppe,-1,str);
    t1 = GetTickCount();
    GetPlayerName(suppe,N,MAX_PLAYER_NAME);
    format(str,50,"~> %s",N);
    SendClientMessage(suppe,-1,str);
    t2 = GetTickCount();
    format(str,50,"~> Direkt %d ms",t2-t1);
    SendClientMessage(suppe,-1,str);
    return 1;
    }


    stock UName(suppe)
    {
    new U[MAX_PLAYER_NAME];
    GetPlayerName(suppe,U,MAX_PLAYER_NAME);
    return U;
    }
    ergebnis:

    Code
    [20:33:51] ~> Beavis
    [20:33:51] ~> Stock 1 ms
    [20:33:51] ~> Beavis
    [20:33:51] ~> Direkt 0 ms

    All in all it's just another brick in the wall