Maximal 50 Teleports, 32 Zeichen darf ein Name besitzen.
Habe den string auf 1024 gesetzt, sollte aussreichen.
Öhm, mir fällt gerade noch auf, das immer nur der gleiche Teleport angezeigt wird obwohl drei Verschiedene Gespeichert habe. :o
stock LoadTeleports()
{
new DBResult:Result = db_query(TeleportDatenbank, "SELECT * FROM `Teleports`"), rows = db_num_rows(Result), field[20];
if(!rows)return print("Keine Teleports geladen!");
for(new i = 0; i < rows; i++)
{
db_get_field_assoc(Result, "Name", field, sizeof(field));
format(TeleInfo[i][tName], 32, "%s", field);
db_get_field_assoc(Result, "ID", field, sizeof(field));
TeleInfo[i][tID] = strval(field);
db_get_field_assoc(Result, "X", field, sizeof(field));
TeleInfo[i][tX] = floatstr(field);
db_get_field_assoc(Result, "Y", field, sizeof(field));
TeleInfo[i][tY] = floatstr(field);
db_get_field_assoc(Result, "Z", field, sizeof(field));
TeleInfo[i][tZ] = floatstr(field);
db_get_field_assoc(Result, "A", field, sizeof(field));
TeleInfo[i][tA] = floatstr(field);
db_get_field_assoc(Result, "W", field, sizeof(field));
TeleInfo[i][tW] = strval(field);
db_get_field_assoc(Result, "Int", field, sizeof(field));
TeleInfo[i][tInt] = strval(field);
printf("%d Teleports geladen", rows);
}
return 1;
}
stock GetFreeTeleSlot()
{
for(new i = 0; i < MAX_TELEPORTS; i++)
{
if(TeleInfo[i][tID] != i) return i;
}
return -1;
}
Alles anzeigen
Vielleicht hilft dies ja weiter, wenn ich meinen stock mal Zeigen wie ich es Lade.
In der Tabele steht auch, das er immer bei eins anfängt zu Zählen und nicht bei 0. Glaube es liegt daran oder?
MfG. Black_Air
Achja, habe noch eine Funktion um die ID auszulesen, vielleicht hilft es ja auch.