Пользователей: 1
Гостей: 1339
Всего: 1340

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

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









Автор Сообщение
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
05-04-2010 19:03 GMT3 час. #1218524   
Николай ФеНиКс
Для начала нужна логика NPC который должен подойти к трупу. Труп нужно заспавнить скриптом -
функция для спавна трупа

local obj_id =0

function spawn_trup()
local obj = alife():create(name, позиция, левелветекс, геймвертекс)
obj_id = obj.id
obj:on_death()
end

--обе функции в один файл в - xr_effects
для удаления трупа (не проверял)
function del_trup()
local sobj = alife():object(obj_id)
if sobj then
alife():release(sobj,true)
end
end

Тебе нужно написать логику волкера для NPC, чтобы тот подошел на на позицию где будет лежать труп. НУ или просто заспавнить его прямо рядом с ним.
логика запуска функций и эффектов примерно такая:
начальная схема
[logic]
active = remark@base
[remark@base]
anim = любая нужная анимка
no_move = true
target = nil
meet = no_meet
on_timer = 5000|remark@doctor_wakeup ; через 5 сек переход к анимации склонения над телом

схема с действием
[remark@doctor_wakeup]
anim = doctor_wakeup; склоняемся над телом базарим всякую фигню
target = nil; лучше конечно целью сделать труп - но тогда нужен сид для него
on_timer = 15000|%=run_postprocess(deadcity_wake:1777:false)% ; запускаем маскировку
on_timer2 = 19000|%=del_trup% ; удаляем труп - через 4 сек - промежуток сам побери правильный
on_timer3= 20000|%=run_cam_effector(dream)% ; запускаем анимацию камеры
on_timer4 = 21000|%=stop_postprocess(1777)% ; останавливаем маскировку

в общем типа того.

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

в общем все промежутки времени нужно синхронизировать с анимацией doctor_wakeup - сколько она длится я не помню. Поэтому выставил наугад.

отредактировал(а) erlik: 05-04-2010 19:21 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
05-04-2010 20:50 GMT3 час. #1218741   
erlik
ага СПС!=) попробую=)
а как запись сделать чтобы именно этот момент снять...
или хотя это легко...
демки ведь и со звуком записываются да?


Hunter6
    
Посты: 79
Откуда: Москва
Возраст: 30
06-04-2010 00:03 GMT3 час. #1218929   
Знатоки скриптов помогите... как заспавнить любого непися скриптом?? ссылки на статьи другие не неадо писать... И еще вопрос у мя с персонажем фигня какая-то... как ему задать путь по которому н будет ходить??

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

а то я через acdc двух сталкеров заспавнил и они начали ходить друг за другом и убегать на другие локи... Также еще вопрос если скриптами спавнить то можно как нить сделать так чтобы при старте игры сразу же спавнились все неписи а не через диалог?

отредактировал(а) Hunter6: 06-04-2010 00:09 GMT3 час.

В моем журнале много статей, которые вас ДЕЙСТВИТЕЛЬНО обрадуют)
Я глава команды SU Team
На данный момент работаю над паком террейнов для ТЧ PTSHoC v 0.1
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
06-04-2010 07:01 GMT3 час. #1218963   
Hunter6
на предыдущие страницы глянь, я это расписывал!

erlik

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

логика:
[logic]
active = remark@base
[remark@base]
anim = punch
no_move = true
target = nil
meet = no_meet
on_timer = 65000|remark@doctor_wakeup


[remark@doctor_wakeup]
anim = doctor_wakeup
snd = story_06
target = nil
on_timer = 15000|%=run_postprocess(deadcity_wake:1777:false)%
on_timer2 = 19000|%=del_trup%
on_timer3= 20000|%=run_cam_effector(dream)%
on_timer4 = 21000|%=stop_postprocess(1777)%



функции в ефекторе:
local obj_id =0

function spawn_trup()
local obj = alife():create("trup",vector():set(-251.54, -19.39,-130.75),9545,8)
obj_id = obj.id
obj:on_death()
end

function del_trup()
local sobj = alife():object(obj_id)
if sobj then
alife():release(sobj,true)
end
end


Сана
    
Посты: 98
Откуда: Черноболь,Кордон
Возраст: 32
06-04-2010 09:31 GMT3 час. #1219026   
Скажите пожалуйста как оптику на вертикалку поставить? Зарание СПС?

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

