[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
    • Offizieller Beitrag

    Seine Abfrage lautet if(strlen(Text) < 4 || strlen(Text) > 64), du möchtest das diese
    if(strlen(Text) < 4 && strlen(Text) > 64) so aussehen soll.


    Gehen wir das Szenario mal durch, mit if(strlen(Text) < 4 && strlen(Text) > 64):
    Setzen wir mal Text auf 1.


    Laut deiner Abfragen wird geprüft, ob der Text kleiner als 4 ist und gleichzeitig größer als 64.
    Text < 4 trifft ein, Text > 64 nicht, da Text gleich 1 ist. Es wird nicht returned und auch keine Meldung abgegeben, da beide Bedingungen nicht erfüllt wurden.


    Text ist jetzt 70.
    Text < 4 trifft nicht zu, da Text gleich 70, Text > 64 trifft zu. Es wird nicht returned und auch keine Meldung abgegeben, da beide Bedingungen nicht erfüllt wurden.


    Text ist jetzt 40 (also im erlaubten Bereich).
    Text < 4 trifft nicht zu, da Text gleich 40, Text > 64 trifft nicht zu, da Text gleich 40. Es wird nicht returned und auch keine Meldung abgegeben, da beide Bedingungen nicht erfüllt wurden. (Hier würde es zwar funktionieren, aber nicht wie es soll.


    __


    Gehen wir das Szenario mal durch, mit if(strlen(Text) < 4 || strlen(Text) > 64):
    Setzen wir mal Text auf 1.


    Laut der Abfragen wird geprüft, ob der Text kleiner als 4 oder größer als 64.
    Text < 4 trifft ein, Text > 64 nicht, da Text gleich 1 ist. Es wird returned und auch eine Meldung abgegeben, da eine Bedingungen von zwei erfüllt wurden.


    Text ist jetzt 70.
    Text < 4 trifft nicht zu, da Text gleich 70, Text > 64 trifft zu. Es wird returned und auch eine Meldung abgegeben, da eine Bedingungen von zwei erfüllt wurden.


    Text ist jetzt 40 (also im erlaubten Bereich).
    Text < 4 trifft nicht zu, da Text gleich 40, Text > 64 trifft nicht zu, da Text gleich 40. Es wird nicht returned und auch keine Meldung abgegeben, da keines der Bedingungen erfüllt wurden. Weiter geht es hier wie gewünscht.



    Edit:


    Alternativ würde zwar if(strlen(Text) > 4 && strlen(Text) < 64) funktionieren, müsste aber in einem Block gesetzt werden und in der else die Meldung abgeben.

  • Hat jemand Tipps wie ich das MySQL Plugin von BlueG zum laufen kriege? Ich bekomme immer die Meldung: Loading plugin: mysql failed.
    Die alten C++ Redist Packages kann ich auch nicht installieren, laesst Windows 10 leider nicht zu, da angeblich von allem neuere Versionen installiert sind.

  • Die alten C++ Redist Packages kann ich auch nicht installieren, laesst Windows 10 leider nicht zu, da angeblich von allem neuere Versionen installiert sind.

    Sicher? Das ist sehr merkwürdig.


    https://forum.sa-mp.com/showpost.php?p=3696651&postcount=3


    Mal überall versucht die x86 zu installieren?

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Wie kriege ich es hin die zukünftige unix zeit in ein genaues datum umzuwandeln, ist sowas möglich?


    z.B. spieler kriegt 12 stunden ban, beim login wird ihn ein dialog angzeigt bis zu welchem datum + uhrzeit dieser gebannt ist also tag/monat/jahr uhrzeit

    SA:MP in 2020?

  • So ich versuche mich nun ein wenig in MySQL einzufinden.
    Jedoch weiss ich leider nicht wie ich Fehlersuche betreiben kann.


    Habe mir gerade ein Script gezogen, und versuche damit auf die Datenbank zu verbinden.
    User, IP und Datenbankname habe ich gecheckt, existiert alles.
    Jedoch kann ich leider nicht verbinden, dieses Script meldet mir hier einen Fehler.


    Wie kann ich rausfinden woran es genau liegt?


  • Database = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATABASE, option_id); // Setting up the "Database" handle on the given MySQL details above.

    Also mein MySQL Connect sieht so aus: mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DBSE, MYSQL_PASS, 3306, true);
    Bei dir fehlt ein Port, jedoch weiß ich nicht welche version und welche MySQL include du verwendest (falls es mehrere gibt)


    Sonst versuch mal beim OnGameModeInit mysql_log(); einzufügen und schick dann mal den error code aus der .txt die im hauptordner erstellt werden sollte

    SA:MP in 2020?

  • Hier mal das Log.
    Da scheint der ja mit einem anderen Port verbinden zu wollen.


    Code
    [15:57:29] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'
    [15:57:30] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'
    [15:57:31] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'
    [15:57:32] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'
  • Hier mal das Log.
    Da scheint der ja mit einem anderen Port verbinden zu wollen.


    Code
    [15:57:29] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'
    [15:57:30] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'
    [15:57:31] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'
    [15:57:32] [plugins/mysql] CConnection::CConnection - establishing connection to MySQL database failed: #2002 'Can't connect to MySQL server on '192.168.3.0' (10061)'

    Es scheint eine andere MySQL Version zu sein, als die, die ich verwende von daher bin ich mir unsicher.
    Ich möchte jetzt nicht zu viel sagen, da ich mir hier echt nicht sicher bin, aber hier hast du erstmal mögliche Fehlerquellen bis sich ein Anderer meldet
    Hast du schon probiert dein Port einzufügen in mysql_connect wie ich es vorher beschrieben habe?


    Aber mögliche Fehler könnten sein:
    Es ist nicht auf deinem lokalen PC, und der Port den du angeben hast ist dort nicht freigschaltet
    Hast einen falschen Port angegeben
    Dein MySQL Server ist offline
    Falsches passwort / username vom MySQL User

    SA:MP in 2020?

  • Ich sehe gerade, das Problem ist: Ich kann keinen Remote Zugriff auf meinen MYSQL Server ausfuehren. Der liegt ja nicht lokal auf meinem PC, sondern auf meinem Server im Netzwerk.
    Ich will jedoch mein Script hier auf dem PC testen, wobei ich dann auf die Datenbank auf den Server zugreifen muss.
    Weiss jemand wie ich Remote Zugriff aktivieren kann bei MySQL?

  • Weiss jemand wie ich Remote Zugriff aktivieren kann bei MySQL?

    Das ist nicht zu empfehlen, vor allem dann, wenn der Server aktiv ist und du parallel von deinem PC auf die gleiche Datenbank zugreifst.
    Man sollte für einen lokalen Testserver auch eine lokale Datenbank einrichten. Installiere dir z.B. XAMPP und lade dir dort eine Kopie der Datenbank vom Server rein.


    XAMPP Installation: [jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)