Dennis_Chikin 3 658 Опубликовано 12 Ноября 2014 Поделиться Опубликовано 12 Ноября 2014 Повешу это здесь сразу, чтобы иметь перед глазами постоянное напоминание. Как я это представляю, кроме введения и обсуждений в формате "все ни о чем": Создается паралельно более специализированная тема, типа "динамическое подключение функций" (это если вопрос достаточно синкретичен), или "нетпакеты", или "таймеры", или вот прямо конкретно "_g.script". А здесь черкается заметочка. "Все ни о чем" обсуждаем прямо здесь. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Murarius 10 534 Опубликовано 12 Ноября 2014 Поделиться Опубликовано 12 Ноября 2014 Я бы создал эти отдельные темы, и либо сделал им всем тег "Рефакторинг" (что не очень продуктивно, пожалуй), либо дал бы всем префикс [Рефакторинг]. Или скомбинировал бы оба варианта, на усмотрение. Литературка (избранное): "Координаты избушки" (2023) --- "Колобок времени" (2019) --- "Пиво и жлоб" (2018) --- "Лекарство против морщин" (2013) --- "Когда все пройдет" (2013) Креатив (бесперспективное): Dominanta --- Сон на земле Досвиданьице (слезное): Смена администратора (2024) Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 12 Ноября 2014 Автор Поделиться Опубликовано 12 Ноября 2014 (изменено) Тема "нетпакеты". Пока только скрипт с выдранным из amk и заоптимизированным по скорости. Не нужно так переименовывать. Здесь ссылки достаточно. Ну или тэг. _g.script Просто гравипушка и поправка/альтернатива Таймеры. И сон. Изменено 30 Января 2015 пользователем Dennis_Chikin 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Murarius 10 534 Опубликовано 13 Ноября 2014 Поделиться Опубликовано 13 Ноября 2014 А почему?.. Так какая-то структура даже получается, нет? Литературка (избранное): "Координаты избушки" (2023) --- "Колобок времени" (2019) --- "Пиво и жлоб" (2018) --- "Лекарство против морщин" (2013) --- "Когда все пройдет" (2013) Креатив (бесперспективное): Dominanta --- Сон на земле Досвиданьице (слезное): Смена администратора (2024) Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 13 Ноября 2014 Автор Поделиться Опубликовано 13 Ноября 2014 По тому что тема более обширная. Просто там сейчас всего одна статья. Что, будем после каждого поста переименовывать ? Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 23 Ноября 2014 Автор Поделиться Опубликовано 23 Ноября 2014 (изменено) Гм... Вообще-то не вижу какого-то особого энтузиазма. Скорее - "ну что там этот идиот опять награфоманил" - если вообще хоть кто-то в раздел еще заглядывает. Впрочем, преимущество ситуации как раз в том, что можно графоманить без оглядки. Мда, знали бы вы, как меня с этой солянкой достало, когда что-то написал, отладил, и даже работает, но только у меня. А просить попробовать кого-то другого - надо опять откатывать под древние уежища, возвращая кучу только-что вычищенного индокитайского мусора, и не факт, что получится. А уж что там куда навертели во всяких прочих ооп и дмх - вообще неизвестно. 20 вариантов отката назад, в меловой период, причем в стиле угадайки. И вообще все эти правки и "адаптации", когда меняется ради 10 строк чего-то нового 20 других скриптов в 20 местах каждый, непонятно зачем... Но, ведь, блин, всем нравится и всех устраивает. Не понимаю... Мда, а что я сказать-то хотел ? Ну, вот так вот и получается - параллельно и перпендикулярно, с взаимными кросс-отсылками. Все равно по одному скриптику править не получится - где-то придется и с глобальной заменой. Сохранять древний апи или мистическую "совместимость" смысла не вижу. И то, и другое надо заново делать. Изменено 23 Ноября 2014 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Murarius 10 534 Опубликовано 23 Ноября 2014 Поделиться Опубликовано 23 Ноября 2014 Возможно, просто никто и не думает подходить к этому вопросу системно. Может, масштабы пугают. Но при этом почему-то не пугает то, что объемы пост-работы в итоге получаются еще больше. Наверное, надеются на авось. Плюс авторитет давит. Ну а как же! Скрипты ТАКИХ МАСТЕРОВ, там все по умолчанию правильно! GSC!!! AMK!!! Литературка (избранное): "Координаты избушки" (2023) --- "Колобок времени" (2019) --- "Пиво и жлоб" (2018) --- "Лекарство против морщин" (2013) --- "Когда все пройдет" (2013) Креатив (бесперспективное): Dominanta --- Сон на земле Досвиданьице (слезное): Смена администратора (2024) Ссылка на комментарий
abramcumner 1 157 Опубликовано 24 Ноября 2014 Поделиться Опубликовано 24 Ноября 2014 (изменено) Сохранять древний апи или мистическую "совместимость" смысла не вижу. И то, и другое надо заново делать. Рефакторинг - это как раз "оставлять древний апи" и "мистическую совместимость". Если этого нет - это переписывание заново. И если в рефакторинге какой-то смысл есть, еще в одном фреймворке смысла нет. Уже переписано достаточно много всего, а главного так и у не увидел. Что именно переписывается: оригинальные скрипты, амк, солянка? Под какую версию сталкера? Определиться с целью рефакторинга: новая это будет система или улучшение старой? Может это будет своеобразным эталоном и учебником для скриптеров? И тому подобное. По-хорошему надо завести проект на гитхабе. Выложить туда оригинальные скрипты и уже после этого рефакторить. Причем принципиально важно, чтобы можно было взять коммит, скопировать в геймдату сталкера и игра запустилась бы. Рефакторинг делать в отдельных коммитах, оптимизации в отдельных. Для оптимизаций приводить цифры сколько был, например, апдейт актора и сколько стал. Для скриптеров принципиально видеть что было, что стало и объяснение зачем и почему поменяли. ------------------ Пока же обсуждать особенно нечего: что было до этого неизвестно, зачем вообще все те функции в _g.script, может их по другим файла раскидать. Повторюсь нужна цель и идея, а потом уже тонны кода. Да больше работы и писанины(или даже гораааздо больше), но появляется некоторая самоценность работы. Что-то новое, чего не делали раньше Плюс авторитет давит. Ну а как же! Скрипты ТАКИХ МАСТЕРОВ, там все по умолчанию правильно! GSC!!! AMK!!! Вообще-то каждая вторая команда с больше чем одним скриптером переписывала. Переписывал Артос, переписывали ЛА, переписывали ОГСЕ, переписывали под ЧН и ЗП, Денис вон в солянке переписывал. Только результат нулевой по сути - еще одна ни с чем несовместимая загогулина, о которой никто ничего не знает. Взять тот же старинный АМК - берешь и не знаешь проблем - пишешь на форуме и чуть ли не мгновенно получаешь ответ. Делать это еще раз - сизифов труд. Изменено 24 Ноября 2014 пользователем abramcumner 1 Ссылка на комментарий
Murarius 10 534 Опубликовано 24 Ноября 2014 Поделиться Опубликовано 24 Ноября 2014 Я что-то не очень понял. Рефакторинг - это как раз "оставлять древний апи" и "мистическую совместимость". Если этого нет - это переписывание заново. И если в рефакторинге какой-то смысл есть, еще в одном фреймворке смысла нет. Повторюсь нужна цель и идея, а потом уже тонны кода. Да больше работы и писанины(или даже гораааздо больше), но появляется некоторая самоценность работы. Что-то новое, чего не делали раньше Тут нет противоречия? Литературка (избранное): "Координаты избушки" (2023) --- "Колобок времени" (2019) --- "Пиво и жлоб" (2018) --- "Лекарство против морщин" (2013) --- "Когда все пройдет" (2013) Креатив (бесперспективное): Dominanta --- Сон на земле Досвиданьице (слезное): Смена администратора (2024) Ссылка на комментарий
abramcumner 1 157 Опубликовано 24 Ноября 2014 Поделиться Опубликовано 24 Ноября 2014 @Murarius, я не вижу. Новое из второй цитаты - это не новый код, а новая идея: переписать и улучшить скрипты так, чтобы можно было подставить в существующие моды и ничего не сломалось Что и является рефакторингом по определению. Ссылка на комментарий
Desertir 202 Опубликовано 24 Ноября 2014 Поделиться Опубликовано 24 Ноября 2014 DC занимается, на мой взгляд, реинжинирингом. Рефакторинг нужен для читаемости кода, я не считаю, что там должна быть "новая идея". Создание шреймворков конечно круто, но в разрезе игр - дело неблагодарное. Такие вещи пишутся самими разрабами, что мы и видим. Хотя крутое апи для логики можно запилить. Кстати, гит - тема. На худой конец - свн, хотя нет, гит лучше для таких "проектов". ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 24 Ноября 2014 Автор Поделиться Опубликовано 24 Ноября 2014 (изменено) 2abramcumner: Мы все умрем, да ! И про то, что у каждого свои видЕния и привидения - спасибо, Кэп, я помню. Вот только совместимости ни какой реально ни где нет. Ни по сэйвам, ни по апи, ни по чему вообще. Есть набор странных ритуалов, типа изменил где-то одну строку - измени еще 50 скриптов в 50 местах. И НИ по каждому чиху. Добавил непися, убрал непися, добавил ствол, убрал ствол, спилил мушку - НИ. Хотя в действительности 99.9% НИ обязаны все тому же ритуалу. И, да, Артосокод мне тоже нравится. Студентам давать хорошо, ибо "солдат, который ни чем не занят..." Вот только kee\/\/1_hAcckePssKaIY-aaЯ запись имен переменных и функций... Э-эээ, несколько печалит. А опечаток и неумышляемых результатов копипасты при этом - не так чтоб уж ну очень сильно меньше, чем у меня. В общем, кто бы собрал, опубликовал, разложил и объяснил. Чтоб пол жизни не ушло на вникание. И чтоб потом все трижды не проклять, пытаясь дописывать. Ну и с инкапсуляцией - все-таки перебор, да. Перебор. А так - все в нем здорово, можно издаваться, аки Дийкстре. Кроме шуток. Да, гитхуб - идя, конечно, хорошая. Кто-б занялся... А свина - таки фффтопку. Ибо опыт - крайне негативный. И, конечно, да - мы все умрем ! Изменено 24 Ноября 2014 пользователем Dennis_Chikin 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Карлан 1 049 Опубликовано 26 Ноября 2014 Поделиться Опубликовано 26 Ноября 2014 (изменено) @abramcumner, ну например я использую коды 12 симбиона весьма активно, я плохо понимаю в программировании, но как-то складывается со временем так, что улавливаю ход мыслей Artos'a и уже дергаю эту оптимизацию/систему/модуль себе (ну и дописываю/переписываю по мере надобности). И на счет ЛА, там отчетливо штрихи Artos'a видны, тем более он сам по поводу этого высказывался, так что я бы о ЛА не говорил. О неиспользовании этого всего, я думаю что собирается команда, ставятся задачи которые надо в сроки выполнить, и не суть как, но ты должен сделать, а когда начинаешь говорить, что прежде чем писать какие-то скрипты нужно ввести несколько вспомогательных систем, переписать особо кривые моменты в скриптах, что например для меня тоже дело не одного дня. А остальных это не заботит, по какой причине я не знаю, может время, может желание, может навыки. Я вот например уже без ивентов тех же работать не могу, очень мощная и функциональная система, да и скрипты адаптируются всего-лишь добавлением поля в таблицу. На счет трудности понимания венгерки согласен с Денисом. По моему он единственный из известных, кто на ней пишет. Еще один из минусов мне кажется это повальный вывод данных в конфиги, хоть конечно и грузится на старте, но я все-же привык городить килотонные таблицы в скриптах напрямую. По сути НИ зачастую зависит от пересбора all.spawn, либо от каких-то непоправимых квестовых косяков с сопутствующей потерей сейвов. От all.spawn можно вполне отказаться, если написать парсер путей из конфигов, да я понимаю кое-что без него не задать, но в общем и целом незадачливые модмейкеры исправляют кривые координаты путей, вот эту проблему то и можно решить. Делать это еще раз - сизифов труд. В точку сказано, у меня в свое время был выбор чьими кодами пользоваться, Artos'a или malandrinus'a; выбрал первое, так как и функционал пошире, и позаковырестее все написано Самому это все делать конечно можно, но долго, да и зачем? Когда уже все есть давно... Изменено 26 Ноября 2014 пользователем Карлан Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 26 Ноября 2014 Автор Поделиться Опубликовано 26 Ноября 2014 Карлан, кстати, спасибо: я понял, в каких примерно случаях нужен стиль написания кода Артоса. Вот мне реально в тех же ивинтах разбираться лениво, по тому что не нужны, и с плоским работать проще - когда все перед глазами. А для кого-то - действительно нужный инструмент, время экономящий. И оверхед при этом - не так страшен. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Карлан 1 049 Опубликовано 30 Ноября 2014 Поделиться Опубликовано 30 Ноября 2014 Можно и плоское написать, мне вот классом нравится (удобнее). Оверхед я думаю небольшой, хотя специально не замерял, но тем не менее и в примитиве встречаются такие случаи, где код работает раза в два дольше, чем стандартная функция (тот-же table.insert), если я правильно понял о чем ты. У меня и в ивентах все перед глазами, я не знаю чем тебе они не понравились. Ссылка на комментарий
Карлан 1 049 Опубликовано 1 Декабря 2014 Поделиться Опубликовано 1 Декабря 2014 Объясните мне пожалуйста вот эту шайтан-конструкцию, а то я никак прикола не пойму: --' Сохраняем уровень сложности if save_treasure_manager == true then packet:w_u8(level.get_game_difficulty() + 128) else packet:w_u8(level.get_game_difficulty()) end --' Загружаем уровень сложности local game_difficulty = reader:r_u8() local load_treasure_manager = false if game_difficulty >= 128 then game_difficulty = game_difficulty - 128 load_treasure_manager = true end Собственно спрашивается, а нафига 128 прибавлять/вычитать, когда можно просто уровень хранить? Или тут какой-то подвох, которого я не разглядел? Ссылка на комментарий
abramcumner 1 157 Опубликовано 1 Декабря 2014 Поделиться Опубликовано 1 Декабря 2014 @Карлан, в одном байтике сохраняется и сложность и флажок save_treasure_manager 1 1 Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 2 Декабря 2014 Автор Поделиться Опубликовано 2 Декабря 2014 Правда, зачем этот флажок - ни кто не знает, но все продолжают сохранять. Даже я, переписав форматы всех сэйвов, вдребезги и пополам, у себя его зачем-то оставил. 1 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Desertir 202 Опубликовано 2 Декабря 2014 Поделиться Опубликовано 2 Декабря 2014 (изменено) Разве это не менеджер тайников? Просто он отключаемый из скриптов (для тестов или еще чего). А может быть есть такая ситуация, когда в сейве нету этого флага, тогда якобы чтение тайников приведет к ошибке. Изменено 2 Декабря 2014 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 2 Декабря 2014 Автор Поделиться Опубликовано 2 Декабря 2014 (изменено) Он самый. А вот смысл этого действа... Вот что-то типа такого: local treasure_mgr local dfcy = pk:r_u8() -- Загружаем уровень сложности if dfcy >= 128 then dfcy = dfcy - 128 treasure_mgr = true endеще что-то грузится... if treasure_mgr then treasure_manager.init() treasure_manager.load( pk ) end грузится список тайников с метками. Которые снимаются, когда актор в тайник заглянул. Ну и зачем ? При этом в модах сверху понаворочено еще по стописят скриптов, которые тоже что-то делают с этими тайниками и метками. Итоговый вывод - рудимент. В смысле, вообще весь скрипт. Всю информацию о тайниках следует хранить в самих тайниках. Изменено 2 Декабря 2014 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти