[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
  • Hallo,
    kleines Problem:
    Mein Script findet in der Datenbank kein Haus inder Tabelle houses. Abwohl in der Datenbank sich ein haus mit der id 1 befindet.


    public mysql_CheckHaus(id)
    {
    new Query[128], debug4[100];
    format(Query, sizeof(Query), "SELECT * FROM houses WHERE id = '%i'", id);
    mysql_query(Query);

    mysql_store_result();
    format(debug4, sizeof(debug4),"Result von %i: %i", id, mysql_num_rows());
    print(debug4);
    return mysql_num_rows();
    }


    stock HausLaden()
    {
    new debug2[400], temp[200];
    for(new x=0;x<MAX_HAUS;x++)
    {


    if(mysql_CheckHaus(x)) {
    HausInfo[x][hErstellt] = 1;
    /*temp = mysql_GetStr_int("houses", "user", "id", x);
    format(HausInfo[x][hUser], 100, "%s", temp);*/
    format(HausInfo[x][hUser], 64, "%s", mysql_GetStr_int("houses", "user", "id", x));
    format(HausInfo[x][hEnterx], 64, "%f", mysql_GetFloat_int("houses", "enterx", "id", x));
    format(HausInfo[x][hEntery], 64, "%f", mysql_GetFloat_int("houses", "entery", "id", x));
    format(HausInfo[x][hEnterz], 64, "%f", mysql_GetFloat_int("houses", "enterz", "id", x));
    format(HausInfo[x][hIntx], 64, "%f", mysql_GetFloat_int("houses", "intx", "id", x));
    format(HausInfo[x][hInty], 64, "%f", mysql_GetFloat_int("houses", "inty", "id", x));
    format(HausInfo[x][hIntz], 64, "%f", mysql_GetFloat_int("houses", "intz", "id", x));
    HausInfo[x][hInt] = mysql_GetInt_int("houses", "int", "id", x);
    HausInfo[x][hMiete] = mysql_GetInt_int("houses", "miete", "id", x);
    HausInfo[x][hRent] = mysql_GetInt_int("houses", "rent", "id", x);
    HausInfo[x][hGesperrt] = mysql_GetInt_int("houses", "gesperrt", "id", x);
    HausInfo[x][hHauskasse] = mysql_GetInt_int("houses", "hauskasse", "id", x);
    HausInfo[x][hLevel] = mysql_GetInt_int("houses", "level", "id", x);
    HausInfo[x][hMuell] = mysql_GetInt_int("houses", "muell", "id", x);
    HausInfo[x][hHaustuer] = mysql_GetInt_int("houses", "haustuer", "id", x);
    HausInfo[x][hAddtime] = mysql_GetInt_int("houses", "addtime", "id", x);
    HausInfo[x][hVerkauft] = mysql_GetInt_int("houses", "verkauft", "id", x);
    format(HausInfo[x][hBeschreibung], 64, "%s", mysql_GetStr_int("houses", "beschreibung", "id", x));
    }
    if(HausInfo[x][hErstellt]==1)
    {
    format(debug2, sizeof(debug2), "[Haus] x: %f y: %f z: %f user: %s Müll: %i",HausInfo[x][hEnterx], HausInfo[x][hEntery], HausInfo[x][hEnterz], HausInfo[x][hUser], HausInfo[x][hMuell]);
    print(debug2);
    } else {
    format(debug2, sizeof(debug2), "[Haus] %i LEER",x);
    print(debug2);
    }

    }
    print("Häuser geladen!");
    return 1;
    }


    Wo ist da was falsch?



    Jeffry

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

  • Dieser Thread ist für kleine Scripting Fragen und nicht zum debuggen von MySQL Codes. Das siehst du doch an der Größe deines Code schon, dass das keine kleine Frage ist.
    Erstelle bitte einen Thread und poste dazu den MySQL Log, sowie den Server Log (prints sind ja drin), der kommt, wenn du das Zeug laden lässt.
    Wie du das machst steht hier: Tipps: Scripting-Probleme richtig erklären


    @Aviero: Da du mich zitiert hast: Erstelle bitte ebenfalls einen Thread und poste den aktuellen Code wie er momentan ist und beschreibe dein Problem.

  • Also kann ich 1000 Objecte mit CreateObject erstellen und soviele wie ich will mit CreateDynamichObject?


    Woran liegt das:
    An error has occured. (Error ID: 1054, Unknown column 'AH_Mod5' in 'field list')

    Einmal editiert, zuletzt von Corvus ()

  • Das einzige Standard-Callback wäre OnPlayerUpdate, aber mach das ja nicht!


    Erstelle dir einen Timer, der jede Minute aufgerufen wird, und eine Schleife durch alle Spieler macht, und so die Daten speichert. Dann verliert man maximal die Stats von einer Minute.

  • Beitrag von Corvus ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Warum folgende Errors:
    enum Pilotwaren
    {
    Float:pos_x,
    Float:pos_y,
    Float:pos_z,
    };
    new pilotwarens[10][Pilotwaren] =
    {
    {2077.7405,-2262.9973,13.5469},
    {2079.4575,-2308.3552,13.5469},
    {2077.3298,-2364.7249,13.5469},
    {2059.5100,-2382.7617,13.5469},
    {1893.1982,-2329.1050,13.5469},
    {1892.6921,-2245.3176,13.5469},
    {1826.6731,-2390.2268,13.5547},
    {1767.5862,-2434.3186,13.5547},
    {1685.7271,-2432.7996,13.5547},
    {1608.8894,-2435.3000,13.2597},
    {1525.5851,-2432.9492,13.2601}
    };


    enum Pilotkoffer
    {
    Float:pos_x,
    Float:pos_y,
    Float:pos_z,
    };
    new pilotkoffers[5][Pilotkoffer] =
    {
    {1642.5515,-2373.1008,13.1621},
    {1684.1864,-2373.7517,13.1622},
    {1729.1421,-2373.5588,13.1616},
    {1571.1232,-2266.8850,-3.0940},
    {1474.4879,-2248.7656,-3.1163},
    {1581.5092,-2291.5144,-3.1597}
    };
    (1621) : error 001: expected token: ";", but found "{"
    (1622) : error 010: invalid function or declaration
    (1637) : error 001: expected token: ";", but found "{"
    (1638) : error 010: invalid function or declaration

  • Du hast eine Zeile mehr, also 11 und 6.

    Spoiler anzeigen
    enum Pilotwaren
    {
    Float:pos_x,
    Float:pos_y,
    Float:pos_z,
    };
    new pilotwarens[11][Pilotwaren] =
    {
    {2077.7405,-2262.9973,13.5469},
    {2079.4575,-2308.3552,13.5469},
    {2077.3298,-2364.7249,13.5469},
    {2059.5100,-2382.7617,13.5469},
    {1893.1982,-2329.1050,13.5469},
    {1892.6921,-2245.3176,13.5469},
    {1826.6731,-2390.2268,13.5547},
    {1767.5862,-2434.3186,13.5547},
    {1685.7271,-2432.7996,13.5547},
    {1608.8894,-2435.3000,13.2597},
    {1525.5851,-2432.9492,13.2601}
    };

    Spoiler anzeigen
    enum Pilotkoffer
    {
    Float:pos_x,
    Float:pos_y,
    Float:pos_z,
    };
    new pilotkoffers[6][Pilotkoffer] =
    {
    {1642.5515,-2373.1008,13.1621},
    {1684.1864,-2373.7517,13.1622},
    {1729.1421,-2373.5588,13.1616},
    {1571.1232,-2266.8850,-3.0940},
    {1474.4879,-2248.7656,-3.1163},
    {1581.5092,-2291.5144,-3.1597}
    };


    Oder du lässt es einfach leer:

    Spoiler anzeigen
    enum Pilotwaren
    {
    Float:pos_x,
    Float:pos_y,
    Float:pos_z,
    };
    new pilotwarens[][Pilotwaren] =
    {
    {2077.7405,-2262.9973,13.5469},
    {2079.4575,-2308.3552,13.5469},
    {2077.3298,-2364.7249,13.5469},
    {2059.5100,-2382.7617,13.5469},
    {1893.1982,-2329.1050,13.5469},
    {1892.6921,-2245.3176,13.5469},
    {1826.6731,-2390.2268,13.5547},
    {1767.5862,-2434.3186,13.5547},
    {1685.7271,-2432.7996,13.5547},
    {1608.8894,-2435.3000,13.2597},
    {1525.5851,-2432.9492,13.2601}
    };

    Spoiler anzeigen
    enum Pilotkoffer
    {
    Float:pos_x,
    Float:pos_y,
    Float:pos_z,
    };
    new pilotkoffers[][Pilotkoffer] =
    {
    {1642.5515,-2373.1008,13.1621},
    {1684.1864,-2373.7517,13.1622},
    {1729.1421,-2373.5588,13.1616},
    {1571.1232,-2266.8850,-3.0940},
    {1474.4879,-2248.7656,-3.1163},
    {1581.5092,-2291.5144,-3.1597}
    };