Beiträge von [LP]Tochnas

    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;
    }

    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

    public OnPlayerSpawn(playerid)
    {
    SetPlayerSpawn(playerid);
    return 1;
    }
    Das steht da !!!


    stock SetPlayerSpawn(playerid)
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    SetPlayerPos(playerid, 435.5944,-1749.1316,9.1502);
    SetPlayerFacingAngle(playerid, 230.7013);
    }
    else
    {
    if(!IsPlayerNPC(playerid))
    {
    StopAudioStreamForPlayer(playerid);
    Kick(playerid);
    }
    }
    }
    Und das ist nur eine weiterleitung, war ein versuch dem Fehler aus dem weg zu gehen

    Spieltag 1: 01.04.2013 - 20 Uhr



    --------------------VS---------------------


    Bleeding e.V.-------------------------------------------------Lacos eSports



    Match beginn: 20:00 Uhr



    Diese Liga wurde von erstellt und geleitet.




    Der erste Spieltag ist immer einer der spannendsten Spieltage. Wer scheint sich schon zu Beginn als Favorit heraus und wer geht gnadenlos unter? Ich bin über eure Meinung gespannt. Doch, bleibt fair und sachlich.

    Ich habe folgendes Poblem,


    Ich bin derzeit am Selfmade Server scripten und es läuft alles per MySQL.
    Dennoch habe ich nun das Problem, das meine DB Offline ist, bei XAMPP bekomme ich sie nicht mehr gestartet.


    Port für MySQL: 3306


    err.log


    Hoffe auf hilfe... Brauche meine MySQL DB damti sich mein Script weiter entwickeln kann.

    Vorstellung: 8/10 - Tabs sind besser anpassbar
    Forum: 6/10 - Bei der Regestrierung hatte ich einen MySQL-Fehler angezeigt bekommen. (Regestrierung funktionierte dennoch)
    Über das Design lässt sich streiten.


    Server: 2/10 - Anfang als Noob ist man aufgeschmissen ohne Fahrzeug, da der Roller sehr schnell verschwindet.
    Nix mehr als standart GF !!! (0815)

    Du definierst ein Label...
    new Text3D:Label


    Bei deinem Befehl fügst du folgendes ein !
    new Float:x,Float:y,Float:Z;
    GetPlayerPos(playerid, x,y,z);
    Label = Create3DTextLabel("Dein Text",FARBE,x,y,z);


    Den Text änderst du mit
    Update3DTextLabelText(LABEL, FARBE, "Text");

    Ich folgendes Problem !!


    Mein Stock zur Abfrage !
    stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }


    So, wenn ich meine Fraktion einloggen will... und ich das ja per IDs mache
    for(new i = 0; i<MAX_ID; i++)
    {
    LoginFraktion(i);
    }


    so wenn er die fraktionen einloggen soll
    public LoginFraktion(id)
    {
    new string[256];
    if(mysql_CheckFraktion(id) == 1)
    {
    new fname[24], art;
    art = mysql_GetInt("fraktion", "Art", "id", id);
    if(art == 1){ fname = "Polizei"; }
    else if(art == 2){ fname = "Mafia"; }
    else if(art == 3){ fname = "Gang"; }
    printf("[GSH-RL] Fraktion %d || Art: %s[%s] wurde erfolgreich eingeloggt.",id,fname,mysql_GetString("fraktion", "Name", "id", id));
    format(string, sizeof string, "%s[%d]\n%s\nLeader: %s\nMitglieder: %d\nDrücke ENTER",fname,id,mysql_GetString("fraktion", "Name", "id", id),mysql_GetString("fraktion", "Besitzer", "id", id),mysql_GetInt("fraktion", "Mitglieder", "id", id));
    FraktionInfo[id][fLabelID] = Create3DTextLabel(string,COLOR_DBLUE,mysql_GetFloat("fraktion", "X", "id", id),mysql_GetFloat("fraktion", "Y", "id", id),mysql_GetFloat("fraktion", "Z", "id", id),30.0,0,0);
    CreatePickup(1318, 0, mysql_GetFloat("fraktion", "X", "id", id),mysql_GetFloat("fraktion", "Y", "id", id),mysql_GetFloat("fraktion", "Z", "id", id), -1);
    mysql_SetInt("fraktion", "Logged", "1", "id", id);
    }
    return 1;
    }


    So nun habe ich folgendes problem...
    Wie man sieht bei der Abfrage brauche ich einen String !!...
    Aber ich habe ja nur die IDs zur verfügung.
    Wie kann ich die ID in einen String umwandeln, das das Script die Fraktion dennoch erfolgreich läd.
    Ich könnte zwar ein neuen Stock anlegen, aber diese Arbeit wollte ich mir ersparen.

    Ich zwinge niemanden den browser zu benutzen und sich damit Glücklich zu machen...
    Ich Programmiere und Scripte aus Leidenschaft und Präsentiere meine Arbeit auch gerne...
    Mit Visual Basic arbeite ich derzeit wenn es hoch kommt erst mal eine Woche... und möchte mich Weiterentwicklen.
    Natürlich gibt es immer Scriptteile oder Programme die ein Griff ins Klo sind, aber aus diesen Fehler lernt man und
    versucht es mit einer neuen Idee... Nicht jeder schafft es beim ersten mal ein Gutes und sinnvolles Programm zu erstellen.
    Dies geschieht nur probieren, testen und Kritik ernst nehmen und beim nächsten mal anders zu machen....