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

Dennis_Chikin

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

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

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

  • Дней в топе

    33
  • AMKoin

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

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

  1. Я как-то мерял время на function f() return end ... function f( a1, a2, ... an ), ну и соответственно давая на вход разное количество аргументов. Задумчивость по мере увеличения количества аргументов растет очень сильно. Аналогично и с возвращаемыми. ( Вызов метода у объекта - еще дороже - в разы. Видимо, в т.ч. из-за передачи/обращения к ссылки на сам объект. ) В общем, функции в несколько строк делать не надо однозначно - лучше уж "китайский код". Возможно, не лишено смысла более интенсивное использование переменных с областью видимости на весь модуль. Ну и, да, плавучка у ЛУА более "нативная", чем целочисленка. P.S. Вот чего не понимаю, так это то, что обращение к переменным, записанное как v["id"] чуть не в разы быстрее, чем v.id.
  2. Ну, его вообще-то задолго до меня задействовали. Так что пока все заради "совместимости". В идеале - там место для всякого сюжетного и прочих трансмутаций. Ну, то, что выводится в собственно ПДА. Возможно - сюжетные же ньюсы. Имеет смысл кое-что поснимать с инфопоршенов, и перевесить на нормальные переменные. В общем, все, что при отбирании у актора оного ПДА актор теряет. Или, наоборот, приобретает при получении ПДА/флэшек. А вот зомбосталкерам и гниющим трупам - там точно не место. Для этого их собственный custom data прекрасно подходит. Вот ужо доберусь...
  3. Ага, спасибо. Это я, как выяснилось, лог не туда воткнул, отчего и получил странный порядок вызываемого. Ну, хранение всякого разного в игровом объекте не лишено смысла, когда касается самого объекта. Изрядно всякого мусора в акторе или внешнем хранилище можно бы и не хранить.
  4. Когда-то давно в НС появился "ПДА" для хранения переменных, не лезущих в pstor актору (netpacket_pda_binder.script) в числе прочего там есть такое: При переходе в онлайн этого самого netpacket_pda дергаются последовательно *:__init(), init(), *:reload, ну и далее по тексту. Но КАК ? В смысле, netpacket_pda_binder.init() кем вызывается вот в таком-то вот порядке ?
  5. Уже писал Вашему коллеге: wather_act.script, xrs_armor.script, xr_kamp.script. Ну и еще xr_danger.script, который надо в логике запретить, и в котором я правил ошибку с взятием игнора вообще не оттуда.
  6. По поводу оператора # по его поведению и скудному описанию языка можно предположить, что он возвращает значение некоего счетчика. А вот как и когда создается значение этого самого счетчика - очень похоже, что при первом требовании. То есть, первом применении собственно # или table.что-то-там()
  7. Для proper70, ну и остальных тоже: "Для тех, кто понимает о чем речь: вчера убедился окончательно, что долгая загрузка игры только из-за неоптимизированных текстур и моделей. И фризы в Баре в одних и тех же местах а также при подходе к нычке - тоже только из-за них. Фриз происходит, когда объект с неоптимальным визуалом переходит в онлайн." Да. Более того, я здесь писал, что подстановка визуала долговца долговца на соседний убирает 2-х и более секундный фриз по этому долговцу ВООБЩЕ. И, да, есть вообще откровенно глючные модели типа тех станков в МГ. Аналогично, кстати, с некоторыми неписями. Но длительный этап "синхронизация" - это таки многократное чтение огромных простыней конфигов. Переписывание же скриптов - это лечение эффекта "прихрамывания" в основном. Хотя и он ТОЖЕ вызван не столько кодом, хоть и неоптимальным, сколько другими, некодовыми проблемами. P.S. А вообще, обсуждение общесоляночных вопросов в скайпах, личках и прочих подпольях - это плохая идея. По 20 раз одно и то же спрашивается, и одни и те же велосипеды изобретаются.
  8. Наверное, сюда все-таки. Ибо торможу. Не понимаю, КАК этот код работает в соответствии с комментариями. У меня наоборот получается. level_weathers.script: То есть, repeat ... until должно выполняться ПОКА время в заданном интервале. Или нет ? Снимите меня кто-нибудь с ручника. И, кстати, код производит впечатление сильно небезопасного, почему-то. malandrinus, ага, спасибо. Это я просто странного прочитал, оказывается. А паскаль - он как-то мимо меня пролетел весь. Мда, погодку по-хорошему надо делать или полудинамической (переход ночью между однотипными конфигами вместо той жуткой простыни почасовой (и половина - криво), или динамической совсем (генерить вообще все). Тогда туда можно будет всякого вкусного подцепить.
  9. Кривые оружейные конфиги в данном случае. (Ну или кривой скрипт, кому как нравится. Но конфиги таки кривые. Вообще, правки оружия и брони в соли делались традиционно без учета AI - лишь бы игрока еще как-нибудь ущучить, а что при этом будет с неписями - всем всегда было пофиг. Лишь бы вообще запускалось.)
  10. Что-то не могу найти вызовы spawn_teleport.marsh_teleport1() и spawn_teleport.marsh_teleport2(). Кто-нибудь знает: что это, откуда, и зачем оно ? Код, кстати, какой-то загадочный по смыслу: level.add_pp_effector( "peace_fade.ppe", 160608 ) db.actor:set_actor_position( patrol( "marsh_walk_2" ):point( 0 ) ) local dir = patrol( "marsh_walk_2" ):point( 0 ):sub( patrol( "marsh_walk_2" ):point( 0 ) ) db.actor:set_actor_direction( -dir:getH() )
  11. Гм... И ведь работало как-то... function fill_item_packet(ret,stpk,updpk) ... readvu8uN(updpk,ret.updcse_alife_item__unk1_q8v4) readvu8uN(updpk,ret.updcse_alife_item__unk2_q8v3) readvu8uN(updpk,ret.updcse_alife_item__unk3_q8v3) Из мода - в мод, из пака - в пак...
  12. А wpn_eagle_m1 тогда - что ? Говорят, что работает файл от предыдущих солянок. Так лучше ставить вообще его. Долго целятся - не понимаю. Вроде как раз наоборот урезал и углы, и время. И проверил все это. В общем, ждем тогда правок "все включено".
  13. Saruman, по тому что пачка глючных скриптов и не менее глючных конфигов. Как раз допиливаю глобальную переделку, где уборщик, переодевание и фэйк-торговля объединены. Что избавляет от конфликтов схем, бродячих/пропадающих квестовиков, пропивания неписями последнего ствола, и т.д. и т.п. Там же объединены в единую таблицу все визуалы, исправлена кривизна выделения имен и прочее. Аналогично с защищенными предметами. Да, кстати, кто нибудь знает/помнит, что такого осоенного по сюжету в wpn_desert_eagle, что его уборщику/офлайну/подбиранию запретить пришлось ? Cule_R_uliT, правка дверей вроде в фикс должна была попасть. Проверю. Пропадание Круглова посмотрю.
  14. Криво сделанные контейнеры для артов, криво взаимодействующие с ареной.. Еще со времен досоляночных. Когда-нибудь будет переделано. Вообще, от греха, на арену с лишним багажом лучше не ходить. Незачем он там. Право, иногда возникает желание вообще все лишнее отбирать, и обратно - не возвращать. Типа, "потерялось". Весь код сразу станет намного красивее, быстрее, и безглючнее.
  15. Dennis_Chikin

    [SoC] Вылеты без лога

    Вообще было бы наверное небесполезно, если бы кто-нибудь взялся оформить в виде справочника. Вылеты со странным логом, вылеты без лога, повисания объектов/функций/модулей без вылета или с вылетом "по переполнению стека". От меня в копилку: pos1:distance_to_sqr( pos2 ) -- повисание при невалидном pos2
  16. Глюк по зрению неписей "всегда на 60 метров, зато сквозь любые преграды" - убран давно. Кстати, переписанный костюм-невидимка, который был источником проблем, и здесь выкладывался. Так что не "очередной по прохождению", а демонстрация того, что со стелсом можно теперь много разного. А вообще, подозрительно похоже таки на оффтопик.
  17. Мерцающий, переделано уже. Но только в новой. Для текущей нет особого смысла - баг не критичный.
  18. Это проверено - в смысле, что в патчах нет ни чего, что требовало бы добавленного state_mgr_animation_list.script ? Если проверено - то да, однозначно, возвращать старый. Уйдет не только глюк с кругловым, но и много что еще.
  19. Остался от экспериментов. В общем, переписал пока так: (%-?[%d%.]+)%,%s* n раз без хвоста Вроде работает, и даже ошибку в данных отловил, которая раньше, с итератором и пачкой адских преобразований проскакивала. Ага, похоже на то, что итератору крышу сносит. Причем вместо пустых строк начинает выдавать первое вхождение.
  20. По первому вопросу я хочу 4 числа без мусора из строки типа " -195.01,-5.12, 146.45, 50чего-то там ". Все другие варианты, которые смог придумать, дают странное. Чисел всегда 4 (ну или вообще 2), и именно по этой причине с итератором городить огород не хочется. По второму вопросу: ну, там union, да. Для случая с просто %w смысла особого нет, но поведение всей конструкции от этого изменяться же не должно по сравнению со, скажем %w_ или %w%s ? Или должно ? Если символ в строке не попал под шаблон, а мы просим 0 или больше - будет ведь все равно пустая строка ? А если не менее одного - nil ?
  21. А подскажите кто-нибудь менее монстрообразную конструкцию для замены: v1, v2, v3, v4 = s:match"(%-?[%-%d%.]*)[%s%,]*(%-?[%-%d%.]*)[%s%,]*(%-?[%-%d%.]*)[%s%,]*([%d%.]*)" И, кстати, я, похоже, что-то не понимаю с поведением конструкций вида string.gfind( s, "[%w]*] ) и string.gfind( s, "[%w]+] ) Как оно должно работать ?
  22. Ну, при внимательном рассмотрении config\misc\treasure_manager.ltx вояк, наемников и даже чистонебовцев нашел. Но в целом условия выдачи тайников меня слегка пугают. Количество используемых - тоже.
  23. Вот интересно: почему тайники есть только у нейтралов, бандитов, долговцев, и свободовцев ? Вояки, наемники, чистонебовцы и охотники - как Ленин, "все - детям" ?
  24. Dennis_Chikin

    Кураторам тем

    Народная 2010 разработка http://www.amk-team.ru/forum/index.php?showtopic=8830
  25. [error]Description : dBodyStateValide(b) Как выяснилось, это не только модель. Может быть битый/криво разобранный нетпакет, даже если собственно визуал нормально прочитался и разобрался. Отслеживать в дебрях кода: что и на каком этапе сходит с ума - неасилил. Не исключено, что монстры/оружие и прочее, сделанное на неправильном классе - сюда же.
×
×
  • Создать...