И можно ли таким же способом в ЧН и ЗП?

отредактировал(а) Сана: 06-04-2010 09:33 GMT3 час.

Одиночни,Долг Рулят???Свобода НЕ ЛУДШИЙ ВОРЕАНТ)))
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
06-04-2010 11:24 GMT3 час. #1219081   
Николай ФеНиКс
ну вылет понятно из-за чего - трупа то нет . а вот почему он не спавнится не знаю - функция вроде верная - но проверю ее написание еще раз.

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

так - проверил. эту функцию еще singapur22 выкладывал и проверялась она не раз
local sobj = alife():create("stalker", position, level_vertex_id, game_vertex_id)
sobj:on_death()

как видишь написание метода убийства NPC сразу при спавне - правильное.
должна спавнить труп.

отредактировал(а) erlik: 06-04-2010 11:38 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
06-04-2010 12:44 GMT3 час. #1219139   
erlik
У меня к тебе вопрос.
Нам даны 3 неизвестные (y1y2y3) и четыре числа (1; 2; 3; 4). Нужно узнать при каких з


И все мы ждем чего-то. Работа - дом - работа ©
Struck
    
Посты: 1946
Откуда:
Возраст:
06-04-2010 14:21 GMT3 час. #1219191   
Николай ФеНиКс а зачем тебе его айди?...


Снова в строю.

l
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
06-04-2010 14:22 GMT3 час. #1219192   
где ты там нашёл айди???

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

obj_id = obj.id
или ты про это???
то есть это можно удалить?

отредактировал(а) Николай ФеНиКс: 06-04-2010 14:22 GMT3 час.

erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
06-04-2010 16:14 GMT3 час. #1219314   
Struck
а труп значит удалять по имени в профайле NPC?
...Ответ на твой вопрос для чего айди.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
06-04-2010 16:58 GMT3 час. #1219368   
написал так:
function spawn_trup()
local sobj = alife():create("trup", -251.54, -19.39,-130.75,9545,8)
obj_id = obj.id
sobj:on_death()
end

вылет точно такой же.


XrKamp
    
Посты: 129
Откуда:
Возраст: 14
06-04-2010 17:07 GMT3 час. #1219380   
Сталкер Монолита при значениях или при значении "у" ? ну допустим a b c
просто при любом значении у
токого не может быть
y1+y2+y3 = 1


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

Николай ФеНиКс локальную переменную забыл, те id обьекта надо определить

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

local obj_id = ...

отредактировал(а) XrKamp: 06-04-2010 17:14 GMT3 час.

Внимание! В подписи запрещены ссылки на любые внешние ресурсы!
не смотри журнал
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
06-04-2010 17:20 GMT3 час. #1219402   
всё вроде разобрался

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

XrKamp
она у меня была...
я просто сам труп не спавнил&P:sarcastic:

отредактировал(а) Николай ФеНиКс: 06-04-2010 17:21 GMT3 час.

erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
06-04-2010 17:27 GMT3 час. #1219409   
Николай ФеНиКс
так неправильно

function spawn_trup()
local sobj = alife():create("trup", -251.54, -19.39,-130.75,9545,8)
obj_id = obj.id
sobj:on_death()
end

чувак ты убиваешь, а айди чувака в переменную local obj_id=0 не пишется
надо не obj_id = obj.id
а obj_id = sobj.id раз уж ты переправил obj на sobj зачем то - разницы то никакой от замены одного имени на другое


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
06-04-2010 17:30 GMT3 час. #1219411   
не все равно фигня какая-то
функция:
local obj_id =0

function spawn_trup()
local sobj = alife():create("trup", vector():set(-251.54, -19.39,-130.75),9545,8)
obj_id = obj.id
sobj:on_death()
end

логика:
[logic]
active = remark@base
[remark@base]
anim = punch
no_move = true
target = nil
meet = no_meet
on_timer = 65000|remark@doctor_wakeup


[remark@doctor_wakeup]
anim = doctor_wakeup
snd = story_06
target = nil
on_timer = 10000|%=spawn_trup%
on_timer1 = 15000|%=run_postprocess(deadcity_wake:1777:false)%
on_timer2 = 19000|%=del_trup%
on_timer3= 20000|%=run_cam_effector(dream)%
on_timer4 = 21000|%=stop_postprocess(1777)%


