CRAZY_STALKER666 36 Опубликовано 15 Мая 2016 @Wlad777, каким образом? Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 16 Мая 2016 Небольшая задумочка про убор артов в начале игры обернулось круговертью... Значит придется ручками спавн чистить.. 1 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 25 Мая 2016 Есть конструкция проверки валидности версии игры, нужна для того, чтобы всякие умники не запускали мод на других версиях игры и не ловили вылеты с последующим бугуртом на форуме. Она работает прекрасно, но вот я задумал совсем немного её оптимизировать. Работает она в main_menu:InitControls(). Я задаю флаг local flag = 0 -- оптимизация кода Потом проверяю его равенство 0, выполняю свой код и выставляю его равным 1 для того, чтобы каждый раз при открытии меню не происходила проверка. Но она происходит. Значит флаг не сохраняеться. Как его сохранить? Через нет-пакет? P.S Изыскания про методы вызова прошу опустить... Потом всё будет переписываться, переноситься... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 25 Мая 2016 @Eugen81, проверка версии движка для своего мода... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 25 Мая 2016 @Zander_driver, она вызываеться при каждой отрисовке меню, и сохранение флага мне бы помогло. Но как это сделать - ума не приложу, недостаточно компетентен. Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 29 Мая 2016 Как отрисовать линию от точки A до точки B? Имееться ввиду линия в 3d пронстранстве, проекцируемая на наш 2d монитор. Не прибугая к средствам DirectX, используя сугубо LUA. Наверняка в движке подобные ф-ии заложенны. Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 9 Июня 2016 @Kober(BRUC), не изобретай велосипед... Вот готовый код, пользуйся . local tbl_dekoder_red={{position={x=70.637008666992,y=16.557912826538,z=18.104104995728},lv=253116,gv=371--position={x=44.793453216553,y=0.91162407398224,z=243.92503356934},--lv=218601,--gv=359},{position={x=-58.544227600098,y=23.022161483765,z=-102.28317260742},lv=158711,gv=296},{position={x=-66.466384887695,y=20.586454391479,z=111.6127166748},lv=107654,gv=336}}local a = tbl_dekoder_red[math.random(table.getn(tbl_dekoder_red))]function spawn()alife():create("af_cristall", vector():set(a.position.x,a.position.y,a.position.z), a.lv, a.gv) end Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 13 Июня 2016 Скажите у меня в скриптах есть скрипт dar_polter_grand_holder кто не знает это за полтергейстом бежит много мутантов типо парада. Как активировать этот скрипт чтобы этот парад был в тёмной долине? Знаешь, вот не знаем что ты там подразумеваешь под dar_polter_grand_holder. Откуда это, из какого мода? Что это за объект? Давай подробности в студию, ибо из того, что ты написал, понятно чуть меньше чем ничего... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 16 Июня 2016 @Kober(BRUC), ну как показывает мне опыт - заведи буфер, и пиши туда состояние true\false попутно его сохраняя, только вот куда сказать не могу - опыта мало( Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 16 Июня 2016 По поводу сообщения о смерти сталкеров... Вот для себя делал модифицированный вариант, с наворотами. В скрипте пояснения есть, всё довольно просто. Можно и дальше его переделывать, если есть фантазия . -- ======================== -- Сообщения о смерти сталкеров - модификация скрипта. Есть учет плохой радиосвязи в Зоне, и дополнительные сообщения сочувствия...-- Мишаня_Лютый & Weanchester & AntdiabloN 2011-2016-- Old Episodes. Epilogue-- =======================local level_name = {["l01_escape"] = "Кордон",["l02_garbage"] = "Свалка",["l03_agroprom"] = "НИИ Агропром",["l03u_agr_undergroun"] = "Подземелье НИИ Агропром",["l04_darkvalley"] = "Тёмная долина",["l04u_labx18"] = "Лаборатория X-18",["l05_bar"] = "Бар",["l06_rostok"] = "Дикая территория",["l07_military"] = "Арм.склады",["l08_yantar"] = "Янтарь",["l08u_brainlab"] = "Лаборатория X-16",["l10u_bunker"] = "Лаборатория X-10",["l10_radar"] = "Радар",["l11_pripyat"] = "Припять",["l12_stancia"] = "ЧАЭС",["l12_stancia_2"] = "ЧАЭС",["l12u_sarcofag"] = "Саркофаг",["l12u_control_monolith"] = "Управление Монолитом"}local community = {["stalker"] = "Сталкер",["monolith"] = "Монолит",["military"] = "Военные",["bandit"] = "Бандит",["killer"] = "Наемник",["ecolog"] = "Эколог",["dolg"] = "Долг",["freedom"] = "Свобода",["zombied"] = "Зомбированный",["actor_dolg"] = "Неизвестно",["actor_freedom"] = "Неизвестно",["arena_enemy"] = "Фарш",["tushkano"] = "Неизвестно",["trader"] = "Торговец"}-- Таблица бонусных сообщенийlocal bonus = {"Жаль человека...","Эхх.. Хороший был парень","Ну а что поделать.."}function kill_npc(victim, who)local view_location = math.random(1,2) -- коэффициент замусоренности радиоэфира. При 1 видим локацию "смертника", 2-не видимlocal message_time = math.random(20,40) -- время задержки СМСlocal bonus=bonus[math.random(table.getn(bonus))]if victim and IsStalker(victim) thenlocal news = "Имя: "..victim:character_name().."\\nГруппировка : "..community[victim:character_community()].."\\nЛокация: "..level_name[level.name()].."\\n"..bonus..""local news_2 = "Имя: "..victim:character_name().."\\nГруппировка : "..community[victim:character_community()].."\\nЛокация: ???\\n"..bonus..""if view_location == 1 thennews_manager.send_tip(db.actor, news, message_time, nil, nil, 20000) -- отладкаnews_manager.send_tip(db.actor, " loction "..view_location.." time "..message_time.." ", 1, nil, nil, 20000)return 0endif view_location == 2 thennews_manager.send_tip(db.actor, news_2, message_time, nil, nil, 20000) -- отладкаnews_manager.send_tip(db.actor, " loction "..view_location.." time "..message_time.." ", 1, nil, nil, 20000)return 0endendend 1 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 17 Июня 2016 if db.actor:object("bread") then k_bandits = true elseif db.actor:object("conserva") then на кардоне 1 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 18 Июня 2016 @PTB, amk.g_start_timer("random_art",0,0,5) 5 - время срабатывания 1 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 19 Июня 2016 Ребят, нужна консультация. Использую расширение для "ума" НПЦ от xStream (xrs_ai ну думаю знакомо всем) Так вот, нужно отключить такую фишку - НПЦ перетаскивают трупы подальше от костров. В скриптах ничего похожего не нашел, ну понятное дело плохо искал, но беда в том что это не отдельная схема. Кто знает - отпишитесь... можно ли перечисллять части тела , через запятую? Или хит только по одной косточке? Кость - параметр для hit(). Так что нельзя, только по одной. 1 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 20 Июня 2016 (изменено) Отслеживаю наличие пушки в слоте 2(автоматы) Скрипт вот такой, работает через bind_stalker.update() Ну как работает, проблема в том что СМС о том что пушка в слоте - не выдаеться... Где я не доглядел? Сам скрипт: local active_slot=db.actor:active_slot()local active_item=db.actor:active_item()local rifle_in_slot=db.actor:item_in_slot(2)local rifle_containfunction check_barret()if rifle_in_slot~=nil and rifle_contain==rifle_in_slot:section() and actor:object("wpn_vintorez") thendb.actor:give_info_portion("barret_on")news_manager.send_tip(db.actor, "%c[25,240,25,25]wpn_vintorez ON", nil, nil, 20000)elsedb.actor:disable_info_portion("barret_on")news_manager.send_tip(db.actor, "%c[25,240,25,25]wpn_vintorez OFF", nil, nil, 20000)endend UPD1. Переписал скрипт - толку 0. Где я ошибся?) local tbl_wpn = {["wpn_vintorez"] = true}function check_barret()if rifle_in_slot and tbl_wpn[rifle_in_slot:section()] thendb.actor:give_info_portion("barret_on")news_manager.send_tip(db.actor, "%c[25,240,25,25]wpn_vintorez ON", nil, nil, 20000)elsedb.actor:disable_info_portion("barret_on")news_manager.send_tip(db.actor, "%c[25,240,25,25]wpn_vintorez OFF", nil, nil, 20000)endend Изменено 20 Июня 2016 пользователем CRAZY_STALKER666 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 20 Июня 2016 @Zander_driver, ну, это и так понятно... У меня были вопросы только к теме неработоспособности скрипта Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 20 Июня 2016 @Nazgool, ммм да. Я прекрасно понял, что мне тут сказали. Готовый вариант действительно работает, за что отдельное спасибо я уже сказал... Теперь вопрос новый - по какой причине диалоги у всех НПЦ могут так сказать зависнуть - т.е нажимаешь допустим "до встречи" но просто ничего не происходит. И так со всеми. Кнопка Торговать работает... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 20 Июня 2016 (изменено) @Zander_driver, не поверишь. Стоило выключить вот это - всё заработало... function check_barret()local rifle_in_slot=db.actor:item_in_slot(2)if rifle_in_slot and rifle_in_slot:section() == "wpn_vintorez" thendb.actor:give_info_portion("barret_on")news_manager.send_tip(db.actor, "%c[25,240,25,25]wpn_vintorez ON", nil, nil, 20000)elsedb.actor:disable_info_portion("barret_on")news_manager.send_tip(db.actor, "%c[25,240,25,25]wpn_vintorez OFF", nil, nil, 20000)endend И каким образом она на диалоги влияет? Втулкер такой втулкер... Попробую доп условию поставить, а то постоянный апдейт только ресурсы ест... Изменено 20 Июня 2016 пользователем CRAZY_STALKER666 1 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 20 Июня 2016 Очень интересно... Поставил функцию на условия ( по инфопоршням) чуть побегал по локации - включил её, а диалоги работают... Чудеса. Ну благо общими стараниями я почти закончил этот сложный квест. Всем спасибо за терпение и понимание! Я поддержку действительно очень ценю, куда без вас дедов модостроя я бы делся... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 23 Июня 2016 Такой вопрос - пользуюсь функцией телепортации ( на свалке ) но вот что интересно - какие бы координаты не вписал, всё равно телепортирует в ОДНУ точку, координаты которой видимо из воздуха беруться... Хоть так делай - function faza_func() local a = vector(277.31616210938,-8.4802932739258,-130.72814941406)level.add_pp_effector ("teleport.ppe", 2009, false)db.actor:set_actor_position(a)end Хоть так - function faza_func()local a = vector(0,0,0)level.add_pp_effector ("teleport.ppe", 2009, false)db.actor:set_actor_position(a)end Где я ошибся? На других локациях все прекрасно работает... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 23 Июня 2016 (изменено) Спавню НПЦ вот так local obj=alife():create("gar_nano",db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id())local params=netpack_write.read_stalker_params(obj)params.custom="[logic]\ncfg = scripts\\ep\\gar\\gar_nano.ltx"params.sid=30198netpack_write.write_stalker_params(params,obj) Потом пытаюсь удалить(через диалог с другим НПЦ) function del()local sim = alife()local se_obj = sim:story_object(30198)if se_obj thensim:release(se_obj, true)endend Но ничего не происходит... Где я ошибаюсь? P.S Выводил при спавне SID - через новости на ПДА - всё хорошо. При удалении поставил брейкпойнтый вот так local sim = alife()local se_obj = alife():story_object(30198)news_manager.send_tip(db.actor, "stage 1", 0, "default", 10000)if se_obj thennews_manager.send_tip(db.actor, "stage 2", 0, "default", 10000)sim:release(se_obj, true)end Доходит лишь до первого... Изменено 23 Июня 2016 пользователем CRAZY_STALKER666 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение