// should be deleted after update bone_name = bip01_r_hand position_offset = 0.0,0.0,0.0 angle_offset = 1.570790,1.570790,3.92699
use_sound = interface\inv_food
в файле bind_stalker.script :
Code
function actor_binder:use_inventory_item(obj) if(obj) then local s_obj = alife():object(obj:id()) if(s_obj) and (s_obj:section_name()=="drug_anabiotic") then xr_effects.disable_ui_only(db.actor, nil) level.add_cam_effector("camera_effects\\surge_02.anm", 10, false, "bind_stalker.anabiotic_callback") level.add_pp_effector("surge_fade.ppe", 11, false) give_info("anabiotic_in_process") _G.mus_vol = get_console():get_float("snd_volume_music") _G.amb_vol = get_console():get_float("snd_volume_eff") get_console():execute("snd_volume_music 0") get_console():execute("snd_volume_eff 0") end -- AtmosFear Booster Check if (s_obj) and (s_obj:section_name() == "drug_psy_blockade" or s_obj:section_name() == "drug_radioprotector" or s_obj:section_name() == "drug_antidot") then local boost_time = system_ini():r_float(s_obj:section_name(),"boost_time") xr_logic.pstor_store(db.actor,s_obj:section_name().."_expiration",atmosfear.CTimeAddSec(game.get_game_time(),boost_time*level.get_time_fa ctor())) end -- End AtmosFear Booster Check if postproces_mod then postproces_mod.use_obj(obj) end function use_conserva(obj) if not obj then return end local s_obj = alife():object(obj:id()) local act = db.actor if s_obj and s_obj:section_name() then if s_obj:section_name() == "conserva" then alife():create("conserva1", vector(), 0, 0, act:id()) elseif s_obj:section_name() == "conserva1" then alife():create("conserva2", vector(), 0, 0, act:id()) elseif s_obj:section_name() == "conserva2" then alife():create("conserva3", vector(), 0, 0, act:id()) elseif s_obj:section_name() == "conserva3" then alife():create("conserva4", vector(), 0, 0, act:id()) end end end
parlamenter007, Прежде, чем пытаться что-то сделать, очень тебе советую почитать мануалы, особенно про скрипты, например тут в первую очередь Начальные сведения о скриптах
Я тебе не зря посоветовала отдельный скрипт. Создай свой скрипт, напр. my_use_item.script и в него уже напиши приведенную мной функцию. А из коллбека вызывай уже так: Перед последним end вставь
Code
my_use_item.use_conserva(obj)
my_use_item - имя твоего скрипта use_conserva(obj) - функция, которую ты вызываешь
Как сделать свечение текстуры в темноте? Я слышал, что через фотошоп можно.
ADK TeaM ________________________________________________________ Наша команда испытывает дефицит новых идей. Нужна помощь! (Обращаться в ЛС) ________________________________________________________
подскажите пожалуйста как сделать функцию : чтоб допустим убил непися, подошёл к нему, нажал кнопку "F" и появилась окошко c действием (как на подобе в моде "ARS Mod 0.5.2" при обыске мутантов) и можно было к примеру обыскать труп или "отрезать ухо" P.S: ковырял, ковырял мод "ARS Mod 0.5.2" так и не нашёл, посему и спрашиваю у знатоков. и можно ли при загрузке локации сделать, что бы музыка играла?
Джам, Во-первых, не стоит заниматься кросспостингом, если тебе сразу не ответили это еще не значит, что не ответят вообще. Во-вторых, указывай для каких целей тебе нужен звук в игре, если в меню или там плеер какой, то вполне подойдет конвертер. Но, если ты хочешь добавить звук оружию, НПС, раадио на какую-нибудь базу, то тебе необходимо прогонять звуки через SDK, иначе они без соответствующих комментариев будут некорректно звучать в игре.
s-K-y-L-i-N-e, Какую анимацию? Уточни.
parlamenter007, Одной функцией тут не обойдешься. Как минимум тебе предстоит погружение в мир Lua, особенно оконные классы. С ARS Mod 0.5.2 не знакома, но подозреваю, что в bind_monster.script добавлен коллбэк юзанья и при юзании создается окно. С НПС дело обстоит иначе, открытие окна инвентаря НПС управляется движком. Но думаю, что можно отлавливать это окно и принудительно закрывать. И уже потом создавать свое окноно, с тем, что захочешь.
zed_1997, Не слышала, чтоб в фотошопе такое делалось. Вот прозрачность можно.
Ребят подскажите как сделать без SDK лагерь сталкеров на новой локации ,и если можно поподробнее или статью только в лс пишите ,а то я здесь найти не могу свой вопрос.
s-K-y-L-i-N-e, Ну, постпроцессы и анимации камеры перенести не трудно, они находятся в gamedata\anims. Но зачастую какие-либо новые эффекты вызываются из скриптов или логики (напр. эффект критического ранения) и тогда придется адаптировать скрипты/конфиги, все зависит от конкретного случая.
Все анимации используемые оружием прописываются в конфиге, в секции худа, в строках, начинающихся с anm_ (напр. anm_reload = ak74_reload, анимация перезарядки, здесь можно в принципе прописать любую анимацию от любого оружия Сами же оружейные анимации находятся в файлах .omf, при изменении анимаций может понадобиться добавление новых анимаций в файл .omf
В общем, для начала лучше определиться с конкретной задачей, а потом уже задавай конкретные вопросы Общие понятия можно расписывать долго, а в подробностях и того дольше.
Джам, если ты говоришь о текстуре перехода (метке на карте), слышал, что можно как-то заспавнить, цитирую:
Quote
КПК под текстурами
Как это сделать - не представляю, но вполне реализуемо.
Если ты говоришь о табличке, то это движковые правки, и единственная теоретическая возможность её реализовать - заспавнить у перехода рестриктор с необходимой логикой. Логика таковая: если ГГ в рестрикторе, выводим табличку, если жмём да, то срабатывает переход, если нет, ГГ откидывает до следующего захода в рестриктор. С логикой не помогу, разве что Ксенья подскажет
Ушёл с ресурса из-за занятости. Если что-то экстренное - пишите в ЛС: приду, посмотрю, отвечу. Полноправно вернуться в сообщество планирую после релиза второй части игры. ----------------------------------------------------------------- Всем удачи и не скучать.
sid - собственно сам story_id treasure - тип метки, в данном случае тайник. Берется из map_spots.xml (map_spots_16.xml). Text - всплывающий текст при наведении курсора.
Создаем скрипт, например scripts\new_script.script В него вставляем следующие функции:
-- Тут мы проверяем, получали ли мы раньше инфопоршень info_new_level -- И, если мы его не получали, то нам отмечается переход и выдается этот инфопоршень -- Нужно это для того, чтобы мы получали отметку только один раз.
Code
function level_changer() if not has_alife_info("info_new_level") then otmetit_perehod() db.actor:give_info_portion("info_new_level") end end
function otmetit_perehod() for i=1,65534 do local obj = alife():object(i) if obj then if obj:name() == "Название 1-го левел чэнджера" then level.map_add_object_spot_ser(obj.id,"level_changer_up","Подпись 1") elseif obj:name() == "Название 2-го левел чэнджера" then level.map_add_object_spot_ser(obj.id,"level_changer_up","Подпись 2") --elseif ..... end end end end
Название берётся из поля name level_changer'а в all.spawn; Подпись - например, "На Кордон". Далее, в bind_stalker.script после function actor_binder:update(delta) надо написать new_script.level_changer() и в файле info_portions.xml зарегистрировать наш инфопоршень, добавив строку
Code
<info_portion id="info_new_level"></info_portion>
Когда приводишь коды, то используй теги code, чтобы не терялось форматирование. И когда даешь готовое решение, то проверяй правильность кода, во второй функции у тебя не хватало end'a. Твой пост привела в более призентабельный вид, содержание не трогала. Callisto
А не слишком ли сложно? Добавляем зачем-то инфопорцию (кстати в ЗП их не обязательно регестрировать), плюс перебираем все игровые ID. На биндер актора вешаем лишнюю проверку, когда функцию можно вызывать один раз при загрузке локации или при старте игры. На мой взгляд проще сделат так:
Code
function otmetit_perehod() local sim = alife() if sim then obj = sim:story_object(id) if obj then level.map_add_object_spot(obj.id, "type", "name") end end end
Репутация: 2844
Регистрация: 08.11.2011
Город: Воронежская обл.
Попытался выдрать динамические аномалии из ARS мода, предположительно это скрипт отвечающий за их работу и спавн, так вот вопрос, этот скрипт слишком накрученный и я не могу добавить его в игру, можно его как то упростить что бы осталась только функция изменения местоположения аномалий после выброса, или там только эта функция и прописана? и как его активировать? через bind_stalker?