Случайная подборка модов
Время перемен v2.0
4.1
Смерти Вопреки. В Паутине лжи
4.1
Реборн: Двойники - «Исток»
3.1
Oblivion Lost Remake 2.0
4.1
Новый Арсенал 5.0
3.6
Add-on for S.T.A.L.K.E.R. Beta
3.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 2 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Скрипты, конфиги, логика, движок » Динамическое подключение/отключение функций. (Всё элементарное - рядом...)
Динамическое подключение/отключение функций.
Российская Федерация  Mirage
Пятница, 08.02.2013, 13:31 | Сообщение # 16
Независимый аниматор
Статус:
Бывалый:
Сообщений: 1130
Награды: 2
Регистрация: 09.06.2012

Понятно. Я чуток не так сделал.

Добавлено (08.02.2013, 13:31)
---------------------------------------------
ColR_iT, А ты не мог бы еще описать, как сделать медленное восстановление хп?

  Злобная реклама
Пятница, 08.02.2013, 13:31
Статус:
Сообщений: 666
Регистрация: 09.06.2012
Украина  BozKurt
Пятница, 08.02.2013, 15:29 | Сообщение # 17
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Mirage, уже давно есть на Wiki: >>ClicK Me<<. Правда там способ отличный от рассказанного в этой теме, но это легко адаптируются руками.
  Злобная реклама
Пятница, 08.02.2013, 15:29
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  Sanjaaa
Воскресенье, 10.02.2013, 16:39 | Сообщение # 18
Dark Reaper Souls
Статус:
Бывалый:
Сообщений: 926
Награды: 6
Регистрация: 22.08.2012

новерно скажите что я ленивый идиот но можете выложить готовый вариант?
  Злобная реклама
Воскресенье, 10.02.2013, 16:39
Статус:
Сообщений: 666
Регистрация: 22.08.2012
Украина  BozKurt
Воскресенье, 10.02.2013, 17:31 | Сообщение # 19
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Sanjaaa, готовый вариант чего? Ссылка на файл xr_s.script, есть в конце статьи, не "промажешь". Остальное же нужно адаптировать под себя, в том числе и пример...
  Злобная реклама
Воскресенье, 10.02.2013, 17:31
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  Mirage
Воскресенье, 10.02.2013, 20:32 | Сообщение # 20
Независимый аниматор
Статус:
Бывалый:
Сообщений: 1130
Награды: 2
Регистрация: 09.06.2012

ColR_iT, по твоему уроку сделал уборку оружия, но не смог адаптировать медленное восстановление хп. По моему они конфликтуют друг с другом. Хотя я напичкал много всего, может и из-за этого.
  Злобная реклама
Воскресенье, 10.02.2013, 20:32
Статус:
Сообщений: 666
Регистрация: 09.06.2012
Украина  BozKurt
Понедельник, 11.02.2013, 12:05 | Сообщение # 21
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Mirage, и что ты мне предлагаешь? У меня это всё работает на данной схеме безотказно. Что написал ты, я даже не представляю и каким образом может конфликтовать пример из шапки и пример из приведённой ссылке, где реализуется медленное восстановление здоровья.
  Злобная реклама
Понедельник, 11.02.2013, 12:05
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Молдова  6poHR777
Суббота, 16.02.2013, 17:44 | Сообщение # 22
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

ColR_iT, задам возможно глупый вопрос.
А как поступить с едой? Там как бы разные названия, как с аптечками не выйдет.
Сообщение отредактировал 6poHR777 - Суббота, 16.02.2013, 17:47
  Злобная реклама
Суббота, 16.02.2013, 17:44
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Украина  BozKurt
Понедельник, 18.02.2013, 19:40 | Сообщение # 23
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

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

Добавлено (18.02.2013, 19:40)
---------------------------------------------
"ПЛЮШКА"

По нежеланию трудящихся трудится, выкладываю урок, так сказать, "без лишних слов".
В уроке: убирание оружия при использовании аптечек.
В качестве бонуса: медленное восстановление здоровья, невозможность пользоваться другой аптечкой, пока мы используем первую и прерывание восстановления здоровья, в случае какого либо воздействия, приведшее к потере здоровья, иными словами, если мы получили хит, восстановление жизни прекращается. Кроме того, "бонусы" можно отключать по желанию. Реализоваться это будет, понятное дело, на схеме предоставленной в шапке темы.
Список файлов, который нам понадобиться:
xr_s.script - основной файл, без него никак (ссылка есть в шапке темы);
bind_stalker.script - куда же без него? Будем проверять используется ли аптечка или нет;
medicine.script - этот файл мы создадим и в нём же будет находится весь функционал;
item.ltx - придётся подправить параметры аптечек, выключив им движковое лечение.
Приступим!

P.P.S. Добавил в "шапку".
Сообщение отредактировал ColR_iT - Вторник, 19.02.2013, 12:49
  Злобная реклама
Понедельник, 18.02.2013, 19:40
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  sedmoy23
Понедельник, 01.04.2013, 22:27 | Сообщение # 24
Статус:
Отмычка:
Сообщений: 133
Награды: 3
Регистрация: 29.03.2012

Я наверно ужасно тупой!!! Тысячу раз перечитал и сделал так....


Потом я создал файл use_med.script и в нем написал следующее...


