Пользователей: 0
Гостей: 337
Всего: 337

» Подробно
» Сегодня


Привет, Гость!

Ник


Пароль


Запомнить?




» Добавить в избранное

» Сделать стартовой

Главная
Форум
Обзор игры
Мир Зоны
Файлы
Галерея
Разное






Форумы > Архив > Склад > Как сделать свой мод? (по 20.11.09)

Страница 1 из 651234 »Последняя
Быстрый переход:


 

Автор Сообщение
Web Strikеr
[20] Сталкер
Онлайн статус=0  Профиль    



Я всё вижу...

Посты: 3925
Откуда: Балхаш сити
Занятие: Боевая тактика, Биатлон, Велоспорт
Возраст: 32

05-01-2010
21-11-2009 00:19 GMT3 часа #1059072   Split

Сообщение было успешно отредактировано G3man (21-11-2009 00:19 GMT3 часа, назад)

userbar
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 46

18-03-2015
08-10-2009 18:42 GMT3 часа #1059073   Split
Struck
ты же говорил что разобрался как делать меню для итемса.
Делай как в моем меню - только дай кнопкам свои имена в xml секции, сделай кол-во кнопок столько сколько тебе надо (координаты для них нетрудно посчитать), и в скрипте интерфейса также сделай нужное кол-во кнопок - дай кнопкам свои скриптовые имена, и повесь на них свои скрипты. И все.

or у меня вроде как на своем месте стоит, так как производится проверка объектов: сталкеры-враги "либо" монстры - скрипт будет срабатывать на всех - и когда они все вместе скопом и по отдельности.


dan8
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 500
Откуда: ventspils
Занятие: заниматся модингом вот такой я
Возраст: 29

07-07-2010
08-10-2009 18:49 GMT3 часа #1059080   Split
а как сделать чтобы волк неухадил с кардона

добавлено спустя 1 минуту

Struck
скачай исполнитель желаний ии будет те щастье

Сообщение было успешно отредактировано dan8 (08-10-2009 18:49 GMT3 часа, назад)

dan8
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 500
Откуда: ventspils
Занятие: заниматся модингом вот такой я
Возраст: 29

07-07-2010
08-10-2009 18:53 GMT3 часа #1059087   Split
а как сделать чтобы волк неухадил с кардона


erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 46

18-03-2015
08-10-2009 19:06 GMT3 часа #1059107   Split
singapur
Вчера покопался в ph_car и car, но какой метод отвечает за проверку "эктор в авто" так и не понял.
в lua help в классе C++ class CCar много функций, но какая что делает понятно смутно.

вот это интересно что - причем закомментировано - переводится типа сделать объект владельцем (авто) self.car_holder = self.object.get_current_holder()

есть функция старта авто
function action_car:start_car() - может ее что ли использовать для момента активации скрипта...


dan8
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 500
Откуда: ventspils
Занятие: заниматся модингом вот такой я
Возраст: 29

07-07-2010
08-10-2009 19:10 GMT3 часа #1059116   Split
а как сделать чтобы гг мог стать не меченым а валкадавом


singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
08-10-2009 19:14 GMT3 часа #1059122   Split
erlik Я месяца два назад работал с тачками. Остались некоторые справки. Смотри под спойлером:


