erlik Что у меня ничего не получилось. Подскажи пожалуйста где я ошибся?
--\\для активации первой функции нужно включить флаг старта через любой скрипт
local time_delay = 0
flag = false
flag_start = false
--\\обе функции - на апдейт
function starter()
if not flag_start then
return end
local factor = 100
level.set_time_factor(factor)
time_delay = time_global()
flag = true
flag_start = false
end
function stopper()
if not flag then
return
else
if time_global() - time_delay > 120000 then --\ через 2 минуты (120 сек) прокрутку времени останавливаем
level.set_time_factor(10) --\ возвращаем стандартный тайм_ фактор
flag = false
end
end
end
function flag_on()
if not flag_start then
flag_start = true
end
end
В Бинд-Сталкере
function actor_binder:update(delta)
sleep.starter()
sleep.stopper()
Через диалог:
sleep.flag_on
или сбрось свой вариант, что и где в каких файлах? Пожалуйста помоги. 8-(
karavan
вот эти переменные
flag = false
flag_start = false
задай как локальные то есть допиши перед ними local (я ведь уже поправил это в посте - а ты не заглянул)
я ведь писал функцию прямо здесь - и кое где недописал что надо -
так что ты проверяй визуально всегда то что тебе дают , тем более если это писалось в порядке ответа тут же.
что касается апдейта то я в бинд-сталкер уже давно ниче не вписываю - у меня там стоит только это (то что зеленым)
после этой строчки
-- апдейт звуковой схемы актера
xr_sound.update_actor() func.on_actor_update(delta)
а в тело самой функции on_actor_update(delta) которая у меня лежит в файле func я и вписываю все что мне надо апдейтить.
Так что в бинд_сталкер можно и не засорять лишним мусором.
manunj
вот такого не использовал - я же партиклы чисто методом тыка пока проверяю - надо конечно партикл_едитором пользоваться, да все лень в SDK лезть.
Вот партикл иллюзион если освою, тогда может свои клепать буду...
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Помоги пожалуйста.
Время запустилось после диалога.
Вот функция:
--\\для активации первой функции нужно включить флаг старта через любой скрипт
local time_delay = 0
local flag = false
local flag_start = false
--\\обе функции - на апдейт
function starter()
if not flag_start then
return end
local factor = 100
level.set_time_factor(factor)
time_delay = time_global()
flag = true
flag_start = false
end
function stopper()
if not flag then
return
else
if time_global() - time_delay > 120000 then --\ через 2 минуты (120 сек) прокрутку времени останавливаем
level.set_time_factor(10) --\ возвращаем стандартный тайм_ фактор
flag = false
end
end
end
function flag_on()
if not flag_start then
flag_start = true
end
end
Как при использовании например аптечки воспроизводился звук???
и можно сделать индикаторы брони иконками?
ну...
1 степень--Зелёная иконка
2 степень-- Жёлтая иконка
3 степень-- Красная иконка
Реально???
Если да то как?
Люди. Никто не знает как в АллСпавне сделаны тайники. Я имею ввиду разные металические ящики, брощеные рюкзаки, металические трубы в которых спрятан хабар и пр.
karavan
сделал простую функцию для автоматической подкормки ГГ - чтобы не подыхал во время сна с голодухи. Правда сделать проверку на голод не получилось - переменную db.actor.satiety как оказалось нельзя сравнивать с числом, поэтому использовал проверку на здоровье.
Эктор хавает еду если она у него есть, а если нет - она ему спавнится, условие - уменьшение уровня здоровья на 20%.
Если надо - можешь пользоваться, я ее до конца еще не тестил, но когда у ГГ жратвы в рюкзаке нет - она его точно кормит.
function gratva() if not flag then
return
else
local actor = db.actor
local tab_eat = {"bread", "kolbasa", "conserva"}
if actor.health < 0.8 then --\ если здоровье упало то
for k,v in ipairs (tab_eat) do --\ проверим табличку еды
if actor:object(v) then --\ если хавчик есть -
actor:eat(actor:object(v)) --\ то сожрем первое что попалось
break --\ и тут же выйдем из проверки таблицы
elseif actor.health < 0.8 and not actor:object(v) then --\ если же хавчика нет, то добрый дядя его нам заспавнит
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),db.actor:id())
if actor:object(v) then
actor:eat(actor:object(v))
end
end
end
end
end
end
то что оранжевым - это условие чтобы апдейт запускался только когда запущено убыстрение времени.
проверял ее без этого условия.
вот в этой строчке проверь что бы был пробел перед tnen - а то че то форум ужал строчку к скобке вместе
not actor:object(v) then
отредактировал(а) erlik: 22-10-2009 21:18 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Ребята извините за неправильный скрипт сна. karavan
Вот скрипт сна:
Не проверял вот эту версию,но попробуйте.
local flag = false
local tim = level.get_time_hours()
function time_start()
flag = true --\ флаг = правде
level.set_time_factor(7950) --\ фактор = 7950
end
function time_sleep() --\ функция сна
if flag then --\ если флаг равен правде,то
if tim + 3 then --\если к времени прибавилось 3 часа,то
level.set_time_factor(10) -- \ сделать стандартный фактор
flag = false -- \ флаг = лжи
elseif -- \ также если
if flag and tim > 23 and tim + 3 then --\флаг = правде время больше 23 и к нему прибавилось 3 часа
tim = tim - 23 --\ вычесть 23 часа
level.set_time_factor(10) --\ сделать стандартный фактор
flag = false --\ флаг = лжи
end
end
end
end
singapur22
Проверь пожалуйста...
И письмо у себя в лс.
:-)
karavan
Вот целый сон на три часа -
смотри пример и делай как тебе надо.
Для того чтобы не писать кучу функций для установки разного времени сна - можно написать одну дополнительную, которая будет выбирать коэффициент в зависимости от нажатой той или иной кнопки меню и возвращать его в функцию убыстрения времени - и время будет проходить столько нужно.
в симбионе напрмиер используется коэффициент scale
например если scale = 2, а новый тайм фактор 180, то 180х2= 360 и тогда будет не три часа сна, а шесть.
В общем как нить завтра если надо будет накидаю такую...
local time_delay = 0
local flag = false
local flag_start = false
function flag_on()
if not flag_start then
flag_start = true
time_delay = time_global()
end
end
function starter()
local actor = db.actor
if not flag_start then
return
else
if time_global() - time_delay > 120000 then --\ это задержка перед тем как наступит сон - ее можно вообще убрать - тогда сразу отрубится - но тогда и лишний end в конце тоже надо убрать
local factor = 180 --\ при таком тайм факторе должно пройти 3 игровых часа за одну минуту реального времени - наверно - точно не проверял
local snd_obj = sound_object("actor\\sleep") --\ типа эктор храпит
snd_obj:play_no_feedback(actor, sound_object.s2d, 0, vector(), 15.0)
level.set_time_factor(factor)
actor:hide_weapon() --\ прячем оружие
level.disable_input() --\ отключаем управление
game.start_tutorial("x18_dream") --\ включаем сон
time_delay = time_global()
flag = true
flag_start = false
end
end
end
function stopper()
local actor = db.actor
if not flag then
return
else
if time_global() - time_delay > 60000 then --\ через 1 минуту (60 сек) прокрутку времени останавливаем
if actor:alive() then --\ необязательная проверка на то жив ли эктор - при подкормке сдохнуть не должен
level.set_time_factor(10) --\ возвращаем стандартный тайм_ фактор
level.enable_input() --\ включаем управление клавиатурой
actor:restore_weapon() --\ возвращаем оружие в руки
level.add_cam_effector("camera_effects\\prison_1.anm", 25, false, "") --\ эффекты пробуждения
level.add_pp_effector("yantar_underground_psi.ppe", 2007, false)
level.add_pp_effector("total_recall.ppe", 2008, false)
local snd_obj = sound_object("characters_voice\\human_01\\stalker\\states\\breath\\breath_2")
snd_obj:play_no_feedback(actor, sound_object.s2d, 0, vector(), 15.0)
level.add_cam_effector("camera_effects\\hit_back_left.anm", 26, false, "")
flag = false
end
end
end
end
всю функцию не тестил - дело за тобой. к тому ж ее все равно надо будет переделывать так как тебе надо. так что это просто черновой набросок.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Тёма Стрелок Фотошопом. А потом их надо наложить на модель этого АК74.
Вопросик:
Почему остальные диалоги показываются только после задания с флэхой? Может они как-то через инфопоршень закрыты? Если да, то через какой?
Сталкер Монолита
через какой - смотри сам - все легко найти в файлах где id диалогов.
там либо инфопошень, либо прекондишен, либо и то и другое - и они для каждого диалога в основном свои, хотя есть и общие типа escape_dialog.trader_alredy_give_job
и tutorial_end
это когда сидор базарит - то этот самый первый выдается, а прекондишен тот означает что сидор дал эктору первое задание. без них многие (если не все ) диалоги недоступны. так как в них они часто тоже используются как условия.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Люди.
Спавню тайник (точку где можно складывать хабар) и как пологается к ней физический обьект. Все нормально работает только ГГ и НПС могут пройти сквозь этот обьект словно он призрак.
Как правельно надо прописать в АллСпавне, что бы этот физический обьект был "твердым", а не призрачным? Надеюсь ясно выразелся. Если дело в костях то как узнать название кости? И как прописать их?
Вот секция из АллСпавна.
[887]
; cse_abstract properties
section_name = inventory_box
name = level_prefix_inventory_box_0004
position = -196.493774,-20.138729,-142.843506
direction = 0,0,0
Как зделать чтобы у сталкеров были другие костюмы
Как зделать чтобы оружие пробивало вагончики и листовой метал
И можно ли сделать свой личный ящик как в ЗП прямо на кордоне
ЕСЛИ В ЗОНУ ПОТЯНУЛО,НЕ ТЯНИ БЕГИ СКОРЕЕ!!!!
А в уме только одно: МОДЫ,МОДЫ,МОДЫ...
Как убрать переходы между локациями. Сорри за оффтоп
АНАРХИЯ- мать порядка!!
Модный токарь Моня Токин получил по морде током . Будет это тебе уроком . Увлекайся Моня роком. (С. Минаев)
Янтарь - страшное место. После прохождения этой локации у тебя могут быть глюки, страшние сны и нетерпение поиграть еще.
karavan
С часами было напутано,сейчас мне singapur22 прояснил что была ошибка.
Ошибка была - с методом если время больше 23.
Надо чтобы 3 прибавлялось к 24.
:-)
Вот правильный сон(гг спит 3 часа)
local flag = false
local tim = level.get_time_hours()
function time_start()
flag = true
level.set_time_factor(7950)
end
function time_sleep()
if flag then
if tim + 3 then
level.set_time_factor(10)
flag = false
elseif
flag then
if flag and tim > 23 and tim + 3 then
tim = tim - 24
level.set_time_factor(10)
flag = false
end
end
end
end
отредактировал(а) ДатчикХабара: 23-10-2009 13:52 GMT3 час.
Подскажите, что значит секция meet в логике?
И ещё, когда в асдс в теле нпс я прописываю путь к логике(cfg = scripts\*), то она не читается, а читается только тогда, когда запишу её прямо в acdc. Влад-Счастливчик
В character_desc_simulation.xml в профилях новичков в секции прописывай нормальные стволы Vitek5
Юзай офф SDK с компилятором.
Изменения в этом файле будут действовать только после респавна сталкеров. Чтобы сразу при старте выдать нормальное оружие, правь соответствующие character_desc_имя_уровня.xml
в каком файле изменять координаты шкал жизни брони и выносливости?
И сами текстуры...Точнее Текстуры не шкал а где они выводятся...
И как они называются...
добавлено спустя 1 минуту
Влад-Счастливчик
character_desc_escape.xml
отредактировал(а) Николай ФеНиКс: 23-10-2009 16:37 GMT3 час.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.