Beiträge von Ap0llinaris

    stock LogRegister(playerid, inputtext[])
    {
    new pIP[32];
    GetPlayerIp(playerid, pIP, sizeof(pIP));
    new datum[64];
    new tag, monat, jahr;
    new zeit[64];
    new stunde, minute, sekunde;
    getdate(jahr, monat, tag);
    gettime(stunde, minute, sekunde);
    format(datum,64,"%d.%d.%d", tag, monat, jahr);
    format(zeit, 64, "%d:%d:%d", stunde, minute, sekunde);
    new query[128];
    format(query, sizeof(query), "INSERT INTO reg_log (Spieler,IP,Passwort,Datum,Zeit) VALUES ('%s', '%s', '%s', '%s', '%s')", GetName(playerid), pIP, inputtext, datum, zeit);
    mysql_query(query);
    }


    Bei dem stock habe ich (vorher wars so: spieler,ip,password,datum,zeit) alles groß geschrieben. Mehr nicht.
    Dann habe ich unter OnPlayerConnect die Variablen zurücksetzen lassen:
    public OnPlayerConnect(playerid)
    {
    strdel(Spieler[playerid][pName], 0, 24);
    Spieler[playerid][pLevel] = 0;
    Spieler[playerid][pGeld] = 0;
    Spieler[playerid][pKills] = 0;
    Spieler[playerid][pTode] = 0;
    Spieler[playerid][pConnected] = 0;
    return 1;
    }
    Und unter OnGameModeExit alle Spieler speichern:

    public OnGameModeExit()
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    SavePlayer(i);
    }
    }
    return 1;
    }


    Genauso unter OnPlayerDisconnect:
    public OnPlayerDisconnect(playerid, reason)
    {
    SavePlayer(playerid);
    return 1;
    }


    SavePlayer enthält folgendes:
    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
    {
    if(Spieler[playerid][pConnected] == 1) //Und hier ob er noch eingeloggt ist.
    {
    mysql_SetInt("accounts", "Level", Spieler[playerid][pLevel], "Name", Spieler[playerid][pName]);
    mysql_SetInt("accounts", "Geld", Spieler[playerid][pGeld], "Name", Spieler[playerid][pName]);
    mysql_SetInt("accounts", "Kills", Spieler[playerid][pKills], "Name", Spieler[playerid][pName]);
    mysql_SetInt("accounts", "Tode", Spieler[playerid][pTode], "Name", Spieler[playerid][pName]);
    }
    }
    return 1;
    }


    Das habe ich aus dem Tutorial von Maddin, soweit ich weiß.


    //Edit
    Noch etwas hinzugefügt.


    //Edit-2
    Habe bei dem stock vom LogRegister die %02d entfernt da mysql die nicht richtig annimmt. ^^


    //Edit-3
    Keine Hilfe? :(


    //Edit-4
    Google spuckt auch nichts aus.

    Hallo.
    Ich habe seit vorhin ein Problem, dass bei MySQL in den Tabellen nur 1 Zeile steht. Also wenn ich mich z.B. unter anderem Namen neu registriere, wird keine neue Zeile erstellt.
    Sowas wie ein Maximum von 1 Spieler.



    stock CreateAccount(playerid, pass[])
    {
    new query[256],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    mysql_real_escape_string(pass,pass);
    format(query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')", Name, pass);
    mysql_query(query);
    return true;
    }
    Hab den ganzen Stock debuggen lassen. Da passiert auch alles.
    Ich habe ebenfalls mal den mysql_debug aktiviert.
    Dort steht dann folgendes:

    Code
    [08:08:36] CMySQLHandler::Query(INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('MiAkO', 'ZENSIERT')) - An error has occured. (Error ID: 1062, Duplicate entry '0' for key 'PRIMARY')
    
    
    [08:08:36] >> mysql_query( Connection handle: 1 )
    
    
    [08:08:36] CMySQLHandler::Query(INSERT INTO reg_log (Spieler,IP,Passwort,Datum,Zeit) VALUES ('MiAkO', '127.0.0.1', 'ZENSIERT', '2.6.2012', '8:8:36')) - An error has occured. (Error ID: 1062, Duplicate entry '0' for key 'PRIMARY')
    
    
    [08:17:11] >> mysql_real_escape_string( Connection handle: 1 )


    Danke im Vorraus. :)


    //Edit
    Noch eine Info: Gestern Abend ging noch alles. Nur heute morgen nichtmehr, komischerweise. -.-

    Vincent
    Du kennst ja die gettime/getdate Funktion?
    Solange man als Parameter dort die Variablen (z.B hour, minute, second) angegeben hat, werden die aktuellen Werte in die Variablen geschrieben. Und soetwas suche ich nun eben für UnixTime.
    Sprich sowas wie ConvertUnixTime(unixtime, year, month, day, hour, minute, second); ^^

    Hallo Leute.
    Ich wollte mal fragen ob es eine Funktion gibt um die Unix-Time umzuwandeln?
    Sprich, dass aus diesen 148284728[..] ein Datum und uhrzeit in eine variable gespeichert wird. ;)


    Danke im Vorraus.

    Meinst du MTA Objekte -> SAMP Objekte mit ggf. Streamer Auswahl?
    Wenn ja, gut. Dann brauch ich nicht andauernd auf convertFFS zugreifen.


    Vielleicht könntet ihr ja ein Multi-Tool erschaffen. Wollte mich eigentlich mal an ein Programm wie eures nur für Textdraws setzen, leider gescheitert.


    Multi-Tool
    SAMP Dialog-Designer
    Object Converter
    etc.


    Achja, eine Englische Version wäre auch nicht schlecht, dann könnt ihr es im Englischen Forum vorstellen. ^^

    Nur mal so als Frage, wie wäre es mit:


    ? :)


    //Edit


    Und noch etwas.
    Wie wäre es mit einem "De-Generate" Knopf, der einen Code
    new str[507];
    format(str,sizeof str,"Willkommen auf Virtual-Reallife.\n");
    format(str,sizeof str,"%s\nDamit du hier spielen kannst benötigst du einen Account.\n",str);
    format(str,sizeof str,"%sBitte tippe nun dein gewünschtes Passwort ein um die Registration fortzusetzen.\n",str);
    format(str,sizeof str,"%s\n\t\t[!]Wichtige Information[!]\n",str);
    format(str,sizeof str,"%s- Dein Passwort muss eine Länge von 6 bis 64 Zeichen besitzen.\n",str);
    format(str,sizeof str,"%s- Aus Sicherheitsgründen solltest du kleine & große Buchstaben sowie Zahlen benutzen!\n",str);
    format(str,sizeof str,"%s- Gebe dein Passwort niemals an irgendeine Person weiter!\n",str);
    format(str,sizeof str,"%s- Der Accounthandel ist strengstens verboten und wird mit einem permanenten Bann bestraft!",str);


    In solch einen Text wie oben umwandelt? ^^

    Nein, MySQL wird nicht angezeigt.
    Welches Programm benutzt du denn? Also xampp, wamp...?


    Und kann es sein dass xampp 1.7.7. oder was das ist sich nicht mit wxp verträgt und ich ein älteres brauch?

    Nein, geht leider auch nicht.
    Hier mal ein paar Bilder und eine Beschreibung was ich dort mache.


    Bild 1:

    Ich versuche xampp_start zu starten per "Ausführen als..."


    Bild 2:

    Ich habe den unteren Bereich angeklickt und wollte als Admin. ausführen.


    Bild 3:

    "Anmeldung nicht möglich[...]"


    Bild 4:

    Versuch als aktueller Benutzer (zugleich normalerweise auch Administrator da mir der PC gehört)


    Bild 5:

    XAMPP wird als "Application" gestartet weißt dann aber 2 Fehler auf.


    Bild 6:

    mysql_start ausgeführt, ebenfalls mit Fehlermeldungen.



    Ich hoffe mir wird schnell geholfen. :(


    //Edit
    Fehler mit bildern gemacht :huh:


    //Edit-2
    Keine Hilfe? <.< ;(


    //Edit-3
    Vincent hast du noch nen Plan? Mir geht alles an Plänen bereits aus.
    Reinstallation funkt, beenden -> starten nicht. Hab schon alles probiert. Apache an, aus, Service starten etc. nichts geht -.-

    Das mit der Color-Funktion ist nicht gerade "hilfreich". Besonders weil man nur das gesamte geschriebene aufeinmal ändert und nicht einzelne Bereiche.
    z.B wollte ich sowas wie
    [in Rot] Hallo [in Gelb] wie [in Blau] gehts [in weiß] ?

    Jap. Den meinte ich. Habe ich bereits damals probiert und eben auch.
    Keine Wirkung. Funktioniert nur wenn ich einmal installiere und ihn dann offen lasse. Beim restart gehts nichtmehr.


    //Edit


    Keine Ideen? Gibts vielleicht einen log oder soetwas den ich euch geben könnte?