Запись всех данных энтити в конфиг

x330122

Участник
Сообщения
357
Реакции
152
Как можно записать в файл все энтити созданные на карте и их значения например их позиция и другие значения для энтити.
Пример:
PHP:
{
"targetname" "lower_break"
"classname" "func_breakable"
"model" "*115"
}
{
"targetname" "upper_break"
"classname" "func_breakable"
"model" "*116"
}
{
"targetname" "frame"
"material" "0"
"spawnflags" "1"
"classname" "func_breakable"
"model" "*117"
}
{
"material" "9"
"spawnflags" "2049"
"targetname" "hole"
"classname" "func_breakable"
"model" "*140"
}
{
"script_targetname" "roof_middle02"
"targetname" "roof_middle02"
"spawnflags" "1"
"material" "9"
"classname" "func_breakable"
"model" "*120"
}
{
"script_targetname" "roof_upper08"
"targetname" "roof_upper08"
"spawnflags" "1"
"material" "8"
"classname" "func_breakable"
"origin" "-10346 -2736 4600"
"model" "*121"
}
{
"material" "8"
"spawnflags" "1"
"targetname" "roof_upper07"
"script_targetname" "roof_upper07"
"classname" "func_breakable"
"origin" "-10436 -2736 4600"
"model" "*122"
}
{
"material" "8"
"spawnflags" "1"
"targetname" "roof_upper06"
"script_targetname" "roof_upper06"
"classname" "func_breakable"
"origin" "-10432 -2896 4600"
"model" "*123"
}
{
"material" "8"
"targetname" "roof_upper05"
"spawnflags" "1"
"script_targetname" "roof_upper05"
"classname" "func_breakable"
"origin" "-10346 -2892 4600"
"model" "*124"
}
{
"script_targetname" "roof_middle01"
"targetname" "roof_middle01"
"spawnflags" "1"
"material" "9"
"classname" "func_breakable"
"model" "*125"
}
{
"material" "8"
"targetname" "roof_upper03"
"spawnflags" "1"
"script_targetname" "roof_upper03"
"classname" "func_breakable"
"origin" "-10346 -2832 4600"
"model" "*126"
}
{
"script_targetname" "roof_upper02"
"targetname" "roof_upper02"
"spawnflags" "1"
"material" "8"
"classname" "func_breakable"
"origin" "-10346 -2786 4600"
"model" "*127"
}
{
"material" "8"
"spawnflags" "1"
"targetname" "roof_upper04"
"script_targetname" "roof_upper04"
"classname" "func_breakable"
"origin" "-10428 -2836 4600"
"model" "*128"
}
{
"material" "8"
"spawnflags" "1"
"targetname" "roof_upper01"
"script_targetname" "roof_upper01"
"classname" "func_breakable"
"origin" "-10428 -2780 4600"
"model" "*129"
}
{
"classname" "misc_model_breakable"
"model" "models/map_objects/factory/catw2_b"
"spawnflags" "0"
"origin" "-10390 -2889 3992"
"angles" "0 0 180"
"modelscale" "8"
}
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
@Tetragromaton, я писал когда-то себе подобное что-то, когда искал инфу по карте и не было желания открывать её в хаммере.

Просто делаешь цикл по энтити от MaxClients+1 и до 2048 (точнее до GetMaxEntities()) и записываешь нужные параметры энтитей в текстовый файл.
 

x330122

Участник
Сообщения
357
Реакции
152
У меня только одно энтити сохраняется, а не все.
PHP:
if(hKeyValues.ImportFromFile(szPath))    // Загружаем из файла
{
  for(new i=1;i<= GetMaxEntities() ;i++){
        if(!IsValidEntity(i))
            continue;
        hKeyValues.SetString("classname", entmap);
        GetEntPropString(i, Prop_Data, "m_ModelName", model, 128);
        hKeyValues.SetString("model", model );
        i++;
    }  
}

Результ:
PHP:
"GlobalKey"
{
    "ClassName"        "prop_dynamic"
    "model"        "models/player/l.mdl"
}
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #4
@Tetragromaton, потому что перезаписываешь вечно.
Создавай подключи, и туда и пиши.
 
Сверху Снизу