naxac 2 477 Опубликовано 24 Января 2014 (изменено) @плащ, в ТЧ нет такого метода, чтоб определить наличие предмета на поясе. Но есть скрипт, с помощью которого это можно сделать, в Солянке есть (а, может, и в АМК, точно не знаю), называется inventory.script. Посмотри его, там через сканирование инвентаря определяется, какие предметы находятся на поясе (их секции и id) Изменено 24 Января 2014 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 30 Января 2014 (изменено) @Сталкер Лом, тебе это нужно, я так понял, для того, чтобы при следующем заходе на локацию спавнились новые аномалии? Тогда можно сохранить имя текущего уровня в пстор и на net_spawn актора повесить проверку: function create() local level = level.name() if not has_alife_info("dynamic_anoms_to_"..level) then db.actor:give_info_portion("dynamic_anoms_to_"..level) end local sl = xr_logic.pstor_retrieve(db.actor,"dla","") if sl~="" and level~=sl then db.actor:disable_info_portion("dynamic_anoms_to_"..sl) xr_logic.pstor_store(db.actor,"dla",level) end endТ.о. при переходе на другую локацию новый поршен будед выдаваться, а старый удаляться. (точно названия ф-ций из xr_logic не помню, так что проверь (= ) Изменено 30 Января 2014 пользователем ColR_iT Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 24 Мая 2014 (изменено) Почитал про назначение скриптам горячих кнопок там походу только через меню работать будет, да и не понятно даже что надо писать что не надо.Не то, видать, читал. Почитай это: Назначение скриптам горячих кнопок. Часть 3.А по поводу состояния предмета - если он у тебя на классе антирада, то помимо скриптового "obj:set_condition...", нужно писать кондишен в объект через нет_пэкет, Изменено 24 Мая 2014 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 25 Мая 2014 @Full Noob, лишнего в статье нет ничего. Если тебе нужно только нажатия отлавливать, делай по первому варианту - и всё. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 18 Июня 2014 @AndreySol, просто этот ящик с броником при спавне нужно засунуть в оффлайн, а потом достать оттуда назад в онлайн. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 8 Августа 2014 @mumie, смотри в lua_help доступные для этого класса методы. В основном по их названию понятно предназначение. Класс, вроде, называется CUITrackBar. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 1 Сентября 2014 @Gaz24, ну, во-первых, ранг нпс, получаемый функцией npc:charactr_rank() - это число. А во-вторых, ранг нпс нужно проверять в функции drop_manager:__init(npc), т.к. именно сюда передаётся объект нпс при спавне лута, здесь уже можно получит его ранг, а от него уже и плясать. 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 6 Сентября 2014 (изменено) @Хемуль36рус, конечно можно: function npc_set_freedom (actor, npc) if npc then printf ("NPC [%s] NOW IN FREEDOM COMMUNITY", npc:name()) npc:set_character_community ("freedom", 0, 0) end end Изменено 6 Сентября 2014 пользователем naxac 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 10 Января 2015 Привет всем. Сегодня пробовал сменить имя главного героя через net_packet. Взял all.spawn, acdc, написал скрипт. Вроде работает, но имя меняется только около иконки, которая показывается при разговоре/торговле, и в КПК в разделе "Ранги". С нпс то же самое, но это решается отправкой непися в оффлайн на небольшое время сразу после изменения пэкета. С ГГ же такое не прокатывает. Может, кто-нибудь сталкивался? Как решить? @Dennis_Chikin, надо, чтобы новое имя отображалось везде. В окне диалога с нпс вместе с фразами, в КПК в разделе статистики, чтобы его можно было получить через actor:character_name()... Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 12 Января 2015 @Dennis_Chikin, в том-то и дело, что непонятно где ещё нужно что поменять. Перерыл весь нет_пэкет актора, никаких больше упоминаний про имя не нашел. Пробовал поменять профиль в пэкете - меняется только иконка на ту, что в новом профиле записана, остальное без изменений... Непонятно. Всё, разобрался. Я же только серверный объект ковырял, а нужно ещё и клиентский... Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 10 Февраля 2015 (изменено) @AndrewMor, читай: урок по созданию нового ранга Изменено 10 Февраля 2015 пользователем naxac 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 28 Июня 2015 @Simonov50, Frect():set(x1, y1, x2, y2) - первые две - координаты верхнего левого угла, третья и четвёртая - нижнего правого. Вроде, так. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 29 Июня 2015 @Simonov50, доступ к экземпляру другого класса ты получаешь через self.lb_kv:GetItem(item_index). Точнее, этим методом ты и получаешь экземпляр класса lbx_kv, и далее можешь делать с ним всё, что угодно его методами. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 3 Августа 2015 @Winsor, что-то вроде этого: local npc local aPos = db.actor:position() local npc_online = {} for k,v in pairs(db.storage) do npc = level.object_by_id(k) if npc and isStalker(npc) and npc:alive() and aPos:distance_to(npc:position())<50 then npc_online[k] = npc end end 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 28 Августа 2015 @Romz, if spawn_position:distance_to(cover_position) > distance_value then -- spawn end 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 29 Августа 2015 (изменено) @UnLoaded, в AttachChild, когда у дочернего окна уже есть parent. Т.е., оно уже приаттачено к чему-нибудь. Изменено 29 Августа 2015 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 16 Сентября 2015 @madrazor, в проекте X-Ray Extensions есть функция для проигрывания худовых анимаций. Там же есть каллбэк для актера на нажатие клавиш. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 26 Сентября 2015 (изменено) @Stalkeruga_238, "на примере этого" не получится - для перехода на другую локацию нужен level_changer. А "привязать" - через каллбэк use_object в биндере актера. Изменено 26 Сентября 2015 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 3 Октября 2015 (изменено) @Romz, можно что-то вроде этого сделать: local level_changed = false local last_level = xr_logic.pstor_retrieve(db.actor, "llvl", "") if last_level ~= level.name() then level_changed = true xr_logic.pstor_store(db.actor, "llvl", level.name()) end Изменено 3 Октября 2015 пользователем naxac 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 5 Октября 2015 @Romz, проще всё это "повесить" на инфопоршни - по одному на каждую локацию (например, "<имя_уровня>_info"). При заходе на локу проверяешь поршень, если его нет, то спавнишь аномалии и выдаёшь поршень. При начале выброса все инфо дисаблишь и удаляешь все аномалии на всех уровнях. По завершении выброса - делаешь как при заходе на локацию. 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение