Сталкер-Стрелок 12 Опубликовано 14 Марта 2015 (изменено) , а можешь сказать на практике зачем это нужно? Я никак не пойму где подобное может понадобится. Вместо method(obj) писать obj:method()? Явно же не для подобного. Изменено 14 Марта 2015 пользователем Сталкер-Стрелок Поделиться этим сообщением Ссылка на сообщение
Сталкер-Стрелок 12 Опубликовано 18 Марта 2015 (изменено) @Михаил Мега черьв, тут система ивентов-сигналов, если не хочешь использовать ее - читай тутор, если с ней, то смотри как интятся скрипты и подключай свой, на мотив:event('item_use'):register(func) и далее function func(e) -- action end где е - вышеуказанная тобою таблица. Изменено 18 Марта 2015 пользователем Сталкер-Стрелок Поделиться этим сообщением Ссылка на сообщение
Сталкер-Стрелок 12 Опубликовано 9 Апреля 2015 @UnLoaded, возможно вот так: local u_quit, b_quit = "unbind quit", "bind quit kESCAPE" get_console():execute(u_quit) ... get_console():execute(b_quit) Правда зачем тебе сохранять условные константы мне не ясно. Поделиться этим сообщением Ссылка на сообщение
Сталкер-Стрелок 12 Опубликовано 9 Апреля 2015 (изменено) @abramcumner, ну их тогда и указывать, или я чего не понял? В любом случае они же должны в каком-то массиве хранится. Изменено 9 Апреля 2015 пользователем Сталкер-Стрелок Поделиться этим сообщением Ссылка на сообщение
Сталкер-Стрелок 12 Опубликовано 9 Апреля 2015 @abramcumner, она разве не из $game_config$ грузит? Т.е. я имею ввиду использовать getFS() (но он не читает такие файлы). Еще есть класс COptionsManager, через который это можно сделать, в целом он с этим и работает на самом деле. Так ведь структура не ltx-кая, навряд-ли прочтет что-то. Можно распарсить в массив ключ значение. Поделиться этим сообщением Ссылка на сообщение
Сталкер-Стрелок 12 Опубликовано 9 Апреля 2015 @UnLoaded, callback.use_object Поделиться этим сообщением Ссылка на сообщение
Сталкер-Стрелок 12 Опубликовано 23 Апреля 2015 (изменено) Номера аи-нод статичны? Как получить номер нужной ноды (всяких выкрутасов с позицией не предлагать, неточно работает)? Наверное вопрос даже так стоит: как получить размеры ноды? Она же не всегда 0.7 на 0.7. Изменено 23 Апреля 2015 пользователем Сталкер-Стрелок Поделиться этим сообщением Ссылка на сообщение
Сталкер-Стрелок 12 Опубликовано 27 Июня 2015 @Zander_driver, твои претензии совершенно не уместны , к примеру я вообще поста не видел. Сам разобрался - молодец, но все же подскажу свой вариант: local vdis = actor_position:distance_to(vpos) local function check() local function in_f( v1, v2 ) return (math.acos((v1.x*v2.x + v1.y*v2.y + v1.z*v2.z)/(math.sqrt(v1.x*v1.x + v1.y*v1.y + v1.z*v1.z )*math.sqrt(v2.x*v2.x + v2.y*v2.y + v2.z*v2.z)))*57.2957) end local yaw = in_f(device().cam_dir, vpos:sub(db.actor:position())) return yaw < 35 end if vdis < scan_distance and check() then table.insert(vertex_bufer, {current_vertex, vpos}) end С таким отношением отпадает всякое желание вести сотрудничество. Поделиться этим сообщением Ссылка на сообщение
Сталкер-Стрелок 12 Опубликовано 27 Июня 2015 @Outfater, твой вопрос некорректен, советую почитать что-нибудь по рестрикторам, конкретно обрати внимание на обработку конфига логики, я думаю вопрос разрешится. @Zander_driver, в параллельной теме как-раз это обсудили вот только что, по-моему даже с готовым примером. Общно, нужно полю fixed_bones присвоить основную кость и записать кастом дату, что-бы не шумело. 1 Поделиться этим сообщением Ссылка на сообщение
Сталкер-Стрелок 12 Опубликовано 27 Июня 2015 @Zander_driver, если речь только о проверке биндера, то ты же сам что-то такое изобретал, можно заваливать игру если объект биндера не подает признаков жизни. Вставь abort куда нужно (например можешь в ините ставить булево поле о инициировании, и если его нет заваливать игру), и в целом будет решено. Если цель выявить некорректные скрипты как файлы с различными модулями, то есть хороший вариант с песочницей на мотив ЗП, который не пропускает таких инвалидов. Если хочется перебирать, разумно будет составить таблицу биндеров и итерироваться по ней, там объектов будет наверняка меньше 65т. Поделиться этим сообщением Ссылка на сообщение
Сталкер-Стрелок 12 Опубликовано 27 Июня 2015 у нас сам файл = nil. не будет никакого инита. Ты меня не понял. Флаг добавляешь в инит биндера, если он появляется у объекта - биндер существует, нет - валишь игру. Я не об объекте биндера. а поподробнее, в чем принцип? Да тут, понимаешь, в двух словах не пояснишь, возьми готовый вариант и попробуй погонять корректные и некорректные скрипты, поймешь алгоритм где заваливается работа этой системы. Какие конкретно у тебя цели я не знаю, но у меня, например, вполне симпатично все работает. а на основе чего ее составить? Очевидно на основе твоих биндеров, биндер выступает, к примеру, значением таблицы, ты проверяешь не только сам файл на nil, но сразу и биндер. Проверяешь не на объекте, а обычным луа, на как-раз таки ошибки этого синтаксиса, т.е. опуская саму функцию биндинга. Надеюсь понятно объяснил. Извини, ухожу. Поделиться этим сообщением Ссылка на сообщение