Sziasztok. Egy mapváltást szeretnék megcsinálni a szerveremen, tehát pl. 5 perc után vált egy mapot egy txt fájlból, viszont ezt még nem nagyon sikerült összehozni. Van egy start parancs amivel ezt az egészet elindítja, és van egy olajospalya.txt nevű fájlom abban vannak az adatok. Először megpróbáltam úgy, hogy a txt fájlban CreateObject is ott volt, aztán már csak RAW Data, tehát csak akkor működik ha a txt fájlban így van beleírva:
8210, 287.91364, 1456.87207, 12.66430, 0.00000, 0.00000, 90.00000;
model, x pozíció, y, z, forgatásnak x, y, z - tehát jelenleg így működik a betöltés csak, és 55 object van mindegyiket betölti, viszont az lenne a gondom hogy az utolsó forgatási z pozíciót sose tölti be, mindegyiknél 0-át ír, ez mitől lehet? emiatt ugye rosszul is vannak elforgatva
CMD:start(playerid, params[])
{
if(JatekosInfo[playerid][Admin] >= 4)
{
if(inditas == 1) return SCM(playerid, -1,\"{ff0000}[MP-ZM] A játék már el van indítva!\");
inditas = 1;
new string[128], masikstring[32];
new randompaly = random(sizeof(randompalya));
format(kovipalya, 32, \"%s\", randompalya[randompaly]);
if(Egyezik(kovipalya, \"olajospalya.txt\")) { format(masikstring, sizeof(masikstring),\"Olajos\"); }
format(string, sizeof(string),\"{ff0000}[MP-ZM] {008000}JÁTÉK ELINDÍTVA! PÁLYA: %s\", masikstring);
SCMTA(-1, string);
new File:handle = fopen(kovipalya, io_read), buf[128];
if(!handle) return 0;
new model, count;
new Float:px, Float:py, Float:pz, Float:rx, Float:ry, Float:rz;
/*for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
nologin = 1;
}
}*/
while(fread(handle, buf))
{
if(sscanf(buf, \"p<,>iffffff\", model, px, py, pz, rx, ry, rz))
{
count++;
printf(\"model: %i | px: %f | py: %f | pz: %f | rx: %f | ry: %f | rz: %f\", model, px, py, pz, rx, ry