Desertir 202 Опубликовано 16 Апреля 2011 (изменено) Здрасте. Сразу скажу, в спауне я ничего не представляю, интересна возможность реализации. Итак, как я понимаю в all.spawn задаются пути, по которым двигаются все живые объекты. А как на счет неживых? Возможно ли, допустим, задать 2 точки, а по ним пустить артефакт, чтобы он двигался туда-сюда. Вообще вопрос такой: возможно ли заставить специально двигаться артефакт? Т.е. не как из рюкзака выбросили, и он укатился, а своими "силами". Поэтому и вспомнил пути, ну как вариант, хотя они накладывают жеские ограничения. Изменено 16 Апреля 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 12 Мая 2011 STARTS, ну это просто логика, а вот если все сделать точно. Как отследить хит, который попал в ГГ? Из этого плясать можно. Допустим прилетело в ГГ что-нибудь, не важно что, пуля, бочка, граната на хит эдак 0.5 (половину здоровья сняло) Но тут вопрос, сколько эти пластины защищают от конкретного вида повреждения. Т.е. надо будет рассчитать сколько пойдет на самого ГГ, сколько на костюм, а сколько на пластины (желательно тоже следуя здравой логике). Можно также считать состояние пластин и устанавливать тоже в соответствии с хитом (запоминая старое состояние) - с точки скриптов, возможно этот вариант правильнее, хотя это только мои домыслы. В общем идею подкинул, думайте камрады ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 19 Мая 2011 Такой вопрос, а как работает функция start_stop_menu класса CDialogHolder, т.е. прошу объяснить ее точное назначение. Как я понимаю она нужна для закрытия и открытия окон, но по конкретней пожалуйста. Да и вообще класс CDialogHolder для чего он нужен, для чего используется. К сожалению в Справочнике по функциям и классам его описания нет. ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 31 Мая 2011 Disord, поможет, если увеличить файл подкачки? ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 3 Июня 2011 (изменено) ZeeK, для условия тоже нужен end. В этом и была синтаксическая ошибка. Т.е. нужен еще один "конец" в функции start_nn_mod() function start_nn_mod() if db.actor:dont_has_info("start_nn_mod") then alife():create("zat_b30_owl_stalker_trader",vector():set(-320.413361,19.349314,616.026245), 308687, 212) db.actor:give_info_portion("start_nn_mod") end --вот еще один, всего делов :) end Вариант от iDreD безусловно будет работать. Изменено 3 Июня 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 12 Июля 2011 Если актор берет какой либо предмет из трупа, проверку на взятие нужно писать в bind_stalker в функцию on_item_take(obj)? Ответ можно в личку. ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 15 Июля 2011 (изменено) TRAMP14, кнопка для каких целей и на какой худ? А и на какую игру (ТЧ\ЗП)? Изменено 15 Июля 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 17 Июля 2011 (изменено) self:Register(xml:Init3tButton("button_start", self.back),"button_start") self:Register(xml:Init3tButton("button_stop", self.back),"button_stop") self:Register(xml:Init3tButton("button_left", self.back),"button_left") self:Register(xml:Init3tButton("button_quit", self.back),"button_quit") self:Register(xml:Init3tButton("button_right", self.back),"button_right") Не self.back а просто self. Зачем ты вообще передаешь фон? Изменено 17 Июля 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 20 Июля 2011 (изменено) Если что-то не так напишу, не пинайте STARTS, а что если а округлить до целых а, а потом прибавлять 0.1 или он даже с целым а такое делает? a = math.floor(a) + 0.1 В данном случе будет округлять до ближайшего меньшего целого числа (было 10.999 станет 10) Изменено 20 Июля 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 21 Июля 2011 (изменено) Вопрос, как можно приостановить скрипт или запустить его через какое-то время? Вообще цель приостановить открытие инвентаря, при этом игра должна естественно продолжаться, но даже если это удастся, отслеживается это получением инфопоршня, а он вручается ГГ чуть позже, чем открывается окно инвентаря. Выходит проскок окна (появляется и сразу исчезает). В солянке такое было (типа замок сломался и не открывается рюкзак). Так вот иногда после загрузки игры можно было успеть даже что то выложить или съесть, т.е. очень поздняя выдача инфопоршня была. Больше никак открытие инвентаря не отследить ? PS: ТЧ. Изменено 21 Июля 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 21 Июля 2011 (изменено) [error]Arguments : LUA error: ...s\s.t.a.l.k.e.r\gamedata\scripts\xr_motivator.script:162: attempt to index global 'news_of_npc_kill' (a nil value) Синтаксическая ошибка в новом скрипте. А вот и она: ["l12u_control_monolith"] = "Управление Монолитом" ["predbannik"] = "predbannik" Запятую в студию Вот так ["l12u_control_monolith"] = "Управление Монолитом", --вот сюда ["predbannik"] = "predbannik" PS: я эту локу не качал, папка с ней точно predbannik называется? Кстати, выведет по-английски (ты сам так написал). Сделай так ["predbannik"] = "Предбанник" Изменено 21 Июля 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 7 Августа 2011 weas, слово "респавн" применимо только для мультиплеера (в некоторых играх и для сингла, но не для сталкера). Если ты имеешь ввиду точку спавна в начале игры, это нужно разбирать all.spawn и менять координаты, что есть на вики. Это получается, что оно в движок что ле в ранговую систему прописано? Вроде недавно кто то писал тут на форуме, что да ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 18 Августа 2011 (изменено) Если непись не на АИ сетке сразу, то будет вылет, и никуда он не убежит - не успеет. Так что если там АИ сетки нету придется лезть в СДК и делать ее там, потом Make AI-map и xr-компиляторы (кроме детальных объектов, вроде не надо). Не с целью вставить пять копеек, а с целью довести информацию... Во время моих эксперементов с логикой над Волком, я спавнил его в начале игры в домике, что стоит у него за спиной в чистом варианте игры, АИ сетки там нет, можете проверить, и знаете - вылета не было, он в "ливитирующем" состоянии передвигался, насколько я понял, к ближайшей точки АИ сетки (под ливитацией я имею ввиду скольжение модели без анимации движения, просто стоя). ColR_iT Изменено 18 Августа 2011 пользователем ColR_iT ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 27 Августа 2011 strelok200, смотря что ты хочешь сделать. Один из вариантов (возможно не самый удачный) - проверять на не наличие инфопоршня, после выполнения скрипта выдать этот поршень. После этого условие не выполниться и скрипт не пойдет. ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 28 Августа 2011 (изменено) Не подскажете назначение функций в скрипте xr_logic.script function pstor_store(obj, varname, val) local npc_id = obj:id() --ид объекта if db.storage[npc_id].pstor == nil then --что за пстор ? db.storage[npc_id].pstor = {} end local tv = type(val) -- что за type ? if not pstor_is_registered_type(tv) then abort("xr_logic: pstor_store: not registered type '%s' encountered", tv) --выброс игры? end db.storage[npc_id].pstor[varname] = val end function pstor_retrieve(obj, varname, defval) local npc_id = obj:id() if db.storage[npc_id].pstor ~= nil then local val = db.storage[npc_id].pstor[varname] if val ~= nil then return val end end if defval ~= nil then return defval end return nil --' abort("xr_logic: pstor_retrieve: variable '%s' does not exist", varname) end Ну и что за переменные они принимают. Изменено 28 Августа 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 4 Сентября 2011 Как можно узнать класс возвращаемого функцией объекта? Допустим функция get_console() вернет объект класса CConsole, но как узнать что именно CConsole, а не какой нибудь еще? ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 17 Октября 2011 но так он подаёт сигнал не только, когда съедаем, но и когда выбрасываем. Либо сделать колбек на потерю предмета Начнем с того, что каллбек на дроп объекта уже есть. А вот "проверять, существует ли предмет, который потерян" вообще интересен, особенно для хлеба... В общем открываем бинд_сталкер.скрипт В функции function actor_binder:reinit() пишем по аналогии инициализацию каллбека self.object:set_callback(callback.use_object, self.use_object, self) Вне всяких функций пишем function actor_binder:use_object(obj,who) if obj:section() == "bread" then get_console():execute("Use_detected") --тут просто вывод в лог, что использование прошло, строку удалить end end Ну и вот после then пишем то, что нужно нам сделать. Для полного счастья можно еще прописать в function actor_binder:net_destroy() это self.object:set_callback(callback.use_object, nil) Это вроде как удаление каллбека при выходе из игры. ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 31 Октября 2011 (изменено) И ещё вопрос в дополнение к предыдущему. Где настраиваются координаты, куда телепортируется игрок при отказе от перехода на другую локацию? Если я прав, то в all.spawn где пути (точка и направление). На какой путь телепортировать прописывается в секции левел чейнджера тоже в all.spawn. dragunof, получить серверный объект ремкомплекта и, собственно, удалить alife():release(sobj,true) Где sobj серверный объект. Изменено 31 Октября 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 1 Ноября 2011 (изменено) Подскажите грамотную проверку на то, что все элементы массива - числа. Есть такой вариант: local a = 0 local count = #tbl for k=1,count do if type(tbl[k]) == "number" then a = a + 1 if a == count then --action end end end Изменено 1 Ноября 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение
Desertir 202 Опубликовано 1 Ноября 2011 (изменено) Черт, зациклился я на for. Про другие циклы даже не вспомнил... Может тогда и для других основных значений и немного по-другому. function is_val_tbl(t,val) local i = #t while type(t[i]) == val do i = i - 1 end return i == 0 end Кстати, что будет, если допустим у нас есть клиентский объект - obj (колбаса например) и сделать вот так: local tp = type(obj) Чему в этом случае будет равно tp? Подобным вопросам самое уместное место в топике: "Язык Lua. Общие вопросы программирования." --/ Artos Хорошо, давайте продолжим в том топике. Изменено 1 Ноября 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Поделиться этим сообщением Ссылка на сообщение