|
|
| |
Автор |
Сообщение |
|
03-12-2009 21:41 GMT3 часа #1111788 |
Люди.
Как сделать спаут обьекта на определенном растоянии от точки?
Есть функция спавна на растоянии от ГГ:
function spawn_random()
local radius = 20
local ang = 0.5
local dir = vector_rotate_y(db.actor:direction(),ang)
local obj = alife():create("mehanik",db.actor:position():add( dir:mul(radius)),db.actor:level_vertex_id(),db.actor:game_vertex_id())
end
Подскажите как правельно заменить db.actor на точку не меняя сути функции?
Жду любых советов.
добавлено спустя 24 минут
Есть ли возможность заспавнить что либо рядом с НПС? Т.е. db.actor переделать в любого НПС. |
Сообщение было успешно отредактировано karavan (03-12-2009 21:41 GMT3 часа, назад)
|
|
singapur22
[10] Житель
Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44
13-08-2011
|
03-12-2009 22:26 GMT3 часа #1111830 |
karavan
db.actor:position() === vector():set(x,y,z)
db.actor:direction() === vector():set(x,y,z)
db.actor:game_vertex_id() === гейм вертекс позиции (число)
db.actor:level_vertex_id() === левел вертекс позиции (число) |
|
|
|
03-12-2009 22:40 GMT3 часа #1111837 |
Какие проги нужно ( можно) использовать для совмещения модов? |
|
|
|
03-12-2009 23:12 GMT3 часа #1111860 |
singapur22 благодарю.
В приведенной функции мне не понятно:
:add - что это такое?
:mul - что это такое? |
|
|
№47-Hitman
[1] Странник
Посты: 176
Откуда: Ижевск
Занятие: Модмейкерство
Возраст: 30
24-10-2011
|
03-12-2009 23:17 GMT3 часа #1111866 |
Хохма, Araxis Merge к примеру))
з.ы.: и главное - это прямые руки |
|
|
singapur22
[10] Житель
Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44
13-08-2011
|
03-12-2009 23:30 GMT3 часа #1111876 |
karavan Это методы математических решений над векторами. |
|
|
erlik
[10] Житель
Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47
18-03-2015
|
04-12-2009 00:04 GMT3 часа #1111899 |
karavan
local obj_id = 0 - задаем локальную переменную для записи айди
--спавним чувака
local obj = alife():create("agr_soldier_regular", vector():set(-218.20,-20.2,-145.63),35362,47)
--ловим его айди
obj_id = obj.id
--\ получаем позицию и вертексы чувака по айди
local sobj = level.object_by_id(obj_id)
local pos = sobj:position()
local dir = sobj:direction()
local lv = sobj:level_vertex_id()
local gv = sobj:game_vertex_id()
--задаем дистанцию для спавна объекта с нужным смещением от чувака - например 10 метров
pos_item = pos:add(dir:mul(10))
--спавним сам объект
alife():create("grenade_f1", vector():set(pos_item, lv, gv)
это один из способов заспавнить что-нибудь рядом с NPC |
|
|
Эта тема закрыта, публикация новых сообщений недоступна.
| | |
|
| |