Charsi 440 Опубликовано 27 Июля 2010 (изменено) Stalk15,попробуй if ranks.get_obj_rank_name(db.actor)=="novice" then ... Проверку коммьюнити нпс, с которым разговариваешь, можно попробовать повесить на выдачу инфопорции ui_talk. Выдается при открытии диалогового окна. Биндер актора зависает? А если попробовать инициализацию звуковых объектов по функциям распихать. local tbl={путь1,путь2,путь3,..,путь8} function lyayawwe() local j=math.random(1,4) local snd_obj = xr_sound.get_safe_sound_object(tbl[j]) snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d) --или одной строкой --xr_sound.get_safe_sound_object(tbl[math.random(1,4)]):play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d) end function lyayawwewew() local j=math.random(5,8) local snd_obj = xr_sound.get_safe_sound_object(tbl[j]) snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d) end Изменено 27 Июля 2010 пользователем Charsi Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 29 Июля 2010 Влад,правильно так: function func_name() db.actor:iterate_inventory(del_obj, nil) end function del_obj(dummy,item) if item:section() == "ammo_7.62x54_ap" then alife():release(alife():object(item:id()), true) end end Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 18 Августа 2010 Tonny,перебираешь серверные объекты. Если объект существует и является оружием и его parent_id равно id твоего npc,то значит у этого npc имеется оружие. 4.Так. 5.Обычно клиентские объекты перебирают так - for k,v in pairs(db.storage) do... Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 23 Августа 2010 Massaraksh, включи логику.Если при подборе item2 превратить его в item1, то при потере item1 нельзя будет выкинуть item2,ибо этот самый item2 уже не будет существовать. ALEX BOY, local aitem = db.actor:active_item() if (aitem and aitem:section() == "секция_сигареты") then db.actor.power = -0.0009 --/Постепенное именьшение выносливости db.actor.psy_health = 0.0007 --/Постепенное прибавление пси-защиты end Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 24 Августа 2010 (изменено) _Призрак_, и ещё нужно parent_id потерянного объекта проверять.Если 65535 или nil,то значит выкинули и новый предмет нужно спавнить под ноги ГГ.Иначе переложили и спавнить нужно в туда,куда переложили. На получение Абакана нужно подвешивать спавн в инвентарь АК74.А на получение АК74 - удаление из инвентаря Абакана.Иначе биндер не успеет отработать и зависнет. Изменено 24 Августа 2010 пользователем Charsi Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 24 Октября 2010 Хантер, напиши машине такую логику: [logic] active = ph_car [ph_car] usable ={=actor_has_item(niva_keys)} Здесь niva_keys - секция ключей от машины. Без ключей в машину с такой логикой не сядешь. А можно ещё сделать так, чтобы в машину можно было сесть, но без ключей нельзя завести двигатель. Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 21 Января 2011 плавное появление кастом статика Можно на апдейте менять непрозрачность статика.Так у Руси в "Новой радиации" угасание индикаторов сделано. Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 3 Мая 2011 Disord, предмет из слота скидывается так: function drop_item_to_inventory(number) local actor=db.actor local item = actor:item_in_slot(number) if item then actor:drop_item(item) local sobj=alife():create(item:section(),actor:position(),actor:level_vertex_id(),actor:game_vertex_id(),0) actor:transfer_item(item,actor) alife():release(sobj,true) end end Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 12 Июня 2011 При убранном оружии db.actor:active_slot() выдает 4294967296. Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 23 Июня 2011 speczadanie, напиши function ms:btn_1() self:GetButton("btn_1"):Show(false) end Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 20 Июля 2011 STARTS,напиши self.caption:SetText( string.format("%.1f FM",fm) ) Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 16 Августа 2011 Удалить и не получится,т.к. у болта нет серверной части.Но можно выкинуть и телепортировать,чтобы под ногами не валялся. local bolt=db.actor:object("bolt") if bolt then db.actor:drop_item_and_teleport(bolt,vector():set(0,0,0)) end Но если сделать сохранение,когда в инвентаре нет объекта на классе болта,то такое сохранение потом не загрузится. Чтобы этого избежать, прежде чем болт выкидывать, нужно другой болт заспавнить в инвентарь. Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 25 Августа 2011 speczadanie Как можно округлить число до сотен? Например так - вычисляем сотни и к ним прибавляем ещё 100, если остаток не меньше 50, иначе 0. local z=632.565 z=math.floor(z/100)*100 + (math.fmod(z,100)>=50 and 100 or 0) -- теперь z=600 z=2799 z=math.floor(z/100)*100 + (math.fmod(z,100)>=50 and 100 or 0) -- теперь z=2800 Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 1 Октября 2011 PavelSnork,для удержания уровня здоровья на уровне 0.8 напиши if uslovie then db.actor.health = 0.8 - db.actor.health end Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 13 Октября 2011 Darkscape,можно обойтись и без кейлоггера.При открытии ПДА будет выдан инфопоршень "ui_pda".При его получении нужно отловить активное окно и закрыть его.При закрытии окна ПДА будет выдан инфопоршень "ui_pda_hide".B уже при его получении запускай свой скрипт.Это у меня на ТЧ работает,в ЧН/ЗП не проверял. Scarabay,чтобы "отключить" - болт и бинокль удали из инвентаря. Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 21 Октября 2011 SkyLoader, вот пример для кнопки активации ПДА. Я дописал в файл со строковыми индентификаторами <string id="action_activate_pda"> <text>$$ACTION_ACTIVE_JOBS$$</text> </string> Теперь функция game.translate_string("action_activate_pda") будет выдавать кнопку, забинденную на открытие ПДА. В отличие от парсинга user.ltx такой способ работает и после перезабиндивания кнопки в игре. Аналогично можно сделать и для остальных экшенов. Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 5 Ноября 2011 strelok200, ты на него метку поставил? local obj = alife():create("mutantul",vector():set(-66.405685424805,20.100961685181,78.71656036377),1001885,4386) amk.add_spot_on_map(obj.id,"green_location","Mutantul") Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 24 Июня 2012 Вампир35, чтобы заработало, напиши \\n Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 21 Июля 2012 (изменено) AutoGnom, для поворота текстуры статика его необходимо создавать, используя InitStatic. В конфиге статика указать параметр heading="1". Поворачивается статик с помощью метода SetHeading. Всё это было описано много раз.Не ленись использовать поиск. Изменено 21 Июля 2012 пользователем Charsi Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение
Charsi 440 Опубликовано 1 Августа 2012 boryan67, удалять надо серверный объект, а не что под руку попало. if obj then local sobj = alife():object(obj:id()) if sobj then alife():release(sobj,true) end end Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Поделиться этим сообщением Ссылка на сообщение