[SAMMELTHREAD] Kleine Scripting Fragen

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Abend,


    if(strval(inputtext)>=6 && strval(inputtext) <=12)


    Will abfragen das halt mindestens 6 Buchstaben benutzt wurden und max 12 Buchstaben (so richtig)


    will jetzt das man auch mindesten 3 Zahlen da drin hat
    Wie mache ich das?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • und 3 Zahlen minimum, aber wie frage ich das?

    strlen gibt dir die String-Länge.


    Und in der Abfrage steht len >= 6 && len <= 12 ...was bedeutet...die länge muss mindestens 6 sein und kleiner gleich 12.


    Und LeonMrBonnie meinte mit strval dass es sich um einen Zahlenwert handelt, das macht ja aber keinen Sinn, weil die Länge ja mind 6 sein muss xD


    Also die richtige Abfrage ist das hier:


    ast2ufdyxkb1.png


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

  • Habe mal hier so eins genommen was sccanf supportet, wie frage ich das ab mit if?
    Soll ich das so speichern: GeburtsTag, Geburtsmonat, Geburtsjahr ?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.


  • Das Ding ist jetzt, ich kann angeben 01.01.2001 es geht ich kann auch 01_01_2001 angeben oder 01 01 2001. Ich will aber das er guckt ob nur . benutzt wurde und kein anderes Zeichen.
    Meine Frage besteht immer noch wie ich das Speiche? da ich ja Punkte habe als float oder wie?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Ich will aber das er guckt ob nur . benutzt wurde und kein anderes Zeichen.

    //Thought about implementing SSCANF_QUIET, but it requires spaces to work "currently".
    for(temp_Index = strlen(dStr) - 1; temp_Index != 0; temp_Index--) {
    if(!(dStr[temp_Index] >= 48 && dStr[temp_Index] <= 57))
    dStr[temp_Index] = ' ';
    }
    if(sscanf(dStr, "iii", temp_YMD[0], temp_YMD[1], temp_YMD[2]))
    return false;


    zu:
    if(sscanf(dStr, "p<.>iii", temp_YMD[0], temp_YMD[1], temp_YMD[2]))
    return false;
    (Ja, die Zeilen vor sscanf sollen weg.)


    Meine Frage besteht immer noch wie ich das Speiche? da ich ja Punkte habe als float oder wie?

    Als string.
    Im enum:
    e_Birthday[11],
    Und dann:
    format(PlayerInfo[playerid][e_Birthday], 11, inputtext);

  • Nabend,


    ich habe soeben ein lustiges Problem festgestellt ... in meiner MySQL Log steht folgendes:



    Die zeilen dazu:



    Rows hat den Wert 21 ... Sprich 0 kann die variable rows nicht sein ...


    MfG
    XonarZ

  • Was für einen Sinn hat denn new id = i+1; ?


    Das ist Blödsinn, nutze anstatt id nur i

    Ganz einfach, die Biz geschichten werden aus der Datenbank ausgelesen und die Spalte "id" soll auch gleichzeitig die bizid sein ... Wenn ich nur i benutze funktioniert das ganze System irgendwie nicht so wie ich das will...


    //EDIT habs dennoch mal getan, war ebenfalls nicht die Lösung.


    MfG
    XonarZ

    Einmal editiert, zuletzt von XonarZ ()

  • >https://pastebin.com/4P2zES9a


    Und geladen:



    forward OnGroupsLoad();
    public OnGroupsLoad()
    {
    printf("OnGroupsLoad wurde aufgerufeen");
    new num_rows;
    cache_get_row_count(num_rows);
    if(!num_rows)return 1;
    for(new i; i<num_rows; i++) // gscore
    {
    new id=getFreeGroupID();
    cache_get_value_name_int(i, "groupid", Group[id][groupid]);
    cache_get_value_name(i, "groupname", Group[id][groupname],MAX_PLAYER_NAME); /
    cache_get_value_name(i, "groupowner", Group[id][groupowner],MAX_PLAYER_NAME);
    cache_get_value_name_int(i, "GroupWins", Group[id][GroupWins]);
    cache_get_value_name_int(i, "GroupLosts", Group[id][GroupLosts]);


    }
    return 1;
    }

  • //EDIT habs dennoch mal getan, war ebenfalls nicht die Lösung.

    Was kam denn dann als Fehlermeldung..die selbe kann es ja nicht gewesen sein...da ja i < rows ist.




    Und geladen:

    Da beim Laden hast du vergessen es zu setzen.


    Da fehlt das Group[id][groupid] = i; //oder was auch immer du für einen Wert da haben magst

    ast2ufdyxkb1.png


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