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

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


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

@rezzerv,  заедание ствола и "торможение" НПС (без сбоя логики) может  происходить из-за вмешательств в
PARENT_ID / CHILD REGISTERED. 
При этом, в логе можно наблюдать такое:

sv !ownership (entity already has parent) new_parent [0][actor:single_player] id_parent [0][actor:single_player] id_entity [173][wpn_bm16:wpn_bm160173] [19354]


 

  • Не согласен 1

☭ Белый Барс ☭

Ссылка на комментарий
И в 2215 тоже самое, поэтому настраивать нужно глядя на север. Вот строка из мануала по настройке: 

Добавлю еще, что в билде 2232 вообще куда не смотри бессмысленно настраивать направление вылета гильзы. Часа 3 побился над настройками в билде и 10 минут в чистом ТЧ. А такого мануала в оружейной теме не нашел, нашел один, который сам дополнял, но там ни слова про это не сказано. Гугла также не давала ответов, общая информация, да и зачем пережевывать элементарные вещи, а вся проблема, что билд быстрее загружается, чем чистый ТЧ, поэтому думал 2 зайцев сразу поймаю с настройками всего в билде. Жаль потраченного времени. Позже в оружейной теме дополню этот факт про билд/-ы и настройку...

Изменено пользователем ed_rez

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

Ссылка на комментарий

а проверка идет какой-то функцией через апдейт в бинде?

Вернее всего, я не помню. Посмотри, откуда вызов функции в task_manager идёт.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий

 

 

три непися по очереди говорить должны, и не с гг а меж собой, но с реакцией на гг

Вот почему еще я и предложил тебе схему ремарк...В ней можно указать sid персонажа, с которым говорит непись. То бишь это покрасивей получится, чем в волкерах.

Ссылка на комментарий

Всем привет, пытаюсь сделать скрипт динамической генерации логики для НПС но наткнулся на проблему , не нашел способа зарегестрировать созданный скриптом вейтпоинт для прописанной в кастом дату логики непися которая тоже генерируется скриптом:
собственно вопрос как скриптом задать вейпоинт неписю ?
для записи в кастомдату использую amk.script

Ссылка на комментарий

Всем добрый вечер. Возникла большая проблема, с созданием 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
Ссылка на комментарий

Проблемка такого плана. Спавню предметы через СДК, и на одном оружии (БМ-16) наблюдаю такую картину:
 
В секцию олл.спавна этого оружия, после компиляции спавна, в его свойства (; cse_alife_item_weapon properties) добавляется очень много всего лишнего, например это:

 

upd:num_items = 0xff
upd:position = 99.8224868774414, -5.19579172134399, 51.510627746582
upd:quaternion = -1, -1, 1, -1
upd:angular_velocity = -1, -1, -1
upd:linear_velocity = 0.00392156862745097, 0.00392156862745097, 0.00392156862745097
upd:condition = 1
upd:ammo_elapsed = 2
upd:weapon_zoom = 255
upd:ammo_ids = 

 

 

 

Видно этот "мусор" только когда разбираешь олл.спавн, в СДК ничего не трогаю и не настраиваю, появляется само откуда-то. И все бы ничего, но из-за этих параметров отказывается грузиться локация, где лежит это оружие. Игра падает с логом на отсутствие секции, при чем либо секция именуется кракозябрами, либо пустотой. Если я очищаю все это, оставляя только состояние, допустим, то игра спокойно грузится и все спавнится работает. В общем что это за добровольные настройки и как от них избавиться? При чем тут "скорость", "зум" и прочие новые параметры? Откуда компилятор их считывает, добавляя в олл.спавн? Конфиг ствола посмотрел, вроде ничего там не накручено лишнего (Думал, что оттуда считывается). Спавн собираю часто, и каждый раз декомпилировать его, убирая эти строчки, очень неудобно.

Изменено пользователем HellRatz
Ссылка на комментарий

HellRatz,

я бы не сказал, что это мусор! 

К примеру, мне важно заспавнить "убитый", к примеру, БМ-16, задать сколько патронов будет уже в обрезе. Очень кстати удобные параметры.

upd:condition = 1 ; коэффициент состояния
upd:ammo_elapsed = 2 ; количество патронов в оружии

Остальное пока не нужно было. 

Изменено пользователем ed_rez

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

Ссылка на комментарий

NOapostoL вылета абсолютно нет игра в норме - я вырезал все оригинальные стволы но нпс заедали и до этого . игра и все ведет себя нормально мутанты тоже но вот нпс при тревоге с ужасной скоростью двигаютца на одном месте часто в сидячем состоянии - аномация там как когда непись подбирает хабар но эта анимация двигаетца с ужасающей скоростью  - перезагрузки не спасают. и при попытке достать некоторые стволы лихорадочно достаютца по тысяче раз причем не до конца и все начинаетца сначала. если у них отобрать ствол то они пытаюца убежать при тревоге но торчат стоя на одном месте - как я понимаю ошибка в мотиваторе- да и я вставил вырезанные анимации не вставленые разработчиками - или корявая локация и что то не так написано? :wub:

