Struck 61 Опубликовано 20 Августа 2012 Поделиться Опубликовано 20 Августа 2012 Хотел еще узнать что такое 'coroutine', в _g вижу его использование, но не вижу где он сам. Посмотрите еще, я правильно понял создание глобальной функции? _G.has_actor_pda = function f_has_actor_pda() return db.actor:object("device_pda") end И теперь я просто могу вызывать has_actor_pda()? А еще как в таких функциях передавать параметры, или они будут просто наследоваться из f_has_actor_pda()? ins33, создай простой таймер и сохрани его в пстор(что бы отсчет не начинался сначала при сейв/лоаде). Ссылка на комментарий
ins33 16 Опубликовано 20 Августа 2012 Поделиться Опубликовано 20 Августа 2012 Struck Я собираюсь его запускать при заходе на локу, с определённым событием. пстор это что? Ссылка на комментарий
panzyuza 41 Опубликовано 20 Августа 2012 Поделиться Опубликовано 20 Августа 2012 (изменено) ins33, тогда можно посоветовать вот что Изменено 20 Августа 2012 пользователем panzyuza AVS_LOCATION_MOD Ссылка на комментарий
Artos 99 Опубликовано 20 Августа 2012 Поделиться Опубликовано 20 Августа 2012 (изменено) ins33, и Ko - имеются и ФАКи и темы по ковыряниям, в которых самое место для подобных вопросов "как сделать" и пояснениям. Добавлено через 3 мин.: Struck, если всерьез заинтересовался coroutine - почитай топик "Язык Lua. Общие вопросы программирования"? в котором достаточно уже разжевано и с примерами. Хотя ... скорее всего это тебе пока не пригодиться. И ... твой вариант скорее всего не будет работать, т.к.: _G.has_actor_pda = function f_has_actor_pda() return db.actor:object("device_pda") end требует существования и доступа к указанной в теле f_has_actor_pda. Думается что тебе нужно это: ]_G.has_actor_pda = function() return db.actor:object("device_pda") end - тогда все будет работать без доп.условий/существований. Ну а если требуются аргумены, то вот тебе пример, по которому (и мануалу Lua) сам дальше разбирайся: ]_G.has_actor_pda = function(section) return db.actor:object(section) end Изменено 20 Августа 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Vano_Santuri 33 Опубликовано 20 Августа 2012 Поделиться Опубликовано 20 Августа 2012 (изменено) Artos, В общем сбылась мечта дурака - сделал то, чего вообще никто до меня не делал... Но появилась небольшая проблемка. Решить ее и кульминация, попрут скрипты. Есть ли функция, метод, которая определяет, что данный объект НЕ находится ни у кого в инвентаре\ящике, а просто валяется на улице? Ели такого метода нема, то придется довольствоваться переборчиком function NotInInventory(Art) for k,v in pairs(StkOnline) do local Stk = level.object_by_id(k) local InInv = Stk:object(Art) -- есть ли арт if InInv then return false -- есть end end return true -- нема end Просто хочется эстетичнее и "правильнее"... А скрины - в качестве подтверждения моей "гениальности" - только попробуйте сказать, что такое было. К показанному могу сказать, что в новостях сообщается о наличии\отсутствии арта в аномалии, вероятность того, что нпс словит арт - зависит от его детектора и ранга. Ну и рандома -новичкам иногда везет ) Artos, Shadows спасибо. Изменено 20 Августа 2012 пользователем Vano_Santuri Что-то кончается, что-то начинается... Ссылка на комментарий
RayTwitty 492 Опубликовано 20 Августа 2012 Поделиться Опубликовано 20 Августа 2012 Vano_Santuri, obj:parent() кеп. Ссылка на комментарий
Artos 99 Опубликовано 20 Августа 2012 Поделиться Опубликовано 20 Августа 2012 (изменено) (не очень сложно подсмотреть в скриптах игры/модов) oNPC = oItem:parent() --/ владелец предмета (для клиентского об'екта) idNPC = soItem.parent_id --/ идентификатор владельца (для серверного об'екта), 65535 - безхозный (нет влаельца). Владельцем может быть и ящик. Однако, тут (с парентами) все же порой бываю нюансы, хотя для новостных скриптов иль подобного - не критично. Изменено 20 Августа 2012 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
Struck 61 Опубликовано 20 Августа 2012 Поделиться Опубликовано 20 Августа 2012 (изменено) Есть какой-нибудь рациональный способ получения всех 'НЕтайниковых' ящиков. Например того, что на Кордоне в лагере новичков около костра. Делаю последнее предупреждение по оффтопику. Топик имеет конткретную тематику "Скриптование" и в разделе "Школа"! , т.е. конкретные вопросы/проблемы/решения по скриптам. Не нужно путать со справочным бюро иль с бюро находок, тем более без уточнений версии игры и с невнятными критериями. Лень самому искать, сравнивать и т.п. - GoTO в ковырялки ... --/Artos Изменено 21 Августа 2012 пользователем Artos Ссылка на комментарий
Zander_driver 10 333 Опубликовано 21 Августа 2012 Поделиться Опубликовано 21 Августа 2012 Имеем: биндер аномалий, с колбеками net_spawn и net_destroy. Версия игры ТЧ 1.0004. А другие колбеки аномалиям доступны? и где можно узнать какие. конкретнее интересует колбек на попадание актора/нпс/монстра/физ/объекта/болта в шейп аномалии. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
IQDDD 5 Опубликовано 21 Августа 2012 Поделиться Опубликовано 21 Августа 2012 net_spawn и net_destroy - это не коллбеки, а переопределённые методы. Ссылка на комментарий
Zander_driver 10 333 Опубликовано 21 Августа 2012 Поделиться Опубликовано 21 Августа 2012 Еще один вопрос - к тем кто юзает дебаговый модуль от RvP. Используя функцию log("сообщение") приходилось ли кому замечать такой факт: из одного определенного модуля (файла скрипта) вызовы этой функции игнорируются, т.е. не выводят информацию в лог, (как первый, так и второй) при том что отлично работают во всех остальных. При этом: 1) в модуле нет локальных переменных или функций с именем "log". 2) код синтаксически верен и работает, функции модуля вызываются, работают и возвращают значения 3) Вызовы log("сообщение") из других модулей стабильно работают, а из данного - наотрез. 4) Замена log на старый недобрый get_console():execute("сообщение") приводит к тому что все работает и сообщения записываются в лог как неопознанные команды. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
AndreySol 215 Опубликовано 21 Августа 2012 Поделиться Опубликовано 21 Августа 2012 Есть какой-нибудь рациональный способ получения всех 'НЕтайниковых' ящиков. Например того, что на Кордоне в лагере новичков около костра. Попытаюсь ответить, но в форме вопроса, т.к. то-же хотел-бы получить информацию по этому вопросу. Похоже, что все НЕтайниковые ящики (и не только визуально ящики) не имеют прописанной им логики, а обычно "находятся под респавнерами" (взял в кавычки, т.к. не уверен в правильности формулировки). Тайники же обычно имеют логику, привязанную к ним через all.spawn или скрипты\нет-пакеты, через которую они и заполняются лутом в нужный момент (обычно по факту получения актором(ГГ) информации о них). Знающие точную информацию - подтвердите или исправьте\дополните, плиз. Ну а собственно насчет вопроса, если будет известен точный критерий, как определить, ящик тайниковый\НЕтайниковый - дальше уже проще плясать будет от печки. Ссылка на комментарий
IQDDD 5 Опубликовано 21 Августа 2012 Поделиться Опубликовано 21 Августа 2012 Если это ТЧ/ЧН, то смотрите treasure_manager. Там всё есть, в т.ч. и таблица информации о всех тайниках, в т.ч. и о контейнерах тайников. Ссылка на комментарий
Zander_driver 10 333 Опубликовано 21 Августа 2012 Поделиться Опубликовано 21 Августа 2012 В ЗП вообще тайники не в ящиках, если мне память не изменяет... так что по ТЧ/ЧН можно наверно просто взять любой ящик и проверить есть ли он в treasure_manager-e. Если нету - значит не тайниковый. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
proger_Dencheek 6 Опубликовано 21 Августа 2012 Поделиться Опубликовано 21 Августа 2012 Выручайте, как сделать это: Если определенный монстр (или сталкер), заспавненный через скрипт умирает, то срабатывает необходимое действие. Ссылка на комментарий
Zander_driver 10 333 Опубликовано 21 Августа 2012 Поделиться Опубликовано 21 Августа 2012 при спавне вешай стори_ид, при смерти - проверяй стори_ид, сравнивай с записанным. совпало - значит он. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Vano_Santuri 33 Опубликовано 22 Августа 2012 Поделиться Опубликовано 22 Августа 2012 А не проще прописать логику, и в секцию on_deth - поставить действие? Это разовый вызов. А проверку у вас на всю игру... и таро уже такие вещи - прорверки 1 объекта на апдейт лепить. Что-то кончается, что-то начинается... Ссылка на комментарий
panzyuza 41 Опубликовано 29 Августа 2012 Поделиться Опубликовано 29 Августа 2012 (изменено) Как правильно отследить, что актор находиться в режиме прицеливания? Наверно так или нет? local pre_fov = 0 local fov = math.floor((device().fov+0.02)*10) if fov < 58*10 and pre_fov > fov then Старый код, или может покороче так if device().fov<=45 или я что-то путаю? Изменено 29 Августа 2012 пользователем panzyuza AVS_LOCATION_MOD Ссылка на комментарий
Zander_driver 10 333 Опубликовано 29 Августа 2012 Поделиться Опубликовано 29 Августа 2012 Да вроде ничего не путаешь все правильно Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
_Призрак_ 11 Опубликовано 1 Сентября 2012 Поделиться Опубликовано 1 Сентября 2012 Может я что то не понимаю, но у вас то условие никогда не пройдет. У вас pre_fov всегда равно 0, а 0 никогда не может быть больше положительного числа Freedom Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти