Jump to content
  • 0

pomoc Ukladanie Objektov


LosO

Dotaz

Zdravím.

Naskytol sa mi menší problém pri ukladaní a načítaní objektov

 

Keď mam vytvorene objekty a uložim ich tak mi to uloží len posledný vytvorený objekt tu je kod:

dcmd_objektsave(playerid,params[])
{
if(sscanf(params,"s",reasons)) return SCM(playerid,cervena,"Použi /objektsave [Názov Mapy]!");
else
{
new str[45],bigstr[140];
format(str,45,"Objekty/%s.txt",reasons);
if(!fexist(str))
{
for(new i; i < MAX_OBJEKT_EX;i++)
{
if(ObjektInfo[i][objCreated] == 1)
{
new File:file = fopen(str, io_write);
format(bigstr,140,"%d %f %f %f %f %f %f\r\n",ObjektInfo[i][ModelObjekt],ObjektInfo[i][oX],ObjektInfo[i][oY],ObjektInfo[i][oZ],ObjektInfo[i][rX],ObjektInfo[i][rY],ObjektInfo[i][rZ]);
fwrite(file,bigstr);
fclose(file);
}
}
}
else if(fexist(str))
{
SCM(playerid,cervena,"Táto mapa už existuje!");
}
}
return 1;
}

a zasa keď sa snažím načítať tak mi to vytvorý tolko objektov na sebe že mi to tam začne lagovat.. kod:

dcmd_objektload(playerid,params[])
{
if(sscanf(params,"s",reasons)) return SCM(playerid,cervena,"Použi /objektload [Názov Mapy]!");
else
{
new str[45],bigstr[140];
format(str,45,"Objekty/%s.txt",reasons);
if(fexist(str))
{
for(new i; i < MAX_OBJEKT_EX;i++)
{
if(ObjektInfo[i][objCreated] == 1)
{
new File:file = fopen(str,io_read);
fread(file,bigstr);
DelChar(bigstr);
sscanf(bigstr, "dffffff",ObjektInfo[i][ModelObjekt],ObjektInfo[i][oX],ObjektInfo[i][oY],ObjektInfo[i][oZ],ObjektInfo[i][rX],ObjektInfo[i][rY],ObjektInfo[i][rZ]);
fread(file,bigstr);
DelChar(bigstr);
fclose(file);
for(new s; s < MAX_OBJEKT_EX;s++)
{
CreateObject(ObjektInfo[i][ModelObjekt],ObjektInfo[i][oX],ObjektInfo[i][oY],ObjektInfo[i][oZ],ObjektInfo[i][rX],ObjektInfo[i][rY],ObjektInfo[i][rZ]);
}
}
}
}
else if(!fexist(str))
{
SCM(playerid,cervena,"Táto mapa neni vytvorená!");
}
}
return 1;
}

Ďakujem za akú kolvek pomoc. Nemusíte mi tu napísať celý opravený kod stačí len ak mi pomôžete kde by mohla byť chyba.

Link to comment
Share on other sites

1 odpověd na tuto otázku

Recommended Posts

  • 0

To ukladanie už funguje v poriadku len to načitávanie som si tam ešte niečo doplnil:

 

lenže keď už mám vytvorený niejaký objekt a skusim načítať niečo čo už mám vytvorené tak mi to nenačíta

dcmd_objektload(playerid,params[])
{
if(sscanf(params,"s",reasons)) return SCM(playerid,cervena,"Použi /objektload [Názov Mapy]!");
else
{
new str[45],bigstr[140];
format(str,45,"Objekty/%s.txt",reasons);
if(fexist(str))
{
new File:file = fopen(str,io_read);
new i;
while(fread(file,bigstr))
{
sscanf(bigstr, "dffffff",ObjektInfo[i][ModelObjekt],ObjektInfo[i][oX],ObjektInfo[i][oY],ObjektInfo[i][oZ],ObjektInfo[i][rX],ObjektInfo[i][rY],ObjektInfo[i][rZ]);
if(ObjektInfo[i][objCreated] == 0)
{
ObjektInfo[i][objCreated] = 1;
ObjektInfo[i][cObjekt] = CreateObject(ObjektInfo[i][ModelObjekt],ObjektInfo[i][oX],ObjektInfo[i][oY],ObjektInfo[i][oZ],ObjektInfo[i][rX],ObjektInfo[i][rY],ObjektInfo[i][rZ]);
i++;
}
}
fclose(file);
}
else if(!fexist(str))
{
SCM(playerid,cervena,"Táto mapa neni vytvorená!");
}
}
return 1;
}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...