Beiträge von Hardy535

    Hey,


    da ich mich abseits von SAMP mal wieder mit MySQL beschäftigen muss,
    habe ich mir die neuste MySQL Version (R39-3) angeguckt und mal wieder ein kleines Script gemacht.


    Allerdings habe ich jetzt ein Problem mit der Funktion 'mysql_errno ',
    früher gab es dafür ja 'mysql_ping ', jetzt allerdings nicht mehr.


    Wenn ich jetzt den Server starte und die Datenbank online oder offline ist,
    dann wird das auch mithilfe der Funktion 'if(mysql_errno(mysql) != 0) ' korrekt erkannt.


    Nun möchte ich auch im Script feststellen können, ob die Verbindung zur Datenbank noch besteht (per Timer).


    Das habe ich ebenfalls mit 'if(mysql_errno(mysql) != 0) ' versucht, genau wie oben,
    allerdings funktioniert das nicht, denn selbst wenn die Datenbank dann offline ist,
    meint das Script trotzdem, dass die Verbindung zur Datenbank noch besteht.


    Gibt es dafür eine Lösung, eine andere Vorgehensweise, eine andere Funktion?


    Danke im voraus :)


    //EDIT:
    Lösung!


    Hat sich erledigt! Die Funktion 'mysql_errno ' arbeitet etwas anders, als ich dachte.


    Für alle, die eventuell das gleiche Problem haben: Die Funktion überprüft nicht die Verbindung zur Datenbank,
    denn sie gibt aus, ob es beim letzten Ausführen der angegebenen Funktion einen Fehler gab.


    Deswegen funktioniert das Ganze auch beim ersten Mal, später aber nicht mehr, da dann immernoch überprüft wird,
    ob es bei der ersten Verbindung zur Datenbank einen Fehler gab (logischerweise wird dann nicht die aktuelle Verbindung überprüft).


    Meine erste Lösung für das Problem war, die Verbindung zur MySQL Datenbank mit 'mysql_close ' zu beenden,
    diese dann wiederherzustellen und dann zu prüfen, ob die erneute Verbindung erfolgreich war.


    Das ist natürlich eine sehr schlechte und umständliche Lösung, deswegen habe ich es mit einer anderen Funktion provisorisch gelöst:


    CSS
    new Unused[1];
    new DatabaseOnline = mysql_stat(Unused); //Versucht Stats von der Datenbank zu lesen (Uptime etc.) -> Falls die Datenbank offline ist, gibt 'mysql_errno' einen Fehler aus
    
    if(mysql_errno(DatabaseOnline) != 0) //Verbindung zur Datenbank abgebrochen, da es einen Fehler gibt
    {
    	//Code...
    }

    Ich hoffe, dass falls einer das selbe dumme Problem hat, was nur dadurch entsteht, dass es 'mysql_ping ' nicht mehr gibt, jetzt eine Lösung hat :)

    Wirst du das Skript eigentlich in naher Zukunft releasen oder einen Server auf dem das ganze läuft online stellen? Würde mich reizen das mal zu spielen. 8o Wenn nicht kannst du dich melden, ich würd damit gern nen Server machen. :P

    Prinzipiell würde ich einen Server damit aufmachen und noch ein paar
    andere Gamemodes drauf packen, die es so auch noch nicht gibt, nur ich
    habe einfach keinen Bock auf die ganzen Cheater und ein Anticheat...
    naja, sagen wir mal ich habs versucht und bin kläglich gescheitert :D
    Jemand anders würde ich aber auch nicht an mein Script ranlassen ;)

    Zitat

    » Level wird zufällig bei jedem Serverstart generiert (Höhe der Röhren)

    Also sind die Röhren variable, an alles gedacht, nur die Objekte werden als globale Objekte (CreateObject)
    erstellt, deswegen ändert sich das Level nach jedem Serverrestart. Könnte man auch noch mit einem
    Timer machen für einen "Mapwechsel", aber im Moment habe ich so oder so keine Funktion dafür,
    war nur mal so als Spaß zwischendurch gedacht :D
    Achja: Die Objekte sind global und ändern sich nicht nach jedem Tot, da man theoretisch mit allen
    zusammenspielen kann (RC Bandits haben ja eh keine Kollisionen), wäre etwas komisch, wenn dann
    jeder eine eigene Map hat ^^
    Man kann natürlich auch noch ein Highscore-System einbauen und all das, nur wie gesagt, im Moment
    keine Verwendung, evtl. mache ich das noch Morgen xD

    Hey Leute,


    aus Langeweile bin ich heute auf ein Video gestoßen von Flappy Bird in SAMP und hab mich mal

    dran gemacht, das selbst zu machen (nur etwas anders, als ich es gesehen habe).

    Das ganze funktioniert auch ganz gut würde ich behaupten.

    Viel Spaß :)


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    ▬▬▬▬▬▬ Randinformationen ▬▬▬▬▬▬

    » Theoretisch unendlich erweiterbar

    » Es ist nicht möglich über das Level zu fliegen

    » Funktioniert ohne Plugins/Mods

    » Level wird zufällig bei jedem Serverstart generiert (Höhe der Röhren)

    Hallo liebe Community.
    Ich habe eine Frage an euch: Wie kann man aus mehreren Variablen die bestimmen, die den höchsten Wert hat?
    Beispiel:

    • Variable1 hat den Wert 5.
    • Variable2 hat den Wert 7.
    • Variable3 hat den Wert 10.
    • Variable4 hat den Wert 15.

    Jetzt soll ermittelt werden, welche Variable (1-4) den höchsten Wert hat.
    In diesem Falle ist das Variable4 und dies soll irgendwie ausgegeben werden.
    Ich hoffe, ihr könnt mir weiterhelfen.


    Mit freundlichen Grüßen
    Hardy :)

    Funktioniert leider nicht.
    C:\Users\Hardy\Ordner\gamemodes\DeathmatchDM.pwn(1478) : error 017: undefined symbol "Textdraw"
    C:\Users\Hardy\Ordner\gamemodes\Script.pwn (1478) : warning 215: expression has no effect
    C:\Users\Hardy\Ordner\gamemodes\Script.pwn (1478) : error 001: expected token: ";", but found "]"
    C:\Users\Hardy\Ordner\gamemodes\Script.pwn (1478) : error 029: invalid expression, assumed zero
    C:\Users\Hardy\Ordner\gamemodes\Script.pwn(1478) : fatal error 107: too many error messages on one line

    Zitat

    Was meinst du mit "Textdraw:i" ?

    Ich will mehrere Textdraws gleichzeitig zeigen/verstecken.
    Beispiel:
    PlayerTextDrawHide(playerid, Textdraw0);
    PlayerTextDrawHide(playerid, Textdraw1);
    PlayerTextDrawHide(playerid, Textdraw2);
    PlayerTextDrawHide(playerid, Textdraw3);

    Hallo Leute,
    ich versuche momentan eine Schleife für "PlayerTextDrawShow" bzw. "PlayerTextDrawHide" zu machen, aber ich bekomme es nicht hin.
    Meine aktuelle Schleife sieht so aus:
    for(new i=0; i<44; i++)
    {
    PlayerTextDrawHide(playerid, Textdraw:i);
    }
    So richtig funktioniert das aber nicht, außerdem bekomme ich den Error:
    C:\Users\Hardy\Ordner\gamemodes\Script.pwn(1478) : warning 213: tag mismatch
    Vielleicht kann mir da ja einer weiterhelfen.
    Danke im vorraus :D


    MfG
    Hardy