Moin,
Ich wollte ein System machen, mit dem man InGame Objekte erstellen kann, und die nach einem Restart immernoch dort sind.
Es speichert auch alles richtig aber, aber es läd einfach nicht.
stock LoadObjects()
{
new Datei[50];
for(new i = 0; i < MAX_OBJEKTS; i++)
{
format(Datei,sizeof(Datei),"/objekte/%i.ini",i);
if(dini_Exists(Datei))
{
Objekt[i][existiert] = 1;
Objekt[i][PosX] = dini_Float(Datei,"PosX");
Objekt[i][PosY] = dini_Float(Datei,"PoxY");
Objekt[i][PosZ] = dini_Float(Datei,"PosZ");
Objekt[i][type] = dini_Int(Datei,"Type");
Objekt[i][VirtualWorld] = dini_Int(Datei,"VirtualWorld");
Objekt[i][Aktiv] = 1;
Objekt[i][Obj] = CreateDynamicObject(ObjekteGetten(Objekt[i][type]),Objekt[i][PosX],Objekt[i][PosY],Objekt[i][PosZ]-0.7,0,0,0,25);
Objekt[i][ObjDraw] = CreateDynamic3DTextLabel("Press {0091FF}H{00FF14}\nTo Pickup",GRÜN,Objekt[i][PosX],Objekt[i][PosY],Objekt[i][PosZ],15,0,0);
printf("Gegenstand(ID :%i) geladen.",i);
}
}
return 1;
}
stock SaveObjects()
{
new Datei[50];
for(new i = 0; i < MAX_OBJEKTS; i++)
{
if(Objekt[i][existiert] == 0)continue;
format(Datei,sizeof(Datei),"/objekte/%i.ini",i);
if(!dini_Exists(Datei))
{
dini_Create(Datei);
}
dini_FloatSet(Datei,"PosX",Objekt[i][PosX]);
dini_FloatSet(Datei,"PosY",Objekt[i][PosY]);
dini_FloatSet(Datei,"PosZ",Objekt[i][PosZ]);
dini_IntSet(Datei,"Type",Objekt[i][type]);
dini_IntSet(Datei,"VirtualWorld",Objekt[i][VirtualWorld]);
dini_IntSet(Datei,"existiert",Objekt[i][existiert]);
printf("Gegenstand(ID :%i) gespeichert.",i);
}
return 1;
}
In der Konsole steht aufjedenfall immer Gegenstand: x geladen. Aber InGame erscheint es nicht. Für die die denke das das Objekt vielleicht zu klein ist, es ist die ID 19320 und ist ein Kürbis. ( Beim erstellen sieht man ihn )