abramcumner 1 159 Опубликовано 3 Июля 2017 Поделиться Опубликовано 3 Июля 2017 (изменено) @vampirnik77, можно попробовать перейти на 64-битный тулчейн: https://stackoverflow.com/questions/19820718/how-to-make-visual-studio-use-the-native-amd64-toolchain Изменено 3 Июля 2017 пользователем abramcumner Ссылка на комментарий
Romann 623 Опубликовано 3 Июля 2017 Поделиться Опубликовано 3 Июля 2017 В 26.06.2017 в 20:35, vampirnik77 сказал: Ошибка C1002 не хватает размера кучи на 2-ом проходе компилятора xrGame c:\all\test\code\engine.vc2008\xrgame\game_sv_item_respawner.cpp У меня была подобная ошибка, на VS2015 при сборке рендеров: 1>c1xx : error C3859: превышен диапазон адресов виртуальной памяти для PCH; повторите компиляцию с параметром командной строки "-Zm142" или большим 1>c1xx : fatal error C1076: ограничение компилятора: достигнут предел внутренней кучи; воспользуйтесь /Zm для задания большего значения Мне посоветовали(в принципе, как и сам лог) добавить ключ - , и ошибка исчезла. Но из твоего лога не понятна причина ошибки - нужны строчки выше. Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
NOapostoL 42 Опубликовано 3 Июля 2017 Поделиться Опубликовано 3 Июля 2017 10 часов назад, Кукуська сказал: Т.Ч увеличить шанс появления блудмарок! SkyLoader отвечал на этот вопрос, надо пользоваться поиском. В WallmarksEngine.cpp в 421 строке закомментировать: Код //if (ssa>=ssaCLIP){ r__bloodmark_ttl выставить в единицу. Теперь они появляются в 95% случаях © 1 1 ☭ Белый Барс ☭ Ссылка на комментарий
Кукуська 0 Опубликовано 4 Июля 2017 Поделиться Опубликовано 4 Июля 2017 @NOapostoL ,а какой файл нужно редактировать?Чем редактировать? Но всё же,@NOapostoL ,спасибо что ответили мне на мой вопрос! Добавлено Expropriator, 4 Июля 2017 WallmarksEngine.cpp (исходный код движка), редактировать в Визуал Студии. Добавлено HellRatz, 5 Июля 2017 Игнорирование устных замечаний, по этому предупреждение в профиль за нарушение пункта 2.5 и режим «только чтение» на сутки за рецидив. Ссылка на комментарий
mortan 143 Опубликовано 6 Июля 2017 Поделиться Опубликовано 6 Июля 2017 Заметил такую вот фигню - на r3\r4 игра просто вылетает если в настройках панели nvidia отключить "вертикальный синхроимпульс". Я правильно понимаю что причиной является неработающая верт. синхронизация в самом сталкере? Ссылка на комментарий
Kondr48 314 Опубликовано 6 Июля 2017 Поделиться Опубликовано 6 Июля 2017 (изменено) Так фикс же предлагал SkyLoadet, разве нет? Изменено 8 Июля 2017 пользователем Kondr48 Добавлено Kondr48, 6 Июля 2017 Не могу убрать цитату с телефона, это мои слова =) Ссылка на комментарий
mortan 143 Опубликовано 6 Июля 2017 Поделиться Опубликовано 6 Июля 2017 (изменено) может кто подсказать как отобразить float число в консоли? Msg("%d",value) подходит только для целых, просветите нуба) Edit: ответ нашёл сам, спасибо гуглю ( Msg("%g",value) ) Изменено 6 Июля 2017 пользователем mortan Ссылка на комментарий
UnLoaded 313 Опубликовано 7 Июля 2017 Поделиться Опубликовано 7 Июля 2017 4 часа назад, mortan сказал: как отобразить float число в консоли? Msg("%f",value). Для указания кол-ва знаков после запятой - Msg("%.4f",value), будет отображено 4 знака. 1 Ссылка на комментарий
WinCap 316 Опубликовано 10 Июля 2017 Поделиться Опубликовано 10 Июля 2017 Здравствуйте. Подскажите, пожалуйста, можно ли в движке синхронизировать клиентский объект с серверным? Например, если изменить что-то в CSE_ALifeInventoryItem и применить изменения к клиентскому объекту. S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
mortan 143 Опубликовано 10 Июля 2017 Поделиться Опубликовано 10 Июля 2017 @WinCap вопрос конечно очень странный - движок как бы итак делает синхронизацию между клиент\сервер объектами. Я отвечу так - лучше всего работать напрямую с клиентом, потому что получить серверный объект при спавне та ещё морока. Если внимательно изучишь код итемов то сможешь заметить что там как раз есть подобная "синхронизация". Ссылка на комментарий
Expropriator 2 118 Опубликовано 10 Июля 2017 Поделиться Опубликовано 10 Июля 2017 (изменено) @mortan, а если он имел ввиду не сингл, а бои с выделенным сервером? Там в движке есть регистрация-синхронизация спавна по типу CSE_ALife - а там уже сами разбирайтесь. object_factory_register.cpp Изменено 10 Июля 2017 пользователем Дизель Ссылка на комментарий
WinCap 316 Опубликовано 10 Июля 2017 Поделиться Опубликовано 10 Июля 2017 4 часа назад, mortan сказал: получить серверный объект при спавне та ещё морока Тут можно по подробнее? Я думал, что alife():create() возвращает как раз серверный объект. Задача у меня относительно простая, получить доступ к полю condition для любого объекта, например, так: Скрытый текст for id = 1, 65535, 1 do local obj = alife():object(id) if obj ~= nil and (ещё_условия) then obj:set_condition(x) end end В принципе у меня все получилось и если объект не имеет клиентской копии, то всё работает. Но если клиентский объект существует, то понятно, что для изменения condition нужно получить его функцией level.object_by_id(obj.id). Однако есть проблема, при спавне функцией alife():create() существует момент, когда level.object_by_id(obj.id) ещё возвращает nil, а вызывать set_condition для серверного объекта уже поздно, клиент все равно получит condition = 1.0. Не знаю как это происходит. Вот я и хотел принудительно синхронизировать клиент/сервер. S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
naxac 2 447 Опубликовано 11 Июля 2017 Поделиться Опубликовано 11 Июля 2017 @WinCap , используй каллбэк на выход объекта в онлайн: level.client_spawn_manager() 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
mortan 143 Опубликовано 11 Июля 2017 Поделиться Опубликовано 11 Июля 2017 @WinCap ну, у меня была иная задача - получить id клент\серверного объекта при его спавне и тут же его использовать, но увы - скриптами такое сделать намного проще. в движке же на момент вызова функции спавна клиента ещё не существует. Как тут быть - я не знаю) Ссылка на комментарий
WinCap 316 Опубликовано 12 Июля 2017 Поделиться Опубликовано 12 Июля 2017 В 11.07.2017 в 08:11, naxac сказал: используй каллбэк на выход объекта в онлайн Тут есть проблема, а если объект не выйдет в онлайн? Каллбэк пропадает не только при save/load, но и при повторной установке. Я хотел реализовать бесполезную фишку, чтобы оружие валяющееся на локации постепенно портилось и в конце концов исчезало. В принципе мне удалось этого добиться, код теперь будет примерно такой: Скрытый текст for i = 1, 65535, 1 do local sobj = alife():object(i) if sobj ~= nil then if isWeapon(sobj) then local obj = level.object_by_id(sobj.id) or sobj local condition = obj:condition() if condition <= 0.05 then alife():release(sobj, true) else obj:set_condition(condition - 0.05) end end end end Разобрался с функцией alife():create(), может кому пригодится: Скрытый текст Существует три случая вызова функции alife():create(): 1. Без указания parent_id (пятый параметр). 2. Когда parent_id указывает на объект ОФФлайн. 3. Когда parent_id указывает на объект ОНлайн. В первых двух случаях создается только серверный объект независимо от координат спавна, т.е. даже при спавне в радиусе алайфа. При этом можно сразу же изменить любые параметры серверного объекта т.к. создание клиентского объекта произойдет только на следующем апдейте при переходе в онлайн самого объекта или объекта parent_id. В третьем случае создается не только серверный объект, но и клиентский, однако его регистрация в глобальной таблице объектов произойдет только на следующем апдейте. Поэтому немедленный вызов level.object_by_id(id) возвращает nil. 1 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
UnLoaded 313 Опубликовано 12 Июля 2017 Поделиться Опубликовано 12 Июля 2017 (изменено) 1 час назад, WinCap сказал: Существует три случая вызова функции alife():create(): 1. Без указания parent_id (пятый параметр). ..... В первых двух случаях создается только серверный объект независимо от координат спавна... Плохо Вы разобрались, похоже... Спавн объекта без указания владельца(parent_id (пятый параметр)) - это спавн на местности, по указанным координатам. Если координаты будут в радиусе а-лайфа, и для объекта будут установлены флаги, позволяющие ему перейти в он-лайн - он в него перейдет обязательно, т.е. будет создан клиентский объект. Так, что, перефразируя известную поговорку: семь раз проверь - один раз напиши... Изменено 12 Июля 2017 пользователем UnLoaded Ссылка на комментарий
WinCap 316 Опубликовано 12 Июля 2017 Поделиться Опубликовано 12 Июля 2017 @UnLoaded Клиентский объект будет создан, но не сразу, а только на следующем апдейте, когда будет определено, что он находится в радиусе а-лайфа. Файл alife_simulator_script.cpp функция CALifeSimulator__spawn_item2. S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Zagolski 74 Опубликовано 12 Июля 2017 Поделиться Опубликовано 12 Июля 2017 WinCap, У тебя с таким скриптом скорее всего будут периодические лаги возникать из-за постоянного перебора всех объектов. В самом движке не пробовал на бесхозном оружии постепенное снижение кондиции реализовать? 1 Ссылка на комментарий
WinCap 316 Опубликовано 12 Июля 2017 Поделиться Опубликовано 12 Июля 2017 @Zagolski На счет перебора всех объектов согласен, это жестоко. А на счет движка идея хорошая, я подумаю. Только, наверное, настройки снижения надо будет в конфиги вынести. S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
UnLoaded 313 Опубликовано 17 Июля 2017 Поделиться Опубликовано 17 Июля 2017 Такой вопрос: где в движке формируется хит от химических аномалий ? К примеру, для радиационных все понятно - в CRadioactiveZone::Affect(SZoneObjectInfo* O): ... CreateHit(GO->ID(),ID(),dir,power,BI_NONE,position_in_bone_space,impulse,ALife::eHitTypeRadiation); <- указан тип хита ... А вот для химических аномалий не могу понять\найти, где формируется хит с указанием типа "eHitTypeChemicalBurn". Вижу в аналогичной ф-ции в CAmebaZone::Affect(SZoneObjectInfo* O)(если я не ошибся, что CAmebaZone - это класс химических аномалий): ... CreateHit(pGameObject->ID(),ID(),hit_dir,power,0,position_in_bone_space,impulse,m_eHitTypeBlowout); ... вот только, ни как не нахожу где-же в m_eHitTypeBlowout записывается собственно eHitTypeChemicalBurn ? Подскажите... Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти