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

Курилка программистов


Рекомендуемые сообщения

И, да, если нечто используется довольно часто, и есть форма записи, которая быстрее, чем другая - почему бы и не использовать более быструю

Потому что в лучшем случае, с одного вызова у тебя будет выигрыш 30 тысячных наносекунды, а править лишний раз файлы, ломая совместимость - мягко говоря на логично.

Поделиться этим сообщением


Ссылка на сообщение

Зачем нетпакет, если можно читать/писать значения прямо в память? 2015 год жи.

Поделиться этим сообщением


Ссылка на сообщение

сделать уже хорошее годное описание того, что мы имеем к 15-ому году в смысле движков.

http://www.amk-team.ru/forum/index.php?showtopic=10339&p=910319

Там как раз про это есть (Класс game_object->Хак для изменения значений в памяти объектов).

 

Имеется ввиду 7 патч?

На исходниках такой хак сделать в принципе нельзя... Но, с другой стороны можно понаделать любое количество методов и экспортировать чуть ли не все классы. Чем собственно и занимается alpet. Уже сейчас там почти все параметры актора можно в скриптах заиметь и многое другое. Но, по этому функционалу инфы вообще никакой нет, разве что самому лезть в сырцы и смотреть, где чего экспортировано.

Поделиться этим сообщением


Ссылка на сообщение

а новое-новое по возможностям движка/скриптов?

Конечно, только многие пока шкерятся по приватным свн :D Изменено пользователем Shadows
  • Спасибо 1
  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение

Уже 5 лет использую прямые вызовы из пысовских модулей в свои и бед не знаю. Да и, для меня не проблема поставить проверку if obj then. Плюс сразу видно куда и что вызывается, не надо юзать коммандер для поиска подключений и потом скороллить вниз огромного модуля и смотреть какие колбеки тут есть.

 

Да и с наличием исходников, больше половины сделанного в скриптах вполне можно с чистой совестью попилить и реализовать напрямую в движке.

Изменено пользователем Shadows
  • Нравится 1
  • Не нравится 1

Поделиться этим сообщением


Ссылка на сообщение

Как я себе вижу использование этих самых ивентов:

Допустим есть какая-то вещь (фича), которую я делаю и предполагаю потом выложить в массы. Естественно, вопрос подключения и последующей интеграции в другие проекты как никогда важен. Вот тут и придет на помощь эта система. В итоге, мы получаем вместо "в этом скрипте допишите строчку вот эту", вот это "скопируйте файлы себе в папку и радуйтесь жизни". Вот это уже действительно полезно и ради этой полезности стоит заморочиться.

 

Но, рассмотрим другую ситуацию: если я делаю проект, где количество этих самых фич конечно, то есть я знаю, что мне надо будет сделать вот это, это и ещё вот это, то мне будет куда проще сделать простое подключение через обыкновенный вызов, чем писать динамическую систему. Мой проект создается для пользователей (игроков) и собственно для игры, зачем мне делать какую-то универсальность и модульность?

 

Конечно, если проект создается ради некого сборника функций аля "Артос Мод", где собственно фичи пишутся под функционал, а не наоборот - то да, тогда можно и нужно использовать подобные системы.

Изменено пользователем Shadows

Поделиться этим сообщением


Ссылка на сообщение

 

 

по использованию предмета в инвентаре вызывалась моя функция?

Колбек на юз в бинд сталкере.

Поделиться этим сообщением


Ссылка на сообщение

Вот у нас сейчас есть: собственно патроны. С этими понятно все, и я не понимаю, почему до сих пор ни кто (да, помню, отучаемся говорить за всех, но тем не менее таскаемая из мода в мод таблица в _g.script как бы намекает) не вытащил из в class_registrator ?

Почему не obj.cls_id == clsid.ammo

Потому что ты проверяешь на соответствие одному классу, а наследуемые на учитываешь.

 

is_ammo() учитывает и наследуемые, хотя конкретно для этого случая таких вроде нет, но например для оружия - is_weapon() просканирует все дочерние классы, а не только CWeapon (предметов на чистом CWeapon в игре вообще нет).

