Stalk15 27 Опубликовано 4 Января 2011 Поделиться Опубликовано 4 Января 2011 TRAMP14 Заюзай-ка ты програмку lua_cheker. Она ищит синтаксические ошибки. Сам пользуюсь регулярно. Ссылка на комментарий
TRAMP14 1 Опубликовано 5 Января 2011 Поделиться Опубликовано 5 Января 2011 Я использовал 56 ошибок и ни одной я не понял Ссылка на комментарий
_Призрак_ 11 Опубликовано 5 Января 2011 Поделиться Опубликовано 5 Января 2011 У луа_чекера есть такой грешок - он показывает ошибок больше чем есть. У меня бывало в скрипте по 50 ошибок - исправил 5-6 и луа чекер ни одной не нашел. Freedom Ссылка на комментарий
TRAMP14 1 Опубликовано 5 Января 2011 Поделиться Опубликовано 5 Января 2011 Счас запусти тетсить новый скрипт - я вижу ошибок 2 (сам допустил специально) а он ни одной не нашёл Ссылка на комментарий
_Призрак_ 11 Опубликовано 5 Января 2011 Поделиться Опубликовано 5 Января 2011 Это смотря какие ты ошибки сделал. Если ты написал вместо create - reate то луа чекер даже не заикнется. А если ты end пропустишь то он ругнется. Чекер указывает только на синтаксические ошибки Freedom Ссылка на комментарий
@"StreloK" 2 Опубликовано 5 Января 2011 Поделиться Опубликовано 5 Января 2011 Здравствуйте может кто подсказать в чём ошибка - создал нпс, прописал ему путь патрулирования, а он стоит на одном месте и никуда не идёт. [ohran_dok_ohr1_look] points = p0,p1 p0:name = wp00 p0:flags = 0x1 p0:position = -72.874565,2.859914,241.272919 p0:game_vertex_id = 986683 p0:level_vertex_id = 4385 p1:name = wp01 p1:flags = 0x2 p1:position = -59.896366,2.236728,260.096558 p1:game_vertex_id = 101436 p1:level_vertex_id = 4385 [ohran_dok_ohr1_walk] points = p0,p1 p0:name = wp00 p0:flags = 0x1 p0:position = -72.874565,2.859914,241.272919 p0:game_vertex_id = 986683 p0:level_vertex_id = 4385 p0:links = p1(0) p1:name = wp01 p1:flags = 0x2 p1:position = -59.896366,2.236728,260.096558 p1:game_vertex_id = 101436 p1:level_vertex_id = 4385 p1:links = p0(1) [smart_terrains] none = true [logic] active = walker [walker] path_walk = ohran_dok_ohr1_walk path_look = ohran_dok_ohr1_look ПС Может ошибка из-за того что нпс спавнится из секции болот от ЧН, а сам находится на болотах из билда? Prefiero morir de pie, que vivir siempre arrodillado. Ссылка на комментарий
TRAMP14 1 Опубликовано 5 Января 2011 Поделиться Опубликовано 5 Января 2011 (изменено) АААА ну я имя функции написал а саму функцию нет Строгое предупреждение от модератора kokkai Общение в таком духе следует вести в личке Добавлено через 68 мин.: проверьте пожалуйста функцию function delslot() local mel = db.actor:item_in_slot(3) local oItem = db.actor:object(mel) if oItem then db.actor:drop_item(oItem) alife():release(alife():object(oItem:id()), true) end end Функция удаления предмета находящегося в слоте. Составлял так. на коленке но мож правильная Изменено 5 Января 2011 пользователем kokkai Ссылка на комментарий
Garry_Galler 7 Опубликовано 5 Января 2011 Поделиться Опубликовано 5 Января 2011 TRAMP14 Неправильная - метод object() (класса game_object) принимает как аргумент либо строку (секцию) либо число(порядковый номер в инвентаре). А ты ему пытаешься юзердату скормить. Ссылка на комментарий
TRAMP14 1 Опубликовано 5 Января 2011 Поделиться Опубликовано 5 Января 2011 (изменено) А как тогда? Сообщение от модератора kokkai Старайтесь избегать таких постов. Если не получаете удовлетворительного ответа, лучше задать вопрос уже в личке. Изменено 5 Января 2011 пользователем kokkai Ссылка на комментарий
ColR_iT 171 Опубликовано 5 Января 2011 Поделиться Опубликовано 5 Января 2011 @"StreloK", могу предположить, что это не есть ошибка, а лишь непонятный косяк вызваный вот этим: p0:links = p1(0) напиши вместо этого так:p0:links = p1(1) и я уверен на 99% что у НПС появится дар "ходить". Ссылка на комментарий
Garry_Galler 7 Опубликовано 6 Января 2011 Поделиться Опубликовано 6 Января 2011 (изменено) function delslot(slot) local item = db.actor:item_in_slot(slot) if item then db.actor:drop_item(item) -- дропить по моему не обязательно - я без этого обхожусь alife():release(alife():object(item:id()), true) end end Изменено 6 Января 2011 пользователем Garry_Galler Ссылка на комментарий
TRAMP14 1 Опубликовано 8 Января 2011 Поделиться Опубликовано 8 Января 2011 Помогите заспавнить дом (здание типа как на АТП двухэтажное). Как мне всёравно - можно через скрипт, можно через спавн. Хочу базу для группировки сделать. Ссылка на комментарий
gruber 2 481 Опубликовано 8 Января 2011 Поделиться Опубликовано 8 Января 2011 (изменено) TRAMP14, Дом заспавнить можно(см прибой стори),но он как динамический объект не будет восприниматся нпс как препядствие и они все время будут пытатся пройти сквозь стену,в прибой стори эти дома как ловушка-там постоянно кто то застревает,да и аномалии там не редкость динамическиие есть правда выход (в том же прибое в некоторых местах) окружить место зоной и заставить нпс обходить ее(но тогда внутрь не зайдут) Изменено 8 Января 2011 пользователем gruber Ссылка на комментарий
TRAMP14 1 Опубликовано 9 Января 2011 Поделиться Опубликовано 9 Января 2011 Появилась новая идея, но опыта нехватает. Можно ли каким нибудь способом запретить использовать определённый тип аптечек? Добавлено через 5 мин.: И есчо - будет такая функция работать? function item() local obj = obj:section() if obj == 'medkit' then alife():create("medkit", db.actor():position(), 1, db.actor:game_vertex_id(), db.actor:id()) end end Ссылка на комментарий
Stalk15 27 Опубликовано 9 Января 2011 Поделиться Опубликовано 9 Января 2011 (изменено) TRAMP14 Чоё ты спрашиваешь, будет работать функция или нет. Сам проверить не можешь? Функция у тебя кривая, что ты ей сделать хочешь? ------------------------------------------------ Сталкер ломать нехочется Чоё? Как ты можешь скриптом игру сломать. Хоть понял, что сказал? Если ты эту свою функцию вызовешь - вылетит. Потому что ты применяешь метод section() к какому-то obj, который у тебя == nil. Изменено 9 Января 2011 пользователем Stalk15 Ссылка на комментарий
TRAMP14 1 Опубликовано 9 Января 2011 Поделиться Опубликовано 9 Января 2011 (изменено) Сталкер ломать нехочется. А так профессионалы сразу скажут что тут неправильно. он у меня и так чудит. p/s/ Что такое - я не могу исправлять свои сообщения ? Сообщение от модератора kokkai Только в течение 15 мин. Добавлено через 29 мин.: Сообщение от модератора kokkai Только в течение 15 мин. Я сообщение написал - заметил ошибку и сразуже хотел нажать "Исправить" но такой кнопки не наблюдается Чоё? Как ты можешь скриптом игру сломать. Хоть понял, что сказал? Если ты эту свою функцию вызовешь - вылетит. Потому что ты применяешь метод section() к какому-то obj, который у тебя == nil. Чай не первый день скриптингом занимаюсь - после создания нескольких неписей (неудачных) чистая игра стала вылетать с вылетами логики. И ещё у бинокля появился индикатор патронов (откуда?) Изменено 9 Января 2011 пользователем kokkai Ссылка на комментарий
_Призрак_ 11 Опубликовано 9 Января 2011 Поделиться Опубликовано 9 Января 2011 (изменено) TRAMP14 Функция работать не будет так как откуда у тебя появится obj? Расшифровываю: local obj = obj:section() 1. Эта строка может привести луа в бешенство. Лучше назови переменную obj_section 2. Для понятия представим что у тебя написанно local obj1 = obj:section() Откуда ты берешь obj? У тебя функция не принимает каких либо переменных, да и в скрипте ты этот obj никак не определяешь. Поэтому переменная obj1 всегда будет выдавать nil 3. Почему у тебя левел_вертикс =1? Разве так можно? Да и скрипт твой читерский - у тебя получится что ты аптечку использовал и у тебя сразу появляется еще одна в рюкзаке. А действие аптечки идет. З.Ы. По твоей функции видно что ты, так и быть не первый день скриптишь, а второй. Не обольщайся А то что у тебя игра стала вылетать - это обычное дело. Изменено 9 Января 2011 пользователем _Призрак_ Freedom Ссылка на комментарий
TRAMP14 1 Опубликовано 9 Января 2011 Поделиться Опубликовано 9 Января 2011 Левел вертекс =1 это я с какогото урока скомуниздл функцию спавна в инвентарь. А хочу сделать я многоразовую аптечку только чтоб с каждым разом она меньше лиечила. К томуже - если я проверю у меня будет вылет и я всё равно полезу сюда за советом по решению. Так что лучше выложить щас чем потом копатся в логах. А по второму вопросу? Можно ли каким нибудь способом запретить использовать определённый тип аптечек? Ссылка на комментарий
ColR_iT 171 Опубликовано 9 Января 2011 Поделиться Опубликовано 9 Января 2011 TRAMP14, по поводу функции, у тебя и правда не совсем все правильно. Самый главный вопрос - откуда у тебя obj? _Призрак_ сказал верно, у тебя при использовании подобной функции будет ругань: attempt to index local 'obj' (a nil value) Так что тебе нужно либо в скрипте определить что такое этот obj, либо передоть его в эту функцию как параметр: function item(obj) Ребята действительно правы, не доконца понятно, для чего тебе эта функция нужна? Если просто синтаксически исправить тебе функцию, то вот: function item(obj) local obj = obj:section() if obj == "medkit" then alife():create("medkit", db.actor():position(), db.actor:level_vertex_id, db.actor:game_vertex_id(), db.actor:id()) end end но в таком случае тебе нужно передать в функцию параметр obj. Ссылка на комментарий
TRAMP14 1 Опубликовано 10 Января 2011 Поделиться Опубликовано 10 Января 2011 А я вё время думаю завчем в етих скобках пишт локальные так ето что луа не взбеслся. Можно ли каким нибудь способом запретить использовать определённый тип аптечек? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти