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

*Shoker*

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

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

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

  • Дней в топе

    15
  • AMKoin

    107 [Подарить AMKoin]

Весь контент пользователя *Shoker*

  1. *Shoker*

    [CoP] Вопросы по SDK

    http://www.amk-team.ru/forum/index.php?showtopic=12730&p=788282
  2. *Shoker*

    Shoker Mod CS v[2.0]

    @DirtyLalka, оставил только смерть, ибо остальные новости фальшивые. Если и буду делать то только настоящие. Тем более тексты были заезжанные, а новые делать не кому. @MgSolidus, бартер что ли? m_barter.script
  3. *Shoker*

    Shoker Weapon Mod (CoP)

    Если у тебя самого в моде нету файла wpn_hands_pkm_anims.ogf (или как он там называется) то можешь ничего не выдирать а так и использовать. В этом файле хранится солянка из различных анимаций от другого оружия + оригинальные анимации ПКМ, правда если потом будешь добавлять другое оружие названия анимаций могут совпасть и пойдут визуальные глюки.
  4. *Shoker*

    Shoker Weapon Mod (CoP)

    https://dl.dropboxusercontent.com/u/23885395/Volt%20Driver.rar Анимации рук в анимках ПКМ, можно выдрать через конвертр бардака. Вроде всё на месте, звуков не было. Для самостоятельной вставки, качество анимации все и так видели. Эта модель по моему сразу с прицелом.
  5. *Shoker*

    Скриптование

    dukekan> Значение переменной vaue после загрузки будет не числовым, а строковым Вместо get_string используй другую функцию, и будет грузить число.
  6. *Shoker*

    Скриптование

    Есть ещё вариант, тут его читал как раз. Через функцию get_console():execute("команда значение") присвоить какой либо не используемой\незначительной консольной команде (список команд через help получить можно) своё значение (отличное от значения по умолчанию), а потом при следующем запуске из этой же консоли его и считать (class CConsole в scripts\lua_help.script глянь) Из плюсов - значение вроде как хранится в user.ltx а потому у каждого игрока он свой, из минусов - user.ltx могут удалить игроки) Вариант с переименовыванием в этом плане понадёжней.
  7. Логично, погуглил - нужны методы class_info() и class_names() Оба не подключены к игре. В игре нашёл тока class_registrator - таблицу, щас гляну что это. ___ Ничего интересного, таблица с функциями для регистрации классов. Видимо без изменения luabind методы классов получить нельзя.
  8. *Shoker*

    Скриптование

    Вариант сделать под объектом джоинт типа "колесо" и крутить его в одну сторону щас тоже наверно буду пробовать
  9. *Shoker*

    Скриптование

    Кто нибудь случаем не находил способ менять дирекцию (взгляд) физического онлайн объекта чтобы изменения были видны сразу? Допустим на земле валяется аптечка и нужно менять её дирекцию с достаточной большой скоростью. Я в данный момент пытался физикой это сделать, сделал себе модель-болванку и через класс physics_joint пытался указывать направление джоинта через функции типа set_axis_dir_global(number, number, number, number); В оригинале эти функции никак не используются, примера глянуть негде, в игре на них никакой реакции не было. Может кто то уже придумал как изменить дирекцию объекта допустим через физику?
  10. Не могу понять, толи я что то делаю не правильно, то ли это последствия обрезанного Lua, но возникла необходимость узнать какими методами обладает объект с экспортированным из движка классом. local pe = ps:get_element_by_bone_name("link") -- (C++ class physics_element) -- pe считается как userdata -- Этот метод вылетает с руганью, что в pairs передана не таблица for k, v in pairs(pe) do Log(tostring(k).." = "..tostring(v)) end -- Этот метод рабочий, но выводит только стандартные функции луавских мета-таблиц (__pow, __add, __index,...) for k, v in pairs(getmetatable(pe)) do Log(tostring(k).." = "..tostring(v)) end По интернету судя по всему работают оба этих варианта, так что не могу понять - то ли это особенность сталкерского луа, то ли я не правильно пытаюсь получить список методов объекта. Про lua_help.script знаю, интересует вариант без его участия. (Обрезанный Lua 5.1 из ЧН)
  11. *Shoker*

    Shoker Mod CS v[2.0]

    danilov3d Да, открой в блокноте bin\host.conf Там в конце добавь (если этого поля (xray_params) у тебя там нету) что то вроде xray_params=-mblur -dsound -smap4096 tankist Думаю можно но не вижу смысла тратить на такую мелочь время, но с ногами щас косяк на самом деле. Делали их на основе вертолёта и сделали всё, но не смогли побороть тряску при движении. Такое чувство что "вертолёт" в сталкере не летает а телепортируется.. =\ Теперь надо думать как по другому делать. hermitageman Стволы уже готовы и сделаны, выбирались в своё время не по принципу "русские\не русские" а просто чтобы были необычными и красивыми, поэтому такой пёстрый набор. Сейчас уже поздно что то менять. Может разбавим ещё арсенал.
  12. *Shoker*

    Shoker Mod CS v[2.0]

    Тут не тока моя заслуга и да - реализация не движковая, а отдельным объектом. Соответственно все движения ног нужно делать анимацией а это с учётом ограниченности скриптов в этом плане... вообщем будем пробовать максимально сгладить этот момент. Ну и лёгкая тряска (скорее раздвоение, но совсем мелкое) ног при движении, ещё настраивать буду, только вчера запилили механизм. Тень от ног потом уберём - выше торса ничего нету. И поза точно такая же, как от 3-его лица, там тоже ГГ так стоит. Пробовали делать ноги ровно, но выглядит не красиво.
  13. *Shoker*

    Скриптование

    Давно со скриптами сталкера не работал, мозги немного заплыли жиром. Хочу попробовать "грубо" реализовать тело игрока от первого лица через физ объект с анимациями, но для этого нужно решить некоторые проблемы, в частности ни у кого нет идей каким образом можно двигать физ. объект (коллизия у него будет отключена) вместе с игроком? Функции телепортации для физ. объектов вроде как нету, пока рассматриваю вариант пытаться двигать объект за игроком через физику, но это будет то ещё извращение. Работаю на ЧН, но сойдёт и ЗП вариант. Как вариант - посмотри реализацию грави-пушки. ColR_iT
  14. *Shoker*

    Скриптование

    Старлей Видимо скрипт ни в одном моде не тестировали CRAZY_STALKER666 Раскоментируй везде dbg.log (если у тебя в моде есть такой скрипт, в противном случае выводи сообщения любым другим способом) и смотри в консоли\в игре в каком моменте скрипт перестаёт выполняться.
  15. Начиная с ЗП в xrGame.dll была добавлена какая то проверка анимаций в объектах. Тоесть раньше через функцию play_cycle() можно было проиграть анимацию у любого физического объекта, в ЗП осталась эта возможность однако почему то игра некоторые анимации, прекрасно работающие на ЧН, не переваривает и выкидает с логом просто если такой объект появится в онлайне (даже если он не проигрывает анимацию): Expression : assertion failed Function : anim_script_callback::play_cycle File : D:\prog_repository\sources\trunk\xrGame\animation_script_callback.cpp Line : 31 Description : m.valid( ) А вот от чего это зависит никак не могу понять, большая часть анимаций заработала нормально, а некоторые ну никак не получается починить. При уборе анимаций вылет пропадает. Сам вылет в dll-ке появился только в ЗП. Лог мягко говоря не информативный, может если у кого то уже есть декомпилированный xrGame.dll от ЗП и там есть такая возможность, то нельзя ли глянуть (в псевдокоде или ещё где то) что именно игре не нравится из за чего она генерирует этот лог? Судя по hex-редактору лог вызывается лишь в одном месте. Зарание спасибо за любую помощь.
  16. *Shoker*

    Скриптование

    Пытаюсь допилить 3D-гильзы от выстрелов. Механизм уже готов для ГГ, сейчас вот адаптирую схему под НПС, в связи с тем нет возможности использовать векторы от камеры =\ В принципе в момент выстрела ствол обычно смотрит ровно, но ведь НПС может стрелять и из укрытия вслепую, но в принципе это всё довольно редкие события поэтому наличие таких мелких "недоработок" в принципе не критично. Дирекция мне нужна чтобы указать в какую сторону отлететь гильзе (для хита) X-Ray ext применять не хочу, также можно было бы ещё просто в оружии добавить новые кости (одна у затвора, другая левее) и через них считать направляющий вектор, но в обоих случаях схема перестаёт быть универсальной. malandrinus Я именно про оружие в руках НПС, а не про худ - с худом то как раз проблем нету Просто я тестировал с камерой игрока т.к у меня скрипт был под неё настроен + можно было сравнить получившиеся векторы с "эталонными" от device()
  17. *Shoker*

    Скриптование

    Спасибище всем за помощь :ny_santa: Сам бы врятли справился бы. Простое решение как обычно прошло мимо меня Получилось что то такое: function get_all_direction(dir) --* "Вправо" local dir_right = vector() dir_right:crossproduct(dir, vector():set(0,1,0)) dir_right = dir_right:normalize() --* "Вверх" local dir_up = vector() dir_up:crossproduct(dir_right, dir) dir_up = dir_up:normalize() return dir_right:invert(), dir_up end local item = db.actor:active_item() local vX, vY = get_all_direction(item:direction()) В принципе теперь я могу доделать то, что планировал Однако в данной функции есть один недостаток - она не учитывает Roll (наклон объекта вбок) То есть если игрок выглядывает из за угла (наклоняется вправо\влево), то этот наклон не учитывается при расчёте боковых векторов. Есть ли не шибко сложный способ это поправить? Функцию юзаю на оружии в руках у НПС, а они могут например стрелять из укрытия, заваливая ствол на бок. Это в принципе для меня не настолько критично но всё же если есть способ то лучше поправить.
  18. *Shoker*

    Скриптование

    =\ В наличии есть нормированный направляющий вектор, смотрящий ровно вперёд от объекта Надо каким то образом из него получить похожий вектор, но направленный уже строго вправо относительно объекта и строго вверх относительно объекта. Для игрока в классе камеры эти векторы уже доступны через: vector cam_dir; // единичный вектор направления взгляда vector cam_right; // единичный вектор, перпендикулярный направлению камеры и направленный вправо vector cam_top; // единичный вектор, перпендикулярный направлению камеры и направленный вверх Однако для объектов два нижних вектора не доступны, доступен лишь вектор направления. Соответственно я стал эксперементировать на игроке с вектором cam_dir дабы вывести формулу для получения двух оставшихся. Сперва я попытался получить вектор cam_right путём поворота (через матрицы) направляющего вектора cam_dir по оси Y на 90 градусов вбок. Однако этот приём работает лишь когда игрок смотрит ровно прямо, без наклона головы вверх\вниз --\\ Поворот вектора на заданные углы function vector_rotate(V, rY) local vI = vector():set(math.cos(rY), 0, math.sin(rY)) local vJ = vector():set(0, 1, 0) local vK = vector():set(-math.sin(rY), 0, math.cos(rY)) V.x = vI.x * V.x + vI.y * V.y + vI.z * V.z V.y = vJ.x * V.x + vJ.y * V.y + vJ.z * V.z V.z = vK.x * V.x + vK.y * V.y + vK.z * V.z return V end Ежели игрок наклоняет голову, то точка начинает выписывать овал. Я так понял что поворот вектора по оси Y идёт не относительно СВОЕЙ оси Y а относительно некого вектора (0,1,0). Какую формулу мне надо использовать дабы вектор крутился вокруг своей собственной оси Y? (и в перспективе аналогичный метод для оси X) Или какие ещё методы можно применить для получения искомых векторов cam_right и cam_top Конкретно поворот на произвольный угол не интересует, мне лишь нужно найти формулу для расчёта перпендикулярных векторов.... Чёрт, только щас дошло -___- _____________________________________________________________________ Кто нибудь может пож-ста словами или готовым кодом написать формулу для нахождения перпендикулярного вектора направленного вбок от искомого и перпендикулярного вектора, направленного вверх от искомого? Только полную пож-ста, сокращённые или перегруженные коды на просторах сети мой мозг отказывается переваривать =\
  19. *Shoker*

    Скриптование

    Меняю в момент спавна, переписывая abstract-пакет объекта в STATE_Write, старый метод ещё с ТЧ. ​Речь про ЧН, но ЗП тоже подразумевается. Про angle знаю, но нет в ЧН + тоже не даёт требуемой точности. Подстава =\ Нужна именно высокая точность, т.к объект спавнится близко к экрану. А дирекция игрока от ног идёт.... хотя попробую, м.б такой хватит. Знаний для работы с матрицами поворота у меня не хватает. Оффтоп: где то уже говорили, но как отключить выделение элементов сайта при попытке копирования. А то я даже имя не могу скопировать чтобы вместе с ним не скопировался фон сайта и шрифт текста. _______________________ Ладно, вопрос в принципе снимается, в итоге решил отказаться от своей затеи и просто рэндомную дирекцию делать. Также db.actor:position() не похоже что содержит углы Эйлера, он по моему аналогичен cam_dir. Хотя если у кого то будут всё же идеи как повернуть объект по направлению взгляда ГГ то на будущее рад буду если подскажите. Всем спасибо за помощь
  20. *Shoker*

    Скриптование

    Может кто нибудь помочь вывести векторную формулу? У меня совсем туго с векторной алгеброй =\ Суть в том, что я спавню физический объект перед камерой игрока, и мне надо чтобы его нос был направлен туда, куда смотрит игрок. Что есть: v1 = device().cam_pos -- Вектор. Позиция камеры игрока v1_dir = device().cam_dir -- Направляющий (?) вектор, v1 + v1_dir = точка в метре от игрока, в которую он смотрит Мне нужно из этой информации получить вектор в радианах, который содержит поворот объекта по каждой из трёх осей (x,y,z, значения от 0 до 3.14) Мысли в голове крутятся, но никак не могу что то сообразить стоящее =\ Лишь тыкать наугад формулами. Подозреваю что мне надо получить углы между осями каждого вектора и перевести их в радианы, но опять таки как это правильно сделать...
  21. *Shoker*

    Shoker Mod CS v[2.0]

    Metall68 Кому то я уже помогал с этой проблемой, видимо в итоге так и не включил в фикс или потерялось по ходу. https://dl.dropbox.c...n_equipment.dds кинуть в gamedata\textures\ui с заменой. Тут правы - проблема была в том, что у меня текстура сильно вытянута в бок. (2048 на 4096) После фикса пропадёт иконка РПК и Сайга, так как для них ещё надо конфиг исправленный приложить,а у меня щас такая свалка что я не найду где старые конфиги а где новые. Да и не велика потеря. ____________________________________________________ Касательно мода - знаю что уже прошло очень много времени, и мод уже мало кому интересен, но всё же допилю до вменяемого состояния. В данный момент я доделываю конфиги для нового оружия, которое будет вылажено в скором времени под ЗП, и возможно под ЧН. После попробую сделать промежуточный патч, который включит в себя предыдущие фиксы, новое оружие, новый баланс + мини-фиксы вроде фикса иконок и фикса глючной торговли. И да, потребуется новая игра, так что если кто то вдруг хочет начать играть сейчас - лучше повременить. Я бы выложил и больше, но т.к в новой версии я совсем по другому сделал скрипты мне нужно время чтобы перенести все старые механизмы на новые "рельсы".
  22. *Shoker*

    Shoker Mod CS v[2.0]

    В районе нового года, м.б аккуратно к нему, обновим оружейную модификацию для ЗП от РикошеТа со всем тем оружием, что есть на канале. Заодно я денежный баланс и повреждения нормально настрою. Выживать и сражаться станет намного интересней. Возможно аналогичную версию выпустим и для ЧН (как аддон к моду и как к чистой игре) В плане конкретно мода на ЧН сейчас пилю как раз оружие с балансом, т.к это часть мода. Потом остаются снова скрипты, они у меня наполовину доделаны, наполовину нет (я взялся за их переделку, ибо совсем уж на помойку были похожи) Вобщем сообщу как там дальше уже после релиза оружейного пака. Планов много, но вот со скоростью их реализации, как всегда проблемы.
  23. serafim-kr После первого патча на ЗП разработчики модифицировали класс ножа и добавили в его конфиг (m_knife.ltx) новые строчки. Твоя ошибка скорее всего говорит о том, что ты используешь файлы от старого патча (и конкретно указанный мной) на новом. Единственным верным решением будет взять m_knife.ltx от нового патча и сделать свои изменения на его основе. Хотя у меня есть подозрения что у тебя могут быть и другие файлы "устаревшими", в том числе и скрипты (из которых может следовать уже второй вылет, но он тоже много разных причин имеет), так что в идеале для тебя будет (если ты конечно сам понимаешь что ты там наворотил) сравнить свои файлы мода (через WInMerge, Total Commander не важно) с ориг. файлами от последнего патча на ЗП на предмет пропущенных исправлений от патча. Понятное дело что для этого тебе надо понимать что и как ты делал в своём моде. Кстати первая ошибка совсем не связана с созданием группировок. А вот вторая уже могла быть от того что ты накосячил в конфиге.
×
×
  • Создать...