Ich habe dir hier mal angefangen, für das was du beschrieben hast.
#define MAX_FRAKTIONEN 15
enum FrakDaten
{
fName[128],
fRang1[30],
fRang2[30],
fRang3[30],
fRang4[30],
fRang5[30],
fRang6[30],
fSpawnX,
fSpawnY,
fSpawnZ,
fSpawnI
};
new FDaten[MAX_FRAKTIONEN][FrakDaten];
ocmd:createfraktion(playerid,params[])
{
if(SpielerInfo[playerid][pAdminlevel] < 6) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 6");
new input[128];
if(sscanf(params,"s",input))return SendClientMessage(playerid,Rot,""COLO"Verwendung: "COLR"/createfraktion [Fraktionsname]");
new i = GetFreeFrakID();
if(i == -1) return SendClientMessage(playerid,Rot,"Es kann keine neue Fraktion erstellt werden. Maximum erreicht.");
format(FDaten[i][fName], 128, input);
GetPlayerPos(playerid, FDaten[i][fSpawnX], FDaten[i][fSpawnY], FDaten[i][fSpawnZ]);
FDaten[i][fSpawnI] = GetPlayerInterior(playerid);
new query[256];
format(query, sizeof(query), "INSERT INTO fraktionen (id, fname, fx, fy, fz, fi) VALUES ('%d', '%s', '%f', '%f', '%f', %d)",
i, FDaten[i][fName], FDaten[i][fSpawnX], FDaten[i][fSpawnY], FDaten[i][fSpawnZ], FDaten[i][fSpawnI]);
mysql_query(query);
return 1;
}
Hier darf AUTO_INCREMENT für die Spalte id nicht (!) verwendet werden, allerdings muss id den UNIQUE Key haben.
Außerdem brauchst du natürlich:
stock GetFreeFrakID()
{
for(new i=0; i<MAX_FRAKTIONEN; i++)
{
if(!strlen(FDaten[i][fName])) return i;
}
return -1;
}