C++ class CCar : CGameObject,holder {
const eWpnActivate = 3; --активация башни 'Action(CCar.eWpnActivate, number)' (0\1)
const eWpnAutoFire = 5; --автоматическая стрельба 'Action(CCar.eWpnAutoFire, number)' (0\1)
const eWpnDesiredDir = 1; --не фурычит
const eWpnDesiredPos = 2; --точка прострела 'SetParam(CCar.eWpnDesiredPos, vector)' (position)
const eWpnFire = 4; --открыть\прекратить огонь 'Action(CCar.eWpnFire, number)' (0\1)
const eWpnToDefaultDir = 6; --вернуть дуло в дефолтовую позицию 'Action(CCar.eWpnToDefaultDir, number)' (0\1)

CCar ();

function _construct();
function GetfHealth() const; --какое текущее здоровье у тачки? (0...1)
function CurrentVel();
function getVisible() const;
function net_Spawn(cse_abstract*);
function SetParam(number, vector); --установка координат, для точки прострела. Где, number = const(2)
function net_Export(net_packet&);
function Visual();
function IsObjectVisible(game_object*); --находится ли объект в зоне видимости тачки? (true\false)
function SetExplodeTime(number);
function net_Import(net_packet&);
function HasWeapon();
function SetfHealth(number); --установить текущее здоровье (0...1)
function engaged();
function ExplodeTime();
function FireDirDiff();
function CarExplode(); --взорвать тачку
function CanHit();
function getEnabled() const;
function Action(number1, number2); --работы с башней. Где, number1 = const(3...6); number2 = 0\1
function use(CGameObject*); -- (вероятно) сделать юзающимся для указанного объекта (но при спавне через скрипт, юзается всегда.

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

--бтр
xr_logic.mob_capture(obj, true)
action(obj, move(move.on + move.fwd, 30), cond(cond.move_end, 3000)) --движение

--move.on -завести двигатель
--move.fwd -начать движение вперёд
--move.off -заглушить двигатель
--move.back -начать движение назад
--move.handbrake -остановить машину
--move.left -повернуть руль на лево
--move.right -повернуть руль на право
--move.line -повернуть руль прямо


obj:get_car():Action(CCar.eWpnActivate, 1) --активация башню (1\0)
obj:get_car():SetParam(CCar.eWpnDesiredPos, vector*) --повернуть башню в сторону вектора(позиция)
obj:get_car():Action(CCar.eWpnAutoFire, 1) --автоматическая стрельба (1\0) (чёта всё время шмаляет)
obj:get_car():Action(CCar.eWpnFire, 1) --открыть огонь (1); прекратить огонь (0)

--наработки
--синхронный поворот дула с камерой актора

obj:get_car():SetParam(CCar.eWpnDesiredPos, vector():set(device().cam_pos:mad(device().cam_dir, 100)))



Может найдёшь что полезное для себя. Всё это применимо к любой тачке. Кроме башни и огня.


erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 46

18-03-2015
08-10-2009 19:17 GMT3 часа #1059123   Split
Struck
не понял твой вопрос. Просто пишешь туда скока хочешь функций - (вместо моих) - и уже их имена ставишь на вызов в файл интерфейса меню - там где все эти function ui_set_pult:set_pult_ ()
ui_set_pult - это имя созданного мной класса.
set_pult_ x() -имя активируемой кнопки (или наверно правильнее имя функции)
а в теле этих функций находятся уже имена вызываемых скриптов.

добавлено спустя 3 минут

singapur22
спасибо - вот найти бы вариант lua help с такими же комментариями на все функции
(тутор от разрабов из билда 1935 - не совсем то)
но это - фантастика...

Сообщение было успешно отредактировано erlik (08-10-2009 19:17 GMT3 часа, назад)

erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 46

18-03-2015
08-10-2009 19:20 GMT3 часа #1059130   Split
singapur22
вот нашел у себя в доках такую запись
monstr:set_invisible(true)

monstr:set_invisible(false)

это для подмены одной модельки кровососа (видимой) на другую (невидимую)?


dan8
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 500
Откуда: ventspils
Занятие: заниматся модингом вот такой я
Возраст: 29

07-07-2010
08-10-2009 19:23 GMT3 часа #1059137   Split
а как сделать чтобы гг мог стать не меченым а валкадавом?


singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
08-10-2009 19:25 GMT3 часа #1059138   Split
erlik Есть ещё справка по вертикам, более определённая, так как с ними занимался в плотную.


--obj:get_helicopter() --ОПЕРАЦИИ С ВЕРТОЛЁТАМИ
--проверка
property m_dead; --уничтожен ли вертолёт?
property m_exploded; --взорван ли вертолёт?
property m_flame_started; --горит ли вертолёт?
property m_light_started; --включен ли прожектор?
--проверка\установка
property m_max_mgun_dist; --макс расстояние при котором можно использовать пулемёт (в метрах)
property m_max_rocket_dist; --макс расстояние при котором можно использовать ракеты (в метрах)
property m_min_mgun_dist; --мин расстояние при котором можно использовать пулемёт (в метрах)
property m_min_rocket_dist; --мин расстояние при котором можно использовать ракеты (в метрах)
property m_syncronize_rocket; --пускать ракеты парами или по очереди (лев-прав-лев-прав) (true\false)
property m_time_between_rocket_attack; --задержка между пусками ракет (мил-сек.)
property m_use_mgun_on_attack; --использовать пулемёт при атаке (true\false)
property m_use_rocket_on_attack; --использовать ракеты при атаке (true\false)
--методы
function TurnEngineSound(boolean); --включить\отключить озвучку мотора!
function TurnLighting(boolean); --включить\отключить свет прожектора!
function GetMaxVelocity(); --какая максимальная скорость?
function GetfHealth() const; --какое здоровье у вертолёта?
function SetSpeedInDestPoint(number); --скорость входа в поинт (оптимально = 30)!
function GetMovementState();
function SetOnPointRangeDist(number); --скорость выхода из поинта (оптимально = 30)!
function SetFireTrailLength(number);
function GetRealAltitude();
function LookAtPoint(vector, boolean); --повернуть вертолёт к указанной координате (false = отменить поворот)!
function GetOnPointRangeDist();
function GoPatrolByPatrolPath(string, number); --подключить координаты перемещения(path, start_point)!
function GetCurrVelocity();
function Explode(); --взорвать вертолёт!
function SetBarrelDirTolerance(number);
function GetBodyState();
function GetSpeedInDestPoint(number);
function isVisible(game_object*); --видит ли вертолёт указанный объект?
function Die(); --уронить вертолёт!
function UseFireTrail();
function UseFireTrail(boolean);
function SetDestPosition(vector*); --пролететь в указанную позицию!
function GoPatrolByRoundPath(vector, number, boolean); --полёт по кругу, вокруг указанной координаты(координата, радиус,направление). Где: радиус -в метрах; направление -true=против часовой,false=по часовой
function SetMaxVelocity(number); --максимальная скорость(оптимально = 30)!
function SetfHealth(number); --установить текущее здоровье (0...1)
function StartFlame(); --воспламенить вертолёт
function GetState();
function GetDistanceToDestPosition(); --какое растояние до следующего поинта?
function GetHuntState();
function GetCurrVelocityVec();
function GetSafeAltitude();
function ClearEnemy(); --отменить обстрел!
function SetEnemy(game_object*); --обстрелять указанный объект!
function SetEnemy(vector*); --обстрелять указанную позицию!

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

--уничтожить вертолёт (с анимацией падения)

obj:get_helicopter():Die()

---------------------------------------------------------
--взорвать вертолёт

obj:get_helicopter():Explode()

---------------------------------------------------------
--пролететь в указанную позицию (вертолёт)

obj:get_helicopter():SetDestPosition(vector*)

---------------------------------------------------------
--включение/отключение озвучки мотора (вертолёт)

obj:get_helicopter():TurnEngineSound(boolean*)

---------------------------------------------------------
--включение/отключение светового фонаря (вертолёт)

obj:get_helicopter():TurnLighting(boolean*)

---------------------------------------------------------
--повернуть в указанную координату (вертолёт)

obj:get_helicopter():LookAtPoint(vector*, boolean*)

--где, boolean* -повернуть/отменить поворот(возвращается в дефолтовый вектор)

--------------------------------------------------------
--использовать way пути, для перемещения вертолёта

obj:get_helicopter():GoPatrolByPatrolPath(name_path*, point_start*)

--где,
-- name_path -имя пути из файла all.spawn
-- point_start -номер стартового поинта
-- (пробегается по всем поинтам указанного пути, начиная от указанного стартового поинта)

--------------------------------------------------------
--обстрелять указанную позицию (вертолёт)

obj:get_helicopter():SetEnemy(vector*)

--------------------------------------------------------
--обстрелять указанный объект (вертолёт)

obj:get_helicopter():SetEnemy(game_object*)

--------------------------------------------------------
--отменить обстрел (вертолёт)

obj:get_helicopter():ClearEnemy()

--------------------------------------------------------
--отыгрывание звуков от вертолёта

heli_snd.play_snd( obj, heli_snd.snd_hit, 2 )

--Где:
--heli_snd -файл с настройками озвучки
--obj -клиентский объект
--snd_hit -таблица звуков из файла heli_snd
--2 -приоритет среди других озвучек


Я думаю это тоже может пригодиться. Определял так же при спавне через скрипт.

добавлено спустя 53 секунд

Цитата
вот нашел у себя в доках такую запись
monstr:set_invisible(true)

monstr:set_invisible(false)

это для подмены одной модельки кровососа (видимой) на другую (невидимую)?


erlik Похоже на то.

Сообщение было успешно отредактировано singapur22 (08-10-2009 19:25 GMT3 часа, назад)

dan8
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 500
Откуда: ventspils
Занятие: заниматся модингом вот такой я
Возраст: 29

07-07-2010
08-10-2009 19:30 GMT3 часа #1059144   Split
а как сделать чтобы гг мог стать не меченым а валкадавом?


singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
08-10-2009 19:34 GMT3 часа #1059150   Split
Struck Смотри внимательней. Метод перелёта в указанную координату. Устанавливай отслеживание координат нужного объекта, и отслеживание дистанции до него, чтобы не подлетал слишком близко, иначе потеряет из виду.


dan8
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 500
Откуда: ventspils
Занятие: заниматся модингом вот такой я
Возраст: 29

07-07-2010
08-10-2009 19:38 GMT3 часа #1059159   Split
а как сделать чтобы гг мог стать не меченым а валкадавом?


4-GD
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 1057
Откуда: Брянск и ее об..
Занятие: Imternet,книги,авто,тюнинг авто,STRIT-рэйсинг,велик
Возраст: 31

04-05-2010
08-10-2009 19:58 GMT3 часа #1059189   Split
как ваще создовать спальный мишек!!!обесните плизззз!!!!!!!!!!!!!!!!!!!!!!!


Psychologist
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 1808
Откуда: Челябинск
Занятие: Стихоплётство, туризм :)
Возраст: 27

12-12-2010
08-10-2009 20:05 GMT3 часа #1059197   Split
dan8 Меняй имя Меченого на волкодава и будет тебе счастье. Затем в диалогах поменй меченого на волкодава.


singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
08-10-2009 20:18 GMT3 часа #1059214   Split
Struck Это называется скриптовый таймер. И должно выглядеть так:

local start = false
local fastcall = false
local tim = 0

function start_main_timer()
start = true
tim = time_global()
if not fastcall then
db.actor:set_fastcall(update_timer, db.actor)
fastcall = true
end
end

function update_timer()
if start then
this.main_timer()
end
end

function main_timer()
if time_global() - tim > 10000 then
--твои действия
start = false
end
end


Где, 10000 = 10 секунд реального времени.


Отшель[НИК]
[1] Странник
Онлайн статус=0  Профиль    




Посты: 263
Откуда: Россия, Свердловская обл., г. Качканар
Занятие: квестостроение, программирование (немного)...
Возраст: 30

08-10-2009 21:30 GMT3 часа #1059312   Split
Можно ли через функцию выдать запись в ПДА, или это делается только инфопоршнем?


singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
08-10-2009 21:35 GMT3 часа #1059323   Split
Struck Без разницы, в каком файле ты его создашь. Хоть в новом, хоть в уже имеющемся. 10000 --это время, через которое выполнятся твои прописанные действия, с момента запуска таймера. Тоесть, через 10 секунд. Запуск таймера производится вызовом функции start_main_timer().

Если из этого же файла, то так:

this.start_main_timer()

Если из другого, то так:

имя_файла.start_main_timer()

Если из диалога, то так:

<action>имя_файла.start_main_timer</action>

Если из логики, то скрипт нужно вписывать в файле xr_effects.script. И вызывать его так:

%=start_main_timer%


singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
08-10-2009 21:56 GMT3 часа #1059357   Split
Struck Вот полноценный пример запуска скрипта, при использовании предмета:

local note = nil

--отслеживание использования Ноутбука
function open_notebook()
if note and type(note) == 'number' then
if not level.object_by_id( note ) then
--запускаем скрипт при использовании предмета
alife():create('notebook', db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
end
note = nil
end

if note and type(note) == 'userdata' then
note = note:id()
else
note = nil
end
end

function drop_notebook(obj)
if obj:section() == 'notebook' then
note = obj --если Ноутбук, то запомнить его userdata
end
end


Вызов функции drop_notebook(obj) нужно вписать в функцию дропа, файла bind_stalker.script

При этом функция open_notebook() требует постоянного апдейта.


Николай ФеНиКс
[10] Житель
Онлайн статус=0  Профиль    




Посты: 1493
Откуда: От Туда!
Занятие: Мотоциклы =)
Возраст: 29

15-01-2011
08-10-2009 22:03 GMT3 часа #1059364   Split
singapur22
Слушай Плиз я обыскался,но не чё не нашёл...Мне нужен скрипт отключки ГГ ...Нет...Скрипт проигрывания Видео!
В лабах После Опр-ого момента воспроизводится Видео так? Так дак вот где этот скрипт в xr_effects.script я искал,но не нашёл.
Ткни носом, а


userbar
Николай ФеНиКс
[10] Житель
Онлайн статус=0  Профиль    




Посты: 1493
Откуда: От Туда!
Занятие: Мотоциклы =)
Возраст: 29