Поделиться этим сообщением


Ссылка на сообщение

Задача в чем заключается? Чтобы не плодить функций IsXXX()?

Насколько я понял, тут еще не все в курсе про smart_cast в движке и что его 3 года назад вытащили в скрипты в проекте Xray Extensions. Все простыни "isWeapon" разом отпали.

 

http://www.amk-team.ru/forum/index.php?showtopic=10339&p=910319

game_object -> Методы для проверки типа объекта -> Регистрация функций в движке

Изменено пользователем Shadows

Поделиться этим сообщением


Ссылка на сообщение

 

 

Может быть кто-нибудь приведет хотя бы что-то из результатов этого проекта к такому виду, чтобы не стыдно было сюда положить, соблюдая "правила темы" ?

Ну а мой пост что, не подходит под эти условия?

Поделиться этим сообщением


Ссылка на сообщение

@Zander_driverhttp://rghost.ru/private/7RK6xBwXb/648fb32a73b3e30b2879a8630f0886dc

 

Дефолтная конфигурация, не требующая никаких скриптовых добавок (вроде все отключил).

Изменено пользователем Shadows
  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение
@TIGER_VLAD, это тебе к Макрону... Тем более он собирался как раз. Изменено пользователем Shadows
  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение

Я так понимаю, с расширением Луа от RvP - не совместимо?

Должно быть совместимо, я когда-то ставил себе тоже.

 

Вообще, обсуждение надо бы тему по редактированию движка переносить.

Поделиться этим сообщением


Ссылка на сообщение

Может ему не нравится что у меня екзешник от 4-го патча?

nZHRLXtPWg8.jpg Изменено пользователем Shadows
  • Нравится 2

Поделиться этим сообщением


Ссылка на сообщение

@Nazgool, все дело в том, что

Версии игры, поддерживаемые на данный момент: ТЧ (патч 1.0006): xrGame.dll, XR_3DA.exe, xrRender_R1/2

XE только под 6 патч.

  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение

Ты веришь, что в Сталкера играют в Японии,

Конечно, а как ты думаешь, кто придумал "Сталкер Зов Фукусимы"? :D

Поделиться этим сообщением


Ссылка на сообщение

Требуется небольшая помощь :)

Существует условие:

if (!a || (a && (!b || (b && c))))
a,b,c - булевые переменные. Необходимо это условие максимально упростить.

 

У меня пока получилось это:

if (a && (b && c || ! || !a)
больше пока идей нет. Мб кто подкинет?) Изменено пользователем RayTwitty

Поделиться этим сообщением


Ссылка на сообщение

Это полная перекомпиляция. Обычная гораздо быстрее, на уровне тех же 17 секунд.

Зависит от количества измененных заголовков. Поправишь какой-нибудь GameObject.h - будет минут пять собирать.

 

Как это сделать в С++ я не очень хорошо понимаю

Достаточно один раз разобраться и будешь делать это мгновенно. А искать постоянно врезку в асм-листинге - то на релок, то ещё куда-нибудь попадешь. Извращение, имхо. Изменено пользователем RayTwitty
  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение

А сейчас проект ХЕ для меня лично актуален только постольку постольку к нему привязан ОГСЕ. Обратная совместимость - страшная штука. Так бы забыл уже как страшный сон.

Ну, на самом деле, перенести все правки ХЕ в исходники не такая уж большая задача, учитывая, что половину правок можно вообще нормально переделать без экспорта костылей. По крайней мере, это касается xrGame-библиотеки.

 

И сразу отвечу на следующую фразу - да, я у себя это (и далеко не только это) практически сделал, и да, как придет время, это будет выложено.

 

В частности, Help я собирал для того, чтобы точно знать какие правки есть в ХЕ и какие из них действительно нужны.

 

И кстати, ответь в ЛС на последнее сообщение - буквально один момент ведь осталось разобрать :)

Изменено пользователем RayTwitty
  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...