Darkscape 0 Опубликовано 13 Октября 2011 1. Как через all.spawn заспавнить объект, а потом скриптом/инфопоршном его удалить? 2. Как вместо ПДА вызывать скрипт? Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 13 Октября 2011 1. Нет, как спавнить я знаю, мне надо его удалить. Инфопоршнем, я не так выразился, при наличии инфопоршня. Можешь поподробней про "reliase"? 2. т.е при вызове ПДА (кнопкой P например) сам ПДА не открывать, а запускать скрипт Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 13 Октября 2011 amik, спасибо Charsi, а как "отловить активное окно"? Artos, если я собираюсь это делать, значит понимаю что да как. А про reliase я и правда впервые слышу, хотя прочитал, наверно, 80% вики по сталкеру Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 14 Октября 2011 Так как закрыть ПДА при вызове? Проверяем на инфопоршень "ui_pda", а дальше? Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 15 Октября 2011 RvP, спасибо. Как узнать скриптово расстояние до цели, которое под прицелом выводится? Пробовал level.get_target_dist(), но с ним вылетает и пишет attempt to call field 'get_target_dist' (a nil value) Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 15 Октября 2011 Darkscape, тебе нужно заменить xrGame.dll на r15 и выше.Это на ТЧ идет? X-Ray Extension вроде на ЗП Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 3 Ноября 2011 (изменено) Вот кусок скрипта на ТЧ: if db.actor.radiation>0.3 then if db.actor:object("bread") then del_item(db.actor:object("bread")) spawn_item("bread_rad") elseif db.actor:object("kolbasa") then del_item(db.actor:object("kolbasa")) spawn_item("kolbasa_rad") elseif db.actor:object("chocolate") then del_item(db.actor:object("chocolate")) spawn_item("chocolate_rad") end end При входе в радиацию у актера удаляется еда и добавляется новая, радиоактивная, но игра ругается на этот код. Вот функции: function spawn_item(item) alife():create(spawn_item, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function del_item(item) local obj = alife():object(item:id()) alife():release(obj, true) end Где ошибка? Изменено 3 Ноября 2011 пользователем Artos Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 3 Ноября 2011 Да, перепутал, но вылет остался Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 3 Ноября 2011 (изменено) лог [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: d:\games\С.Т.А.Л.К.Е.Р\gamedata\scripts\bind_stalker.script:235: attempt to index global 'inventory' (a nil value) inventory - это скрипт Изменено 3 Ноября 2011 пользователем Artos Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 3 Ноября 2011 Вылет (если я прав) указывает на то, что в скрипте inventory есть синтаксическая ошибка.Это я понял, но вот где она. В бинд-сталкер просто поставил апдейт этой функции Добавлено через 4 мин.: Все, проблема решена, спасибо Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 3 Ноября 2011 (изменено) Zander_driver, спасибо за совет, переписал скрипт, получилось: local items1 = {"bread", "kolbasa", "chocolate"} function rad_food() if db.actor.radiation>0.3 then for i=1,table.getn(items1) do db.actor:iterate_inventory(function (dummy,item) if item:section()==items1[i] then dsm.del_item(item) dsm.spawn_item(tostring(items1[i].."_rad")) end end, nil) end end end Все работает, вроде правильно написал 1. Используем спойлеры ... 2. Перед написанием вопросов проверяем коды чекерами (см. в топике по инструментарию) --/ Artos Изменено 3 Ноября 2011 пользователем Artos Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 5 Ноября 2011 По ТЧ: 1. Как скриптово сделать монстра и непися друзьями? 2. Можно ли реализовать в ТЧ сценку из ЗП, где военный стреляет по сторонам, атакованный контролером? Поделиться этим сообщением Ссылка на сообщение
Darkscape 0 Опубликовано 5 Ноября 2011 Ulman, в 343 строчке скрипта arc_ui_container_menu.script сравнение числа с nil Поделиться этим сообщением Ссылка на сообщение