15-01-2011
08-10-2009 22:06 GMT3 часа #1059372   Split
Я там нашёл вот это:
--[[
Дать сталкеру небольшой пинок. Например чтоб скинуть его с возвышения.
параметры: actor, npc, p[direction,bone,power,impulse,reverse=false]
1. direction - если строка, то считается, что это имя пути и в сторону
первой точки производится толчек. Если же это число, то оно
рассматривается как story_id персонажа от которого должен поступить хит.
2. bone - строка. Имя кости, по которой наносится удар.
3. power - сила удара
4. impulse - импульс
5. reverse (true/false) - изменение направления удара. по умолчанию false
--]]
function hit_npc(actor, npc, p)
local h = hit()
local rev = p[5] and p[5] == 'true'
h.draftsman = npc
h.type = hit.wound
if type(p[1]) == 'number' then
local hitter = level_object_by_sid(p[1])
if not hitter then return end
if rev then
h.draftsman = hitter
h.direction = hitter:position():sub(npc:position())
else
h.direction = npc:position():sub(hitter:position())
end
else
if rev then
h.draftsman = nil
h.direction = npc:position():sub(patrol(p[1]):point(0))
else
h.direction = patrol(p[1]):point(0):sub(npc:position())
end
end
h:bone(p[2])
h.power = p[3]
h.impulse = p[4]
--printf("HIT EFFECT: (%s, %s,%d,%d) health(%s)", npc:name(), p[2], h.power, h.impulse, npc.health)
npc:hit(h)
end

