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.