SA-MP Forums Archive
насчет с Scanf2 - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: насчет с Scanf2 (/showthread.php?tid=465946)



насчет с Scanf2 - AnGeL_KRAMER - 25.09.2013

привет всем хочу чтобы sscanf2

Загружал из файла такую строки

CreateObject(19392, 2044.7829589844, 1330.333984375, 11.421999931335);

пытался сделать так

f (!sscanf(string, "p<\">'CreateObject('d''f''f'f'f''f''f''f''f''f'); ", ObjectInfo[i][modelidfs], ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman], ObjectInfo[i][rXman], ObjectInfo[i][rYman], ObjectInfo[i][rZman]))

не помогло !

есть еще решения?


Re: насчет с Scanf2 - Stepashka - 25.09.2013

А мы хотим правильного построения предложений. Задайте ваш вопрос правильно.


Re: насчет с Scanf2 - vovan199506 - 25.09.2013

PHP код:
new string[] = "19392|2044.7829589844|1330.333984375|11.421999931335|0.0|0.0|0.0"// Тут загружай из файла, я сделал так.
new id,Float:pos[6]; // Переменные на которые будем разделять строку.
sscanf(string,"p<|>iffffff",id,pos[0],pos[1],pos[2],pos[3],pos[4],pos[5]); // Разделяем строку string на переменные
CreateObject(id,pos[0],pos[1],pos[2],pos[3],pos[4],pos[5]); // Создаем обьект. 
Как понял твой пост, так и написал. В следующий раз пытайся подробнее объяснить свою проблему.


Re: насчет с Scanf2 - AnGeL_KRAMER - 25.09.2013

))) простите, торопился.. вот и написал))))

И так ребят, проблема такого масштаба:

В общем у меня идёт загрузка с конфига(файла). А в это кофиге(файле) Лежит список объектов.
В итоге я хочу благодаря sscanf выгрузить все эти объекты и создать.


Re: насчет с Scanf2 - vovan199506 - 25.09.2013

Quote:
Originally Posted by AnGeL_KRAMER
Посмотреть сообщение
))) простите, торопился.. вот и написал))))

И так ребят, проблема такого масштаба:

В общем у меня идёт загрузка с конфига(файла). А в это кофиге(файле) Лежит список объектов.
В итоге я хочу благодаря sscanf выгрузить все эти объекты и создать.
Ну я так и понял. А чем тебе мод вариант не нравится? В callback загрузки объектов поставь мой код. И как на примере со string также делай запись в файл.
Только переменные id,pos уже на готовые поменяй
То есть в файле должно быть:
PHP код:
19392|2044.7829589844|1330.333984375|11.421999931335|0.0|0.0|0.0 



Re: насчет с Scanf2 - AnGeL_KRAMER - 25.09.2013

хм мне нужно выгрузку)
Загрузку я примерно делаю так же

Что-бы я мог, в любое время открыть карту !


Re: насчет с Scanf2 - vovan199506 - 25.09.2013

Quote:
Originally Posted by AnGeL_KRAMER
Посмотреть сообщение
хм мне нужно выгрузку)
Загрузку я примерно делаю так же

Что-бы я мог, в любое время открыть карту !
Сохранение что ли?
PHP код:
format(string,sizeof(string),"%i|%f|%f|%f|%f|%f|%f\n",id,pos[0],pos[1],pos[2],pos[3],pos[4],pos[5]); 



Re: насчет с Scanf2 - AnGeL_KRAMER - 25.09.2013

PHP код:
stock LoadDynamicobject(playerid,listitem)
{
    new 
bigDialog[49];
    new 
string[800];
    
format(bigDialogsizeof bigDialog"maps/%s"titleFiles[playerid][listitem]);
    new 
RandomePos[8][64],FileStr[256],s[128],Filefile fopen(bigDialogio_read); printf"Прочитали названия 2 %s",bigDialog);
    if (
file)
    {
        
printf"читаем дальше 1 %s",file);
        
fread(fileFileStr);
        
split(FileStrRandomePos',');
        
printf"читаем дальше 2 %d",RandomePos);
           
CountObject strval(RandomePos[0]);
        for(new 
ii<CountObjecti++)
        {
            
printf"CreateObject('%d''%f''%f'%f'%f''%f''%f');",ObjectInfo[i][modelidfs], ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman], ObjectInfo[i][rXman], ObjectInfo[i][rYman], ObjectInfo[i][rZman]);
            
fread(fileFileStr);
            if (!
sscanf(string"p<\">'CreateObject('d''f''f'f'f''f''f''f''f''f');"ObjectInfo[i][modelidfs], ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman], ObjectInfo[i][rXman], ObjectInfo[i][rYman], ObjectInfo[i][rZman]))
            {
                
printf"Прочитали названия 4 %s",bigDialog);
            
                
ObjectInfo[i][objects] = CreateDynamicObject(ObjectInfo[i][modelidfs], ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman], ObjectInfo[i][rXman], ObjectInfo[i][rYman], ObjectInfo[i][rZman]);
                