XrKamp
    
Посты: 129
Откуда:
Возраст: 14
06-04-2010 17:36 GMT3 час. #1219421   
Николай ФеНиКс

local obj_id =0

function spawn_trup()
local sobj = alife():create("trup", vector():set(-251.54, -19.39,-130.75),9545,8)
obj_id = sobj.id
sobj:on_death()
end

&P

а не

function spawn_trup()
local sobj = alife():create("trup", vector():set(-251.54, -19.39,-130.75),9545,8)
obj_id = obj_id
sobj:on_death()
end

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

ну или

function spawn_trup()
local obj_id = alife():create("trup", vector():set(-251.54, -19.39,-130.75),9545,8)
obj_id = obj_id
sobj:on_death()
end

отредактировал(а) XrKamp: 06-04-2010 17:39 GMT3 час.

Внимание! В подписи запрещены ссылки на любые внешние ресурсы!
не смотри журнал
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
06-04-2010 17:42 GMT3 час. #1219431   
и ещё почему это не работает:
Логика:

[logic]
active = remark@prisoner
on_death = death

[death]
on_info = %=vistrel_v_cherep%

[remark@prisoner]
meet_state = 5|help_me@gar_dm_newbie_no_money
meet_state_wpn = 5|hands_up@agr_dont_shoot
victim = 10|actor
victim_wpn = 10|actor
use = true
use_wpn = true
meet_dialog = escape_lager_guard_start_dialog
on_actor_dist_le = 2| remark@die

[dont_spawn_character_supplies]

[remark@die]
anim = suicide
no_rotate = true
use_wpn = true
snd = mil_crazy
snd_anim_sync = true
on_signal = action_end | nil %=vistrel_v_cherep_2%



в эффекторе:

function vistrel_v_cherep_2(actor, npc)
local snd_obj = sound_object([[Weapons\walther_shoot]])
if snd_obj ~= nil then
snd_obj:play_at_pos(db.actor, npc:position(), sound_object.s3d)
end

printf("_bp: vistrel_v_cherep_2: npc='%s'", npc:name())
local h = hit()
h.power = 1000
h.direction = vector_rotate_y(npc:direction(), 90)
h.bone = "bip01_head"
h.draftsman = npc
h.impulse = 200 --350
h.type = hit.wound
npc:hit(h)
end

function vistrel_v_cherep(actor, npc)
db.actor:set_task_state(task.fail, "val_suicide_find_lost_stalker", 0)
end



суть данной конструкции застрелить НПСа во время подхода ГГ ближе чем 5 метров...
а ничего не работает!=(
даже звук не воспроизводится

и даже оружие не появляется...

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

XrKamp
хы ща проверим=):lol)

отредактировал(а) Николай ФеНиКс: 06-04-2010 17:59 GMT3 час.

XrKamp
    
Посты: 129
Откуда:
Возраст: 14
06-04-2010 17:58 GMT3 час. #1219448   
Николай ФеНиКс
В логике правильно!
только не пойму че за пустая секция
[dont_spawn_character_supplies]

