-
Число публикаций
752 -
Регистрация
-
Последнее посещение
-
Дней в топе
2 -
AMKoin
7,034 [Подарить AMKoin]
Весь контент пользователя НаноБот
-
@UriZzz Фикс простой, находим команды удаления alife():release(sobj,true) И меняем на if sobj then alife():release(sobj) end Если sobj = nil, то не надо его повторно удалять, всё просто.
- 815 ответов
-
- 2
-
-
- ai additions
- ai schemes
-
(и еще 1 )
Отмечено тегом:
-
@UriZzz Дак я и так потихоньку привожу в порядок, этому проекту лет 7, сложно от рефакторить весь хлам который за это время создали. Конечно, исходники, С++, дают больше возможности, но мне больше нравиться в проекте очень быстрая компиляция, проекта малый вес, ну и конечно лучшие знания ассемблера, если бы я хорошо знал С++ то кодил на нём, а так, как отвратило 31 декабря 2016 года от С++, так и больше не хочется кодить на С++. Хотя я активно использую декомпилированные исходники. И ещё, наработал код на С++ до того как отвратило,, потом выложу, там много чего интересного.
-
А во обще if'ы сами по себе довольно вредные из-за особенности работы современных процессоров. В некоторых случаях от них лучше избавляться. Если процессор делает не правильный прогноз перехода это даёт задержку 10-20 тактов. Примеры когда от не то что от GOTO надо избавляться, но и от более вредных IF'ов. Проверить флаг, если установлен, вернуть true или false, проверить объект на не равно nil вернуть true, или false Лучше так. Короче, в С++ есть оператор !! преобразовать в булеву, компилятор создаёт код ассемблера указанный чуть выше. Ещё есть SSE команды для проверки одновременно 4-х float'ов, можно например использовать в баллистике XRay. Здесь: if(!((bullet->pos.x>=level_box.x1) && (bullet->pos.x<=level_box.x2) && (bullet->pos.y>=level_box.y1) && // (bullet->pos.y<=level_box.y2) && (bullet->pos.z>=level_box.z1) && (bullet->pos.z<=level_box.z2)) ) return false; За комментирована проверка вниз, что довольно вредно, а ещё кол. проверок можно снизить до двух.
-
Ну это для командного меню я делал, реализовал чисто скриптом. Это переделал как надо, сами колбеки никуда не делись, более того доработаны, приходят не только в биндер актора, но в биндер активного оружия и холдера т.е машины. Мне так гораздо сподручней, помню как я мучился со скриптом турели(на классе вертолёта), из-за дурацкой реализацией колбеков на нажатия, специальным скриптовым классом.
-
Честно говоря я уже сам не помню, на какой ревизии основался 230 или 232, на счёт 239 читай 230.09, просто я понял порочность нумерации 230 + №моей ревизии лишь некоторое время назад.
-
Новые ревизии! rev230.11_nanobot.rar https://yadi.sk/d/DM-UFYS53Pw47Z rev230.12_nanobot.rar https://yadi.sk/d/KJ0rV5OF3Pw4Ck Взрывные пули включаются наличием параметра sect_explosive, указанная секция должна быть. Турель требует скриптовой обвязки, пока для релиза не подготовил, так что залью чуть позже. ЗЫ Установка: залить с заменой к предыдущим правкам. ЗЫЫ Т.к. предыдущие правки ушли в архив, то залью весь проект. https://yadi.sk/d/_jhEE5px3Pw6Fp Это ревизия 230.12 полностью, напомню, проект основан на версии макрона: "XRay_Extensions_portable"
-
От goto можно и нужно избавляться, даже MASMe, макросы .if .else, .endif и т.д. позволяют делать легко читаемый код, который легко портируется в С++. Я вот раньше думал что в поисковых алгоритмах надо использовать goto, но я сейчас знаю как написать код на lua или C++ где можно обойтись и без этого оператора. Я сейчас с смартфона, но всё таки попробую показать код. function search_str(str) for i=1, #tbl do if tbl[i]==str then return true, i end end return false end Идея понятно, код оформляем в функцию, которая возвращает булеву. Понятно, цикл может сколько угодно быть вложенным, так же можно вернуть индекс таблицы. В С++ код можно сделать инлайн, что бы быстрей работал.
-
AVX!!! У меня нет и SSE4.1, и я думаю стоит ли в XRay-Extensions использовать SSE3, в точности haadps. И во обще, я думаю что х64 это понты, реальной производительности не факт что будет, объём файлов увеличится, значит промахи кеша тоже,а значит и быстродействия упадёт.
- 28 ответов
-
- new features
- fix
-
(и еще 3 )
Отмечено тегом:
-
Переделавать проект надо по-любому, утомил быдло-код, не правильно названые имена прототипов и другое. Но работы много, ладно, с С++ не хочется работать, медленно слишком. Ну а так, сейчас делаю объект CLevelExplosive взрывной объект в пространстве левел.
-
Ищу модель ЗУ-23-2 такая точно есть, видел на Ютубе сделано на классе машины. Это то что мне надо, эта турель делалась для мода сталкер 2, ему не суждено выйти, а моделька пригодился бы. Могу починить все, стрельба из двух стволов, ОФС и тд.
-
Хочу спросить, какие турели будут, разборные или чисто станционнарные? Работа над турелями на классе кара(машины) почти закончена. Я решил сделать два класса таких турелей, разборные и станционнарные. Так будет лучше.
-
Надо делать фикс, у меня тоже вылетало. Установлен x-ray ext так что срабатывает ассерт, фиксить надо или самому или просить автора. Как-то так. Это не сложно. Код с смартфона не удобно набирать так что сам, или проси кого.
- 815 ответов
-
- ai additions
- ai schemes
-
(и еще 1 )
Отмечено тегом:
-
Псих О'Смотр
НаноБот ответил на тему форума автора
Murarius в Приемный покой Клуб "Безумный Психиатр"
Ах да, вот вопрос ещё мучает меня. А нужон ли ПЗРК миру С.Т.А.Л.К.Е.Р.а. Это Переносной Зенитный Ракетный Комплекс. Ну турель точно нужна, а эта хрень не понятно. Ладно по быстрому сделать можно, но мне надо что эта штука была полностью реальна. Ах да ещё нужен ли вам мод Террорист_НаноБот, Там есть разные радиоуправляемые СВУ, я его не стал вылаживать из-за боязни быть пресследованным ФСБ. ЗЫ Я этот мод сделал когда ООП играл, меня очень сильно развесили тот террористический мод который туда был встроен, очень долго смеялся, да товирищь дохтор, я туда даже передачу детонации встроил, смысл взорвать бризантное ВВ можно только лишь если взорвать рядом бризантное ВВ о как доктор, ах да я ещё заминированые консервы сделал, вот вы доктор купили у сталкера банку консервы, ну купили и купили, а она как жахнет и вас в куски. О как доктор я поэтому ФСБ боюсь, а вдруг они знаю о моём моде, вздрагиваю когда машина ФСБ рядом проежает. А что я такого сделал хорошие взрывники всем нужны, но я же понимаю, доктор, есть ответственность доктор. Так что я буду пить и дальше, а то как нибудь разозлюсь... Нудаладно вот вы доктор что скажите стоит ли и завтра пить, водка для меня успокоительное, да доктор, если мне прикажут я могу в своём подвали я ядерную бомбы изобрести, только я не буду её делать, т.к. не умею обращаться с плутонием. О как доктор. Ладно до завтра... Пить или не пить вот в чём вопрос. ЗЫЫ Спрятал на посёлке бутылку самогона, если случайно найдёте, не трогаете, а то мало ли, первый раз может и прокатит почистить мой тайник, но во второй раз лучше вам не лезть. -
Псих О'Смотр
НаноБот ответил на тему форума автора
Murarius в Приемный покой Клуб "Безумный Психиатр"
Пьёте ли вы алкоголь? Что любите? Самогон. Пиво. Водку. Текилу Пиво и самогон одновременно. Ваше предложение. Вот я люблю самогон и пиво одновременно, если на пиво не хватает то просто самогон. А потом я ещё люблю слушать Кататонию. Да вот я такой, здравствую пьяное счастье, небо в алмазах... ЗЫ О ура у меня 400 сообщений, а на /www.gameru.net/forum/index.php 300. ЗЫЫ Вот пья я, пью я, а мне же ещё турель надо доделать, по синке само собой не сделается. Ну да ладно, потом всё доделаю, отдыхать тоже надо. -
Почему производители процессоров существенно завышают реальное быстродействия. Реальные тесты показывают существенно меньшие быстродействия. https://ru.wikipedia.org/wiki/FLOPS Вот реальный тест вычисления умножения матрицы. Реальный код из XRay, функция mul_43. https://yadi.sk/d/vVm-Y5Fm3NBuaC Что у меня получилось, ну во первых, сам тест может не очень корректный, но какой есть, всё равно покажет какое быстродействие. А меня AMD Athlon II X4 640 3.01 ГГц. FPU тест: 138 тактов SSE тест: 56 тактов, если сделать инлайн код, то 49-50 тактов. Далее подсчитаем сколько float операций было сделано: 36 умножений и 27 сложений float для FPU 36+27=63/138*3.01e9=1.37 ГФлопс на ядро. А для SSE всего выполняется: 12 mulps, 9 addps что соответствует 12*4 = 48 умножений и 9*4 = 36 сложений = 84 операций float. 48+36=84/50(инлайн код)*3.01e9=5.057 ГФлопс на ядро. Хотя полезное быстродействие немного меньше (3.7926 ГФлопс). И всё равно реальное быстродействие существенно меньше заявленного, зависит от кода и так от компилятора, лишь хороший понимающий программист совместно с хорошим компилятором может создать код, который может выдавать быстродействие близкое к пиковому, но обычно никогда его не достигающий. А если использовать древние компиляторы(Delphi 6, 7(оптимизация для 386 или 486)) то там быстродействие ещё меньше. ЗЫ Кто может программку погонять, хочу узнать сколько выполняется на core i7, а так же на бульдозере и прочих экскаваторах. SSE код может быть не оптимизирован под новые архитектуры, т.е. с более мощным конвейером.
-
[SoC] Ковыряемся в файлах
НаноБот ответил на тему форума автора Halford в Скрипты / конфиги / движок
@monk Значит ошибка в анимации, скорей всего что движковое. -
@Кузьмич , как зачем, что бы от зомбаков отбиваться, для баланса сделаны с ограниченным боекомплектом. Например, на блок-посту находим турель, о щас постреляем, юзь, а патронов то и нет совсем, найти можно например, в схроне, или у зомбированного солдата-пулемётчика, или ещё где, не знаю как там автор реализует.
-
Что-то мне совсем не нравятся турели из ОГСЕ, ни автоматические, ни разборные. В ЧН турель сделана на классе БТРа, я уже пытался сделать турель для актора, в общем получилось, но до ума не довёл(для ЧН). Сейчас есть мысль сделать турель именно на классе БТРа для ТЧ, и в том числе для этого мода. Правда, возможно, нужно будет сделать пост-эффект смерти, камера заваливается и одновременно экран темнеет, что бы скрыть не отваливания актора от турели при гибели. Ещё можно ракетницу сделать, я уже это писал.
-
При собачить холдер не проблема, важно решить проблему полёта самого вертолёта, у меня пока не получилось портировать код из билда 756, вертолёт кувыркался, и дергался. А так это решаемо, даже XRayExt, не говоря и про исходники. У меня даже получилось в билде 1098 полетать, только дергается, артефакты появляются. А в билде 1114 верт уже вырезан.
-
[SoC] Ковыряемся в файлах
НаноБот ответил на тему форума автора Halford в Скрипты / конфиги / движок
Вот ссылка. https://yadi.sk/d/uYZo8gMX3N3G23 Подключены ещё и анимации хита, бармен перебил всех в баре, вылетов не было. Все против всех. Сидорович сделан на классе CAI_Trader, это очень примитивный монстр, хуже крыс и ворон, тупей не бывает. Так что если хотите что бы Сидор бегал, делать надо на обычным классе сталкера, если надо подключайте анимации Сидора-торговца к модели Сидора-сталкера. Тут не так давно монк спрашивал почему вылетает из анимаций в его моде, скорей всего по той-же причине что и бармен. Не подключены нужные анимации хита, в СДК это легко правится. Скорей всего при конвертации моделей забыли подключить. -
[SoC] Ковыряемся в файлах
НаноБот ответил на тему форума автора Halford в Скрипты / конфиги / движок
УРА УРА УРА!!!! Почему вылетает игра, если напугать бармена? Ответ! Проблема была в анимациях бармена, не были подключены анимации stalker_animation, именно из-за их отсутствия был вылет, бармен при денжере запускал движковые анимации, а их в модели не было. В СДК это правится в момент. Проверил на моде все против всех. Правленую модельку потом закину. ЗЫ И почему это раньше не было пофиксено, в логе же чётко было показано на проблему модели бармена. Кто-то какие-то костыли даже придумывал. -
В принципе я работаю по проекту, потом выложу некоторые правки. Например, сейчас хочу сделать возможность помещать сталкеров в вертолёт, как например в движке CRYENGINE. Ещё, баллистический калькулятор, бросок тестовой гранаты, скриптом переключаем режим ПГ и другие правки. И ещё, я выложил правку где можно настраивать разные модели для сталкеров, с ограниченном набором анимаций. Эту правку можно, например, использовать в ОЛР2.5, хенов оживить.
-
Редактирование движка X-Ray
НаноБот ответил на тему форума автора Rolan в Скрипты / конфиги / движок
@UnLoaded я делал колбеки на вход, выход, и разрушения объекта в аномалии. С++ И ещё метод для спавна(рождения) почти любого объекта в аномалии. -
Ради прикола кинул дымовую гранату в Шустрого, хотел посмотреть что будет. Так тот подошёл к гранате, и подобрал её, было очень смешно, граната исчезла, а дым продолжал идти. Видать надо сделать что схема пленного, без вариантов перебивала схему собирательства и некоторые другие схемы. Так же, надо запретить подбирать активированные гранаты, у них нет серверного объекта(alife():object(grn_id)==nil). И ещё, я сделал скриптовый метод который безусловно задаёт лучшие оружие. В общем, интересно переделать проект под XRayExtensions, делаем нужные методы, что облегчить мод. Методы: баллистический вычислитель, переключатель в режим ПГ, бросок тестовой гранаты и другие, позволит переписать многие скрипты, при этом они станут проще и быстрей в несколько раз, и ещё более реалистичное поведения и умное владение оружием. Стрельбы на упреждение, правильное владение всякими гранатомётами, скриптовым оружием, вроде гравипривода, ПЗРК и т.д.
- 815 ответов
-
- 2
-
-
- ai additions
- ai schemes
-
(и еще 1 )
Отмечено тегом:
-
[SoC] Ковыряемся в файлах
НаноБот ответил на тему форума автора Halford в Скрипты / конфиги / движок
@Marafon6540 ты хочешь реалистичный арбалет сделать? Я пытался, но у меня не вышло приаттачить стрелу к объектам, а так координату можно получить если подключить биндер к самой стреле, в там легко self.object:center() или position(). Только мне непонятно что тебе это даст.
УЧИМСЯ МОДДИНГУ
ИГРАЕМ В МОДЫ НА ТЧ
ИГРАЕМ В МОДЫ НА ЧН И ЗП
- [ЧН] 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
- ...и другие моды
ПОЛЕЗНОЕ И РАЗНОЕ