--[[

Можно применить?

И вот:
-- Принудительное усыпание игрока на радаре.
function force_actor_sleep(npc)
db.actor:actor_sleep(24, 0)
end
Можно это сделать на кордоне?
И как?


userbar
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 46

18-03-2015
08-10-2009 22:08 GMT3 часа #1059374   Split
singapur22
он такой же юзает

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

elseif flag2 == true and time_1 == 0 then
time_1 = time_global() + 3000
if time_1 <= time_global() then
действие
flag2 = false
flag3 = true
time_1 = 0

elseif flag3 == true and time_1 == 0 then
time_1 = time_global() + 6000
if time_1 <= time_global() then
действие
flag3 = false
flag4 = true
time_1 = 0

уже кучу вариантов делал, а все не то - начальные два действия схемы идут нормально - а дальше с этими флагами 2 , 3, 4, 5 - нет.


erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 46

18-03-2015
08-10-2009 22:10 GMT3 часа #1059378   Split
Николай ФеНиКс
я для кого все сегодня расписал? Смотри тему которая недавно в архив ушла...


Николай ФеНиКс
[10] Житель
Онлайн статус=0  Профиль    




Посты: 1493
Откуда: От Туда!
Занятие: Мотоциклы =)
Возраст: 29

15-01-2011
08-10-2009 22:11 GMT3 часа #1059380   Split
Ну и вот это:
-- играть звук в голове актёра
function play_snd(actor, npc, p)
if p[1] then
local snd_obj = xr_sound.get_safe_sound_object(p[1])
--snd_obj:play(actor, p[2] or 0, sound_object.s2d)
snd_obj:play_no_feedback(actor, sound_object.s2d, p[2] or 0, vector(), 1.0)
end
end

как задать свои звуки?(или это где-то используется?)

добавлено спустя 1 минуту

erlik

я что-то там не чё не вижу!

Сообщение было успешно отредактировано Николай ФеНиКс (08-10-2009 22:11 GMT3 часа, назад)

userbar
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
08-10-2009 22:12 GMT3 часа #1059388   Split
Николай ФеНиКс например функция start_yantar_dream(actor, npc), файла xr_effects.script. Производит запуск туториала, в котором и настроен видео ролик.


Николай ФеНиКс
[10] Житель
Онлайн статус=0  Профиль    




Посты: 1493
Откуда: От Туда!
Занятие: Мотоциклы =)
Возраст: 29

