Вызвал свое скриптовое окно из диалога - все работает.А вызвать из ме**500340b7e12bf63c3891** if dik == DIK_keys.DIK_M then
self:OnButton_uiTest()
end[/code]
в ui_main_menu.script:
[code]function main_menu:OnButton_uiTest()
level.start_stop_menu(wnd_script.ui_test(), true)
end[/code]
Что может быть не так?Ведь спавнер моды тоже из меню запускаются.
Мее непонятно от куда берется в функции это spawn_dlg
Вот отсюда и берется: ui_spawn_dialog.spawn_dialog() - имя файла. имя класса() - в итоге имеем сссылку на объект класса скриптового окна записанную в переменную self.spawn_dlg.
И уже с ней можно оперировать.
А ты кстати откуда взял метод function main_menu: OnButton_uiTest() ? Если он не прописан в каллбеках (InitCallBacks() ) и нет кнопки для него - то конечно вылет получишь.
---------------------------------
У меня в function main_menu:OnKeyboard(dik, keyboard_action) --virtual function
этого метода нет.
отредактировал(а) erlik: 06-11-2010 13:03 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Народ, будьте добры код функции проверки на ранг гг, я задавал этот вопрос, но забыл, искать свой старый пост среди 100 страниц было бы очень глупо :-G
Новый проект в разработке, ищи в моём журнале.
В теории - всё легко, а вот на деле - гораздо сложнее.
Люди, прочитал много туторов по логике НПСов но ни хрена не понял. Я создалнового перса, ему присваивается, насколько язнаю, дефолтоваялогика, т.е. хожу туда, не знаю куда. Так вот, я бы хотел чтобы этот перс столял/сидел на одном месте и по возможности был бессмертным, подскажите что, куда и как писать, пожалуйста.
Очень обидно, когда у тебя Stayr Aug A2 и Нано-костюм, а какой-то драный бандит снял тебя с ПМ в голову!!!
Шалун я не могу там прочитать, пишет ошибка на странице, да и ещё, я заспавнил перса через скрипт и мне надо чтобы он стоял на месте, как это сделать, напиши в ПМ если не сложно....
Очень обидно, когда у тебя Stayr Aug A2 и Нано-костюм, а какой-то драный бандит снял тебя с ПМ в голову!!!
ну так получается что чтобы добавить логику нужно после строки object_flags написать:
custom_data = <
полсе этого пишешь логику, а когда с логикой закончишь пишешь END
Shadow X мод этот можно сделать самому.
открой файл config\misc\trade_trader
там будут надписи:
[trader]
buy_condition = trader_generic_buy
sell_condition = {+esc_kill_bandits_quest_done} trader_after_fabric_sell, trader_start_sell
buy_supplies = {+esc_kill_bandits_quest_done} supplies_after_fabric, supplies_start
;Оружие
wpn_groza_m1 = 1, 0.1
Ну и т.д Так вот, supplies_start - то что продается в начале игры.
в строке wpn_groza_m1 = 1, 0.1 еденица означает количество, а 0.1 - вероятнсть, она равна в данном случае 10%
добавляем новою пушку (можно ту да же еду - без разницы.)
значит после wpn_groza_m1 пишешь еще wpn_fn2000, вот пример.
Добрый вечер. Т.к тут новичок на форуме... То скажите пожалуйста, есть ли тут мод который даёт возможность торговцам с самого начала продавать всё оружие и патроны?
И ещё будет ли данная модификация работать с модом S.T.A.L.K.E.R. Complete 2009?
Struck
Вариант первый - забиндить итем. А в его биндере в методе update (например - это чтобы проверка была постоянной - или с нужными тебе паузами) пишешь код, который будет перебирать в цикле все(или только в онлайне) аномалии в игре(идентифицируя их по классу например) и сравнивать дистанцию(получая разумеется позиции обоих объектов - аномалии и итема) между итемом и каждой аномалией. Если дистанция меньше определенной - за эталон можно взять средний радиус аномалии(либо - что уже сложнее, получая объект каждой аномалии , тут же получать ее радиус из конфига) - то предмет находиться в аномалии, после чего ставим флажок или что там требуется.
Другой вариант (если предмет уникальный - то можно и без биндера обойтись) - просто на апдейте проверять дистанцию до каждой аномалии.
А чтобы не перебирать в игре постоянно 65 тысяч объектов можно при старте игры сразу занести все аномалии(это конечно имеет смысл если они не динамические) в отдельную таблицу(перебрав за один раз 65 тысяч объектов - так как это будет при загрузке игры, то лагов заметно не будет) и перебирать потом уже только ее.
Код первого варианта можешь найти на сайте АМК -недавний пост Gonаrha(вроде в ковырялке) - его код определяет попадание болтов в рестрикторы.
добавлено спустя 4 минут
Вполне возможно, что все будет несколько затратно по ресурсам.
Впрочем, в своей разработке для самоподрыва мин-растяжек я использовал тот же вариант с проверкой дистанции от каждой установленной мины до каждого NPC в онлайне - каких либо лагов от этого не заметил даже на своем слабом компе.
отредактировал(а) erlik: 06-11-2010 22:18 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik спасибо, только как все аномалии перебрать(онлайновые допустим)?...у аномалий есть клсиды? Если есть то тогда ясно.(если есть то где можно их посмотреть:-))
Struck
clsid'ы есть - в lua хелпе указаны - в C++ class clsid {}.
А в АМК моде есть функция IsAnomaly(obj) к**500140b7e12bf63c3891**0) then
return true
else
end
end
return false
end[/code]
для проверки статуса онлайн\оффлайн можно использовать свойство online серверных объектов.
пример:
local status = alife():object(айди).online -- вернет true если объект в онлайне или false если в оффлайне.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
скажите почему у меня нпс не реагируют на ружье обрез все прописано но как оно попадает в руки то выстрел одной обоймы и все, что не так
Horrible area modВидео в журнале
--------------------------------------------------------------------
Важнейшая задача цивилизации - научить человека мыслить
Struck
Было бы конечно проще, если бы аномалии заносились в storage :-). Но их там насколько я помню нет. Как и артефактов. Там NPC, монстры - в общем объекты с логикой.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
Поправлю: в db.storage попадают не только объекты с логикой (можно вспомнить коммент разрабов "Прожектор нужно биндить даже без logic"). Но по сути вопроса ты прав. Это только в ЗП разрабы стали да и то в отдельный массив 'db' заносить аномалии.
А использовать прямые числовые значения class_id вместо взятия из таблицы - чревато мадам 'не от АМК'. Числовые значения изменяются в зависимости от ввода/изъятия в игру новых классов объектов ... и применение условия 'if (otype>172 and otype<180) then' может сыграть плохую службу модмейкеру.
Состояние же se_obj.online у аномалий постоянное для текущей локации, независимо включена она иль отключена.
Да что ты мне рассказываешь?
Открой way_l05_bar.ltx и поищи там bar_barman_hole_walk и look.
А может подъехать и показать? Я километрах в 20 от Киева =).
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.