Перейти к контенту

[SoC] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

Всем добрый вечер. Возникла большая проблема, с созданием smart_terrain в ТЧ 1.0004. Делал всё так, как описано в туторах.

 

Ставлю смарт на Кордоне, на АТП, его логика:

[smart_terrain]
type     = esc_killer
capacity = 7 

Дальше ставлю нпс. Группировка наёмники. Их логика:

[smart_terrains]
esc_killer = true 

Затем в файле gulag_escape.script прописываю работу:

 

 

if type == "esc_killer" then
t = { section = "logic@esc_killer_patrol1",
idle = 0,
prior = 8,
state = {0},
online = true,
in_rest = "", out_rest = "esc_killer_out_rest",
}
table.insert(sj, t)
t = { section = "logic@esc_killer_patrol2",
idle = 0,
prior = 8,
state = {0},
online = true,
in_rest = "", out_rest = "esc_killer_out_rest",
}
table.insert(sj, t)
t = { section = "logic@esc_killer_patrol3",
idle = 0,
prior = 8,
state = {0},
online = true,
in_rest = "", out_rest = "esc_killer_out_rest",
}
table.insert(sj, t)
t = { section = "logic@esc_killer_patrol4",
idle = 0,
prior = 8,
state = {0},
online = true,
in_rest = "", out_rest = "esc_killer_out_rest",
}
table.insert(sj, t)
t = { section = "logic@esc_killer_patrol5",
idle = 0,
prior = 8,
state = {0},
online = true,
in_rest = "", out_rest = "esc_killer_out_rest",
}
table.insert(sj, t)
t = { section = "logic@esc_killer_patrol0",
idle = 0,
prior = 8,
state = {0},
online = true,
in_rest = "", out_rest = "esc_killer_out_rest",
}
table.insert(sj, t)
t = { section = "logic@esc_killer_leader_ward",
idle = 0,
prior = 8,
state = {0},
online = true,
in_rest = "", out_rest = "esc_killer_out_rest"
}
table.insert(sj, t)
end

 

 

Потом ещё одна функция, в этом же файле:

if type == "esc_killer" then
return function(gulag)
return 0
end
end

И в конце ещё:

 

if gulag_type == "esc_killer" then
  return npc_community == "killer"
    end

Потом логика в файле gulag_escape.ltx (путь gamedata\config\misc\gulag_escape.ltx):

 

[logic@esc_killer_patrol1]
active = patrol@esc_killer1
 
[patrol@esc_killer1]
path_walk = 01_walk
 
;--------------------------------------------------
 
[logic@esc_killer_patrol2]
active = patrol@esc_killer2
 
[patrol@esc_killer2]
path_walk = 02_walk
 
;--------------------------------------------------
 
[logic@esc_killer_patrol3]
active = patrol@esc_killer3
 
[patrol@esc_killer3]
path_walk = 03_walk
 
;--------------------------------------------------
 
[logic@esc_killer_patrol4]
active = patrol@esc_killer4
 
[patrol@esc_killer4]
path_walk = 04_walk
 
;--------------------------------------------------
 
[logic@esc_killer_patrol5]
active = walker@esc_killer5
 
[walker@esc_killer5]
path_walk = 05_walk
 
;--------------------------------------------------
 
[logic@esc_killer_patrol0]
active = patrol@esc_killer0
 
[patrol@esc_killer0]
path_walk = 00_walk
 
;--------------------------------------------------
 
[logic@esc_killer_leader_ward]
active = walker@esc_killer_leader_ward
 
[walker@esc_killer_leader_ward]
path_walk = mirovoy_walk
path_look = mirovoy_look

 

 

Ну и соответственно ставлю точки путей. Их имена, как сказано в туторе, с префиксом esc_killer.
 
И последнее, в smart_terrain_presets.ltx в поле [l01_escape] дописываю killer = novice, experienced, veteran, master
 
Но нпс просто разходятся кто куда. Кто может объяснить, может созданный смарт нужно ещё регистрировать где-то? В чем проблема?
Изменено пользователем dgonny

Поделиться этим сообщением


Ссылка на сообщение

К моему посту о смарте. --> http://www.amk-team.ru/forum/index.php?showtopic=5525&p=979489

 

При том, что в самом смарте, параметр capacity = задаёт кол-во людей, принадлежащих к смарту. То есть кол-во должно быть либо меньше, либо равно, но не больше. После всех проверок смарта, я просто изменил число на большее, но игра всё равно спокойно загрузилась. Из этого можно сделать вывод, что смарт просто мёртв и ни на что не реагирует...


Наконец я разобрался в чем проблема, но пока не смог найти решение.  После того, как я добавляю свою функцию в gulag_escape.script, на Кордоне перестают работать вообще все смарты...

Поделиться этим сообщением


Ссылка на сообщение

Всем привет, возник такой вопрос, платформа ТЧ 1.0004. При убийстве всех бандитов на АТП, задание выполняется, то есть где-то выдаётся инфопоршень или выполняется функция. Инфопоршни можно выдать, прописав в логику неписям секцию [death], а потом, в bind_stalker на апдэйт повесить функцию, где при определённом наборе инфопоршней, выдаётся основной и задание засчитывается. Но разрабы делали другим путём, более оптимальным, кто подскажет, как они это сделали, к примеру, на АТП?

Поделиться этим сообщением


Ссылка на сообщение
Добрый день всем. Платформа ТЧ 1.0004. При загрузке сохранений, как и через меню, как и через консоль, и через F7, происходит вылет:

 

Expression    : child
Function      : xrServer::Perform_destroy
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_sls_clear.cpp
Line          : 22
Description   : child registered but not found [1394]

 

Так же, когда выхожу из игры (или же нажимаю q или же просто - выйти в windows) она при выходе вылетает, с этим же логом. Слышал что ошибка из-за не правильной логики в custom_data, но при игре всё работает, и происходит всё только на одной локации - свалка. Я переделал её полностью (имею ввиду all spawn) все смарты и нпс новые. Можно ли узнать, хотя бы из-за какого спавн объекта происходит вылет?

Поделиться этим сообщением


Ссылка на сообщение

Всем привет. Платформа ТЧ 1.0004. Вопрос возник, как выдать инфопоршень, при уничтожении всех нпс из определённого гулака?

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...