Это популярное сообщение. Dennis_Chikin 3 665 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-847221
Artos 99 Опубликовано 14 Апреля 2012 Поделиться Опубликовано 14 Апреля 2012 (изменено) Roman82: ...Перерыл все моды, нигде подобной проверки не нашел... ... И главное, ни в одном моде я не нашел проверок на боеприпасы. Вот что странно. ... Матчасть я выучил 5 лет назад. Как видно рыл в модах пятилетней давности, когда они только появлялись ... и были единичны и в пару килобайт Глупо, подозревать, что подобных проверок нет в модах: метания гранат (от xStream), в схеме стрельбы неписями из подствольников и в схеме менеджера оружия. Не говори глупости! В любом мало-мальски глобальном моде таких проверок море ... Странно не отсутствие таких проверок в модах и в оригинальной игре, они там есть и у всех работают, а то, что именно у тебя не работает. Вот и думай, почему же у всех работает, а только у тебя отказывается ... А вот это: Убираю прекондишены на гранату и боеприпасы, диалог начинает работать.Скорее говорит об ошибке скрипта. Если бы потрудился бы последовать совету ColR_iT и расшифровал бы более понятн что же подразумеваешь под "работает" - возможно было бы и более конкретно что-то сказать. И, видно понятие лога в твоих "учениях" матчасти отсутствовало ... а то бы давно бы вывел в лог нужную информацию и не гадал бы на кофейной гуще. Изменено 14 Апреля 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691417
ColR_iT 171 Опубликовано 14 Апреля 2012 Поделиться Опубликовано 14 Апреля 2012 Roman82, только что проверил - всё работает! Вот содержимое моего файла: function have_n_items(section,number) if number == nil then number = 1 end local actor = db.actor if actor then local cnt=0 actor:iterate_inventory(function (dummy, item) if item:section()==section then cnt=cnt+1 end end, nil) return cnt>=number end return false end function have_1_medkit() if have_n_items("medkit_army",1) then log1("--Have medkit") else log1("!!Not have medkit") end end function have_2_tushenka() if have_n_items("conserva",2) then log1("--Have two conserva") else log1("!!Not have conserva") end end function have_2_bread() if have_n_items("bread",2) then log1("--Have two bread") else log1("!!Not have bread") end end function have_ammo() if have_n_items("ammo_5.45x39_ap",2) then log1("--Have two ammo") else log1("!!Not have ammo") end end function have_grenade() if have_n_items("grenade_rgd5",2) then log1("--Have two grenade") else log1("!!Not have grenade") end end function check_all () have_1_medkit() have_2_tushenka() have_2_bread() have_ammo() have_grenade() end Функция log1 выводит в консоль текст в скобках и при вызове функции check_all из диалога, я в консоли увидел пять строк: Have medkit Have two conserva Have two bread Have two ammo Have two grenade Так что делай выводы. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691422
Roman82 4 Опубликовано 14 Апреля 2012 Поделиться Опубликовано 14 Апреля 2012 (изменено) ColR_iT, Artos Друзья, дело в том что в консоле и у меня все работает! А в диалоге нет. А теперь, самое интересное. Знаете в чем было дело? В схеме патроны и гранаты на поясе! Как я сразу не допер... К ним же там фэйки добавляются. Отключил схему, все заработало. Такие вот пироги. Ради бога прошу прощения за все это. Кто бы мог подумать. Спасибо большое за помощь. Изменено 14 Апреля 2012 пользователем Roman82 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691437
Zander_driver 10 358 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 Вобщем, созрел вопрос, в той области с которой я раньше дела не имел, а пришлось. С чем работаю: ТЧ 1,0004 + Пак локаций из "Сообщества мапперов", последняя из выложенных в их шапке версий, на чистую игру (т.е. не АМК) В чем состоит цель: сделать на предбаннике стоянку новой группировки, Военных нато. Группировку сделал, прописал как полагается, для теста зачислил в нее Волка - все нормально, Волк стал натовцем и пошел гулять из деревни т.к. в деревне работы для него такого нету. Теперь, создаю смарт-террейн и респавнер на предбаннике, дописываю новый гулаг в скрипт, и ничего не происходит - на предбаннике никто не появляется. [11625] ; cse_abstract properties section_name = smart_terrain name = predb_mnato_smart_terrain position = -550.030944824219,14.6607055664063,286.763793945313 direction = 0,0,0 ; cse_alife_object properties game_vertex_id = 3881 distance = 9.09999942779541 level_vertex_id = 105016 custom_data = <<END [smart_terrain] type = predb_mnato_smart_terrain capacity = 8 END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 20.5595703125 ; cse_alife_space_restrictor properties restrictor_type = 3 ; se_smart_terrain properties [11626] ; cse_abstract properties section_name = respawn name = predb_respawn_military_nato_post position = -550.030944824219,14.6607055664063,286.763793945313 direction = 0,0,0 ; cse_alife_object properties game_vertex_id = 3881 distance = 10 level_vertex_id = 105016 object_flags = 0xffffff3e custom_data = <<END [respawn] respawn_section = prb_milnato_respawn_1 max_count = 8 min_count = 4 max_spawn = 2 idle_spawn = medium conditions = 100 END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 1 ; cse_alife_space_restrictor properties restrictor_type = 0 ; se_respawn properties [predb_mnato_smart_terrain_kamp] points = p0 p0:name = name00 p0:position = -559.256103515625,14.6880102157593,282.203582763672 p0:game_vertex_id = 3881 p0:level_vertex_id = 92380 [predb_mnato_smart_terrain_walker_1_walk] points = p0,p1,p2 p0:name = name00 p0:position = -557.199768066406,14.3911476135254,284.340942382813 p0:game_vertex_id = 3881 p0:level_vertex_id = 94401 p0:links = p1(1) p1:name = name01 p1:position = -538.838684082031,17.3168258666992,290.285552978516 p1:game_vertex_id = 3881 p1:level_vertex_id = 121121 p1:links = p2(1) p2:name = name02 p2:position = -552.039306640625,14.2716541290283,307.063873291016 p2:game_vertex_id = 3881 p2:level_vertex_id = 101861 p2:links = p0(1) [predb_mnato_smart_terrain_walker_2_walk] points = p0,p1,p2 p0:name = name00 p0:position = -566.4130859375,14.8234539031982,262.069152832031 p0:game_vertex_id = 3880 p0:level_vertex_id = 80983 p0:links = p1(1) p1:name = name01 p1:position = -554.135864257813,15.1366109848022,262.086944580078 p1:game_vertex_id = 3880 p1:level_vertex_id = 98577 p1:links = p2(1) p2:name = name02 p2:position = -553.250915527344,14.7384147644043,272.294494628906 p2:game_vertex_id = 3881 p2:level_vertex_id = 100733 p2:links = p0(1) if type == "predb_mnato_smart_terrain" then for i = 1, 6 do t = { section = "logic@predb_mnato_smart_terrain_kamp", idle = 0, prior = 8-i, state = {0,1}, in_rest = "", out_rest = "" } table.insert(sj, t) end for i = 1, 2 do t = { section = "logic@predb_mnato_smart_terrain_walker_"..i, idle = 0, prior = 9-i, state = {0,1}, in_rest = "", out_rest = "" } table.insert(sj, t) end end if type == "predb_mnato_smart_terrain" then return function (gulag) return 0 end end -------------------------------------------------------------------------- -- Dynamic ltx -------------------------------------------------------------------------- function load_ltx(gname, type) if type == "predb_mnato_smart_terrain" then ltx = "[logic@predb_mnato_smart_terrain_kamp]\n".. "active = kamp@predb_mnato_smart_terrain\n".. "[kamp@predb_mnato_smart_terrain]\n".. "center_point = kamp\n".. "[logic@predb_mnato_smart_terrain_walker_1]\n".. "active = walker_1@predb_mnato_smart_terrain\n".. "[walker@predb_mnato_smart_terrain_1]\n".. "path_walk = walk_1\n".. "[logic@predb_mnato_smart_terrain_walker_2]\n".. "active = walker_2@predb_mnato_smart_terrain\n".. "[walker@predb_mnato_smart_terrain_2]\n".. "path_walk = walk_2\n" return ltx end return nil end if gulag_type == "predb_mnato_smart_terrain" then return npc_community == "military_nato" end Где тут искать ошибку - не могу взять в толк. Подскажите кто разбирается в данном вопросе. Если я не всю необходимую информацию привел - поправьте. голова уже кругом идет, мог и забыть что-то, все что требуется выложу. Заранее спасибо. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил. Я понял что моя старая подпись что-то нарушает. Удалил все ссылки. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691500
Artos 99 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 Zander_driver 1. Появиться на локации у тебя кто-нибудь должен! Твой респавнер на локации предбанника обязан при старте игры заспавнить как минимум 4-х неписей и далее отреспавнивать по паре ... А вот останутся ли они в игре и на локации - это уже иной вопрос. Поставь вывод в лог строки при создании этим респавнером неписей и смотри - получат ли они работу или будут удалены. 2. Очень странно, что ты засунул работы для гулага на одной локации в скрипт работ для другой (gulag_escape.script). В чем заключается такой "экономный" смысл, когда ничего не мешает и везде именно так и делается писать работы и пр. параметры гулагов именно в скрипт работ для конкретной локации, регистрируя его в xr_gulag.script. 3. Заодно не мешает показать начало xr_gulag.script, где регистрируется и собственно новая локация в табличке level_groups. Если не зарегистрирована локация то ... откуда твои респавнящиеся неписи будут получать свойство squad? Не уверен что дефолтный 0 даст возможность работать именно в твоем гулаге. "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691514
Zander_driver 10 358 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 (изменено) Вынес гулаг в отдельный файл local t = {} local ltx = "" function load_job(sj, gname, type, squad, groups) if type == "predb_mnato_smart_terrain" then for i = 1, 6 do t = { section = "logic@predb_mnato_smart_terrain_kamp", idle = 0, prior = 8-i, state = {0,1}, in_rest = "", out_rest = "" } table.insert(sj, t) end for i = 1, 2 do t = { section = "logic@predb_mnato_smart_terrain_walker_"..i, idle = 0, prior = 9-i, state = {0,1}, in_rest = "", out_rest = "" } table.insert(sj, t) end end end function load_states(gname, type) return 0 end --'------------------------------------------------------------------------ --' Dynamic ltx --'------------------------------------------------------------------------ function load_ltx(gname, type) if type == "predb_mnato_smart_terrain" then local ltx = "[logic@predb_mnato_smart_terrain_kamp]\n".. "active = kamp@predb_mnato_smart_terrain\n".. "[kamp@predb_mnato_smart_terrain]\n".. "center_point = kamp\n".. "[logic@predb_mnato_smart_terrain_walker_1]\n".. "active = walker_1@predb_mnato_smart_terrain\n".. "[walker@predb_mnato_smart_terrain_1]\n".. "path_walk = walk_1\n".. "[logic@predb_mnato_smart_terrain_walker_2]\n".. "active = walker_2@predb_mnato_smart_terrain\n".. "[walker@predb_mnato_smart_terrain_2]\n".. "path_walk = walk_2\n" return ltx end return nil end function checkStalker(npc_community, gulag_type, npc_rank, se_obj) if gulag_type == "predb_mnato_smart_terrain" then return npc_community == "military_nato" end news_manager.send_tip(db.actor, "check_stalker", nil, nil, 12000) end function checkMonster(npc_community, gulag_type) return false end В gulag_escape.script соответственно все изменения закомментил, и вот level_gulags = {gulag_general, gulag_escape, gulag_garbage, gulag_agroprom, gulag_agroprom_underground, gulag_dark_valley, gulag_labx18, gulag_bar, gulag_military, gulag_radar, gulag_radar_u, gulag_yantar, gulag_pripyat, gulag_kishka, gulag_sarcofag, gulag_deadcity, gulag_predbannik} level_groups = {l01_escape = 1, l02_garbage = 2, l03_agroprom = 3, l03u_agr_underground = 4, l04_darkvalley = 5, l04u_labx18 = 6, l05_bar = 7, l06_rostok = 8, l07_military = 9, l08_yantar = 10, l08u_brainlab = 11, l10_radar = 12, l10u_bunker = 13, l11_pripyat = 14, l12_stancia = 15, l12u_sarcofag = 16, l12u_control_monolith = 17, l12_stancia_2 = 18, predbannik = 19} local gulag_tasks_file_name = "misc\\gulag_tasks.ltx" local gulag_tasks_ltx = ini_file( gulag_tasks_file_name ) local job_position_threshold = 120 --'50 -- расстояние до места работы при котором персонаж в онлайне считается достигшим места работы local job_idle_after_death = 600 -- в течении такого периода времени после смерти персонажа его работа будет недоступна idle_nil = nil idle_once = -1 idle_none = -2 local path_fields = { "path_walk", "path_main", "path_home", "center_point" } ----------------------------------------------------------------------- class "gulag" -- конструктор function gulag:__init(smrttrn, type, squad, groups, npc_info, capacity) self.smrttrn = smrttrn self.name = smrttrn:name() self.type = type self.squad = squad self.groups = groups or {} self.npc_info = npc_info self.capacity = capacity -- общая ёмкость гулага -- self.capacity_non_exclusive - ёмкость гулага для неэксклюзивных персонажей self.population = 0 -- Население гулага self.population_comed = 0 -- Уже пришедшее население гулага self.population_non_exclusive = 0 -- Неэксклюзивное население self.Object = {} -- объекты по id. Значения: nil-нету такого, true-есть в офлайне, game_object-есть в онлайн self.Object_begin_job = {} -- по id. true/nil достиг ли объект места своей работы self.Object_didnt_begin_job = {} -- по id. начинал ли объект хотя бы раз любую работу с момента добавления под смарт self.ObjectJob = {} -- по id. номер работы для каждого персонажа self.JobLoaded = {} -- для каждой работы загруженные из save данные self.Job_avail_in_state = nil self.state = 0 self.stateBegin = nil self.casualities = 0 end -- загрузка работ function gulag:load_jobs() self.Job = {} -- работы self.Job_avail_in_state_0 = {} gulag_tasks.loadJob( self.Job, self.name, self.type, self.squad, self.groups, self ) self:init_ltx( self.name, self.type ) table.sort( self.Job, function(a,b) return a.prior > b.prior end ) self:prepare_jobs_for_new_state() local capacity = 0 for i, job in ipairs( self.Job ) do if self:job_exists_in_state_0( job ) then table.insert( self.Job_avail_in_state_0, job ) capacity = capacity + 1 end if type( job.online ) == "string" then job.online_condlist = job.online job.online = xr_logic.parse_condlist( self.smrttrn, "gulag:setup_job_online", "job_online", job.online_condlist ) end end self.capacity = math.min( capacity, self.capacity ) self.capacity_non_exclusive = self.capacity -- printf("LOAD JOBS %s", tostring(self.name)) -- DEBUG -- self:validate_jobs() end -- проверки правильности набора работ. -- а) в любом состоянии кол-во 100-но доступных работ должно быть >= ёмкости смарта function gulag:validate_jobs() local jobs_avail_in_states = {} -- а) for i, job in ipairs( self.Job ) do if job.predicate == nil and job.idle == 0 and job.timeout == nil and job.fill_idle == nil then for j, state in ipairs( job.state ) do jobs_avail_in_states[state] = (jobs_avail_in_states[state] or 0) + 1 end end end for i, v in ipairs( jobs_avail_in_states ) do if v < self.capacity then print_table( self.Job ) abort( "[smart_terrain %s] type=%s state=%d capacity=%d: too few absolutely available jobs", self.name, self.type, i, self.capacity ) end end end -- подготовка гулага к работе function gulag:initialize() self.ObjectJobPathName = {} --' по id. имя патрульного пути места работы персонажа self.restrictors = {} --' по id. назначенные гулагом рестрикторы для каждого персонажа self:prepare_jobs() self.calculateStates = gulag_tasks.loadStates( self.name, self.type ) local ini = self.smrttrn:spawn_ini() local sect = "smart_terrain" if not ini:section_exist( sect ) then sect = "gulag1" end self.state_switch_0 = xr_logic.parse_condlist( self.smrttrn, "gulag1", "switch_0", utils.cfg_get_string(ini, sect, "switch_0", self.smrttrn, false, "", "") ) self.state_switch_1 = xr_logic.parse_condlist( self.smrttrn, "gulag1", "switch_1", utils.cfg_get_string(ini, sect, "switch_1", self.smrttrn, false, "", "") ) self.JobLoaded = nil end -- подготовить работы. -- подготовить данные о местоположении каждой работы; о объекте, который на ней занят. -- подсчитать ёмкость = min(кол-во работ в 0 состоянии, поле capacity в custom data) function gulag:prepare_jobs() local ptrl, path_name local job_loaded local empty_table = {} for i, job in ipairs( self.Job ) do job.num = i path_name = self:get_job_path_name( job ) ptrl = patrol( path_name ) job.path_name = path_name job.game_vertex_id = ptrl:game_vertex_id( 0 ) job.level_id = game_graph():vertex(job.game_vertex_id):level_id() job.position = ptrl:point( 0 ) job_loaded = self.JobLoaded[i] or empty_table job.begin = job_loaded.begin job.fill_idle = job_loaded.fill_idle job.idle_after_death_end = job_loaded.idle_after_death_end end local job for obj_id, jobN in pairs( self.ObjectJob ) do job = self.Job[jobN] job.object = obj_id self.ObjectJobPathName[obj_id] = job.path_name end end Я тут менял только первые две таблицы - где тут что еще изменить надо, не вижу... все последующее без изменений осталось. В итоге этих действий - при начале новой игры (точнее при попытке) вылет FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: error in error handling stack trace: Поставь вывод в лог строки при создании этим респавнером неписейА кстати как это сделать? Разве, используя данные респавнера, сам спавн производит скрипт? Я думал что раз в алл-спавне прописано, то этим движок занимается... Пара уточнений... Уйти своим ходом заспавненные нпс не могли, если они были. В этом паке тестовый левел-чейнджер почти от порога Сидоровича переносит на предбанник, я его настроил так чтобы переносил именно туда где должен располагаться новый гулаг. И еще одно - на локации предбанника изначально бродит некоторое количество неписей, но они все относятся к группировке одиночки. Соотв-но, места в гулаге занимать не должны, и не занимают, бродят вдалеке не проявляя интереса к этому месту. Но самих нпс более десятка. Это может как-то влиять? Изменено 15 Апреля 2012 пользователем Zander_driver Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил. Я понял что моя старая подпись что-то нарушает. Удалил все ссылки. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691518
Artos 99 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 Zander_driver, перебирайся с подобными ковыряниями и гданиями в соответствующий топик "[soC] Ковыряемся в файлах", т.к. к скрипам твои проблемы имеют самое последнее отношение. Там же (и в этом топике) почитай уже понаписанное про респавнеры. Вообще советую вначале подучить матчасть по статьям создания смартов/гулагов и потренироваться на каком-нибудь простеньком на том же Кордоне, а не замахиваться на все новое (локация+смат+гулаг+респавн+группировка+...), тем более делаешь все методом "тыка" и "в темную" (без инфы в логах). Если заглянешь в se_respawn.script, то даже по комментам разрабов игры и закомменированным строкам вывода в лог можно многое понять (было бы желание). Сам респавнер действительно спавнится движком по твоей инфе из алл.спавно, но с какого такого ... респавном неписей движек должен заниматься? Не путай переходы для ГГ с "переходами" для неписей. Тебе скорее всего и с этим еще придется повозиться ... но это уже потом, а пока - неписи НЕ используют переходов по которым ходит актор. Ну и как с респавнером, поставив вывод в лог в smart_terrain.script ты сможешь не гадать, а видеть идет/пришел/начал работу и сколько таких в твоем гулаге. И если нет таких - разбирайся, почему же твой гулаг не принимает на работу. Что мешает "ручками" заспавнить подходящих неписей и отследить - идут ли они в гулаг или нет и почему? "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691532
Zander_driver 10 358 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 Вы меня не так поняли. Я прекрасно знаю что переходы для ГГ и переходы для неписей - не одно и то же. Я говорил о том что своим ходом они не могли оттуда уйти, т.к. я в очень короткое время сам туда прибегаю. Вот и все. Засим, отправляюсь заниматься воплощением того что вы мне посоветовали, спасибо) надеюсь переползать в ковырялки с последующими вопросами мне уже не придется, и все благополучно разрешится. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил. Я понял что моя старая подпись что-то нарушает. Удалил все ссылки. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691542
wikreznow 0 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 Повторюсь - Возможно, ли убрать свет от ламп на статике при помощи all.spawn, то есть источник света удаляется, а освещение вокруг него остается, хочу полностью удалить освещение от ламп. И еще одно можете ли привести пример спавна ветряка (ветрогенератор) через all.spawn как в «Истории Прибоя» или «Paradise Lost beta» просмотрел весь all.spawn ИП так и не нашел как заспавнить, если спавнить просто модель вылетает и жалуется на анимацию.Заранее благодарен. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691554
Clayman 105 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 Возмржно я и не прав, но насколько я понимаю - для статики освещение просчитывается на этапе компиляции локации от статических источников света и потом его никак не уберешь. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691557
FANAT 117 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 В некотрых оружейных конфигах есть эти параметры, hit_probability_gd_novice = 0.80 hit_probability_gd_stalker = 0.85 hit_probability_gd_veteran = 0.90 hit_probability_gd_master = 0.95 но, не понятно, что именно они означают, где то стоят такие коменты, hit_probability_gd_novice = 0.80 ; точность стрельбы, hit_probability_gd_stalker = 0.85 ; когда оружие в руках НПС hit_probability_gd_veteran = 0.90 ; в зависимости от уровня hit_probability_gd_master = 0.95 ; сложности игры а где то, стоят коменты, в которых говорится, что это урон, которое наносит оружие в зависимости от уровня сложности.. Мог бы просто перевести слово "probability" - вопрос бы сразу отпал. Вероятность попадания НПС по ГГ в зависимости от сложности. Cyclone Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения' Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691633
Saruman 8 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 (изменено) FANAT, читай коменты в одно предложение, это тоже самое что в actor.ltx но для данного оружия персонально Изменено 15 Апреля 2012 пользователем Saruman S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1 Vkontakte Добавление нового транспорта в сталкер Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691663
Marafon6540 854 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 (изменено) Коллеги, возник вопрос. Есть девайс. При его использовании на экран выводится окно. В этом окне я вывожу текстовую переменную: if string.len(opisTXT) > 0 then wopisTXT = CUIStatic() wopisTXT:SetWindowName("wopisTXT") wopisTXT:SetAutoDelete(true) wopisTXT:SetText("Рецепт: "..opisTXT) wopisTXT:SetTextColor(255,155,255,0) wopisTXT:SetFont(GetFontGraffiti19Russian()) wopisTXT:Init(600,140,320,200) self:AttachChild(wopisTXT) end Сама переменная opisTXT имеет (для примера) такой вид: Артефакт Капли получается путем совместной трансмутации в аномалии Карусель сразу четырех ингредиентов: Хвост собаки, Водка, Бинт, Выверт. Преобразование происходит в течении 5-10 минут. По идее этот текст должен выводиться в прямоугольник (wopisTXT:Init(600,140,320,200), а на практике - все выводится в одну строку и на экране я вижу только первые 4-5 слов, все остальное - улетает за край монитора. Не подскажете в чем моя ошибка? Есть ли возможность вывести такую переменную в несколько строк в указанный диапазон координат экрана? Изменено 15 Апреля 2012 пользователем Marafon6540 Трилогия Апокалипсис. Трилогия Apocalipsis ОГСР х64 Упавшая звезда. Честь наемника. v. 1.2 УЗЧН v.1.3 + ОГСРх64 Последний сталкер v. 1.2 ПС v. 1.3 + ОГСРх64 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691756
AndreySol 215 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 SoC v 1.0005 В секции детектора 'detector_advances' есть такой параметр: night_vision_particle = damage_fx\heli_burnОн имеет какое-то значение для детектора ? Marafon6540 Проблема похоже в том, что окно класса CUIStatic по умолчанию не умеет отображать многострочный текст. И похоже методов класса, устанавливающих такое свойство нет. Решить проблему можно прописав Ваше окно в xml-файле, к примеру так: <st_wopisTXT x="600" y="140" width="320" height="200"> <text align="c" complex_mode="1" x="1" y="1" a="250"></text> </st_wopisTXT> здесь параметр complex_mode="1" как раз и обеспечивает многострочное отображение текста. Затем создать окно, использовав этот xml-файл: local xml = CScriptXmlInit() xml:ParseFile("имя_файла.xml")-- файл-описатель элементов -- wopisTXT = xml:InitStatic("st_wopisTXT", self) ну и далее, используйте wopisTXT для всех остальных манипуляций с окном. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691784
SkyLoader 53 Опубликовано 15 Апреля 2012 Поделиться Опубликовано 15 Апреля 2012 Раз задаются вопросы про гулаги, у меня такой вопрос: Из-за чего может быть зависание биндера непися (еще в лог пишет: Scheduler tried to update object имя_непися) при том, что ему назначен новый гулаг на новой локации? Пути и смарт создавал через СДК, поэтому самого спавна пока показать не могу (асдс глючит). Зарегистрировал новый файл гулагов и саму локу в xr_gulag.script: level_gulags = {gulag_general, gulag_escape, gulag_garbage, gulag_agroprom, gulag_agroprom_underground, gulag_dark_valley, gulag_labx18, gulag_bar, gulag_military, gulag_radar, gulag_radar_u, gulag_yantar, gulag_pripyat, gulag_kishka, gulag_sarcofag, gulag_deadcity, gulag_new_garbage} level_groups = {l01_escape = 1, l02_garbage = 2, l03_agroprom = 3, l03u_agr_underground = 4, l04_darkvalley = 5, l04u_labx18 = 6, l05_bar = 7, l06_rostok = 8, l07_military = 9, l08_yantar = 10, l08u_brainlab = 11, l10_radar = 12, l10u_bunker = 13, l11_pripyat = 14, l12_stancia = 15, l12u_sarcofag = 16, l12u_control_monolith = 17, l12_stancia_2 = 18, new_garbage = 19} Содержимое gulag_new_garbage.script: local t = {} function load_job(sj, gname, type, squad, groups) if type == "gar_depo_bandit" then t = { section = "logic@gar_depo_bandit_tower_sniper", idle = 0, prior = 9, state = {0,1}, in_rest = "", out_rest = "" } table.insert(sj, t) end end function load_states(gname, type) if type == "gar_depo_bandit" then return function(gulag) if db.actor ~= nil then if ( level.get_time_hours() >= 5 and level.get_time_hours() <= 22 ) then return 0 -- день else return 1 -- ночь end else return gulag.state end end end end -------------------------------------------------------------------------- -- Dynamic ltx -------------------------------------------------------------------------- function load_ltx(gname, type) return nil end function checkStalker(npc_community, gulag_type, npc_rank, se_obj) if gulag_type == "gar_depo_bandit" then return true --npc_community == "bandit" end return false end function checkMonster(npc_community, gulag_type) return false end Содержимое gulag_new_garbage.ltx (его я тоже подключил): [logic@gar_depo_bandit_tower_sniper] active = walker@gar_depo_bandit_tower_sniper [walker@gar_depo_bandit_tower_sniper] path_walk = tower_walk1 path_look = tower_look1 P.S. Еще одна интересная вещь: если уйти от непися, чтобы тот ушел в оффлайн, а потом вернуться, то он уже придет на тот заданной путь гулага, но опять зависший. ---------------------------------------- wikreznow, Локацию надо пересобирать, без этого источники света не пропадут. AndreySol, этот параметр задается, чтобы данным партиклом отмечать аномалии при включенном ПНВ. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691799
Капрал Хикс 567 Опубликовано 16 Апреля 2012 Поделиться Опубликовано 16 Апреля 2012 AndreySol, если оставить строку night_vision_particle = damage_fx\heli_burn, то при детекторе в слоте все аномалии, включая очаги радиации, будут отображаться как пылающие очаги+будет эффект ПНВ. ---------- Забыл добавить - если ПНВ включён, а не постоянно. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691821
AndreySol 215 Опубликовано 16 Апреля 2012 Поделиться Опубликовано 16 Апреля 2012 (изменено) ТЧ v 1.0005 Вопрос по детекторам, артефактам и аномалиям: 1). Что и где надо изменить\убрать\добавить, что-бы убрать для всех артефактов эффекты свечения, подпрыгивания и др., ну т.е. чтоб они молча и тихо лежали на своих местах. 2). В ltx-файлах для аномалий указано много параметров, которые отвечают, судя по комментариям, за спаун артов при срабатывании аномалии. Эти параметры рабочие ? Просто, за все разы прохождения чистого ТЧ, ни разу не заметил случая, когда при срабатывании аномалии она бы рождала арт. Там-же присутствуют параметры, опять-же судя по комментам, отвечающие за рождение артов в офф-лайне. Вопрос тот-же - они рабочие ? 3). По распознаванию зон детекторами: у детектора 'detector_simple' для аномалии 'zone_radioactive' указано аж 8, как я понял из названия параметров (это начиная с "zone_sound_3_" и заканчивая "zone_sound_3_8"), звуковых эффектов. Чо они означают ? Предполагаю, что изменение звука при изменении расстояния до аномалии ? Если я правильно предполагаю, то какое максимальное кол-во этих параметров, и как вычисляется сетка расстояний ? Изменено 16 Апреля 2012 пользователем AndreySol Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691827
Капрал Хикс 567 Опубликовано 16 Апреля 2012 Поделиться Опубликовано 16 Апреля 2012 AndreySol, по первому вопросу - ну элементарно же, там в в файле artefacts.ltx комментарии проставлены: ;подсветка арта lights_enabled = true trail_light_color = 2.5, 2.4, 0 trail_light_range = 1.0 Ставим lights_enabled = false - подсветки не будет jump_height = 0 - прыгать не будет. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691838
AndreySol 215 Опубликовано 16 Апреля 2012 Поделиться Опубликовано 16 Апреля 2012 (изменено) Капрал Хикс Понял, спасибо. Еще немного про арты. В базовой секции 'af_base' эти параметры отсутствуют, но если я их уберу из наследованных секций и вставлю в базовую, будут ли все арты наследовать эти параметры ? А по остальным вопросам ? Изменено 16 Апреля 2012 пользователем AndreySol Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691849
Капрал Хикс 567 Опубликовано 16 Апреля 2012 Поделиться Опубликовано 16 Апреля 2012 AndreySol, По идее, да, будут наследовать, если в секциях артов убрать их. Спавн в аномалиях нерабочий, ИМХО, это уже обсуждалось когда-то. Рудименты от билдов. Про детекторы не в курсе. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/425/#findComment-691856
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти