Автор Сообщение
Посты: 940
Откуда:
03-12-2009 19:16 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 19:41 GMT3 час.

Посты: 2089
Откуда:
03-12-2009 20: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() === левел вертекс позиции (число)


Посты: 3
Откуда:
03-12-2009 20:40 GMT3 час. #1111837   
Какие проги нужно ( можно) использовать для совмещения модов?


Посты: 940
Откуда:
03-12-2009 21:12 GMT3 час. #1111860   
singapur22 благодарю.:prankster:
В приведенной функции мне не понятно:
:add - что это такое?
:mul - что это такое?


Посты: 176
Откуда:
03-12-2009 21:17 GMT3 час. #1111866   
Хохма, Araxis Merge к примеру))
з.ы.: и главное - это прямые руки;-)


Посты: 2089
Откуда:
03-12-2009 21:30 GMT3 час. #1111876   
karavan Это методы математических решений над векторами.


Посты: 2338
Откуда:
03-12-2009 22:02 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




Форумы Архив » Свалка Вопросы и ответы (по 04.12.09)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Организация GSC Game World признана нежелательной на территории Российской Федерации.
Использование материалов сайта возможно с разрешения администрации. © 2004–2025 «Stalker-Portal.ru»