15-01-2011
08-10-2009 22:15 GMT3 часа #1059394   Split
А. А как такой же тутор сделать например для кордона?


userbar
Николай ФеНиКс
[10] Житель
Онлайн статус=0  Профиль    




Посты: 1493
Откуда: От Туда!
Занятие: Мотоциклы =)
Возраст: 29

15-01-2011
08-10-2009 22:17 GMT3 часа #1059399   Split
erlik
это да?=)
в следующий раз когда захочешь найти что-то связанное с эффектами и то что запускается через рестрикторы (или логику npc ) - сразу лезь xr_effects.

Для Янтаря - смотри раздел Функции для Янтаря - там все: запуск усыпания эктора, его перенос на другую точку, запуск видео (называется вроде - сейчас точно не помню - "yantar_dream" вроде), запуск постэффектов, анимаций камеры, остановка всего этого по таймеру.
Все эта ботва запускается на вход в рестриктор +таймер в рестрикторе. логику янтaрского рестриктора смотри в папке config\scripts\yan


userbar
Николай ФеНиКс
[10] Житель
Онлайн статус=0  Профиль    




Посты: 1493
Откуда: От Туда!
Занятие: Мотоциклы =)
Возраст: 29

15-01-2011
08-10-2009 22:23 GMT3 часа #1059405   Split
Логика:
[logic]
active = sr_idle@1

