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

Dennis_Chikin

Жители
  • Число публикаций

    6 272
  • Регистрация

  • Последнее посещение

  • Дней в топе

    33
  • AMKoin

    551 [Подарить AMKoin]

Весь контент пользователя Dennis_Chikin

  1. О, кажется, я понял: То есть, надо писать именно [^"строка"], а не [^символ^символ^символ] ? А конфиги трогать нельзя. Это будет оскорбление чуйств верующих.
  2. А вот это как раз предварительно обходится. Если есть условие, но нет акции, то и разбор кондлиста не вызывается, а поле в таблице { условие, кондлист } заботливо "инициализируется" nil'ом. То есть, когда делали - наверное, что-то хотели, возможно.
  3. malandrinus, Вот это и пытаюсь. Но, похоже, что-то не то делаю. Не работает. Gun12, разделители известны. Да, .* в lua работает не так, как надо мне. По логике в lua должно быть что-то типа s1, s2 = string.match( s, "([^раздедитель]*)[разделитель]*(.*)" ) ), где разделителей несколько, но оно почему-то тоже не работает. С разделителем из одного символа - работает. С одним или более из нескольких - нет.
  4. function pick_section_from_condlist(actor, npc, condlist) ... for n, cond in pairs(condlist) do
  5. Любые - в том смысле, что не обязательно %w. В каждый момент написания регэкспа мы знаем, каких там точно быть не может. В идеале, если бы (.*)[разделитель1разделитель2разделитель3]*(.*) обрабатывалось бы как единое целое - в смысле, .* - это любые символы, кроме искомого - было бы то, что надо.
  6. Понимаю, что вопрос странный, но вдруг кому попадалось, и было не лень с этим разобраться... Где нибудь в сталкере вообще имеет смысл логика вида условие|<пусто> ? Спрашиваю, по тому что нашел в одном месте такую вот красоту: на полном серьезе части разбираются, проверяются, сохраняются, а потом по выполнению условия вызывается xr_logic.switch_to_section( obj, st, xr_logic.pick_section_from_condlist( actor, obj, nil ) ) Понятно, что в данном случае будет вылет/висяк, и в той логике, которая скармливается этой конкретной схеме, такого нет. Но может где-то для чего-то и вправду используется ? Конкретно см. sr_timer.script, хотя не факт, что это у меня сейчас под руками оригинальный.
  7. Помогите, плиз, с регэкспом для string.match: "(все, что не charset)(все, что после charset)" Оно такое вообще возможно ? Пример: на входе имеем "а_вот_такая_вот_фигня_1 | и_вот_такая_2", надо получить отдельно "а_вот_такая_вот_фигня_1" и "и_вот_такая_2", но на самом деле они могут быть разделены чем угодно, и известно только то, что собственно символов разделителя в искомых подстроках нет. Ага, разделителем может быть несколько символов в любом количестве и последовательности. В подстроках могут быть вообще любые символы, кроме символов, входящих в состав разделителя. Вариант найти собственно разделитель, а потом вырезать подстроку до него, и подстроку после - очевиден, но неинтересен.
  8. А проверьте меня кто-нибудь, правильно ли я понимаю: 1. Если непись в гулаге вдруг помирает, его работа на какое-то время становится недоступной. 2. Гулаг меняет state, и в нем появляются доступные работы. 3. В гулаг засасывается новый непись. 4. Гулаг меняет состояние на то, в котором работа недоступна. Что при этом происходит с неписем ? Аналогично с выгнанным из гулага неписем.
  9. Dennis_Chikin

    Кураторам тем, дубль два

    Народная 2010 разработка http://www.amk-team.ru/forum/index.php?showtopic=8830 Готово.
  10. Вообще-то я там это и правил. Внезапно. И даже не год, а ровно 2 года назад. Вот только те правки в старую не пойдут. Слишком много к чему привязано. P.S. Вообще, Сергей, я Вашим постам удивляюсь периодически.
  11. Несколько слов по поводу пропажи оружия у неписей: основная причина - отнюдь не аддон Бака, а вовсе даже кривой amk_offline_alife.script Исправленное исправлено все одним большим куском, и просто так ни на старую соль, ни на ООП и прочее не налезет. По принципу "спасение утопающих - дело рук самих утопающих" проще всего либо истребить отовсюду всех вызовов amk_offline_alife.process_trade(), либо (хуже, но проще) оставлением от самой функции огрызка function process_trade() end где дальше идет следующая function чего-то_там() С какой именно строки начинается истребляемое, и на какой заканчивается - зависит от версии скрипта. Глюк с "я без оружия" останется (вот он как раз в rx_*.script), но само оружие пропадать будет значительно реже. P.S. Да, если кто-то чувствует желание попробовать себя в адаптации исправлений (по факту - переписанная полностью офлайн-торговля+уборшик+переодевание) под все 100500 версий имеющихся в обращении солянок - плиз в личку. upd: Внезапно, опять про время загрузки, лаги и кэширование Кто владеет, поиграйтесь с кодом в xr_logic: Вот здесь кэширование таки нужно. Только не чтения файла, а "открытия". Которое собственно и есть "чтение". Ага. 10 неписей - пол секунды тормозов. P.S. Модераторы, кто-нибудь может растащить пост в 2 разных по смыслу ?
  12. Я, пожалуй, в этом оффтопике тоже поучаствую. В познавательных, так сказать, целях. Если посмотреть на то, что написано хотя-бы на этой странице, то, внезапно, легко находится ссылка, позволяющая сократить время загрузки весьма значительно. Если на страницу назад, то там будет про то, что вся загрузка даже для первого запуска игры может быть доведена до 20-30 секунд. Вопрос первый: что именно хотелось бы сделать с ПДА/инвентарем за эти 20 секунд ? Вопрос второй: да, ПДА и инвентарь на самом деле можно получить где-то с 10-й или 15-й секунды. Ну, за счет некоторого увеличения общего времени загрузки. Это действительно надо ? Ну и вопрос третий, риторический: когда у нас перестанет игнорироваться то, что уже есть, и писаться про проблемы, решенные месяц-год-3 года назад ?
  13. SergeT, если он где-то спавнится - да, там будет балалайка. Чем изучать весь allspawn и все простыни диалогов на предмет этого БТР с балалайкой мне лично оказалось проще сам БТР поправить (в порядке истребления балалайки как предмета). dtyz8, там надо не столько увидеть/услышать, а именно прослушать, идентичные "по источнику" (скажем, у вояк, долга, свободы и сталкеров обоих видов (и по 3 варианта каждого - музыка практически полностью идентична, и кто именно играет - на слух сказать нельзя))- собрать в один каталог, и прописать в конфиге признак, что брать именно оттуда. Ну а дубликаты (скажем, stalker и woman отличаются форматом, а звук абсолютно одинаков), соответственно, убрать. Я сейчас пробую сделать это именно на музыке, и если все пройдет гладко - это надо будет для всех звуков.
  14. О звуках опять: Ну, анекдоты и реакции на анекдоты - еще понятно. Там реально размеры немаленькие. А вот время загрузки всяких characters_voice\human_*\*\help\, особенно, wounded_heavy\help_, wounded_psy\psy_, not_wounded\help_ - по сравнению с историями вроде и быстро, но соотношение время/размер какое-то не очень адекватное. Imho. Хотя, конечно, по-хорошему надо бы прежде всего что-то сделать с историями. Ну и количество идентичных копий вроде реально сократить. Просто надо все прослушать, и потом руками по результату вбить многабукофф. P.S. И, да, БТР, которому как звук двигателя грузится балалайка - возможно, это и смешно. Было. Тому кто делал.
  15. При чтении ltx white_spaces любого вида по-моему вообще игнорируются. SOC по крайней мере. Сколько чего в лог не выводил - всегда идет что-то типа v1,v2,v3. И есть шанс, что для %s пробел и табуляция тоже идентичны.
  16. Artos, приведенное - это amk ? Ну, как бы, я бы не стал задавать вопрос про закомментированный кусок. Очевидно, он был кем-то раскомментирован. Или взят откуда-то еще до того, как был закомменчен.
  17. Смысл сего действа неясен. То есть, при sDiv == "," и строке ",,,,,,,,,," - получаем таблицу с 10 запятыми ? А из строки 12345,6789 получим таблицу с "12345," и "6789" ? Да, иначе там else pattern = "[_%w]+" - это как раз понятно. И вот еще тоже из той же серии. Здесь у меня вообще фантазия отказывает: for k, v in string_gfind( s, "(.*)" ) do t[k] = v end А это что должно делать ?
  18. Что-то я слегка не понял эту конструrцию: if sDiv then sPattern = '[^%s%'..sDiv..']+' .. for sValue in sStr:gmatch(sPattern) do table.insert(tRet, sValue) end Если sDiv есть, то ЧТО у нас будет в таблице ?
  19. Уже неактуальна. Пересобирается с очень большими изменениями. Кстати, фиксы по прицелам и звукам вообще кто-нибудь тестировал ? На чистой соли ? Меня в частности интересуют бои на АТП и с немниками. Ни кто ни каких изменений (или проблем) не замечал ? Еще раз, для особовнимательных, файлы торговли (вот еще у кого-то профиль правил - не помню, у кого) https://dl.dropbox.com/u/27871782/%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.7z Всего-то каких-то жалких 40 секунд загрузки. Дефолтные коэффициенты крутить в system.ltx Выброшено из запретов на скупку то, что на данной локации гарантированно не встречается (и, соответственно, продавать торговцу ни кто не будет), ну и из запрета на продажу - вообще все (оно может взяться только от актора, а модифицировать костюм за 100000 плюс арт, продавать торговцу за 1000 и выкупать обратно за миллион - очень странное занятие).
  20. Я просто вдруг вспомнил о фокусах с текстурами, которые начинают резко тормозить при несоблюдении требований по размерам (да и сжатие не везде какое попало можно), и подумал - а не может ли такое-же быть со звуком ?
  21. Кстати, о птичках: а звуки для SOC должны быть 41Kbps, или 48 ? Ни кто не пробовал разбираться ?
  22. Подозреваю, что для второго варианта должны быть какие-то "идеологически правильные" id.
  23. В общем, скрипт можно не проверять - не работает. Нужен кто-то, кто хорошо разбирается в работе звука. Мысль я изложил в теме скриптования. Да, к вопросу об "обеднении игры": 6 абсолютно идентичных копий одной и той же окуджавы общим весом в 100 мегабайт, +50 мег пьяной гитарной лажи (зато в 192kbps) + 21 копия балалайки - это, простите, несколько перебор. Мне так кажется. Ну и гармошки в неисчислимых количествах, тоже одинаковые - явно не шедевр. + простите за оголтелый национализм, но игра - не способ изучения мовы, да еще на тупых анекдотах. Короче, резать и резать. А оставшееся - еще раз проверять, и пережимать. P.S. И таки из соображений экономии памяти исключительно (тормоза здесь только на самом первом неписе) - для уникальной озвучки надо бы таки проставить sidы.
  24. звуки грузились через npc:add_sound() ? Вообще, если взять какую-то тушку, и скормить ей ВСЕ - будет вполне себе кэширование. Но я не разобрался, что должно быть в параметрах. Там в скриптике была попытка сделать тупо (вместо prefetch в preload() было тупо add_sound по всем подкаталогам, но оно грузит только первый, от остальных отказывается.
  25. level.prefetch_sound() в SOC вообще работает ? То, что он там есть, при вызове как минимум не вылетает, и даже что-то пытается делать - вижу. Но результатов от того, что он там делал - не вижу.
×
×
  • Создать...