Beiträge von Nick_Smith

    Hey Leute,


    ich bin grad dabei in meinem Selfmade ein Haussystem einzufügen das ganze läuft über MySQL.


    Häuser werden laut MySQL Log geladen, werden aber nicht angezeigt!


    Der Code:

    #define MAX_HAUSER 100


    stock LoadHauser()
    {
    new str[16], status[4];
    for(new i = 1; i < MAX_HAUSER; i++)
    {
    format(str,sizeof(str),"%i",i);
    printf("Grundstück ID: %i wird geladen!", str);


    format(HausInfo[i][hID],10,"%i",mysql_GetInt("häuser", "ID", "ID", str));
    format(HausInfo[i][hBesitzer],128,"%s",mysql_GetString("häuser", "Besitzer", "ID", str));
    format(HausInfo[i][hKosten],128,"%i",mysql_GetInt("häuser", "Kosten", "ID", str));
    format(HausInfo[i][hGekauft],128,"%i",mysql_GetInt("häuser", "Gekauft", "ID", str));
    format(HausInfo[i][hAbgeschlossen],128,"%i",mysql_GetInt("häuser", "Abgeschlossen", "ID", str));
    format(HausInfo[i][hPosX],128,"%i",mysql_GetInt("häuser", "PosX", "ID", str));
    format(HausInfo[i][hPosY],128,"%i",mysql_GetInt("häuser", "PosY", "ID", str));
    format(HausInfo[i][hPosZ],128,"%i",mysql_GetInt("häuser", "PosZ", "ID", str));
    format(HausInfo[i][hEinX],128,"%i",mysql_GetInt("häuser", "EingangX", "ID", str));
    format(HausInfo[i][hEinY],128,"%i",mysql_GetInt("häuser", "EingangY", "ID", str));
    format(HausInfo[i][hEinZ],128,"%i",mysql_GetInt("häuser", "EingangZ", "ID", str));
    format(HausInfo[i][hEinA],128,"%i",mysql_GetInt("häuser", "EingangA", "ID", str));
    format(HausInfo[i][hAusX],128,"%i",mysql_GetInt("häuser", "AusgangX", "ID", str));
    format(HausInfo[i][hAusY],128,"%i",mysql_GetInt("häuser", "AusgangY", "ID", str));
    format(HausInfo[i][hAusZ],128,"%i",mysql_GetInt("häuser", "AusgangZ", "ID", str));
    format(HausInfo[i][hAusA],128,"%i",mysql_GetInt("häuser", "AusgangA", "ID", str));
    if(HausInfo[i][hGekauft] == 1)
    {
    if(HausInfo[i][hAbgeschlossen] == 1)
    {
    format(status, sizeof(status), "Ja");
    }
    else
    {
    format(status, sizeof(status), "Nein");
    }
    //format(Haustext[i],1024,"Grundstück ID: %i\nBesitzer: %s", HausInfo[i][hID],HausInfo[i][hBesitzer]);
    format(HausInfo[i][hText],1024,"Grundstück ID: %i\nBesitzer: %s\nAbgeschlossen: %s", HausInfo[i][hID],HausInfo[i][hBesitzer],status);
    }
    else
    {
    format(HausInfo[i][hText],1024,"Grundstück zu verkaufen:\nHaus ID: %i\nKosten: %i €", HausInfo[i][hID],HausInfo[i][hKosten]);
    }
    Hauspickup[i] = CreatePickup(1239, 19, HausInfo[i][hPosX], HausInfo[i][hPosY], HausInfo[i][hPosZ],-1);
    Haustext[i] = Create3DTextLabel(HausInfo[i][hText],COLOR_WHITE,HausInfo[i][hPosX], HausInfo[i][hPosY], HausInfo[i][hPosZ],50.0,-1,0);
    printf("Grundstück ID: %i geladen und erstellt!", str);
    }
    return 1;
    }


    Die Stocks:
    stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }


    stock mysql_GetString(Table[], Field[], Where[], Is[])
    {
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }


    Code
    [13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:01] Grundstück ID: 50 geladen und erstellt![13:10:01] Grundstück ID: 51 wird geladen![13:10:01] Grundstück ID: 51 geladen und erstellt![13:10:01] Grundstück ID: 52 wird geladen![13:10:01] Grundstück ID: 52 geladen und erstellt![13:10:01] Grundstück ID: 53 wird geladen![13:10:01] Grundstück ID: 53 geladen und erstellt![13:10:01] Grundstück ID: 54 wird geladen![13:10:01] Grundstück ID: 54 geladen und erstellt![13:10:01] Grundstück ID: 55 wird geladen![13:10:01] Grundstück ID: 55 geladen und erstellt![13:10:01] Grundstück ID: 56 wird geladen![13:10:01] Grundstück ID: 56 geladen und erstellt![13:10:01] Grundstück ID: 57 wird geladen![13:10:01] Grundstück ID: 57 geladen und erstellt![13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 49 wird geladen![13:10:01] Grundstück ID: 49 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:01] Grundstück ID: 50 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:01] Grundstück ID: 50 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:01] Grundstück ID: 50 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:01] Grundstück ID: 50 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:01] Grundstück ID: 50 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:01] Grundstück ID: 50 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:01] Grundstück ID: 50 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:01] Grundstück ID: 50 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:01] Grundstück ID: 50 geladen und erstellt![13:10:01] Grundstück ID: 50 wird geladen![13:10:02] Grundstück ID: 50 geladen und erstellt![13:10:02] Grundstück ID: 51 wird geladen![13:10:02] Grundstück ID: 51 geladen und erstellt![13:10:02] Grundstück ID: 51 wird geladen![13:10:02] Grundstück ID: 51 geladen und erstellt![13:10:02] Grundstück ID: 51 wird geladen![13:10:02] Grundstück ID: 51 geladen und erstellt![13:10:02] Grundstück ID: 51 wird geladen![13:10:02] Grundstück ID: 51 geladen und erstellt![13:10:02] Grundstück ID: 51 wird geladen![13:10:02] Grundstück ID: 51 geladen und erstellt![13:10:02] Grundstück ID: 51 wird geladen![13:10:02] Grundstück ID: 51 geladen und erstellt![13:10:02] Grundstück ID: 51 wird geladen![13:10:02] Grundstück ID: 51 geladen und erstellt![13:10:02] Grundstück ID: 51 wird geladen![13:10:02] Grundstück ID: 51 geladen und erstellt![13:10:02] Grundstück ID: 51 wird geladen![13:10:02] Grundstück ID: 51 geladen und erstellt![13:10:02] Grundstück ID: 51 wird geladen![13:10:02] Grundstück ID: 51 geladen und erstellt![13:10:02] Grundstück ID: 52 wird geladen![13:10:02] Grundstück ID: 52 geladen und erstellt![13:10:02] Grundstück ID: 52 wird geladen![13:10:02] Grundstück ID: 52 geladen und erstellt![13:10:02] Grundstück ID: 52 wird geladen![13:10:02] Grundstück ID: 52 geladen und erstellt![13:10:02] Grundstück ID: 52 wird geladen![13:10:02] Grundstück ID: 52 geladen und erstellt![13:10:02] Grundstück ID: 52 wird geladen![13:10:02] Grundstück ID: 52 geladen und erstellt![13:10:02] Grundstück ID: 52 wird geladen![13:10:02] Grundstück ID: 52 geladen und erstellt![13:10:02] Grundstück ID: 52 wird geladen![13:10:02] Grundstück ID: 52 geladen und erstellt![13:10:02] Grundstück ID: 52 wird geladen![13:10:02] Grundstück ID: 52 geladen und erstellt![13:10:02] Grundstück ID: 52 wird geladen![13:10:02] Grundstück ID: 52 geladen und erstellt![13:10:02] Grundstück ID: 52 wird geladen![13:10:02] Grundstück ID: 52 geladen und erstellt![13:10:02] Grundstück ID: 53 wird geladen![13:10:02] Grundstück ID: 53 geladen und erstellt![13:10:02] Grundstück ID: 53 wird geladen![13:10:02] Grundstück ID: 53 geladen und erstellt![13:10:02] Grundstück ID: 53 wird geladen![13:10:02] Grundstück ID: 53 geladen und erstellt![13:10:02] Grundstück ID: 53 wird geladen![13:10:02] Grundstück ID: 53 geladen und erstellt![13:10:02] Grundstück ID: 53 wird geladen![13:10:02] Grundstück ID: 53 geladen und erstellt![13:10:02] Grundstück ID: 53 wird geladen![13:10:02] Grundstück ID: 53 geladen und erstellt![13:10:02] Grundstück ID: 53 wird geladen![13:10:02] Grundstück ID: 53 geladen und erstellt![13:10:02] Grundstück ID: 53 wird geladen![13:10:02] Grundstück ID: 53 geladen und erstellt![13:10:02] Grundstück ID: 53 wird geladen![13:10:02] Grundstück ID: 53 geladen und erstellt![13:10:02] Grundstück ID: 53 wird geladen![13:10:02] Grundstück ID: 53 geladen und erstellt![13:10:02] Grundstück ID: 54 wird geladen![13:10:02] Grundstück ID: 54 geladen und erstellt![13:10:02] Grundstück ID: 54 wird geladen![13:10:02] Grundstück ID: 54 geladen und erstellt![13:10:02] Grundstück ID: 54 wird geladen![13:10:02] Grundstück ID: 54 geladen und erstellt![13:10:02] Grundstück ID: 54 wird geladen![13:10:02] Grundstück ID: 54 geladen und erstellt![13:10:02] Grundstück ID: 54 wird geladen![13:10:03] Grundstück ID: 54 geladen und erstellt![13:10:03] Grundstück ID: 54 wird geladen![13:10:03] Grundstück ID: 54 geladen und erstellt![13:10:03] Grundstück ID: 54 wird geladen![13:10:03] Grundstück ID: 54 geladen und erstellt![13:10:03] Grundstück ID: 54 wird geladen![13:10:03] Grundstück ID: 54 geladen und erstellt![13:10:03] Grundstück ID: 54 wird geladen![13:10:03] Grundstück ID: 54 geladen und erstellt![13:10:03] Grundstück ID: 54 wird geladen![13:10:03] Grundstück ID: 54 geladen und erstellt![13:10:03] Grundstück ID: 55 wird geladen![13:10:03] Grundstück ID: 55 geladen und erstellt![13:10:03] Grundstück ID: 55 wird geladen![13:10:03] Grundstück ID: 55 geladen und erstellt![13:10:03] Grundstück ID: 55 wird geladen![13:10:03] Grundstück ID: 55 geladen und erstellt![13:10:03] Grundstück ID: 55 wird geladen![13:10:03] Grundstück ID: 55 geladen und erstellt![13:10:03] Grundstück ID: 55 wird geladen![13:10:03] Grundstück ID: 55 geladen und erstellt![13:10:03] Grundstück ID: 55 wird geladen![13:10:03] Grundstück ID: 55 geladen und erstellt![13:10:03] Grundstück ID: 55 wird geladen![13:10:03] Grundstück ID: 55 geladen und erstellt![13:10:03] Grundstück ID: 55 wird geladen![13:10:03] Grundstück ID: 55 geladen und erstellt![13:10:03] Grundstück ID: 55 wird geladen![13:10:03] Grundstück ID: 55 geladen und erstellt![13:10:03] Grundstück ID: 55 wird geladen![13:10:03] Grundstück ID: 55 geladen und erstellt![13:10:03] Grundstück ID: 56 wird geladen![13:10:03] Grundstück ID: 56 geladen und erstellt![13:10:03] Grundstück ID: 56 wird geladen![13:10:03] Grundstück ID: 56 geladen und erstellt![13:10:03] Grundstück ID: 56 wird geladen![13:10:03] Grundstück ID: 56 geladen und erstellt![13:10:03] Grundstück ID: 56 wird geladen![13:10:03] Grundstück ID: 56 geladen und erstellt![13:10:03] Grundstück ID: 56 wird geladen![13:10:03] Grundstück ID: 56 geladen und erstellt![13:10:03] Grundstück ID: 56 wird geladen![13:10:03] Grundstück ID: 56 geladen und erstellt![13:10:03] Grundstück ID: 56 wird geladen![13:10:03] Grundstück ID: 56 geladen und erstellt![13:10:03] Grundstück ID: 56 wird geladen![13:10:03] Grundstück ID: 56 geladen und erstellt![13:10:03] Grundstück ID: 56 wird geladen![13:10:03] Grundstück ID: 56 geladen und erstellt![13:10:03] Grundstück ID: 56 wird geladen![13:10:03] Grundstück ID: 56 geladen und erstellt![13:10:03] Grundstück ID: 57 wird geladen![13:10:03] Grundstück ID: 57 geladen und erstellt![13:10:03] Grundstück ID: 57 wird geladen![13:10:03] Grundstück ID: 57 geladen und erstellt![13:10:03] Grundstück ID: 57 wird geladen![13:10:03] Grundstück ID: 57 geladen und erstellt![13:10:03] Grundstück ID: 57 wird geladen![13:10:03] Grundstück ID: 57 geladen und erstellt![13:10:03] Grundstück ID: 57 wird geladen![13:10:03] Grundstück ID: 57 geladen und erstellt![13:10:03] Grundstück ID: 57 wird geladen![13:10:03] Grundstück ID: 57 geladen und erstellt![13:10:03] Grundstück ID: 57 wird geladen![13:10:03] Grundstück ID: 57 geladen und erstellt![13:10:03] Grundstück ID: 57 wird geladen![13:10:04] Grundstück ID: 57 geladen und erstellt![13:10:04] Grundstück ID: 57 wird geladen![13:10:04] Grundstück ID: 57 geladen und erstellt![13:10:04] Grundstück ID: 57 wird geladen![13:10:04] Grundstück ID: 57 geladen und erstellt![13:10:04] Grundstück ID: 49 wird geladen!


    In der MySQL Log wird allerdings alles richtig geladen.


    Wo liegt der Fehler?


    In meinem stock zum Frak laden, ist es auch so und funktioniert:


    mfg.

    So habs nun geschafft jetzt hab ich nur noch 2 Error:

    Code
    D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(528) : error 006: must be assigned to an array
    D:\GTA - San Andreas\SERVER\gamemodes\NSR.pwn(529) : error 006: must be assigned to an array
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Errors.


    Edit:
    Die Zeilen:
    FraktionInfo[i][fName] = mysql_GetString("fraks", "Name", "ID", str);
    FraktionInfo[i][fLeader] = mysql_GetString("fraks", "Leader", "ID", str);


    old
    Habs eig. so wie du es hast geändert. Die gleichen Fehler

    old

    old
    stock LoadFraks()
    {
    for(new i = 1; i < 3; i++)
    {
    new query[128];
    new str[16];
    format(str,sizeof(str),"%d",i);
    printf("Fraktion ID: %d wird geladen!", str);
    format(query, sizeof(query), "SELECT `*` FROM `fraks` WHERE `ID` = '%d'", str);

    old

    old
    Fraktion[i][fName] = mysql_GetString("fraks", "Name", "ID", str);
    Fraktion[i][fLeader] = mysql_GetString("fraks", "Leader", "ID", str);
    Fraktion[i][fKasse] = mysql_GetInt("fraks", "Kasse", "ID", str);
    Fraktion[i][fSpawnx] = mysql_GetInt("fraks", "Spawnx", "ID", str);
    Fraktion[i][fSpawny] = mysql_GetInt("fraks", "Spawny", "ID", str);
    Fraktion[i][fSpawnz] = mysql_GetInt("fraks", "Spawnz", "ID", str);
    Fraktion[i][fInt] = mysql_GetInt("fraks", "Int", "ID", str);
    }
    return 1;
    }

    old

    old
    stock SaveFraks()
    {
    for(new i = 1; i < 3; i++)
    {
    printf("Fraktion Nr. %d wird gespeichert!", i);
    mysql_SetString("fraks", "Leader", Fraktion[i][fLeader], "ID", i);
    mysql_SetInt("fraks", "Kasse", Fraktion[i][fKasse], "ID", i);
    printf("Fraktion Nr. %d gespeichert!", i);
    }
    return 1;
    }

    old

    old
    Kann keiner helfen? :/

    %s ist für Strings, da du aber IDs also Integer verwendest, musst du den Wert ID mit %d im string formatieren.

    Ach ja, hätte mir eig. auch auffallen sollten. Benutze immerhin MySQL im Bereich PHP. Danke für die schnelle Hilfe :)


    mfg.
    Anonymousmapping


    Edit²:
    Weitere Fehler nachdem ich das was ich deinem Edit steht getan habe:


    Spoiler anzeigen
    Edit:
    Fehler bleibt gleich.

    Spoiler anzeigen
    Hier nochmal die Stocks die ich nutze:
    stock LoadFraks(i)
    {
    new query[128];
    format(query, sizeof(query), "SELECT `*` FROM `fraks` WHERE `ID` = '%d'", i);

    Spoiler anzeigen
    Fraktion[i][fName] = mysql_GetString("fraks", "Name", "ID", i);
    Fraktion[i][fLeader] = mysql_GetString("fraks", "Leader", "ID", i);
    Fraktion[i][fKasse] = mysql_GetInt("fraks", "Kasse", "ID", i);
    Fraktion[i][fSpawnx] = mysql_GetInt("fraks", "Spawnx", "ID", i);
    Fraktion[i][fSpawny] = mysql_GetInt("fraks", "Spawny", "ID", i);
    Fraktion[i][fSpawnz] = mysql_GetInt("fraks", "Spawnz", "ID", i);
    Fraktion[i][fInt] = mysql_GetInt("fraks", "Int", "ID", i);
    return 1;
    }

    Spoiler anzeigen
    stock SaveFraks(i)
    {
    mysql_SetString("fraks", "Leader", Fraktion[i][fLeader], "ID", i);
    mysql_SetInt("fraks", "Kasse", Fraktion[i][fKasse], "ID", i);
    return 1;
    }

    Spoiler anzeigen
    stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }

    Spoiler anzeigen
    stock mysql_GetString(Table[], Field[], Where[], Is[])
    {
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }

    Spoiler anzeigen
    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }

    Spoiler anzeigen
    stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(To, To);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%s' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }

    Hey Leute,


    ich bin dabei ein Selfmade auf MySQL Basis zu schreiben.


    User werden gespeichert und geladen, passt also.
    Nun bin ich bei den Fraktionen, diese werden auch in einer MySQL-DB gespeichert:




    Das ist der Fraktion Enum:




    Das sind die Stocks zum Speichern und Laden:




    Hier werden die Funktionen angesprochen:




    Und der böse Fehler:


    Wo ist der Fehler?


    mfg.
    Anonymousmapping