Beiträge von German_ScripterHD

    Habe nochmal ein kleines Problemchen, MySQL läd Daten nicht richtig aus der Datenbank.



    MySQL Datenbank Screen:

    server_log.txt:


    Code
    [12:29:37] sName: 
    [12:29:37] sCreateDate: 
    [12:29:37] sDeveloper: 
    [12:29:37] sVersion: 
    [12:29:37] sGamemodeText: 
    [12:29:37] sRconPassword: 
    [12:29:37] sLanguage: 
    [12:29:37] sMaxNpcs: 
    [12:29:37] sMaxPlayers: 
    [12:29:37] sInt: 0

    Teste es mal so:

    MySQL Log gibt es leider keine, finde ich selber merkwürdig.
    Version: R41


    Habe es zu erst mit meiner Funktion getestet...



    Danach habe ich es mit deiner MySQL_SetupConnection getestet:


    Hallo,


    Wie in meiner Überschrift bereits zu erkennen ist, stellt MySQL keine Verbindung zum Localhost her, an was kann das liegen?
    Die Daten stimmen eigentlich.


    Hallo,


    Ich bin gerade dabei mein Script auf die MySQL Version R41 zu Updaten,
    aber bei der Verbindungfunktion kommen Fehler auf, jedoch weiß ich nicht an was das liegt.


    Verbindungsfunktion:



    stock MySQL_SetupConnection(){
    dbhandle = mysql_connect(MYSQL_HOST_LOCALHOST,MYSQL_USER_LOCALHOST,MYSQL_DBSE_LOCALHOST,MYSQL_PASS_LOCALHOST);
    if(mysql_errno(dbhandle) == 0){
    print("["SERVER_DEBUG"] MySQL Verbindung wurde erfolgreich aufgebaut.");
    return 1;
    }
    else{
    print("["SERVER_DEBUG"] MySQL versucht die 2.Verbindung herzustellen.");
    dbhandle = mysql_connect(MYSQL_HOST_SERVER,MYSQL_USER_SERVER,MYSQL_DBSE_SERVER,MYSQL_PASS_SERVER);
    if(mysql_errno(dbhandle) == 0){
    print("["SERVER_DEBUG"] MySQL Verbindung wurde erfolgreich aufgebaut. (2)");
    return 1;
    }
    else{
    print("["SERVER_DEBUG"] MySQL keine der Verbindungen hat funktionert, bitte Daten anpassen.");
    SendRconCommand("exit");
    return 1;
    }
    }
    }

    Fehler:
    warning 213: tag mismatch (Zeile 2)
    warning 213: tag mismatch (Zeile 3)
    warning 213: tag mismatch (Zeile 9)
    warning 213: tag mismatch (Zeile 10)

    Du kannst es einfach so schreiben:


    C
    stock SendFraktionMessage(fraktion, Farbe, Nachricht[128])
    {
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            if(!IsPlayerConnected(i))continue;
            if(pInfo[i][pFraktion] != fraktion)continue;
            SendClientMessage(i, Farbe, Nachricht);
         }
         return 1;
    }


    Schreibst du jedoch das return in die Schleife, sprich so:

    C
    stock SendFraktionMessage(fraktion, Farbe, Nachricht[128])
    {
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            if(!IsPlayerConnected(i))continue;
            if(pInfo[i][pFraktion] != fraktion)continue;
            SendClientMessage(i, Farbe, Nachricht);
            return 1;
         }
    }

    So wird die Schleife direkt nach dem ersten "hochzählen" durch das return beendet.

    Ich habe mal eben eine kleine Funktion geschrieben damit man for Schleifen ganz einfach und schnell schreiben kann.

    C
    #define LOOP(%0,%1) 				for(new %1 = 0; %1 < %0; %1++)
    #define LOOPEx(%2,%0,%1) 			for(new %1 = %2; %1 < %0; %1++)




    Sollte es diese Funktion schon geben, dann ist dies nur eine Ergänzung.

    Hallo,


    Gerade habe ich mir mal ein Beispiel Array erstellt, das sieht so aus:

    Nun möchte ich gerne die Hälfte der Einträge in dem Array (in diesem Fall 5) via Random in die MySQL Datenbank eintragen.
    Wie kann ich das am besten verwirklichen? :thumbup:

    Das ganze kannst du in einem Timer machen, du frägst einfach ab wie viel Meter/Kilometer das Fahrzeug von der letzten bis zur neuen Position genötigt hat und dann kannste das ganze in deiner Variable updaten.


    MfG :thumbup:

    Du solltest sowas in ein bereits bestehenden Timer packen, welcher ein Interval von 1 Sekunde hat, der Grund dafür liegt darin das die Timer bei größeren Intervallen sehr inakurat ist. Du kannst dann via gettime dann die aktuelle Uhrzeit auslesen:


    wiki.sa-mp.com/wiki/Gettime


    sollte Houer 24 zurück geben kannst du deinen code ausführen

    Diese Idee hatte ich auch schon, ich werde es jetzt auch so machen :)

    Hallo,


    Ich komme momentan nicht weiter, eigentlich wollte ich einen Timer bei OnGameModeInit erstellen der dann ab 24 Uhr aufgerufen wird.
    Sprich, ich müsste bei OnGameModeInit die Uhrzeit abrufen und danach ausrechnen wie lange es noch bis 24 Uhr ist, das ganze müsste ich dann noch in Millisekunden umrechnen, damit ich den Timer starten kann. Jedoch habe ich keine richtige Idee wie ich das ganze verwirklichen kann...


    MfG :thumbup:

    Wie sieht der Code jetzt aus?

    Meinst du von LoadItems?