AndreySol 148 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 @Libery, сделать проверки на соответствие предмета тем, что нельзя трансферить: db.actor:iterate_inventory(function (actor, item) if item:clsid() ~= clsid.obj_bolt and item:clsid() ~= clsid.device_pda then -- пример для болта и ПДА actor:transfer_item(item, box) end Кроме ф-ции iterate_inventory есть еще одна, которая перебирает предметы инвентаря, пропуская содержимое скрытых слотов. Если ее использовать, то болт и ПДА уже не будут попадать в ф-цию обработки. Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Libery 0 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 (изменено) @AndreySol, Не получается, может функция не подойдет для этого ну то есть не правильно составлена. Вот весь код Скрытый текст local act = db.actor local box_1 = 0 function spawn_box_1(obj) if obj:section() == "reset_system" then local act_pos = act:position() local box = alife():create( "active_box", vector():set( (act_pos.x + 1), (act_pos.y), (act_pos.z + 1) ), act:level_vertex_id(), act:game_vertex_id() ) level.client_spawn_manager():add(box.id, -1, transfer_out) level.map_add_object_spot_ser(box.id, "actor_reset_mapspot", "%c[white]Сброшенные вещи") end end function transfer_out(id, obj) box_1 = id items_out(box_1) end function items_out(box_id) local box = level.object_by_id(box_id) db.actor:iterate_inventory(function (actor, item) actor:transfer_item(item, box) end, db.actor) end и вот это тоже ни как else news_manager.send_tip(db.actor, "Нельзя больше ничего выкинуть из рюкзака!", nil, "inv_icon") end end Изменено 14 Октября 2020 пользователем Libery Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
mole venomous 141 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 (изменено) 9 часов назад, Libery сказал: Не получается Я бы посоветовал применить рекомендацию, которую дал @AndreySol и протестить на самом простеньком и безобидном коде, что бы понять на практике самому, "как надо, что бы работало". Изменено 14 Октября 2020 пользователем mole venomous 1 2 Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Libery 0 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 (изменено) @mole venomous, Я просто работал в сфере оружия, брони, текстур и т.п но ни разу не копался в скриптах. Так что в этой области я не очень и может где-то что то упускаю, но в принципе ловлю все на ходу НО опыт на этом конечно сказываешься в области скриптов. Я конечно не считаю что человек не знавший что, куда вставлять а значит пишет бред, он же не взял это с книжки, может где то подсмотрел или кто то подсказал. Да я соглашусь надо учить LUA Но например, тебе нужно сделать фишку но нет времени над этим думать. Это если учесть то что ты например работаешь один. Я думаю для этого и создана эта тема, ведь не каждому дано за пять минут сделать то, что некоторые люди делают Годами. Поэтому я считаю им не составляет проблем что то подсказать. Я вот например если вижу вопрос в своей сфере, то да почему бы и не ответить что бы человек не мучился. Ну у каждого своё мнение. Это все зависит от опыта. Изменено 14 Октября 2020 пользователем Libery Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
AndreySol 148 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 @Libery Тема создана, естественно, для помощи в скриптовании, но все же не для заказов и их реализации. Никому не интересно писать Ваш мод за Вас. 4 Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
mole venomous 141 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 10 минут назад, Libery сказал: что бы человек не мучился Я не просто так посоветовал попробовать самому применить на практике, взяв за основу простой скрипт. На практике понимаешь, что делаешь. Это в дальнейшем пригодится, это личный опыт. 4 Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Libery 0 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 Согласен, но я думаю иначе. Моды это как хобби тебя не должны заставлять это делать или отвечать на те или иные вопросы. Тебе должно хотеться этим заниматься ещё и ещё. Ну это мое мнение и я буду передерживаться им! Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
mole venomous 141 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 5 минут назад, Libery сказал: Моды это как хобби Если меня сейчас поволочёт, модераторы переместят к чертям это. Я думаю, с моддингом и спортом можно провести параллели. Это как хобби, к этому есть привыкание. Застойное состояние снижает интерес, а успехи вдохновляют ещё больше. Понятно, что во всём сам не разберёшься. Тебя подталкивают, а дальше сам. В итоге ты благодарен за помощь, но успех вдвойне приятен, потому что "дальше сам". Тебе вот такое посоветовали Скрытый текст if item:clsid() ~= clsid.obj_bolt and item:clsid() ~= clsid.device_pda then -- пример для болта и ПДА actor:transfer_item(item, box) end А следующий твой пост без этого. Выходит, ты не использовал? Как тогда оно будет работать? 2 Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Libery 0 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 Пробывал, спасибо конечно я учту. Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Zander_driver 5 993 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 Цитата Моды это как хобби Почему "как". Моддинг, это хобби и есть. Вот только, похоже кому-то надо вспомнить, что такое "хобби". Это когда человек делает то, что ему интересно, сам. Находит информацию, иногда труднодоступную. Находит ресурсы, иногда не просто добываемые. И делает собственными руками, то что ему хочется. Что такое в данном контексте этот форум. Место обмена информацией. Кому-то нужна инфа - здесь он ее получает. Это не стол заказов, сюда не надо приходить с заявлениями "сделайте мне". Только что, Libery сказал: тебя не должны заставлять это делать или отвечать на те или иные вопросы. А кто заставляет? Если не хочешь делать то что делаешь - ну, не делай. Но ты же пришел с вопросами "как сделать" - и в ответах будут рекомендации, что делать. Сам же об этом спрашивал. На вопросы тоже можно не отвечать. Можно сказать просто, что мол, я Только что, Libery сказал: Пробывал Но вот не получилось, а почему, где, что не получилось - я вам не расскажу, логов никаких не дам, код не покажу, не хочу отвечать на ваши вопросы дурацкие. Ну не хочешь - не рассказывай это все. Никто же не заставляет. Просто задумайся, а как тогда форумчане должны догадаться, чем тебе помочь? Ясновидящие в дефиците. Где у тебя не-получилось и почему, мы не знаем. Ты когда такси вызываешь, к примеру. Тебя тоже заставляют говорить, куда ехать, а ты не хочешь? А так хотелось бы просто сесть и сказать таксисту "вези меня!", не говоря, куда. Он же отвезет конечно, да? у него работа такая. 3 3 Цитата 08.01.2012 в 03:30, xStream сказал(а): Те, у кого свои руки есть, копипастить это не будут, проще свое написать, которое тоже велосипедное, но более понятное автору. Мод, где не бывает одинаковых путей - Судьба Зоны. Подхалимов и льстецов не терплю. Не нравится, что я сделал? Сделай сам, как тебе нравится. Не умеешь - твои проблемы, я тоже когда-то не умел. Да и сейчас, не умею, не знаю, но делаю что хочу. Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Norman Eisenherz 35 Опубликовано 16 Октября 2020 Поделиться Опубликовано 16 Октября 2020 Здрасьте. ЧН 1.5.10, расстановка меток NPC в [sim_squad_generic.script]. Задача: скрыть метки отрядов противника при переключении статуса нейтрал/враг. Решение: добавить проверку по имени метки – if not string.find(spot, "enemy") … Результат: метка обстрелянного отряда скрывается, но метки соседних отрядов остаются видимыми (и желтыми), хотя участники этих отрядов уже активно стреляют по ГГ. В указанном скрипте есть проверка "при наличии лидера отряда проверять отношение ГГ к нему". Отряд не был обстрелян, лидер у него точно есть и, судя по метке, остался нейтральным, но атакует как свидетель нападения. Как принудительно сделать такой отряд враждебным, чтобы скрыть метку? Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Kirgudu 680 Опубликовано 18 Октября 2020 Поделиться Опубликовано 18 Октября 2020 @Norman Eisenherz, game_relations.set_squad_goodwill(squad_id, "enemy"). И вообще, стоит поизучать этот модуль и его применение в других скриптах и логике. Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
_Sk8_AsTeR_ 45 Опубликовано 18 Октября 2020 Поделиться Опубликовано 18 Октября 2020 Подскажите пожалуйста, как в ОГСР ВНЕ диалога проверить наличие итема у НПС? Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Norman Eisenherz 35 Опубликовано 19 Октября 2020 Поделиться Опубликовано 19 Октября 2020 @Kirgudu Как определить, что отряд стал враждебным и, возможно, уже начал стрелять по ГГ, оставаясь при этом на нейтральном отношении? Какой параметр отряда меняется, когда отряд становится свидетелем нападения? Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Kirgudu 680 Опубликовано 19 Октября 2020 Поделиться Опубликовано 19 Октября 2020 (изменено) @Norman Eisenherz, достаточно определить, что командир отряда стал враждебным, ведь метка отряда вешается на него. См. commander:general_goodwill(db.actor) в модуле sim_squad_generic.script (commander определяется там же) и дальнейшее использование этого показателя. При определённых его значениях можно вызывать self:hide() / self:show(), что приведёт к нужному результату. Изменено 20 Октября 2020 пользователем Kirgudu была ошибка в названии метода Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Norman Eisenherz 35 Опубликовано 20 Октября 2020 Поделиться Опубликовано 20 Октября 2020 Вот именно там и смотрю, и именно эта проверка при явном наличии командиров выдает для соседних отрядов отношение "нейтрал". Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Шеф-модератор BFG 7 179 Опубликовано 23 Октября 2020 Шеф-модератор Поделиться Опубликовано 23 Октября 2020 Всем здравия. Имеется вопросик : можно ли нанести хит НПСу находясь оффлайн от него. Например на другой локе. СИД у НПСа есть. Пробовал так, но не сработало, только находясь в зоне алайфа убивает. function hit (actor, npc) local source = nil local sim = alife () if sim then local se_obj = sim:story_object (9450573052- СИД) if se_obj then source = level_object_by_id(se_obj.id) end end if source == nil then return end local h = hit () h.power = 2000 h.direction = vector():set( 1, 0, 0 ) h.impulse = 60 h.draftsman = source h.type = hit.fire_wound source:hit (h) end Есть ли вообще такой способ ? Гугл читал, форумы курил. Не нашёл ничего. Спасибо. Цитата "Кругом зомби.....у меня кончаются патроны...." Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
AndreySol 148 Опубликовано 23 Октября 2020 Поделиться Опубликовано 23 Октября 2020 @BFG Хит возможен только по клиентскому объекту, а в оффлайне его нет. Пробуй через установку health в 0. Добавлено BFG, 23 Октября 2020 Хмммм... мдааа. Спасибо большое за идею и за новые познания. 1 2 Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
_Sk8_AsTeR_ 45 Опубликовано 28 Октября 2020 Поделиться Опубликовано 28 Октября 2020 (изменено) Доброго времени! Есть ли способ проверить, что ГГ из текущего активного оружия прямо сейчас целится правой кнопкой мыши? Изменено 28 Октября 2020 пользователем _Sk8_AsTeR_ Цитата Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
dsh 3 096 Опубликовано 28 Октября 2020 Поделиться Опубликовано 28 Октября 2020 @_Sk8_AsTeR_, движок какой? В OGSR - db.actor:zoom_mode() если не путаю. Цитата dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение Поделиться на других сайтах
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.