Beiträge von Jeffry

    Ändere mal:
    if(IsPlayerConnected(playerid) && Carlist[playerid][CarKey1][Typ] != -1)
    zu:
    printf("CreateTunedCar: Typ: %d", Carlist[playerid][CarKey1][Typ]);
    if(IsPlayerConnected(playerid) && Carlist[playerid][CarKey1][Typ] != -1)
    {
    printf("Model: %d", Kaufliste[Carlist[playerid][CarKey1][Typ]][Modelid]);


    Was wird dir dann in dem ganzen Vorgang geprintet?

    Wie kann ich den Code mit den for-Schleifen in den stock schreiben?


    stock LoadMysqlData()
    {
    mysql_function_query(dbhandle, "SELECT * FROM `haeuser`", true, "OnServerStart", "i", 1);
    mysql_function_query(dbhandle, "SELECT * FROM `gate`", true, "OnServerStart", "i", 2);


    new query[256];
    format(query, sizeof(query), "SELECT * FROM haeuser");
    mysql_function_query(dbhandle, query, true, "OnHousesLoad","");
    format(query,sizeof(query),"SELECT * FROM gate");
    mysql_function_query(dbhandle, query, true, "OnGateLoad", "");
    for(new i = 1; i < MAX_TONNEN; i++)
    {
    mysql_format(dbhandle, query, 128, "SELECT * FROM muelltonnen WHERE id = %d",i);
    mysql_function_query(dbhandle, query, true, "LoadMuellTonnen","d",i);
    }
    for(new i = 1; i < MAX_ATMS; i++)
    {
    mysql_format(dbhandle, query, 128, "SELECT * FROM atm WHERE id = %d",i);
    mysql_function_query(dbhandle, query, true, "LoadATMS","d",i);
    }
    return 1;
    }


    Und was muss ich dann bei dem public (Spoiler) beachten?

    Was willst du beachten? An sich passt das für die zwei Queries so, wie du es gemacht hast, davon ausgehend, dass noch Code dazu kommt.

    Du musst im enum die Werte als Array anlegen, wie BlackAce schon sagte.
    enum ServerDaten
    {
    sServername[32],
    sMapname[32],
    sServerversion1,
    sServerversion2
    }
    new ServerInformationen[ServerDaten];


    Außerdem darf mysql_GetString keinen direkten Wert zurück geben, du musst es so machen:
    stock LoadServerInformationen()
    {
    format(ServerInformationen[sServername], 32, mysql_GetString("Serverinformationen", "Servername", "id", "1"));
    format(ServerInformationen[sMapname], 32, mysql_GetString("Serverinformationen", "Mapname", "id", "1"));
    ServerInformationen[sServerversion1] = mysql_GetInt("Serverinformationen", "Serverversion1", "id", "1");
    ServerInformationen[sServerversion2] = mysql_GetInt("Serverinformationen", "Serverversion2", "id", "1");
    return 1;
    }
    Zudem habe ich den hinteren Teil abgeändert, da du nicht nach dem Name selektieren kannst, wenn du den Name nicht kennst.
    Du musst in deiner Tabelle zusätzlich eine Spalte "id" anlegen, nach der du selektieren kannst (hier: 1).
    Somit sieht deine Tabelle so aus:


    id Servername Mapname Serverversion1 Serverversion2
    1 Mein Server Meine Map 2 1337

    Zwecks der Fehlermeldung:
    Versuche mal, das "return 1;" nach dieser Zeile zu entfernen:
    printf("Alle Fahrzeuge wurden erfolgreich geladen. Beende Funktion.");
    Zu den Fahrzeugen:
    Das erkennt man auch daran, dass dein CreateTunedCar -1 zurück gibt, sprich es wurde kein Fahrzeug erstellt.
    Poste die CreateTunedCar Funktion bitte mal und prüfe, wie viele Fahrzeuge du insgesamt im Server hast, nicht dass da das Limit erreicht ist.