singapur22
Я везде просто заменил один метод на другой.
local tim = level.get_time_minutes()
все флаги соответсвенно
local flag = 0
local flag1 = 0
local flag2 = 0
local flag3 = 0
local flag4 = 0
и т.д.
первый эффект срабатывает через минуту, а дальше остановка и все.
function run_supereffect()
if (level.get_time_minutes() - tim)>= 10 and flag == 0 then --\ 10 игровых минут по моим подсчетам = минута реальная
level.add_pp_effector("vibros_p.ppe", 1976, true)
level.set_weather("stancia")
local snd_obj = xr_sound.get_safe_sound_object([[anomaly\blowout]])
snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
flag = 1
elseif (level.get_time_minutes() - tim)>= 20 and flag1 == 0 then
level.remove_pp_effector(1976)
flag1 = 1
elseif (level.get_time_minutes() - tim)>= 25 and flag2 == 0 then
this.Run_Vibros()
this.play_sounds()
flag2 = 1
и т.д
в конце
flag11 = 1
db.actor:disable_info_portion("start_effect")
tim = level.get_time_minutes()
end
end
апдейт отсюда
if self.next_restrictors_update_time < time then
bind_restrictor.actor_update(delta)
--effects.start_effect() --\ сначала так делал
if has_alife_info("start_effect") then --\ потом так
effects.run_supereffect()
end
self.next_restrictors_update_time = time + 200
поршень волк выдает
а зачем в функции удаления предмета из игры используется переменная npc?
Точнее говоря что означает npc.id
отредактировал(а) erlik: 12-08-2009 19:31 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
manunj Можно конечно. Причём, при спавне через скрипт, это сделать значительно проще. Делается это так. Ловим серверную юзердату спавнящегося нпс. Через юзердату узнаём его айди. Ну и сохраняем в какой нибудь переменной. Типа так:
local id
function spawn_npc()
local npc = alife():create(данные для спавна)
id = npc.id
end
Чтобы не потерять его айди при переходе на другие уровни, или при перезагрузке игры, создаём соответствующие сохранения в save-файле.
function save_id(p)
p:w_u16(id)
end
function load_id(r)
id = r:r_u16()
end
Затем в bind_stalker.script вставляем вызовы сохранения и загрузки в соответствующих функциях. Здесь главное прописать вызовы в одинаковом порядке.
добавлено спустя 2 минут
erlik Вот в этом у тебя и проблема. Данные методы выдают игровое время. Тоесть:
level.get_time_minutes() --минуты текущего времени в игре. level.get_time_hours() --часы текущего времени в игре.
А точнее. Если, например у тебя в игре текущее время 14:38, то level.get_time_minutes() вернёт число 38, а level.get_time_hours() вернёт 14.
отредактировал(а) singapur22: 12-08-2009 19:36 GMT3 час. Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
В общем ясно - надо обратно на game.time() переходить...:-) на цифры с кучей нолей...так как метод
level.get_time_minutes() мне видимо не подходит...непонятно как с ним работать.
Спасибо за пояснение.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
Раз уж зашел разговор о таймерах, то не мог ты написать простейшую функцию таймера, которая выполняет действие не каждые 10 минут, а один раз? То бишь активировал функцию - запустился таймер, нужное время прошло => запустилась нужная функция ЕДИНОЖДЫ.
Такое возможно?
"Нет Предназначения… Оно не существует. Единственное, что предназначено всем, - это смерть."
function klyuch()
if has_alife_info("поршен") then
if kch == false then
tim = level.get_time_minutes()
kch = true
end
this.name()
end
end
function name()
if tim ~= level.get_time_minutes() then
if sch == 10 then
действие
db.actor:disable_info_portion("поршен")
kch = false
sch = 0
else
sch = sch + 1
end
tim = level.get_time_minutes()
end
end
Где: функция klyuch() должна постоянно апдейдиться. Запуск таймера будет производиться путём включения прописанного инфопоршна. После запуска действия поршен отключается. И таймер переходит опять в ждущий режим, до следующего включения поршна.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
3Ds Max тебе в помощь. Или эктор эдитор, вобщем без умения моделировать никак.
У меня несколько вопросов по диалогам и не только.
1.Как сделать чтобы диалог не повторялся. Типа "Спасибо за помощь"
2.Как сделать чтобы остальные диалоги не появляись пока не закончится этот. Я знаю через прекондишн а как именно? Название диалога шоли вписывать.
3.Можна ли в фразы пихать экшн.
Андрюха "Грозный" В прекондишенах вписываются имена функций, в которых производится соответствующая проверка для данного места. На какоё файл прекондишн ссылается, я уже не помню.
Инфопоршен, это тригер (некий ключ) который может иметь только два состояния (true\false), тобишь включен\выключен. Благодаря чему их используют как условия для действий.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22 А можна после диалога выдать инфопоршн а в следующем диалоге сделать проверку на этот инфопоршн?
И как сделать, чтобы диалог не появлялся второй раз?
Доброго дня!Подскажите плиз...Что и где нужно ковырнуть,чтоб враждебная группировка вновь стала нейтральной... (проблемы с Долгом из-за Черепа:-)) Очень прошу!
Олегкороп Смотря для чего. Если для xr_spawner, то достаточно ввести в консоли rs_stats 1 и с левой стороны экрана будут отображаться многие данные. Среди них, внизу будут координаты нахождения ГГ, по X,Y,Z. Где Y, координаты по вертикали.
Если же координаты нужны для скриптов или для ACDC, то понадобится скрипт, который выводит координаты на экран. Типа такого: Ссылка
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Такой Вопрос:
Тут решил поменять иконки стволов! и новые добавить.
И столкнулся с такой проблемой:
У всех стволов примерно вот такие координаты:
inv_grid_width = 5
inv_grid_height = 2
inv_grid_x = 0
inv_grid_y = 4
И как же их снимать? чтобы они были в током виде(Координаты)
И что используется для того чтобы появилась иконка?
Это:
inv_grid_x = 0
inv_grid_y = 4
Или это:
inv_grid_width = 5
inv_grid_height = 2
отредактировал(а) Николай ФеНиКс: 13-08-2009 18:44 GMT3 час.
Разом у всех не как=)
Легче ГГ добавить скажем килограмм 250=)
Ну а так это делается так:
Покажу на примере ПМа=)
Там в файле ПМа ищешь такую строчку:
inv_weight = 0.73
и ставишь значение на 0 =)
добавлено спустя 3 минут
С тебя 1000 Баллов=) :sarcastic:&P
отредактировал(а) Николай ФеНиКс: 13-08-2009 20:14 GMT3 час.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.