-
Число публикаций
6 272 -
Регистрация
-
Последнее посещение
-
Дней в топе
33 -
AMKoin
551 [Подарить AMKoin]
Весь контент пользователя Dennis_Chikin
-
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
Ну, о терминологии: "таймер" и "очередь" - вообще-то взаимоисключающие понятия. Таймер - это мы должны бросить все, и немедленно выполнить. Очередь - это именно когда дойдет - вот тогда и... t5000i в примере - это как раз указатель на текущий элемент очереди. Есть - выполняем, и ставим указатель на следующий. Нет - ничего не делаем. По времени здесь происходит установка на первый элемент - это чтобы "лишний" раз ничего НЕ выполнялось. Да, если мы говорим о таймерах - повторяюсь, там обработка должна начаться сразу, как только время пришло. Если же используется очередь - оно может и прийти, и пройти, и еще раз прийти (точнее, в рассматриваемых реализациях - только пройти). Так вот, в первоначальном утверждении, с которого начался сыр-бор, было о том, что вот нет в игре ничего такого, чтоб "вот прям счаз все бросить, и начать выполнять это", чтобы было обусловлено именно временем. -
Здесь на самом деле терминологическая путаница. Статические библотеки - это файлы .h - при сборке просто тупо используемые из них куски становятся частью .exe Чтоб за примером далеко не ходить - да хоть inventory_item.h dll - совершенно другая технология, когда этот самый dll дергается из разных программ. Вкомпилить dll в свой проект - это, в общем, объединение его с exe так, что отдельный dll становится не нужен. См. например ILMerge. Вообще, по факту, используется для того, чтобы не раскрывать исходный код тем, кому "не положено". Типа, "вот вам дали - пользуйтесь тем, что есть, и скажите спасибо, что и такое дали".
-
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
Ну, вообще-то приведенный вариант - он уже тоже "несколько" устарел, но по смыслу - да. в call_upd3() мы проверяем - есть ли ожидающие своей очереди арты. Если есть - проверяем еще и условия, что пора. В простейшем варианте - такое условие - время: n игровых секунд от начала игры, допустим. (в своем варианте я заменил на "от загрузки", но это не принципиально). В не простейшем - но это уже разговор о вкусе фломастеров - я бы предпочел вариант "насыщения" аномалии, а не время. Назвать это таймером - можно и назвать, конечно. Почему ж нельзя ? Если хочется ? Но, даже такой способ я считаю чрезмерно агрессивным, поэтому ипользую очередь функций, которая просто перезапускается раз в 5 секунд, если закончилась. А уже в ней очередь аномалий, с которыми надо что-нибудь сделать. Но это уже, простите, уже совсем не таймеры. -
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
Desertir, варка артов - это, по-хорошему, не событие актора. Там так же не нужна точность в 200ms, ну и не нужен "запуск". Простая очередь, вешающаяся на самый медленный апдейт из всех, что есть - вполне достаточна. Хотя, кстати, да: можно еще при загрузке проверять - есть ли арты в очереди, и не добавлять ее в апдейт вообще, пока не будет инициирована новая "варка". То же самое и с выбросом: есть прогнозированное игровое время - по нему и запускаем, можно - с запозданием. Если к тому же модифицировать - то там вообще последовательность событий с проверками на "безопасность" надо делать. Опять же - "простой" медленный апдейт, в идеале еще и с проверкой загрузки движка. Вот кстати, да, если вести речь о модификации оного движка, то было бы не лишним иметь систему "необязательных" событий - то есть, чем-то заняты - ну и черт с ними, с этими событиями - подождут до другого раза. P.S. сообразил, что действительно имеем семантическую путаницу, происходящую из того, что на самом деле у нас и нет ни каких "таймеров". Есть их эмуляция, все из того же самого апдейта. Причем апдейты (не важно чего) - по сути единственный способ получить управление. В то время как нормальный таймер - это "железный" (ну или системный) вызов нашего кода, действительно, в запрограммированное время. Вот, собственно, и... -
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
По тому что в игре нет таких событий, которые одновременно бы удовлетворяли бы следующим условиям: 1. Происходили неоднократно. 2. Иррегулярно. 3. Через точно заданное время от момента x. Или, по крайней мере, я не могу себе такие представить. Либо они однократные, либо промежуток регулярный (раз в n секунд), либо зависят от каких-то других условий (выбрали фразу в диалоге, появился предмет, достигли некоей точки, отыгралась анимация и т.д.) И не "пофиг какие" - а amk-style и их аналоги. Допускаю, что есть нечто принципиально более другое, которое для чего-то используется. Но тогда и хотелось бы увидеть описание: что, как и для чего. "Пункты 2 и 3 у тебя противоречат друг другу, если что" - ну я что написал ? -
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
Я понятия не имею, что от меня хотят услышать. Что вижу - выше написал. Для чего использовалась предложенная мной модификация - это для временной замены амк таймеров пока не были внесены боле глубокие изменения. То есть, функция запуска просто переименовывалась, и убиралось преобразование таблица->строка и строка->таблица. Вызываемая выносилась из amk.script, и добавление производилось из того же скрипта, который запускал собственно таймер. Только при необходимости. На данный момент таких осталось 3 места. Все. -
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
"Что такое таймеры и в чем смысл жизни ?" - вот так этот вопрос должен звучать. В данном конкретном случае, говоря об amk-таймерах я могу сказать только то, что вижу, а именно: набор неких функций, предназначенных для запуска более других функций через какой-то заданный интервал времени, и сохраняющих параметры, предназначенные для этих самых более других функций, в сэйвах. Предназначены как бы для того, чтобы спрятать некие рутинные операции от кого-то (кого ?). Попытку следует признать неудачной, поскольку количество операций с не совсем ясным смыслом скорее возросло. Что-то мы уже на пятый круг заходим: ибо предчувствую, что мне сейчас опять начнут объяснять, что 1 - я не умею их готовить, 2 - это старье, по тому что в 2008-ом только учились, и по тому что древние версии движка не имели тех возможностей, которые есть в 1.0004. -
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
По сну - я пытался в эту сторону думать, но в итоге признал скорее полезной фичей. Так-то можно и на fast_call перевесить, с проверкой времени - всяко точнее будет. А действительно ли эти пол часа критичны ? По таймерам, ну вот применительно к понятно-какому монстромоду у меня есть вариант с таймерами amk-style, то есть, однократными, и сохраняющими параметры, доработанными на добавление-проверку функции и собственно активного таймера, и добавление функции на "плавный" апдейт актора с последующим удалением, когда становится не нужна. В итоге понял, что пользуюсь постоянно вторым вариантом, а первый - не только не использую, но и перевожу на второй там, где встретилось. На данный момент осталось 3 одноразовых по сюжету. И те - без параметров. Ну, по тому что либо оно да, должно крутиться в апдейте постоянно, либо там же - с некоего события, и до наступления, опять же, некоего другого события. То есть, все равно проверяется не время. Да, минимум одна из упомянутых функций будет переделываться на проверку позиции актора, ибо привязка кода к конфигу - не есть правильно. Вторая - там завязано на время проигрывания озвучки. Тоже неправильно константы подбирать, вместо проверки на играется ли звук. Третья - на анимацию. 8/ Ну, понятно, что новости и выброс - это вообще не вариант. Варка артов... Гм. Вот тоже ситуация примерно как со сном. НУ и все параметры правильнее хранить в самой аномалии. Мало ли, как и кто на нее будет воздействовать... Порча заспавненного броника из десменеджера ? Это вообще вредно, поскольку опять же проверять надо появление предмета. Которое зависит от расстояния до актора. На этом моя фантазия исчерпалась. -
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
Не, без переводчика, чувствую, ни как. Я вообще-то про то, что люди вот прямо сейчас, в 2015 году, продолжают копипастить вот эти самые - неназываемые. Другое дело, есть серьезные сомнения, что если каждый из здесь отметившихся напишет, что так делать не надо - то это как-то поможет. Все равно продолжат. И строки в таблицы и обратно побайтно преобразовывать при каждом вызове - тоже продолжат. И вот те самые пакеты из amk.script в апдейтах дергать. Ну и т.д. Но, зачем писать, что "вы/ты/он/она занимается полной ерундой, и им вообще не надо моддингом заниматься" ? Опять же обращаюсь не к конкретному оппоненту, а к тем, кому зачем-то захочется что-то подобное написать. Результат-то какой в итоге ожидается ? Далее, ладно, 2015 год на дворе. Так ведь и я согласен с Арамисом. Вывод-то опять же какой ? Давайте все бросим, и будем разрабатывать некий перспективный проект на 2018-й, 5 лет его будем делать, а потом остальные будут его еще 5 осваивать ? Или все-же какие-то промежуточные шаги имеют право на существование ? Кстати, да. У меня вот vs13 сейчас ставится, так я посмотрю, что получится, и возможно сделаю банально работу с указателями и чтением/записью по произвольным адресам. А то и действительно, нафиг все эти скрипты, сразу все в исходниках сделаю как хочу, соберу, и... гм. А что, собственно, и ? Интересная мысль, и я ее буду думать. (И вообще, не портировать ли мне сталкера на фрю ?) Ну так вот, про идеи, ноу-хау, и прочее: хорошая, не хорошая - но вот где вы все раньше были, когда оно могло быть хорошим ? И вот согласно какой религии это нельзя выставить сейчас ? Конкретно, какую статью УК это нарушает ? Вопрос второй, еще раз: Если вот СРАЗУ так и написано было "но вообще - не нужны" ? Не про чье-то там, а вот именно про выложенное. Извините, то, что за этим последовало - это именно десяток раз повторенные взаимоисключающие параграфы "нет, нужны, но не нужно". Кому нужно - пользуйтесь, кому не нужно - не пользуйтесь. В чем дело-то ? Что здесь вообще обсуждать ? P.S. А, да, есть еще полно изобретающих велосипеды. Тоже в 2015-ом году. Хотя тоже вряд-ли поможет. В смысле, хоть 200 раз написать "надо", хоть столько же - "не надо". Какой вывод ? А простой. Положил, и путь лежит. Есть-пить не просит. -
Я ж говорю - обходят проблему. Ну вот банально, некоторым вообще алкоголь нельзя. И вот в лес выбирается компания на 3-4 десятка человек, некоторые еще и с дитями. Что делать ? Вот, наловчились. Алкоголикам - алкогольное. Остальным - черника + лимон + перец. Гвоздика - ну можно ж без нее. Можно. Имбирь + шафран + можжевельник. Оно и ладненько. Ну вот я себе крепкий не делаю, но пол чайной ложки рома капаю. И все-тот же перец добавляю горошины 4. Гвоздикой, кстати, тоже не злоупотребляю - те же 3-5 на поллитра. Тем не менее, вполне вкусно.
-
Жратва на кладбище ! С танцами !
-
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
Да ну, "ни кто не говорил". Только вот сюда перетащенное глянуть... Не считая снесенного. По on_drop - да, полезный пост был. Но ведь и его проигнорировали - и это был не я. Не будем показывать пальцем, но опять же на этих 4-х страницах можно найти. А я уже просто так сказать, "по итогам" пост написал. В общем, давайте все-таки обойдемся без выискивания несуществующих оскорблений, и будем воздерживаться от реальных ? Даже и в теме "обо всем". Вот есть у каждого что-то свое - так вот лучше и написать, для чего именно и как именно оно используется. А уж кто что умеет готовить - собственно, из этого и видно будет. -
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
Важнейшим из искусств для нас является флуд ! По тому что вот щас сюда страницы три сразу перетащу, как минимум. -
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
Судя по регулярно происходящему в других темах - таки нужна. Вот здесь как раз можете спросить про "зачем создали эту тему ?" А также про ООП, про как заниматься моддингом и его устарелости неустарелости, кто как его себе представляет и т.д. В общем, для много слов "обо всем". Что в более специализированные темы не лезет, но поговорить давно хотелось и хочется. Но таки да, пп 2.0, 2.1 и даже 2.5 правил здесь вполне таки действуют. -
Прозекторская
Dennis_Chikin ответил на тему форума автора Dennis_Chikin в Скрипты / конфиги / движок
"Вскрытие показало, что больной умер от вскрытия." Тема для "крупной формы", то есть, на уровне скриптов целиком или больших частей оных скриптов. "Что у него внутри, зачем оно там, и что с этим можно сделать ?" -
Глинт вообще-то и без гвоздики можно. А даже без алкоголя. Рецептов - 100 тыщь мильенов. Многие - вполне даже сносные. Ну вот собственно "безалкогольным глинтом" люди специально заморачивались, чтобы по максимуму сохранить и полезные эффекты, и даже вкус, но чтоб при этом даже убежденным язвенникам можно было. Да, смесь виноградного яблочного и гранатового сока/черника всякая, и прочее. Ну и там всякая сложная алхимия с разными черными перцами и можжевельниками.
-
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
Больше флуда богу флуда ! Ну, давайте подискутируем. тем более, что темы были осмыслены в более другом разделе, а сейчас уже пора по 3-4 поста из каждой перетащить в "прозекторскую", а под остальное, похоже, вообще флудилку специально выделенную делать. И, кстати, на самом деле оная флудилка бы с самого начала не помешала. Во-первых, вот в первом посте, сразу после ссылок так и было написано: "а вообще - не нужны". Не нужны - это значит - ни в каком виде. Ну, то есть, если у кого-то есть ВМЕСТО этого нечто сложное и навороченное - наверное, он их зачем-то применяет. А если незачем - то и не применяет. Про on_drop'ы в амк тоже все сказано, и вышеупомянутые системы сложные и навороченные - их существование не значит, что теперь надо взять, и амк-простыни, солянкопростыни, а тем более, простите за нецензурное слово, ОП2 простыни перетаскивать под..., зачем-то тщательно сохранив все on_drop'ы. Вот что я не понимал никогда, и понять, наверно, не смогу - это вот ну выложен код, ладно, не нужен он вам - что за бурная такая реакция "зачем выложили". Затем. Чтоб побурлило. А может быть и для того, что если оно кому не надо - а кому, глядишь, зачем-то и надо. И, да, читаем мы тоже знатно, этак, по диагонали. Ну, собственно, в неповторимом стиле взаимоисключающих параграфов, хотя как вот так вот писать можно - это я еще представляю, а вот чтоб читать - так это мне еще учиться и учиться. В общем, вы (обращено к неопределенному кругу лиц) как-то определитесь, что-ли: или срочно переносим 500 проверок на on_drop под se_stor, или все ж как-нибудь обойдемся ? А вот под два события за все игру - тут как-то тоже может позволить всем сами решать: или водружать se_stor для этого, или из амк копипастить, или вот огрнаичиться предложенными двумя десятками строк ? Не говоря уже о том, что кто-то может тупо решит проверку в on_spawn к актору запихать, или и вовсе в диалог... Или, еще, да, вот кто-то увидел что-то, что ему не понравилось, поменял, и выложил. Тоже просто из соображений, что кому оно - того, а кому - и не того. Другой счел, что можно сделать лучше, и написал: как именно. То есть, что, где и на что поменять. Или чем заменить, тоже конкретно с примером. Глядишь, моддинг куда-нибудь и продвинется. Ну, по крайней мере шансов хоть на полпроцента, но больше, чем во всех подряд темах грозно вопрошать: "КТО РАЗРЕШИЛ ?" и "Почему строем не ходите?" А вот ни кто не разрешил. Хочу - и переписываю. А строем ходить - не хочу, вот и не хожу. Чего и всем остальным желаю. P.S. Да, на приоритеты ваши ни кто здесь не покушается. Считаете, что незаслуженно забыты - так и напишите. Хотя и не всякий велосипед того стоит. Но пусть будет хоть для истории. Опять же, выложенная в общий доступ реализация, с пояснениями - что, и зачем - оно и приоритет застолбит наилучшим образом, и от велосипедов, кого, глядишь, сохранит. Опять же, кто совсем не знает "как работает" или "как сделать" - будет иметь перед глазами хоть какую-то базу для размышлений и последующих более конкретных вопросов. -
[SoC] Ковыряемся в файлах
Dennis_Chikin ответил на тему форума автора Halford в Скрипты / конфиги / движок
Ну правильно разбредаются. Группировка не подходит для смарта. Теперь смотреть все файлы gulag*.script и везде заменять бандитов на сталкеров. А потом еще курить smart_terrain_presets. -
Поели - можно и поспать ! Поспали - можно и поесть ! (Упс ! Опередили. ) На кладбище ?
-
x86 - по факту - 32. am64 - 64. Есть еще всякие подвиды, отличающиеся sse2, sse3 и другими страшными буквами, но это уже не столь существенно. Впрочем, от #студий можно ожидать чего угодно. P.S. Да, в статье - сумбурно, но по сути - верно.
-
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
На самом деле напишите уже кто-нибудь success story по сборке, для начала. И по успешному использованию собранного. Начиная с того, где брали софт, и как устанавливали. А то у меня лично все кончилось тем, что какая-то студия потребовала денег и отказалась и работать, и переустанавливаться, и удаляться. Так и требует какой-то диск h: и денег. В отличии от gcc во фре, с которым сроду ни каких проблем не было. Так и болтается. Вот только боюсь, что на gcc я точно ничего под вынь не соберу. -
[SoC] Ковыряемся в файлах
Dennis_Chikin ответил на тему форума автора Halford в Скрипты / конфиги / движок
Он тоже в отпуске. 8( Тайники не могут перестать работать просто так сами по себе. Очевидно, что-то изменялось. Что именно и как именно - вот кто здесь должен это знать ? -
Курилка программистов
Dennis_Chikin ответил на тему форума автора Азраэль в Скрипты / конфиги / движок
Страшный и ужасный pstor - всего-лишь табличка. И при вызове сохранения сохраняется фактически руками. Эрго, в 2015 году уже можно добавить в движок сохранение данных произвольного объема. Но поскольку всем лень, то если уж у кого-то каким-то загадочным образом образовался pstor жуткого размера - просто добавить проверку на размер пакета, и после 6, скажем, кило, сохранять в более другой. Слава Маландринусу - есть в куда. А вот городить какой-то дополнительный апи с покером и гейшами^W^W^W объектами и какими-то ивинтами - смысла не вижу. -
[SoC] Ковыряемся в файлах
Dennis_Chikin ответил на тему форума автора Halford в Скрипты / конфиги / движок
И это ОПЯТЬ оригинал ? См. в шапке про телепатов. -
Использование предметов актором
Dennis_Chikin ответил на тему форума автора Dennis_Chikin в Скрипты / конфиги / движок
Сразу ограничения: 1. Просто забросить скрипт - недостаточно. Надо еще в конфиге предмета прописывать. А там может быть прописано нечто иное. 2. net_destroy() - это не только использование, но и удаление, и просто уход в офлайн. 3. проверять парента на апдейте - это медленно и печально. Коллбэки срабатывают именно тогда, когда он действительно используется/передается и т.д. P.S. Но таки да, я, например, для того же детектора артов не нашел лучшего варианта, чем биндер, который заносит оные арты в табличку при net_spawn().
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды