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

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

TREWKO,

у тебя obj - это строка. distance_to надо вызывать для z

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
Darien, а ты шейп прописываешь аномалии в нетпакете? Посмотри спавн аномалий в АМК 1,4,1.
Возможно всё, ну или почти всё.
Ссылка на комментарий

Не, всё равно: divaresix.script:55: attempt to call method 'distance_to' (a nil value).

Сделал так:

function test()
local z = level.object_by_id("scaner_anm")
if z then
    if z:distance_to(db.actor) == 10 then
    level.add_pp_effector ("proba.ppe", 1974, false)
end
end
end

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

TREWKO,

вот ведь меня переклинило-то! distance_to вообще нет у game_object, а есть у vector. Правильно так:

z:position():distance_to(db.actor:position())

Изменено пользователем malandrinus
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

Так, ну теперь вылета нет, но при выбрасывании объекта на землю и при отбегании от него дальше 5 метров(пробовал и дальше 1.5 км) ноль реакции, хотя должно быть сообщение.

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

TREWKO,

Как можно вообще что-то делать, проверяя только по конечному результату? Отлаживать надо. Ставь отладочные выводы в консоль. Проверяй тип объектов, значения. Проверяй, что вообще та или иная ветка алгоритма работает. Это за тебя никто не сделает.

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

А, всем спасибо, понял и усёк.

А что значит vector ?

Это что то вроде, от точки до точки стрелочкой, начерченной мысленно?

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

Как заспавнить НПС через скрипт, знают многие. А возможно ли удалить НПС через скрипт? Если да, то как?

Заранее спасибо.

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

Renson, вот:

function delete_npc()
    for a=10,65635,1 do
    local obj=alife():object(a)
        if obj and string.find(obj:name(),"Название нпс") then
        alife():release(obj,true)
        end
    end
end

 

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

malandrinus, что значит отладочные выводы?

log(...)? Или printf("Текст")?

Изменено пользователем TREWKO
Ссылка на комментарий
А что значит vector ?

Класс такой есть vector. Объект такого класса возвращается методом :position(). Математически это три числа, представляющие проекции некоего направленного отрезка.

 

что значит отладочные выводы?

log(...)? Или printf("Текст")?

log не работает. printf по идее можно перенаправить в файловый вывод. Под ТЧ наиболее удобным способом является вывод в консоль игры. Можно смотреть результат прямо в игре и остаётся лог на диске.

get_console():execute("текст для вывода")

Я это подробно излагал здесь

 

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

 

нет, ну можно же и так: вектор - это тензор первого ранга. Кому от этого стало бы легче?

Изменено пользователем malandrinus
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

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

==

А ведь можно ;)

А можно еще как матрицу 1 х n рассматривать - это проще,чем тензор :)

 

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

 

TREWKO,Конкретно в игре это означает,если говорить примитивно,координаты.А именно обьект типа table и содержания (x,y,z) - то есть 3 координат,отсчитанных,относительно какого-то нуля.

Кстати интересно было бы знать,по какому принципу расположены нули на локациях.

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

Товарищи, объясните пожалуйста принцип работы таймеров АМК.

Нужно, что бы через определённый участок времени выполнялась функция.

 

А может быть так, что если я буду называть свои скрипты(файл.script) заглавными буквами, например: XySPiV, то в связки они не будут функционировать?

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

здрасте всем :ny_rolleyes: играю в ЗП с sgm. захотелось сделать аномалий побольше.. подскажите как использовать АСDC и all.spawn для этого.

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

я написал диалог и как сделать, что бы после него непись переходил в боевое состояние и нападал на меня?!

 

я нигде не нашел толкового обьяснения по классам и функциям....(((((

 

вот так !?

 

function <action>killactor</action>

 

или как?!

Изменено пользователем zubr14

А что такое подпись???

Это место, где модератор пишет "Не задавай глупые вопросы!" :P

Кто посмел писать в моей личной царской подписи,кроме меня ? *crazy*

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

zubr14

пропиши в диалоге

<action>killactor</action>

и,если тебе надо на ЗП,в xr_effects.script пропиши.

function killactor (actor, npc)
    npc:set_relation (game_object.enemy, actor)
end

не проверял,но должно работать.

 

или как?!

я разве не ясно написал? :huh:

<action>killactor</action>

Изменено пользователем Влад
Не бойтесь совершенства. Вам его не достичь.
C. Дали
Ссылка на комментарий

TREWKO,

function delete_npc()

for a=10,65635,1 do

local obj=alife():object(a)

if obj and string.find(obj:name(),"Название нпс") then

alife():release(obj,true)

end

end

end

 

Зачем перебирать кучу неписей и тратить память? :ny_ph34r_1:

Вот так проще

function dell_Вася()

local se_obj = alife():object("Вася")

if se_obj then

alife():release(se_obj, true)

end

end

 

По выдаче инфопоршена, экшона, смс и прочего, если актор в зоне действия/вышел из зоны/и прочие подобные ситуации с радиусом - гораздо проще и менее напряжно для себя и для игры сделать единственный рестриктор в алл спавне с любыми функциями - активацией инфопоршена, смс, экшона, отсрочки по времени и прочего возможного

Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка

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

Народ! Спасайте! Я сделал торгоша, у него есть своя кустом-дата, там указан файл торговли и логика(стоять на месте), создаётся через скрипт. А при сохранении\загрузки кустом дата не присваевается нпс(тоесть он ничего непродаёт и валит куда захочет)!

 

есть возможность прописать его в файлах character_desc_***.xml?

 

или же мне всё-таки компилить all.spawn с настройками?

 

ХЕЕЕЛП!!!! :ny_blink:

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

Запнулся на элементарнейшем скрипте :blink: :

function have_tema_eda2()

return sak.have_item_namber("bread",20) ~= false or return sak.have_item_namber("konserva",10) ~= false then

end

Что не так то?

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

×
×
  • Создать...