Habe das Problem, dass meine ATMs einfach keinen 3DTextLabel haben wollen. Das passiert aber nur beim Serverstart (also haben sie quasi trotzdem keinen), weil sobald ich einen ATM create (Befehl) ist das Label da.
// UpdateATM
updateATM(id)
{
Delete3DTextLabel(atmInfo[id][a_text]);
new string[128];
format(string,sizeof(string),"ATM\nATM verbleidendes Geld: %i$\nATM momentaner Inhalt: %i$",atmInfo[id][a_inventory],atmInfo[id][a_savedmoney]);
atmInfo[id][a_text]=Create3DTextLabel(string,CLR_YELLOW,atmInfo[id][ax],atmInfo[id][ay],atmInfo[id][az],20.0,0,1);
return 1;
}
// ATMs Laden
sqlLoadATMs()
{
new query[256],num_fields,num_rows,count;
mysql_format(dbhandle,query,sizeof(query),"SELECT * FROM atms");
mysql_query(dbhandle,query);
cache_get_data(num_rows,num_fields,dbhandle);
if(!num_rows)return 1;
for(new i=0;i<num_rows;i++)
{
count++;
atmInfo[i][a_dbid]=cache_get_field_content_int(i,"id");
atmInfo[i][ax]=cache_get_field_content_float(i,"x");
atmInfo[i][ay]=cache_get_field_content_float(i,"y");
atmInfo[i][az]=cache_get_field_content_float(i,"z");
atmInfo[i][arx]=cache_get_field_content_float(i,"rx");
atmInfo[i][ary]=cache_get_field_content_float(i,"ry");
atmInfo[i][arz]=cache_get_field_content_float(i,"rz");
atmInfo[i][a_inventory]=cache_get_field_content_int(i,"inventory");
atmInfo[i][a_savedmoney]=cache_get_field_content_int(i,"savedmoney");
atmInfo[i][a_id]=CreateDynamicObject(2942,atmInfo[i][ax],atmInfo[i][ay],atmInfo[i][az],atmInfo[i][arx],atmInfo[i][ary],atmInfo[i][arz]);
updateATM(i);
}
printf("Es wurde(n) %i ATM(s) geladen.",count);
return 1;
}
Habe mir mal die Coords printen lassen, sind absolut korrekt. Habe auch nochmal Syntax angeschaut, scheint aber richtig zu sein.