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

НаноБот

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

    752
  • Регистрация

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

  • Дней в топе

    2
  • AMKoin

    7,034 [Подарить AMKoin]

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

  1. НаноБот

    AI additions

    @UriZzz Фикс простой, находим команды удаления alife():release(sobj,true) И меняем на if sobj then alife():release(sobj) end Если sobj = nil, то не надо его повторно удалять, всё просто.
  2. НаноБот

    X-Ray extensions

    @UriZzz Дак я и так потихоньку привожу в порядок, этому проекту лет 7, сложно от рефакторить весь хлам который за это время создали. Конечно, исходники, С++, дают больше возможности, но мне больше нравиться в проекте очень быстрая компиляция, проекта малый вес, ну и конечно лучшие знания ассемблера, если бы я хорошо знал С++ то кодил на нём, а так, как отвратило 31 декабря 2016 года от С++, так и больше не хочется кодить на С++. Хотя я активно использую декомпилированные исходники. И ещё, наработал код на С++ до того как отвратило,, потом выложу, там много чего интересного.
  3. А во обще 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; За комментирована проверка вниз, что довольно вредно, а ещё кол. проверок можно снизить до двух.
  4. НаноБот

    X-Ray extensions

    Ну это для командного меню я делал, реализовал чисто скриптом. Это переделал как надо, сами колбеки никуда не делись, более того доработаны, приходят не только в биндер актора, но в биндер активного оружия и холдера т.е машины. Мне так гораздо сподручней, помню как я мучился со скриптом турели(на классе вертолёта), из-за дурацкой реализацией колбеков на нажатия, специальным скриптовым классом.
  5. НаноБот

    X-Ray extensions

    Честно говоря я уже сам не помню, на какой ревизии основался 230 или 232, на счёт 239 читай 230.09, просто я понял порочность нумерации 230 + №моей ревизии лишь некоторое время назад.
  6. НаноБот

    X-Ray extensions

    Новые ревизии! 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"
  7. От 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 Идея понятно, код оформляем в функцию, которая возвращает булеву. Понятно, цикл может сколько угодно быть вложенным, так же можно вернуть индекс таблицы. В С++ код можно сделать инлайн, что бы быстрей работал.
  8. НаноБот

    X-Ray Oxygen (CoP)

    AVX!!! У меня нет и SSE4.1, и я думаю стоит ли в XRay-Extensions использовать SSE3, в точности haadps. И во обще, я думаю что х64 это понты, реальной производительности не факт что будет, объём файлов увеличится, значит промахи кеша тоже,а значит и быстродействия упадёт.
  9. НаноБот

    X-Ray extensions

    Переделавать проект надо по-любому, утомил быдло-код, не правильно названые имена прототипов и другое. Но работы много, ладно, с С++ не хочется работать, медленно слишком. Ну а так, сейчас делаю объект CLevelExplosive взрывной объект в пространстве левел.
  10. Ищу модель ЗУ-23-2 такая точно есть, видел на Ютубе сделано на классе машины. Это то что мне надо, эта турель делалась для мода сталкер 2, ему не суждено выйти, а моделька пригодился бы. Могу починить все, стрельба из двух стволов, ОФС и тд.
  11. НаноБот

    Left To Die

    Хочу спросить, какие турели будут, разборные или чисто станционнарные? Работа над турелями на классе кара(машины) почти закончена. Я решил сделать два класса таких турелей, разборные и станционнарные. Так будет лучше.
  12. НаноБот

    AI additions

    Надо делать фикс, у меня тоже вылетало. Установлен x-ray ext так что срабатывает ассерт, фиксить надо или самому или просить автора. Как-то так. Это не сложно. Код с смартфона не удобно набирать так что сам, или проси кого.
  13. Ах да, вот вопрос ещё мучает меня. А нужон ли ПЗРК миру С.Т.А.Л.К.Е.Р.а. Это Переносной Зенитный Ракетный Комплекс. Ну турель точно нужна, а эта хрень не понятно. Ладно по быстрому сделать можно, но мне надо что эта штука была полностью реальна. Ах да ещё нужен ли вам мод Террорист_НаноБот, Там есть разные радиоуправляемые СВУ, я его не стал вылаживать из-за боязни быть пресследованным ФСБ. ЗЫ Я этот мод сделал когда ООП играл, меня очень сильно развесили тот террористический мод который туда был встроен, очень долго смеялся, да товирищь дохтор, я туда даже передачу детонации встроил, смысл взорвать бризантное ВВ можно только лишь если взорвать рядом бризантное ВВ о как доктор, ах да я ещё заминированые консервы сделал, вот вы доктор купили у сталкера банку консервы, ну купили и купили, а она как жахнет и вас в куски. О как доктор я поэтому ФСБ боюсь, а вдруг они знаю о моём моде, вздрагиваю когда машина ФСБ рядом проежает. А что я такого сделал хорошие взрывники всем нужны, но я же понимаю, доктор, есть ответственность доктор. Так что я буду пить и дальше, а то как нибудь разозлюсь... Нудаладно вот вы доктор что скажите стоит ли и завтра пить, водка для меня успокоительное, да доктор, если мне прикажут я могу в своём подвали я ядерную бомбы изобрести, только я не буду её делать, т.к. не умею обращаться с плутонием. О как доктор. Ладно до завтра... Пить или не пить вот в чём вопрос. ЗЫЫ Спрятал на посёлке бутылку самогона, если случайно найдёте, не трогаете, а то мало ли, первый раз может и прокатит почистить мой тайник, но во второй раз лучше вам не лезть.
  14. Пьёте ли вы алкоголь? Что любите? Самогон. Пиво. Водку. Текилу Пиво и самогон одновременно. Ваше предложение. Вот я люблю самогон и пиво одновременно, если на пиво не хватает то просто самогон. А потом я ещё люблю слушать Кататонию. Да вот я такой, здравствую пьяное счастье, небо в алмазах... ЗЫ О ура у меня 400 сообщений, а на /www.gameru.net/forum/index.php 300. ЗЫЫ Вот пья я, пью я, а мне же ещё турель надо доделать, по синке само собой не сделается. Ну да ладно, потом всё доделаю, отдыхать тоже надо.
  15. Почему производители процессоров существенно завышают реальное быстродействия. Реальные тесты показывают существенно меньшие быстродействия. 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 код может быть не оптимизирован под новые архитектуры, т.е. с более мощным конвейером.
  16. @monk Значит ошибка в анимации, скорей всего что движковое.
  17. НаноБот

    Left To Die

    @Кузьмич , как зачем, что бы от зомбаков отбиваться, для баланса сделаны с ограниченным боекомплектом. Например, на блок-посту находим турель, о щас постреляем, юзь, а патронов то и нет совсем, найти можно например, в схроне, или у зомбированного солдата-пулемётчика, или ещё где, не знаю как там автор реализует.
  18. НаноБот

    Left To Die

    Что-то мне совсем не нравятся турели из ОГСЕ, ни автоматические, ни разборные. В ЧН турель сделана на классе БТРа, я уже пытался сделать турель для актора, в общем получилось, но до ума не довёл(для ЧН). Сейчас есть мысль сделать турель именно на классе БТРа для ТЧ, и в том числе для этого мода. Правда, возможно, нужно будет сделать пост-эффект смерти, камера заваливается и одновременно экран темнеет, что бы скрыть не отваливания актора от турели при гибели. Ещё можно ракетницу сделать, я уже это писал.
  19. НаноБот

    X-Ray extensions

    При собачить холдер не проблема, важно решить проблему полёта самого вертолёта, у меня пока не получилось портировать код из билда 756, вертолёт кувыркался, и дергался. А так это решаемо, даже XRayExt, не говоря и про исходники. У меня даже получилось в билде 1098 полетать, только дергается, артефакты появляются. А в билде 1114 верт уже вырезан.
  20. Вот ссылка. https://yadi.sk/d/uYZo8gMX3N3G23 Подключены ещё и анимации хита, бармен перебил всех в баре, вылетов не было. Все против всех. Сидорович сделан на классе CAI_Trader, это очень примитивный монстр, хуже крыс и ворон, тупей не бывает. Так что если хотите что бы Сидор бегал, делать надо на обычным классе сталкера, если надо подключайте анимации Сидора-торговца к модели Сидора-сталкера. Тут не так давно монк спрашивал почему вылетает из анимаций в его моде, скорей всего по той-же причине что и бармен. Не подключены нужные анимации хита, в СДК это легко правится. Скорей всего при конвертации моделей забыли подключить.
  21. УРА УРА УРА!!!! Почему вылетает игра, если напугать бармена? Ответ! Проблема была в анимациях бармена, не были подключены анимации stalker_animation, именно из-за их отсутствия был вылет, бармен при денжере запускал движковые анимации, а их в модели не было. В СДК это правится в момент. Проверил на моде все против всех. Правленую модельку потом закину. ЗЫ И почему это раньше не было пофиксено, в логе же чётко было показано на проблему модели бармена. Кто-то какие-то костыли даже придумывал.
  22. НаноБот

    X-Ray extensions

    В принципе я работаю по проекту, потом выложу некоторые правки. Например, сейчас хочу сделать возможность помещать сталкеров в вертолёт, как например в движке CRYENGINE. Ещё, баллистический калькулятор, бросок тестовой гранаты, скриптом переключаем режим ПГ и другие правки. И ещё, я выложил правку где можно настраивать разные модели для сталкеров, с ограниченном набором анимаций. Эту правку можно, например, использовать в ОЛР2.5, хенов оживить.
  23. @UnLoaded я делал колбеки на вход, выход, и разрушения объекта в аномалии. С++ И ещё метод для спавна(рождения) почти любого объекта в аномалии.
  24. НаноБот

    AI additions

    Ради прикола кинул дымовую гранату в Шустрого, хотел посмотреть что будет. Так тот подошёл к гранате, и подобрал её, было очень смешно, граната исчезла, а дым продолжал идти. Видать надо сделать что схема пленного, без вариантов перебивала схему собирательства и некоторые другие схемы. Так же, надо запретить подбирать активированные гранаты, у них нет серверного объекта(alife():object(grn_id)==nil). И ещё, я сделал скриптовый метод который безусловно задаёт лучшие оружие. В общем, интересно переделать проект под XRayExtensions, делаем нужные методы, что облегчить мод. Методы: баллистический вычислитель, переключатель в режим ПГ, бросок тестовой гранаты и другие, позволит переписать многие скрипты, при этом они станут проще и быстрей в несколько раз, и ещё более реалистичное поведения и умное владение оружием. Стрельбы на упреждение, правильное владение всякими гранатомётами, скриптовым оружием, вроде гравипривода, ПЗРК и т.д.
  25. @Marafon6540 ты хочешь реалистичный арбалет сделать? Я пытался, но у меня не вышло приаттачить стрелу к объектам, а так координату можно получить если подключить биндер к самой стреле, в там легко self.object:center() или position(). Только мне непонятно что тебе это даст.
×
×
  • Создать...