Перейти к контенту

Рекомендуемые сообщения

У луа_чекера есть такой грешок - он показывает ошибок больше чем есть. У меня бывало в скрипте по 50 ошибок - исправил 5-6 и луа чекер ни одной не нашел.

Freedom

Ссылка на комментарий

Это смотря какие ты ошибки сделал. Если ты написал вместо create - reate то луа чекер даже не заикнется. А если ты end пропустишь то он ругнется. Чекер указывает только на синтаксические ошибки

Freedom

Ссылка на комментарий

Здравствуйте может кто подсказать в чём ошибка - создал нпс, прописал ему путь патрулирования, а он стоит на одном месте и никуда не идёт.

[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.
 

Ссылка на комментарий

АААА ну я имя функции написал а саму функцию нет

Строгое предупреждение от модератора 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

Функция удаления предмета находящегося в слоте. Составлял так. на коленке но мож правильная :)

Изменено пользователем kokkai
Ссылка на комментарий

TRAMP14

Неправильная - метод object() (класса game_object) принимает как аргумент либо строку (секцию) либо число(порядковый номер в инвентаре).

А ты ему пытаешься юзердату скормить.

Ссылка на комментарий

А как тогда?

Сообщение от модератора kokkai
Старайтесь избегать таких постов. Если не получаете удовлетворительного ответа, лучше задать вопрос уже в личке.
Изменено пользователем kokkai
Ссылка на комментарий
@"StreloK", могу предположить, что это не есть ошибка, а лишь непонятный косяк вызваный вот этим:
p0:links = p1(0)

напиши вместо этого так:
p0:links = p1(1)

и я уверен на 99% что у НПС появится дар "ходить". :)

Ссылка на комментарий
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

Изменено пользователем Garry_Galler
Ссылка на комментарий

Помогите заспавнить дом (здание типа как на АТП двухэтажное). Как мне всёравно - можно через скрипт, можно через спавн. Хочу базу для группировки сделать.

Ссылка на комментарий
TRAMP14, Дом заспавнить можно(см прибой стори),но он как динамический объект не будет восприниматся нпс как препядствие и они все время будут пытатся пройти сквозь стену,в прибой стори эти дома как ловушка-там постоянно кто то застревает,да и аномалии там не редкость динамическиие есть правда выход (в том же прибое в некоторых местах) окружить место зоной и заставить нпс обходить ее(но тогда внутрь не зайдут) Изменено пользователем gruber
Ссылка на комментарий

Появилась новая идея, но опыта нехватает. Можно ли каким нибудь способом запретить использовать определённый тип аптечек?

 

Добавлено через 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

Ссылка на комментарий

TRAMP14

Чоё ты спрашиваешь, будет работать функция или нет. Сам проверить не можешь? Функция у тебя кривая, что ты ей сделать хочешь?

------------------------------------------------

Сталкер ломать нехочется

Чоё? Как ты можешь скриптом игру сломать. Хоть понял, что сказал?

Если ты эту свою функцию вызовешь - вылетит. Потому что ты применяешь метод section() к какому-то obj, который у тебя == nil.

Изменено пользователем Stalk15
Ссылка на комментарий

Сталкер ломать нехочется. А так профессионалы сразу скажут что тут неправильно. он у меня и так чудит.

 

p/s/ Что такое - я не могу исправлять свои сообщения ?

Сообщение от модератора kokkai
Только в течение 15 мин.

 

Добавлено через 29 мин.:

Сообщение от модератора kokkai

Только в течение 15 мин.

Я сообщение написал - заметил ошибку и сразуже хотел нажать "Исправить" но такой кнопки не наблюдается

 

Чоё? Как ты можешь скриптом игру сломать. Хоть понял, что сказал?

Если ты эту свою функцию вызовешь - вылетит. Потому что ты применяешь метод section() к какому-то obj, который у тебя == nil.

Чай не первый день скриптингом занимаюсь - после создания нескольких неписей (неудачных) чистая игра стала вылетать с вылетами логики.

И ещё у бинокля появился индикатор патронов (откуда?)

Изменено пользователем kokkai
Ссылка на комментарий

TRAMP14

Функция работать не будет так как откуда у тебя появится obj? Расшифровываю:

local obj = obj:section()

1. Эта строка может привести луа в бешенство. Лучше назови переменную obj_section

2. Для понятия представим что у тебя написанно local obj1 = obj:section()

Откуда ты берешь obj? У тебя функция не принимает каких либо переменных, да и в скрипте ты этот obj никак не определяешь. Поэтому переменная obj1 всегда будет выдавать nil

3. Почему у тебя левел_вертикс =1? Разве так можно?

Да и скрипт твой читерский - у тебя получится что ты аптечку использовал и у тебя сразу появляется еще одна в рюкзаке. А действие аптечки идет.

 

З.Ы. По твоей функции видно что ты, так и быть не первый день скриптишь, а второй. Не обольщайся

А то что у тебя игра стала вылетать - это обычное дело.

Изменено пользователем _Призрак_

Freedom

Ссылка на комментарий

Левел вертекс =1 это я с какогото урока скомуниздл функцию спавна в инвентарь. А хочу сделать я многоразовую аптечку только чтоб с каждым разом она меньше лиечила. К томуже - если я проверю у меня будет вылет и я всё равно полезу сюда за советом по решению. Так что лучше выложить щас чем потом копатся в логах. А по второму вопросу?

Можно ли каким нибудь способом запретить использовать определённый тип аптечек?
Ссылка на комментарий

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.

Ссылка на комментарий

А я вё время думаю завчем в етих скобках пишт локальные так ето что луа не взбеслся.

Можно ли каким нибудь способом запретить использовать определённый тип аптечек?
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...