А вылет из-за функции vistrel_v_cherep_2 (вроде

отредактировал(а) XrKamp: 07-04-2010 12:52 GMT3 час.

Внимание! В подписи запрещены ссылки на любые внешние ресурсы!
не смотри журнал
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
06-04-2010 18:15 GMT3 час. #1219463   
Логика:

[logic]
active = remark@prisoner
on_death = death

[death]
on_info = %=vistrel_v_cherep%

[remark@prisoner]
meet_state = 5|help_me@gar_dm_newbie_no_money
meet_state_wpn = 5|hands_up@agr_dont_shoot
victim = 10|actor
victim_wpn = 10|actor
use = true
use_wpn = true
meet_dialog = escape_lager_guard_start_dialog
on_actor_dist_le = 2| remark@die


[remark@die]
anim = suicide
no_rotate = true
use_wpn = true
snd = mil_crazy
snd_anim_sync = true
on_signal = action_end | nil %=vistrel_v_cherep_2%


убрал я пустую секцию...
в эффекторе:

function vistrel_v_cherep_2(actor, npc)
local snd_obj = sound_object([[Weapons\walther_shoot]])
if snd_obj ~= nil then
snd_obj:play_at_pos(db.actor, npc:position(), sound_object.s3d)
end

printf("_bp: vistrel_v_cherep_2: npc='%s'", npc:name())
local h = hit()
h.power = 1000
h.direction = vector_rotate_y(npc:direction(), 90)
h.bone = "bip01_head"
h.draftsman = npc
h.impulse = 200 --350
h.type = hit.wound
npc:hit(h)
end

function vistrel_v_cherep(actor, npc)
db.actor:set_task_state(task.fail, "val_suicide_find_lost_stalker", 0)
end


почему из-за vistrel_v_cherep_2 ??


Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
06-04-2010 18:17 GMT3 час. #1219466   
XrKamp
При каких значениях y1; y2; y3;
Т.е. например:
1+2+1 = 4


И все мы ждем чего-то. Работа - дом - работа ©
KRUGER94
    
Посты: 93
Откуда: Кисловодск
Возраст: 30
07-04-2010 09:40 GMT3 час. #1219821   
Люди помогите я не могу установить full_scale_icon,откуда его вообще брать что-бы добавить к иконкам,у меня в файле outfit.ltx описания костюмов например костюм новичка,и там написано full_scale_icon = 0,11 откуда берётся это число и вообще как новому костюму присвоить full_scale_icon подскажите плиз.


Duglas Zigler
    
Посты: 11
Откуда: Волгоград
Возраст:
07-04-2010 13:48 GMT3 час. #1219929   
народ помогите!!!
добовлял новое оружие в игру, встретил такую ошибку...

Expression : !hud_snd.sounds.empty()
Function : HUD_SOUND::LoadSound
File : E:\stalker\sources\trunk\xr_3da\xrGame\HudSound.cpp
Line : 27
Description : there is no sounds for:
Arguments : wpn_c7a1

как с этим бороться?


FSX77
    
Посты: 2
Откуда:
Возраст:
07-04-2010 14:08 GMT3 час. #1219959   

there is no sounds for:

походу звука нет для пушки


Duglas Zigler
    
Посты: 11
Откуда: Волгоград
Возраст:
07-04-2010 14:14 GMT3 час. #1219973   
думал патч не тот...звуки стандартные из ресурсов игры подставлял..не помогает....:-(


Aviator
    
Посты: 402
Откуда: Припять
Возраст: 28
07-04-2010 14:18 GMT3 час. #1219982   
Я два мода соединил. Получилось весело!:ye)


а у меня есть маленькая, радиактивная х**ня!!!
МОЙ МОЗГ
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
07-04-2010 16:08 GMT3 час. #1220174   
Николай ФеНиКс
Тебе писали:

Николай ФеНиКс
В логике правильно!
только не пойму че за пустая секция
[dont_spawn_character_supplies]

Сообщение #1219448


И все мы ждем чего-то. Работа - дом - работа ©
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
07-04-2010 16:22 GMT3 час. #1220191   
Сталкер Монолита
она роли никакой не играет! хоть её убери хоть оставь! на неё переходов никаких нет...


FLIKER
    
Посты: 1047
Откуда: Краснодар
Возраст: 30
07-04-2010 18:53 GMT3 час. #1220371   
1)Люди помогите как сделать чтобы ГГ появлялся не у Сидоровича а на другой локации?(не через all.spawn)
2)Вопрос:вот где мне взять level_vertext_id и game_vertext_id локации MARSH?


Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
07-04-2010 19:39 GMT3 час. #1220405   

(не через all.spawn)

Никак. Только в пределах активного лвла методом db.actor:set_actor_position(координаты без вертексов).

вот где мне взять level_vertext_id и game_vertext_id локации MARSH?

**50016ea8aab1bb10eeba**:level_vertex_id(), db.actor:game_vertex_id()
news_manager.send_tip(db.actor, "level_vertex = "..lvid.."\\ngame_vertex = "..gvid, 0, "default", 600000)
end[/code]
Вызывать - как хочешь. А лучше скачай скрипт от Сингапура - там все координаты показываются в реальном времени.


FLIKER
    
Посты: 1047
Откуда: Краснодар
Возраст: 30
07-04-2010 19:55 GMT3 час. #1220418   
Futura
Дай сылку на скрипт от Сингапура.....
Просто я хочу сделать переходы через скрипт с кордона на болото ....:-)




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


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

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