Dennis_Chikin 3 658 Опубликовано 24 Апреля 2014 Поделиться Опубликовано 24 Апреля 2014 (изменено) "Что у нее внутри, и как это сделать лучше". Для тех, кто уже разбирается в скриптах, конфигах, текстурах и "других страшных словах" ©, и имеет желание и время действительно делать их лучше.См. подробности в первом посте.Тема НЕ является ни столом заказов, ни службой техподдержки, ни справочным бюро. Изменено 28 Апреля 2014 пользователем Dennis_Chikin 2 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 29 Марта 2014 Поделиться Опубликовано 29 Марта 2014 Ответ на оффтопик в "разговорах": Если нам надо найти "Костюм Тирекса", то запускаем поиск по конфигам, и ищем, внезапно, "Костюм Тирекса". Он, внезапно, находится в string_table_outfit.xml: <string id="strelok_outfit_name"> <text>Костюм Тирекса</text> </string> Зеленый, оранжевый и прочие серобуромалиновые кружки, которые иногда высвечиваются при загрузке и тут же исчезают - ну, это такие кружки, которые иногда высвечиваются при загрузке. Надо копать, где конкретно вся эта иллюминация на голод/холод/радиацию проверяется, но на практике ни кому не интересно. 2 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 27 Апреля 2014 Поделиться Опубликовано 27 Апреля 2014 (изменено) И сюда тоже положу, дабы не потерялось. Лечение вылета Гавра + одного из случаев обкрадывания тайников с замками в них. На базе НОРМАЛЬНОГО Сапсаноскрипта (а где люди берут то, что берут, которое потом всячески глючит и вылетает - ну, это уж я не знаю). https://dl.dropboxusercontent.com/u/27871782/zamok.script Проверять не на чем, и некогда, так что добровольцы - вперед. Чистая-сапсанопатчи-ОП со всеми буквами - без разницы. Изменено 27 Апреля 2014 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
romale 480 Опубликовано 27 Апреля 2014 Поделиться Опубликовано 27 Апреля 2014 (изменено) На базе НОРМАЛЬНОГО СапсаноскриптаЭто какого, если не секрет? добровольцы - вперед.В ОП, патч 1.0004 - при отравлении вылета нет с наличием в инвентаре замка. А вот при установке замка на рюкзак и попытке его (замок) снять - имеем такой вылет: 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: d:\s.t.a.l.k.e.r_op\gamedata\scripts\zamok.script:37: attempt to index global 'sim' (a nil value) -------------------------- Перезалил под тем же именем.Пока без вылетов при тех же манипуляциях.. Изменено 27 Апреля 2014 пользователем romale Вы ленивы, следовательно - вы изобретательны. © граф Де Гиш Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 27 Апреля 2014 Поделиться Опубликовано 27 Апреля 2014 (изменено) Добавил этот самый sim общим для всего скрипта. Заодно подумал, и выписал ему таблеток от жадности. Перезалил под тем же именем. "Пока без вылетов при тех же манипуляциях.. " - ну, ура ? Сообщения про замок поставили - убрали - должны быть адекватны: либо замок есть, и от добавления ничего не меняется, либо не было, и поставили. Ну и наоборот, и так далее. Все глюки оффлайн-алайфа, конечно же, не лечит. Изменено 27 Апреля 2014 пользователем Dennis_Chikin 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
romale 480 Опубликовано 27 Апреля 2014 Поделиться Опубликовано 27 Апреля 2014 - ну, ура ?Денис, ну, наверное ура Все сообщения выводятся. Только я ж писал, что вылетов не было и все так же работало со скриптом из тестового набора Сапсана Кстати, ты так и не сказал, что такое "НОРМАЛЬНЫЙ Сапсаноскрипт" Вы ленивы, следовательно - вы изобретательны. © граф Де Гиш Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 27 Апреля 2014 Поделиться Опубликовано 27 Апреля 2014 (изменено) Ну вот это с которым все и так работало, но без всякого странного, типа непрерывной распечатки таблиц в мировой эфир, и тому подобного. И, да, сообщения должны не просто выводиться, а именно с учетом имеющегося количества замков. Изменено 27 Апреля 2014 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
romale 480 Опубликовано 27 Апреля 2014 Поделиться Опубликовано 27 Апреля 2014 (изменено) сообщения должны не просто выводиться, а именно с учетом имеющегося количества замков. При закладке замков сообщение выводится только при установке первого, все остальные молча.. Когда забираю - сообщение только при изъятии последнего замка. Угум. Вот это - признак правильной работы. dc Раньше были сообщения на каждый устанавливаемый/снимаемый. Изменено 22 Ноября 2014 пользователем Dennis_Chikin Вы ленивы, следовательно - вы изобретательны. © граф Де Гиш Ссылка на комментарий
romale 480 Опубликовано 22 Мая 2014 Поделиться Опубликовано 22 Мая 2014 (изменено) @Dennis_Chikin, Денис, возник вопрос в связи с участившимися жалобами подобными этой: При подборе гранаты у Калмыка идет вылет:Помнится подобное уже обсуждалось: http://www.amk-team.ru/forum/index.php?showtopic=8830&p=718724 и ниже. Ты там выкладывал правку: Несколько критичных правок: xr_danger, разблокировал переключение состояний после ТД, ну и гранату переделал http://www.amk-team.ru/forum/index.php?showtopic=8830&p=721024 Собственно, что там (какие правки) относится именно к гранате и моменту ее взятия, кроме \gamedata\config\scripts\new\nebo\marsh_havan_restr.ltx ? Или замена только этого файла достаточна? Сам раньше проверить не мог, поскольку с тех пор ниразу с 6-м патчем не играл, а вылет имеет место только в игре с 6-м.. А сейчас еще не дошел до Калмыка. Изменено 22 Мая 2014 пользователем romale Вы ленивы, следовательно - вы изобретательны. © граф Де Гиш Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 22 Мая 2014 Поделиться Опубликовано 22 Мая 2014 Это на самом деле одна из граней вылета, возникающего, когда с одним предметом производится несколько взаимоисключающих операций. Из той же серии, например, вылет по еде с трупов и различные e_чтототам. Соответственно, переделана вся сценка с гранатой, и вынесена в storyline.script: function take_from_box( box, item ) -- log( "info", "take_from_box, item: %s, box: %s", ( item and item:name() ) or "nil", ( box and box:name() ) or "nil" ) if box and string_sub( box:name(), 1, 8 ) == "prov_ruk" then marsh_kalmyk_start( box, item ) end end function marsh_kalmyk_start( box, item ) log( "info", "marsh_kalmyk, entry" ) level["add_pp_effector"]( "agr_u_fade.ppe", 8120802, false ) level["hide_indicators"]() bind_stalker["hide_weapon"]() local apos = actor:position() local obj = sim:object( box:id() ) if obj then amk_particle["amk_particle"]( { ["particle"] = "explosions\\explosion_fuelcan", ["pos"] = box:position(), ["sound"] = "weapons\\t_rgd5_explosion" } ) local dist = apos:distance_to_sqr( box:position() ) if dist < 100 then local h = hit() h["draftsman"] = actor h["direction"] = vector():set( 0, 1, 0 ) h:bone( "bip01_spine" ) h["type"] = hit["explosion"] h["power"] = ( dist < 1 and 0.8 ) or 0.8 / dist h["impulse"] = 500 actor:hit( h ) end sim:release( obj, true ) end level["add_cam_effector"]( "camera_effects\\fusker.anm", 999, false, "" ) timer_add( "marsh_kalmyk", marsh_kalmyk ) timer_start( "marsh_kalmyk", 2, item:id() ) end - срабатывает взятие из рюкзака, и проверяется, что рюкзак - тот самый. Если он - запускаются эффекты, и вешается на 2 секунды таймер функция удаления гранаты: function marsh_kalmyk( obj_id ) if actor:has_info( "kalmyak_vstreca_start" ) then actor:give_info_portion( "kalmyak_vstreca_grab" ) return end level["add_pp_effector"]( "deadcity_wake.ppe", 8120803, false ) actor:give_info_portion( "kalmyak_vstreca_start" ) actor:set_actor_position( patrol( "kalmyak_tele_walk" ):point( 0 ) ) timer_start( "marsh_kalmyk", 5 ) local obj = sim:object( obj_id ) if obj then sim:release( obj, true ) end level["show_indicators"]() bind_stalker["restore_weapon"]() end Обе функции - под "обезжиренную". actor должен быть в глобальном пространстве, доработку таймеров смотрим в amk_timers.script Да, гранату теперь в рюкзак можно класть обычную (еще -1 ни зачем не нужная секция из развесистой клюквы конфигов), или вообще не гранату. Тогда можно еще удаление убрать вообще. \gamedata\config\scripts\new\nebo\marsh_havan_restr.ltx - это на взятие какого предмета что вызываем. В принципе, можно и нужно снести вообще весь рестриктор, и провешивать при инициализации вызов на открытие рюкзака, если находимся на болотах. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
xuyc 81 Опубликовано 23 Мая 2014 Поделиться Опубликовано 23 Мая 2014 @Dennis_Chikin, А тебе не приходила в голову мысль сделать фиксы самых грубых известных ошибок и ляпов в скриптах соли? Не перелопачивая все, а только самое вопиющее? Например в level_weathers.script есть такое: if self.cycle_idx[self.dyn_weather] == nil then self.dyn_wather = tmp_dyn_weather end end то есть явная ошибка, хотя давно уже пофиксенная. Я это к тому, что бы пользователи, мало-мальски разбирающиеся в скриптах, могли перед началом новой игры сами подправить такие ошибки (или поставить готовый фикс), оградив себя в дальнейшем от больших проблем в прохождении. Или сейчас в таком фиксе уже мало смысла? Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 23 Мая 2014 Поделиться Опубликовано 23 Мая 2014 Вот это конкретное я выкладывал 3 года назад. Или 4. Последний раз - пару месяцев назад. Кроме того, сейчас здесь лежит "плоский" погодный скрипт под любую соль. Ну и еще так по мелочи. Фиксить все под старую - бессмысленно уже. Тем более, что от переписывания большими кусками не уйти. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Это популярное сообщение. xuyc 81 Опубликовано 8 Июля 2014 Это популярное сообщение. Поделиться Опубликовано 8 Июля 2014 (изменено) @Dennis_Chikin,Я как бы... это...Короче тут давно уже не звучал этот наглый и провокационный вопрос, но я, как распоследний новичок и невежа, все таки осмелюсь его задать.А КОГДА ВЫЙДЕ...То есть, я хотел узнать, как продвигается работа над новой "обезжиренной"? Продвигается ли?Потому что остались еще люди, которые верят и ждут.Очень медленно. Я тут недавно в скриптовании вопль отчаяния издавал по поводу того, что в работах со временем творится.Хочется все-таки окончательно добить вопрос с перепонением этого самого времени, оторвать микролаги из-за постоянного переназначения, которое все равно не работает, и таки обрезать время фазы "loading" хотя-бы на треть. dc Изменено 22 Ноября 2014 пользователем Dennis_Chikin 4 1 Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 14 Июля 2014 Поделиться Опубликовано 14 Июля 2014 (изменено) https://dl.dropboxusercontent.com/u/27871782/sounds.7z Текущий полный набор скриптов озвучки. Конфиг перенесен в скрипт, дабы не тормозило. Подробности смотрите в теме. Для адаптации куда либо надо понимать, что db.actor продублирован в глобальном пространстве. Там же, в _g.script - постоянно обновляется время ( game_time_sec, game_time_ms, global_time_ms и т.д.) То есть, либо вернуть старые переменные и вызовы (и огрести все положенные тормоза), либо сделать так же. Это все к тому же вопросу про убрать дабл-файлы и лаги на их загрузке. Изменено 14 Июля 2014 пользователем Dennis_Chikin 2 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 22 Ноября 2014 Это популярное сообщение. Поделиться Опубликовано 22 Ноября 2014 (изменено) Кстати, о птичках... Опрос прикручивать не буду, есть кнопочки нынче. Хотите ли вы погладить кота ? 2romale: котэ - это не только ценный мех. Так что даже и в солянке он может наносить пользу и причинять добро. Изменено 22 Ноября 2014 пользователем Dennis_Chikin 5 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Это популярное сообщение. romale 480 Опубликовано 22 Ноября 2014 Это популярное сообщение. Поделиться Опубликовано 22 Ноября 2014 (изменено) Погладьте меня, кому не лень.. Только не так---------- Так что даже и в солянке он может наносить пользу и причинять добро. Дык.. Тем и живем В смысле добром пользу причиняем.. наносим пользу через добро.... добровольно причиняем пользу.. тьфу ты.. сломался............. Изменено 22 Ноября 2014 пользователем romale 6 Вы ленивы, следовательно - вы изобретательны. © граф Де Гиш Ссылка на комментарий
Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 29 Ноября 2014 Это популярное сообщение. Поделиться Опубликовано 29 Ноября 2014 (изменено) https://www.dropbox.com/s/eo1g61vvxisr1yz/particles.zip?dl=0 Партиклы для соли от amik, исправленные. Попробовал - вроде, все Ok. Маложрущие. Огонь-туман-"торнадо" и прочие, которые были раньше форменным извращением. Хоте некоторые несколько потеряли в, гм, масштабности и торнадо вполне влезает в экран без переключения fov. Ну, собственно, как я и просил. Автору от меня огромное спасибо, теперь слайд-шоу от сработавших аномалий вроде как нет. Изменено 15 Апреля 2017 пользователем Dennis_Chikin 3 2 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 1 Декабря 2014 Поделиться Опубликовано 1 Декабря 2014 История одной пессимизации:код:local ini = system_ini()local testlocal pt = profile_timer(); pt:start()for i = 1,10000 do ini = system_ini(); test = ini:r_bool( "test1", "bool_t" ) endpt:stop()И вывод времени.варианты:ini = system_ini(); test = ini:r_bool( "test1", "bool_t" ) -- 13.623 mstest = system_ini():r_bool( "test1", "bool_t" ) -- 12.740 msи просто test = ini:r_bool( "test1", "bool_t" ) -- 7.463 msМелочь, а приятно. Но, то есть, я здесь был не прав, считая, что конфиги читаются при каждом system_ini(). Как указал KD87, читаются они при старте игры, а system_ini() - это всего-лишь возврат указателя CInifile *pSettings.Однако, если мы попытаемся читать не system_ini():, а test.ltx, всего из 4-х строк, картина становится вот такой:ini = ini_file( test.ltx ); test = ini:r_bool( "test1", "bool_t" ) -- 517.023 mstest = ini:r_bool( "test1", "bool_t" ) -- 4.947 msТо есть, движок сталкера и сам по себе файлы кэширует довольно неплохо, но "иногда" и "внезапно" подвержен склерозу, если речь идет не об system.ltxЧудовищный вывод будет в следующем посте, здесь, а не в антисоветском подполье, по тому что касается прежде всего именно солянки и солянкомодов. Ну, кто тестировал сам-знает-что - тот его уже знает. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 3 Декабря 2014 Поделиться Опубликовано 3 Декабря 2014 (изменено) Не хочу сегодня ни чей флуд читать, сам флудить буду ! Тем более, что понаписал стресс-тестов, погонял, ни какого криминала не нашел, у кого-там чего все разваливается - в упор не понимаю. Итак, краткое содержание предыдущей серии: Выбор из таблицы жрет минимально. Чего, кстати, нельзя сказать о последовательном выборе "таблицу из таблицы, а из нее еще таблицу". Причем размер таблицы влияет, но не так сильно - похоже, основное время тратится именно на обращение. Вызовы функций - жрут. Но больше всего жрет открытие файла. Причем если файл уже открыт, то содержимое его прочитано, и готово к отдаче. Если указатель потеряли - потеряли и весь кэш. system.ltx - особый случай, и открыт при запуске игры. Впрочем, если использовать конструкцию ini_file("system.ltx") - эффект даже проверять не хочу. Итого, идея навесить сверху еще какое-то специальное скриптовое кэширование - это довольно плохая идея. Особенно, если это самое скриптовое постоянно занимается переоткрыванием файлов. А если учесть, что вызовы функций и многократные перелопачивания таблиц - гораздо медленнее просто чтения из однажды открытого файла, то... В общем, для чистой соли и всех солянкоклонов, наиболее правильным будет вернуться везде именно к прямому чтению из файлов. А заодно поубирать и вызовы util.что-то-там. Но некоторое улучшение ситуации мы можем получить, дописав в _g.script следующие строчки: sys_ini = system_ini() -- выигрыш не очень большой, но лишний вызов функции все-таки не нужен. Особенно, для каждого из тех 1500 костюмов и прочих радостей. А далее мы заменяем все одноименные переменные и функции вот на такие: local t_ini = { ["system_ini"] = sys_ini } iniLines = { ["float"] = {}, ["u32"] = {}, ["string"] = {}, ["string_wq"] = {}, ["boolean"] = {}, ["line"] = {}, ["count"] = {}, ["exist"] = {} } iniOtherLines = {} local iniSections = {} -- что кэшируем; если пустая - то уже ничего не кэшируем. И вообще не кэшируем. iniStat = {} iniCaching = true iniStatistic = false iniSectionsCount = 0 function getIniValuePrepare( vtype, sect, file ) -- тип, секция, имя файла local t2, t3 if file then -- файл, не system.ltx local ini = t_ini[file] -- уже открыт ? if not ini then -- или открываем и сохраняем ссылку ini = ini_file( file ) or abort( "getIniValuePrepare, invalid file: %s", file ) t_ini[file] = ini end local t1 = iniOtherLines[file] -- зачем-то отдельная таблица if not t1 then t3 = {} t1 = { [vtype] = { [sect] = t3 } }; iniOtherLines[file] = t1; return ini, t3 end local t2 = t1[vtype] if t2 then -- по типам есть кэш, пытаемся проверить таблицу для секции t3 = t2[sect] if not t3 then t3 = {}; t2[sect] = t3 end -- или создать else t3 = {}; t2 = { [sect] = t3 }; t1[vtype] = t2 -- нет типа, содаем его и секцию end return ini, t3 end t2 = iniLines[vtype] -- или таблица для system.ltx if t2 then t3 = t2[sect] if not t3 then t3 = {}; t2[sect] = t3 end -- или создать else t3 = {}; t2 = { [sect] = t3 }; iniLines[vtype] = t2 -- нет типа, содаем его и секцию end return sys_ini, t3 end function iniLineSectionExist( sect, file ) if sect then if file then local ini = t_ini[file] -- уже открыт ? if not ini then -- или открываем и сохраняем ссылку ini = ini_file( file ) or abort( "iniLineSectionExist, invalid file: %s", file ) t_ini[file] = ini end return ini:section_exist( sect ) end return sys_ini:section_exist( sect ) end return false end function iniLinesCount( sect, file ) if sect then if file then local ini = t_ini[file] -- уже открыт ? if not ini then -- или открываем и сохраняем ссылку ini = ini_file( file ) or abort( "iniLinesCount, invalid file: %s", file ) t_ini[file] = ini end if ini:section_exist( sect ) then return ini:line_count( sect ) end elseif sys_ini:section_exist( sect ) then return sys_ini:line_count( sect ) end end return 0 end function getIniLine( sect, num, defKey, defVal, file ) if sect and num then if file then local ini = t_ini[file] -- уже открыт ? if not ini then -- или открываем и сохраняем ссылку ini = ini_file( file ) or abort( "getIniLine, invalid file: %s", file ) t_ini[file] = ini end if ini:section_exist( sect ) then return ini:r_line( sect, num, defKey, defVal ) end elseif sys_ini:section_exist( sect ) then return sys_ini:r_line( sect, num, defKey, defVal ) end end return false, defKey, defVal end function getIniValueFloat( sect, line, def, file ) if sect and line then if file then local ini = t_ini[file] -- уже открыт ? if not ini then -- или открываем и сохраняем ссылку ini = ini_file( file ) or abort( "getIniValueFloat, invalid file: %s", file ) t_ini[file] = ini end return ( ini:section_exist( sect ) and ini:line_exist( sect, line ) and ini:r_float( sect, line ) ) or def end return ( sys_ini:section_exist( sect ) and sys_ini:line_exist( sect, line ) and sys_ini:r_float( sect, line ) ) or def end return def end function getIniValueU32( sect, line, def, file ) if sect and line then if file then local ini = t_ini[file] -- уже открыт ? if not ini then -- или открываем и сохраняем ссылку ini = ini_file( file ) or abort( "getIniValueU32, invalid file: %s", file ) t_ini[file] = ini end return ( ini:section_exist( sect ) and ini:line_exist( sect, line ) and ini:r_u32( sect, line ) ) or def end return ( sys_ini:section_exist( sect ) and sys_ini:line_exist( sect, line ) and sys_ini:r_u32( sect, line ) ) or def end return def end function getIniValueString( sect, line, def, file ) if sect and line then if file then local ini = t_ini[file] -- уже открыт ? if not ini then -- или открываем и сохраняем ссылку ini = ini_file( file ) or abort( "getIniValueString, invalid file: %s", file ) t_ini[file] = ini end return ( ini:section_exist( sect ) and ini:line_exist( sect, line ) and ini:r_string( sect, line ) ) or def end return ( sys_ini:section_exist( sect ) and sys_ini:line_exist( sect, line ) and sys_ini:r_string( sect, line ) ) or def end return def end function getIniValueStringWQ( sect, line, def, file ) if sect and line then if file then local ini = t_ini[file] -- уже открыт ? if not ini then -- или открываем и сохраняем ссылку ini = ini_file( file ) or abort( "getIniValueStringWQ, invalid file: %s", file ) t_ini[file] = ini end return ( ini:section_exist( sect ) and ini:line_exist( sect, line ) and ini:r_string_wq( sect, line ) ) or def end return ( sys_ini:section_exist( sect ) and sys_ini:line_exist( sect, line ) and sys_ini:r_string_wq( sect, line ) ) or def end return def end function getIniValueBool( sect, line, def, file ) if sect and line then if file then local ini = t_ini[file] -- уже открыт ? if not ini then -- или открываем и сохраняем ссылку ini = ini_file( file ) or abort( "getIniValueBool, invalid file: %s", file ) t_ini[file] = ini end if ini:section_exist( sect ) and ini:line_exist( sect, line ) then return ini:r_bool( sect, line ) end elseif sys_ini:section_exist( sect ) and sys_ini:line_exist( sect, line ) then return sys_ini:r_bool( sect, line ) end end return def end - фактически, весь кусок между -------======= ini reading functions by sapsan =======------ и -------======= / ini reading functions by sapsan =======------ В принципе, можно еще и дальше заменить одноименное на function printf() end function mylog() end function dbglog() end и совсем где-то в середине - function print_table() end По тому как не нужны. Отличия от того, что я давал - косметические, ну и поправлена ставшая жертвой копипасты function getIniValuePrepare(), которая, впрочем, все равно не используется. В общем, не все оптимизации одинаково полезны. Изменено 3 Декабря 2014 пользователем Dennis_Chikin 1 2 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 7 Декабря 2014 Поделиться Опубликовано 7 Декабря 2014 (изменено) В порядке ликбеза, про ТД. Почему неписи не ходят как надо - расписано страницу назад. Ну и недели три назад в ШМ. Впрочем, это не мешает им перемещаться в поцессе перехода ГГ между локами. Так что все долговцы вполне благополучно в итоге оказываются где надо. Впрочем, совет - не ходить повторно куда не нужно (то есть, кргда Сидорович сказал на Кордон идти - имеет смысл идти именно туда). Опять же, кому хочется странного, то есть старый добрый рецепт с уменьшением радиуса онлайна, и проводить всех, кого надо, руками, куда надо. Если уж совсем нужна нелинейность сюжета - берем правки трехлетней давности (ссылка на гэймдату и даже на отдельные нужные файлы где-то здесь валяется), и переносим, в куда надо. Там вам будет вполне такой фриплэй: можно спокойно перестрелять красных бандюков, вывести пленных о бандитского лагеря, затем встретиться с Пулей, и вывести Любера, затем взять в любом порядке квесты на Фраера и на Угрюмого, Потом пообщаться с нейтральным Боровом, который скажет вам спасибо за дохлого Фраера. При этом и Монгол, и Жила - вполне себе нормально себя чувствуют, все время всей этой опупеи. В общем, не так все и сложно с переносом в куда угодно. Но, повторяю, лишнее. Так, что у нас там еще осталось из вечных тем ? Юрик ? Так вот вы таки тоже будете удивлены, но тоже две недели назад выкладывалось очередной раз в ШМ. И тоже, кстати, можно и без правок - просто бандюков дымовухой разогнали, и ушли спокойно на Кордон. И ВСЕ. Нормально все перемещалки сработают, не смотря даже и на баги оригинала. Единственный проблемный персонаж - Лис - влетающий в аномалии на свалке. И то по тому как руки не дошли. Вообще можно и битхаком, кстати, любой олспавн поправить. Букву f на b заменить. Изменено 7 Декабря 2014 пользователем Dennis_Chikin 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Рекомендуемые сообщения