Ссылка на комментарий

@Wlad777, подбор предметов зависит от радиуса, а не от отсутствия препятствия. Это будет бесить еще многих, причем всегда.

 

ПС: Можно применить логику по принципу ЗП тайников и привязать к замку. Тоесть пока замок не открыт, спавн не происходит, как только открыли происходит спавн. Если предметы не взяты, а дверь закрывается на замок, то предметы надо удалить, при повторном открывании - опять спавн. Желательно на каждый предмет делать ид тайника, что бы не было белеберды. Есле же предмет забран, то и спавн перкращается. Далее может возникнуть несуразица, с добавлением на полку тайника своего предмета, а это я пока еще не продумал как обосновать.

Изменено пользователем Дизель

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий

@rezzerv,  в приведенном мной примере вылета и не будет. Во вторых, если неправильно прописаны скрипты анимаций, то они могут приводить к зацикливанию. В случае зацикливания - нпс не может перейти в другой режим, не отыграв зацикленный блок анимации. Мотиватор и логика так же могут быть причиной. Трудно сказать что-то конкретно, надо проверять последовательно все возможные причины.

☭ Белый Барс ☭

Ссылка на комментарий
@ed_rez,так я же и сказал, что я оставляю кондишн (состояние), или количество патронов в магазине, с остальным игра вылетает. И не понятно откуда берутся эти параметры.
Ссылка на комментарий

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

 

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


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

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

 

У меня точно такая же фигня была. Мои сообщения на предыдущей странице (727-728). В итоге я плюнул и хорошенько подгорев заспавнил самым обычным образом НПС. Потом снова вернусь к смарту.

Изменено пользователем Возрождённый

Работы butcher_512. Все ссылки пропали, поэтому ложу свои сюда, чтобы никогда не потерять:

Customization Pack 0.83 [Beta4] - SoC - Тема модификации.

Customization Pack CoP [Beta]   - CoP - Тема модификации.

Ссылка на комментарий

Можно применить логику по принципу ЗП тайников и привязать к замку. Тоесть пока замок не открыт, спавн не происходит, как только открыли происходит спавн. Если предметы не взяты, а дверь закрывается на замок, то предметы надо удалить, при повторном открывании - опять спавн. Желательно на каждый предмет делать ид тайника, что бы не было белеберды. Есле же предмет забран, то и спавн перкращается. Далее может возникнуть несуразица, с добавлением на полку тайника своего предмета, а это я пока еще не продумал как обосновать.

 

Что-то громоздко, и не пойдёт визуально, хотя бы по той причине, что даже в чистом ТЧ лежат вещи в шкафах со стеклом в дверцах и их видно.

 

А вот сейчас на форуме же каждый второй - эксперт по исходникам и всё делает в движке. ;)

 

Нет ли возможности добавить в движок к pickup_radius какой-нибудь pickup_visibility чтоли?

---------------------------------

www.amk-zone.de

Ссылка на комментарий

@Дизель, чтоб было видно предметы и чтоб их можно было брать после спавна - это надо делать, как с той же бочкой. Либо подмена модели, с удалением предыдущей (которую нельзя брать), либо переводить как-то схемой. Если так, то лучше сразу делать все наименование необходимых предметов.

☭ Белый Барс ☭

Ссылка на комментарий

@FFx001, кроме как через all.spawn, way-point'ы поставить на карту нельзя.

 

@dgonny, проверь на синтаксис скрипт, в который писал свои функции, раз виснут все гулаги на локации. А вообще для создания смартов я в основном использую тип general_lager (general_lair) - если в смарте не нужны какие-то эксклюзивные нпс или схемы. Там всё намного проще и быстрей, можно за день локу заселить ;)

И ещё рекомендую сделать рабочей (с выводом в лог и гарантированным крашем) функцию abort в _g.script, вернее всего тогда "вылезет" причина зависания смартов.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий

Интересно, а чем у нас контролеры такие особенные, что виснут наглухо при npc:add_restrictions() (ну или npc:remove_restrictions()), которые остальные монстры переваривают совершенно нормально ?

Ссылка на комментарий

Подскажите, что не так. Делал квест в общем. Там при взятии задания должен был спавнится труп. Но после того, как возьмешь квест, через секунду вылет:

 

Expression : fatal error


Function : CScriptEngine::lua_error
File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...r. - shadow of chernobyl\gamedata\scripts\mod.script:21: attempt to call method 'object' (a nil value)

 

 

А вот функция спавна трупа:

 

function spawn_sky ()
local obj= alife():create("mar_dead_sky",vector():set(-26.39338684082, 17.709087371826, 267.31567382813),128980,3411)
obj:on_death()
end

 

 

Что не так? Почему вылет? Вроде как правильно все ведь...

Работы butcher_512. Все ссылки пропали, поэтому ложу свои сюда, чтобы никогда не потерять:

Customization Pack 0.83 [Beta4] - SoC - Тема модификации.

Customization Pack CoP [Beta]   - CoP - Тема модификации.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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