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

Скриптование


Svoboда

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

Запускаю партикл так:

local a = particles_object("monsters\\polter_idle")
	a:play_at_pos(vector():set(432.160187, -24.736188, 141.855270))
	a:looped()

Но партикл через некоторое время гаснет...

Поделиться этим сообщением


Ссылка на сообщение
3 минуты назад, Overfirst сказал:

поглядеть, как воспроизведение партиклов реализовано в sr_particle.script

Побыстрому глянул, я так понял, что там апдейт проверяет партикл на проигрывание, если партикл "выключился" - то запускает его по новой...

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
1 час назад, Overfirst сказал:

Можно пример секции такого объекта?

не видит physic_object

Можете эту секцию скинуть, она наверно в system.ltx?

*Не нужно

Изменено пользователем Graff46
  • Смешно 1

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
39 минут назад, Dennis_Chikin сказал:

Есть бесконечные

Time_limit'а нет, может death убрать, что бы партикл играл бесконечно?

И по каким полям в СДК опрделить бесконечный ли партикл?

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

Поделиться этим сообщением


Ссылка на сообщение

Подскажите где в ТЧ в скриптах отловить момент когда НПС повернулся куда ему надо и начал выполнять анимацию?

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
6 минут назад, _Sk8_AsTeR_ сказал:

Куда копать, подскажите пожалуйста

Отсутствует секция предмета  aver_musics, но он где-то заспавнен или прописан кому-то в рюкзак.

Хотя может быть это секция не предмета, а амбиента на локации.

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

Поделиться этим сообщением


Ссылка на сообщение
1 минуту назад, _Sk8_AsTeR_ сказал:

Но вот где...

config(s)\game_maps_single.ltx

  • Спасибо 1
  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Можно ли как-то "подключиться" к биндеру объекта? Пробовал так:

local a = level.object_by_id(mmobj.id)
local b = a:binded_object()
b.update = function(delta) get_console():execute("MY_BIND!") b.update(delta) end
a:bind_object(b)

Но ничего не происходит...

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

Поделиться этим сообщением


Ссылка на сообщение
4 часа назад, Dennis_Chikin сказал:

Полагаю, происходит завис

Зависания нет, нпс дальше вполне нормально функционирует. Цель, подключиться к биндеру объекта и пользоваться, например, его апдейтом в своих целях. Я думал для этого сделан метод level.add_call(object, ...), Но эта функция странно себя ведёт.

Поделиться этим сообщением


Ссылка на сообщение
10 часов назад, dsh сказал:

что тебе мешает прямо в его функции апдейта нужное сделать?

 

10 часов назад, Dennis_Chikin сказал:

огда делается строго наоборот

Надо было мне внешние включение, теперь придется придумывать что-то

Поделиться этим сообщением


Ссылка на сообщение
11 часов назад, dsh сказал:

менеджер событий

Где его взять?

Поделиться этим сообщением


Ссылка на сообщение

@Egor4ikModMaker в соседней теме "сборочный цех", есть скриптовый модуль для нет-пакетов. Через нет- пакеты можно сид задавать объектам.

Поделиться этим сообщением


Ссылка на сообщение

@XMODER амбиент локаций скриптами не отключить, можно в конфигах убрать амбиент, а скриптами сделать подобие амбиент с нужными вам функциями.

  • Согласен 2
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@AndreySolнаверное, ф-ция должна работать когда объект дропается, а она вызывается когда объект съедают и вылетает. Вообще-то код ф-ции странный, мягко говоря, перебор айди делать не надо, если она вызывается из коллбека, то там будет дропающиеся объект передан, как аргумент функции коллбека, а что бы объект не елся, на следуйте его секцию от другого класса, не еды и не лекарств.

Изменено пользователем Graff46
  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение

[ТЧ] Актор юзает нэт-пакеты? Как можно скриптово менять имя ГГ?

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

2 вопроса:

1. Можно-ли через скрипты получать\устанавливать опьянение ГГ в ТЧ с X-Ray extension

2. Почему не работает db.actor:set_actor_position(ya_old) Отсюда:

Скрытый текст

function effct() -- ЭТА ВЫЗЫВАЕТСЯ НИЖЕ!
local npc = level_object_by_sid(926) 
	local pos, dir = npc:position(), npc:direction()
	local v = vector():set(pos)
	v.x = pos.x + 3 * math.cos(dir:getH())
	v.z = pos.z + 3 * math.cos(dir:getH())	
	db.actor:object('device_torch'):switch_torch(true)
	db.actor:set_actor_position(v)
	db.actor:set_actor_direction(-npc:position():sub(v):getH() )
end

function pred_mon(act, npc) -- ВЫЗЫВАЕМАЯ Ф-ЦИЯ!
	function _off () -- ВЛОЖЕННАЯ Ф-ЦИЯ! ВЫЗЫВАЕТСЯ НИЖЕ!
		local npc = level_object_by_sid(926)
		db.actor:set_actor_position(ya_old) -- НЕ РАБОТАЕТ, НО ОШИБОК НЕ ВЫЗЫВАЕТ
		ya_old = nil
		switch_offline_id(npc:id())
	end

	local a = db.storage[npc:id()].enemy
	if (a) and (a:section() == "dv_nom_x18_attack" or a:id() == 0) then
		_G.ya_old = vector():set(db.actor:position())
		effct() -- ОНА ВВЕРХУ
		nt.timer(2000, _off) -- ТУТ ВЫЗЫВАЕТСЯ (ЧЕРЕЗ 2 СЕК) ВЛОЖЕННАЯ Ф-ЦИЯ
		return true
	end
end

Функция из таймера вызывается корректно (НПС в оффлайн переходит и таймер "проверенный"), но возвращаться ГГ на своё место ни как не хочет!

 

Изменено пользователем Graff46
Дополнял

Поделиться этим сообщением


Ссылка на сообщение

@Overfirst На всякий случай. Таким способом создаём новый вектор с параметрами заданного, что бы после манипуляций с исходным векторам не получилось неожиданностей. В луа переменные хранят ссылки на объекты и если объект где-то изменился - то и значение переменной после этого тоже изменится, такая трабла с таблицами бывает бесит. Также смотри как тут, у разрабов, utils.vector_copy_by_val()

Поделиться этим сообщением


Ссылка на сообщение

В луа_хелп метод alive прописан у серверных объетов, в скриптах видел его применение к клиентским объектам, я же использовал этот метод к серверным но иногда получал вылеты с указанием на отсутствие такого метода. Так к каким объектам этот метод применять?

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

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