[sr_idle@1]
on_info = {+yan_spawn_ghost} sr_idle@2_1 %=yan_gluk%

[sr_idle@2_1]
on_timer = 3000 | sr_idle@2_2 %=run_postprocess(agr_u_fade)%

[sr_idle@2_2]
on_timer = 2500 | sr_idle@2 %=run_postprocess(deadcity_wake) =yan_actor_sleep_1 =run_cam_effector(dream:1002:true) =yan_dream_voices =disable_ui%

[sr_idle@2]
on_timer = 15000 | sr_idle@2_3 %=yan_actor_sleep%

[sr_idle@2_3]
on_timer = 3000 | sr_idle@3 %=stop_cam_effector(1002) =run_cam_effector(prison_0:1003:true)%

[sr_idle@3]
on_timer = 7000 | nil %=stop_cam_effector(1003) =run_cam_effector(prison_1) =enable_ui -yan_spawn_ghost%

Можно просто заменить на кордон?
или ПРОСТО не изменить?

добавлено спустя 3 минут

function force_actor_sleep(npc)
force_actor_sleep(npc))
end
и после болтавни с НПСом это <action> force_actor_sleep(npc))</action>
работать будет?

Сообщение было успешно отредактировано Николай ФеНиКс (08-10-2009 22:23 GMT3 часа, назад)

userbar
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 46

18-03-2015
08-10-2009 22:26 GMT3 часа #1059415   Split
Николай ФеНиКс
заспавни рестриктор на кордоне и все эффекты какие хочешь пропиши в его логике.
кроме активации функции переноса эктора с одной точки в другую - yan_actor_sleep.
если хочешь перемещение эктора - то напиши свою функцию телепорта - она элементарная

function teleportate(x,y,z)
local a = vector()
a.x = 347.524597
a.y = 26.15175247
a.z = -31.34478378
db.actor:set_actor_position(a)
end




Форумы > Архив > Склад > Как сделать свой мод? (по 20.11.09)

Страница 1 из 651234 »Последняя


Эта тема закрыта, публикация новых сообщений недоступна.



???????@Mail.ru Rambler's Top100
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2024 «Stalker-Portal.ru»