Fehler mit Fraktionnamen [MySQL]

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
  • Hey Community,


    ich hab ein kleines Problem. Ich arbeite an meinem Selfmade und wollte ein Dynamisches Fraktionssystem schreiben, wenn ich allerdings jetzt meinen Befehl /fraklist aufrufe (bzw. ein Befehl der den Namen der Fraktion und Leader ausgibt), bekomme ich eine falsche Ausgabe.


    In der MySQL Datenbank ist es so eingetragen:


    Aber im Spiel wird es so angezeigt:


    Alles was dazu gehört:
    enum Fraktion
    {
    fID,
    fName,
    fLeader,
    fKasse,
    Float:fSpawnx,
    Float:fSpawny,
    Float:fSpawnz,
    fInt,
    Float:fEinx,
    Float:fEiny,
    Float:fEinz,
    Float:fAusx,
    Float:fAusy,
    Float:fAusz,
    fGangwar,
    fFarbe,
    Text3D:fEinText,
    Text3D:fAusText,
    fEinPickup,
    fAusPickup
    }


    new FraktionInfo[MAX_FRAKS][Fraktion];


    stock LoadFraks()
    {
    new str[16];
    for(new i = 0; i < MAX_FRAKS; i++)
    {
    format(str,sizeof(str),"%i",i);
    printf("Fraktion ID: %i wird geladen!", i);
    format(FraktionInfo[i][fName],64,"%s",mysql_GetString("fraks", "Name", "ID", str));
    format(FraktionInfo[i][fLeader],64,"%s",mysql_GetString("fraks", "Leader", "ID", str));
    FraktionInfo[i][fKasse] = mysql_GetInt("fraks", "Kasse", "ID", str);
    FraktionInfo[i][fSpawnx] = mysql_GetFloat("fraks", "Spawnx", "ID", str);
    FraktionInfo[i][fSpawny] = mysql_GetFloat("fraks", "Spawny", "ID", str);
    FraktionInfo[i][fSpawnz] = mysql_GetFloat("fraks", "Spawnz", "ID", str);
    FraktionInfo[i][fInt] = mysql_GetInt("fraks", "Int", "ID", str);
    FraktionInfo[i][fEinx] = mysql_GetFloat("fraks", "Einx", "ID", str);
    FraktionInfo[i][fEiny] = mysql_GetFloat("fraks", "Einy", "ID", str);
    FraktionInfo[i][fEinz] = mysql_GetFloat("fraks", "Einz", "ID", str);
    FraktionInfo[i][fAusx] = mysql_GetFloat("fraks", "Ausx", "ID", str);
    FraktionInfo[i][fAusy] = mysql_GetFloat("fraks", "Ausy", "ID", str);
    FraktionInfo[i][fAusz] = mysql_GetFloat("fraks", "Ausz", "ID", str);
    FraktionInfo[i][fGangwar] = mysql_GetInt("fraks", "Gangwar", "ID", str);
    FraktionInfo[i][fFarbe] = mysql_GetInt("fraks", "Farbe", "ID", str);


    Delete3DTextLabel(FraktionInfo[i][fEinText]);
    Create3DTextLabel("/fenter zum betreten!",COLOR_YELLOW,FraktionInfo[i][fEinx],FraktionInfo[i][fEiny],FraktionInfo[i][fEinz],10,0);
    DestroyPickup(FraktionInfo[i][fEinPickup]);
    FraktionInfo[i][fEinPickup] = CreatePickup(1239,1,FraktionInfo[i][fEinx],FraktionInfo[i][fEiny],FraktionInfo[i][fEinz],0);


    Delete3DTextLabel(FraktionInfo[i][fAusText]);
    Create3DTextLabel("/fexit zum betreten!",COLOR_YELLOW,FraktionInfo[i][fAusx],FraktionInfo[i][fAusy],FraktionInfo[i][fAusz],10,0);
    DestroyPickup(FraktionInfo[i][fAusPickup]);
    FraktionInfo[i][fAusPickup] = CreatePickup(1239,FraktionInfo[i][fID],FraktionInfo[i][fAusx],FraktionInfo[i][fAusy],FraktionInfo[i][fAusz],0);
    printf("Fraktion: %i | [%s] wurde geladen!", i, mysql_GetString("fraks", "Name", "ID", str)); //EDIT: Hier wird es übrigens richtig angezeigt!
    }
    return 1;
    }


    stock Float:mysql_GetFloat(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, sizeof(query), "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    new Float:var;
    mysql_fetch_float(var);
    mysql_free_result();
    return var;
    }


    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;
    }


    Ich hoffe ihr könnt mir helfen.


    Mfg.

  • ocmd:fraklist(playerid,params[])
    {
    new string[128];
    if(IsPlayerAnAdmin(playerid,1))
    {
    SendClientMessage(playerid,COLOR_INFO,"ID | Name | Leader");
    for(new i = 0; i < MAX_FRAKS; i++)
    {
    format(string,sizeof(string),"%i | %s | %s",i,FraktionInfo[i][fName], FraktionInfo[i][fLeader]);
    SendClientMessage(playerid,COLOR_INFO,string);
    }
    }
    return 1;
    }


    Das ist der Befehl womit ich die Fraktionen aufliste