format(s,256,"{527ac1}ID Объекта %d",ID);
                
printf"modelidfs = %d |Start %s | X - %f | Y - %f | Z - %f | Rx - %f | rY - %f | rZ - %f |",ObjectInfo[i][modelidfs],ObjectInfo[i][Start],ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman],ObjectInfo[i][rXman],ObjectInfo[i][rYman],ObjectInfo[i][rZman]);
            }
        }
    }
    
fclose(file);
    return 
1;

в общем вот мой код, думаю понятней будет)

А в файле

PHP код:
5
CreateObject
(18450, -1378.38, -2979.4345.92,   0.000.0090.00);
CreateObject(18450, -1378.37, -3058.6045.91,   0.000.0090.00);
CreateObject(18450, -1378.38, -3137.9845.89,   0.000.0090.00);
CreateObject(18450, -1378.37, -3217.3245.85,   0.000.0090.00);
CreateObject(18450, -1378.37, -3297.1845.82,   0.000.0090.00); 
Мне с этого кода нужно, прогружения объектов из файла, сразу же на сервер!


Re: насчет с Scanf2 - vovan199506 - 25.09.2013

PHP код:
for(new ii<CountObjecti++)
        {
            
fread(fileFileStr);
            
sscanf(string"p<|>ifffffffff"ObjectInfo[i][modelidfs], ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman], ObjectInfo[i][rXman], ObjectInfo[i][rYman], ObjectInfo[i][rZman]);
            
ObjectInfo[i][objects] = CreateDynamicObject(ObjectInfo[i][modelidfs], ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman], ObjectInfo[i][rXman], ObjectInfo[i][rYman], ObjectInfo[i][rZman]);
                
format(s,256,"{527ac1}ID Объекта %d",ID);
                
printf"modelidfs = %d |Start %s | X - %f | Y - %f | Z - %f | Rx - %f | rY - %f | rZ - %f |",ObjectInfo[i][modelidfs],ObjectInfo[i][Start],ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman],ObjectInfo[i][rXman],ObjectInfo[i][rYman],ObjectInfo[i][rZman]);
        } 
Пробуй так, я с файлами не очень хорошо умею работать. Если не поможет, то больше ни чем помочь не смогу.


Re: насчет с Scanf2 - AnGeL_KRAMER - 25.09.2013

Quote:
Originally Posted by vovan199506
Посмотреть сообщение
PHP код:
for(new ii<CountObjecti++)
        {
            
fread(fileFileStr);
            
sscanf(string"p<|>ifffffffff"ObjectInfo[i][modelidfs], ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman], ObjectInfo[i][rXman], ObjectInfo[i][rYman], ObjectInfo[i][rZman]);
            
ObjectInfo[i][objects] = CreateDynamicObject(ObjectInfo[i][modelidfs], ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman], ObjectInfo[i][rXman], ObjectInfo[i][rYman], ObjectInfo[i][rZman]);
                
format(s,256,"{527ac1}ID Объекта %d",ID);
                
printf"modelidfs = %d |Start %s | X - %f | Y - %f | Z - %f | Rx - %f | rY - %f | rZ - %f |",ObjectInfo[i][modelidfs],ObjectInfo[i][Start],ObjectInfo[i][Xman],ObjectInfo[i][Yman],ObjectInfo[i][Zman],ObjectInfo[i][rXman],ObjectInfo[i][rYman],ObjectInfo[i][rZman]);
        } 
Пробуй так, я с файлами не очень хорошо умею работать. Если не поможет, то больше ни чем помочь не смогу.
В ответ лог я получил такой

[13:20:44] Прочитали названия 2 maps/MazaFaka.cfg
[13:20:44] читаем дальше 1 (
[13:20:44] читаем дальше 2 32
[13:20:44] modelidfs = 0 |Start | X - 0.000000 | Y - 0.000000 | Z - 0.000000 | Rx - 0.000000 | rY - 0.000000 | rZ - 0.000000 |
[13:20:44] modelidfs = 0 |Start | X - 0.000000 | Y - 0.000000 | Z - 0.000000 | Rx - 0.000000 | rY - 0.000000 | rZ - 0.000000 |
[13:20:44] modelidfs = 0 |Start | X - 0.000000 | Y - 0.000000 | Z - 0.000000 | Rx - 0.000000 | rY - 0.000000 | rZ - 0.000000 |
[13:20:44] modelidfs = 0 |Start | X - 0.000000 | Y - 0.000000 | Z - 0.000000 | Rx - 0.000000 | rY - 0.000000 | rZ - 0.000000 |
[13:20:44] modelidfs = 0 |Start | X - 0.000000 | Y - 0.000000 | Z - 0.000000 | Rx - 0.000000 | rY - 0.000000 | rZ - 0.000000 |