Потом я добавил в файл bind_stalker в
function actor_binder:update(delta)
object_binder.update(self, delta)

вот это xr_s.on_actor_update

Из того что я сделал я толком ничего не понял... И что-то подсказывает мне что где-то чего то не хватает...
  Злобная реклама
Понедельник, 01.04.2013, 22:27
Статус:
Сообщений: 666
Регистрация: 29.03.2012
Российская Федерация  Mirage
Понедельник, 01.04.2013, 23:14 | Сообщение # 25
Независимый аниматор
Статус:
Бывалый:
Сообщений: 1130
Награды: 2
Регистрация: 09.06.2012

Вот так у меня в бинд сталкере:
function actor_binder:use_inventory_item(obj)
if string.find(obj:section(), "medkit") then
xr_s.register_callback("update", use_med.MedkitUsing, {time_global(), 4000})
end
if string.find(obj:section(), "bandage") then
xr_s.register_callback("update", use_bandage.BandageUsing, {time_global(), 4000})
end
end
создаешь сам, если нет такой функции(как я понял, ты вместо этого function actor_binder:OnUseObject(obj) создал)
и
function actor_binder:update(delta)
object_binder.update(self, delta)

yantar_psy_blowout.update()

xr_s.on_actor_update(delta)

Добавлено (01.04.2013, 23:14)
---------------------------------------------
И эти не забудь прописать:


и
  Злобная реклама
Понедельник, 01.04.2013, 23:14
Статус:
Сообщений: 666
Регистрация: 09.06.2012
Украина  BozKurt
Вторник, 02.04.2013, 00:09 | Сообщение # 26
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

sedmoy23, а в чём собственно проблема? В том, что не работает? Так ты просто был не очень внимателен.
В функцию MedkitUsing, что в файле use_med.script, нужно передавать параметр userObj, который представляет из себя таблицу. У тебя же этого нет. Это первая ошибка. Вторая - ты не прописал вызов функции on_actor_update из файла xr_s.script в биндер актора. Ты, возможно, начнёшь возмущаться: "как же так, мол!? А вот это что?":
Код
xr_s.on_actor_update
Всё бы хорошо, только это не вызов функции, это считывание глобальной переменной с именем on_actor_update из указанного файла. А функцию нужно было вызвать так:
Код
xr_s.on_actor_update(delta)



Mirage, а позволь поинтересоваться, а что у тебя в файле use_bandage.script в функции BandageUsing?
  Злобная реклама
Вторник, 02.04.2013, 00:09
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  sedmoy23
Вторник, 02.04.2013, 01:28 | Сообщение # 27
Статус:
Отмычка:
Сообщений: 133
Награды: 3
Регистрация: 29.03.2012

ColR_iT, Блин.... тяжело тут все понять... Было бы проще по моему покопаться в геймдате с комментариями...

Добавлено (02.04.2013, 01:28)
---------------------------------------------
ColR_iT, а что касается внимания не упрекай меня в этом... я тебе серьезно говорю, перечитал раз 20!

  Злобная реклама
Вторник, 02.04.2013, 01:28
Статус:
Сообщений: 666
Регистрация: 29.03.2012
Российская Федерация  Mirage
Вторник, 02.04.2013, 09:12 | Сообщение # 28
Независимый аниматор
Статус:
Бывалый:
Сообщений: 1130
Награды: 2
Регистрация: 09.06.2012

ColR_iT, Дык, вот:
Код
function BandageUsing(userObj)
        --# Прячем оружие.
        bind_stalker.hide_weapon()
        --# Проверим работает ли ещё таймер?
        --# userObj[1] - время начала работы таймера;
        --# userObj[2] - время работы таймера (мсек)
        if time_global() > userObj[1] + userObj[2] then
         --# Работа таймера закончена - покажем оружие.
         bind_stalker.restore_weapon()
        xr_s.unregister_callback ("update", use_bandage.BandageUsing)
        end
end
  Злобная реклама
Вторник, 02.04.2013, 09:12
Статус:
Сообщений: 666
Регистрация: 09.06.2012
Украина  BozKurt
Вторник, 02.04.2013, 10:14 | Сообщение # 29
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

sedmoy23, извини, если обидел, но факт "на лицо". У тебя фактически "граматические" ошибки при написании кода. Какие - я указал.


smile Забавно...
Убери вторую функцию и измени проверку в колбеке на юз на такую:
Код
if string.find(obj:section(), "medkit") or obj:section() == "bandage" then  
     xr_s.register_callback("update", use_med.MedkitUsing, {time_global(), 4000})  
end
Так будет правильнее.
  Злобная реклама
Вторник, 02.04.2013, 10:14
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  Mirage
Вторник, 02.04.2013, 11:14 | Сообщение # 30
Независимый аниматор
Статус:
Бывалый:
Сообщений: 1130
Награды: 2
Регистрация: 09.06.2012

ColR_iT, Какая разница biggrin , мне так удобнее.
Сообщение отредактировал Mirage - Вторник, 02.04.2013, 11:15
  Злобная реклама
Вторник, 02.04.2013, 11:14
Статус:
Сообщений: 666
Регистрация: 09.06.2012
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Скрипты, конфиги, логика, движок » Динамическое подключение/отключение функций. (Всё элементарное - рядом...)
  • Страница 2 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск: