Перейти к контенту

[SoC] Ковыряемся в файлах


Рекомендуемые сообщения

Парни сос! Создал дозиметр в тч. Всё работает но вот только как на худе появляется надпись с % заражения она не пропадает а так и остаеться висеть. Как убрать текст на худе обратно! Вот так я пользуюсь с выводом на худ function dozimetr_hud()
get_hud():AddCustomStatic("radiation_detector", true):wnd():SetText(game.translate_string("st_rad_level")..": "..math.floor(db.actor.radiation*10000*1).." "..game.translate_string("st_msv"))
else
if hud:GetCustomStatic("radiation_detector")~=nil -- если остался, то надо убрать
hud:RemoveCustomStatic("radiation_detector") -- вот так убрали.
end

 

Что в ней не так?

Ссылка на комментарий
24 минуты назад, Libery сказал:

else

Это ещё что? У тебя должно быть условие if, по которому выводится статик до проверки отсутствия условия (else), когда статик можно убирать. См. статик опасной радиации в bind_stalker.

  • Согласен 1

Здесь могла быть ваша реклама.

Ссылка на комментарий

Вообще делал так с другого файла ссылается на это

 function dozimetr_hud()
get_hud():AddCustomStatic("radiation_detector", true):wnd():SetText(game.translate_string("st_rad_level")..": "..math.floor(db.actor.radiation*10000*1).." "..game.translate_string("st_msv"))
end

 

Появляется сообщение на экране и все!

Как Убрать? Может через таймер как то через 3-4 сек только как его прописать вопрос.

@mole venomous, Там же проверка на заражённость а тут использование предмета

Ссылка на комментарий
2 минуты назад, Libery сказал:

Как Убрать

Вызвать функцию, которая отработает get_hud():RemoveCustomStatic("бла-бла-бла"). Возьми готовые таймеры хоть с базового АМК-мода для этого.

  • Нравится 1
  • Согласен 1

Здесь могла быть ваша реклама.

Ссылка на комментарий

@mole venomous, Так как туда таймер запихнуть?

function use_radiation_detector(obj)
if obj:section() == "radiation_detector" then
libery_items_sis.timer_dozimetr_start() --Тут на таймер убирания оружия
get_hud():AddCustomStatic("radiation_detector", true):wnd():SetText(game.translate_string("st_rad_level")..": "..math.floor(db.actor.radiation*10000*1).." "..game.translate_string("st_msv"))
spawn_item_in_inv("radiation_detector")
db.actor:hide_weapon()
end
end

function spawn_item_in_inv(spawn_item,npc)
if npc==nil then
npc=db.actor
end

return alife():create(spawn_item,
npc:position(),
npc:level_vertex_id(),
npc:game_vertex_id(),
npc:id())
end

Вот полностью

Ссылка на комментарий
12 минут назад, Libery сказал:

таймер запихнуть

Под вызовом ф-ии включения статика добавить вызов таймера из amk.script

Скрытый текст

amk.start_timer("имя_строки",5)

В amk.script в ф-ии __do_timer_action добавить новый экшн, который будет ссылаться на отключение статика

Скрытый текст

if select_string=="имя_строки" then
        файл.ф-ия отключения
end

 

Изменено пользователем mole venomous
  • Нравится 1
  • Согласен 1

Здесь могла быть ваша реклама.

Ссылка на комментарий

@Libery

Почему все методом научного тыка? Читай "Справочник по ф-циям и классам" и "Уроки по модостроению". Половина твоих вопросов там уже есть. Что за лень?

  • Согласен 2
Ссылка на комментарий

Такой вопрос. Отдаю торговцу костюм, после чего он появляется у него в продаже. Как сделать так, чтобы этот предмет не появлялся у него в продаже?

Изменено пользователем Houdini_one

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

@Houdini_one:blink:. Запретить продажу оного в трейдлисте у торговца. В смысле, который gamedata\config\misc\trade_тра-та-та.ltx. Секция [тра-та-та_sell]. Всё, что после названия секции костюма - в минус.

  • Спасибо 1
  • Согласен 2
Ссылка на комментарий

Существует ли решение в ТЧ 1.0006, которое позволит "читать" метку внутри другой? Например, описание тайника внутри метки местности

https://yadi.sk/i/4QZbwucXRTYa-w

Здесь могла быть ваша реклама.

Ссылка на комментарий

Привет всем.

Ребята, можно ли скриптово определить состояние ПНВ?

В чистой ТЧ или в Xray ext

И что за метод - vision_enabled(), не он по случаем?

 

Изменено пользователем UriZzz

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Ссылка на комментарий

Создал собачку с такой логикой:

 

[spawner]
cond = {+swa_find_dog_start}

 

[smart_terrains]
none = true

 

[logic]
active = mob_walker
on_death = mob_death
combat_ignore = combat_ignore

 

[mob_walker]
path_walk = swa_dog_start_walk
path_look = swa_dog_start_look
friendly = true
on_info = {+swa_find_dog_have} mob_walker@2

 

[mob_walker@2]
path_walk = swa_dog_walk
path_look = swa_dog_look
friendly = true
on_info = {+swa_krovo_dead} mob_walker@3

 

[mob_walker@3]
path_walk = swa_pse_walk
path_look = swa_pse_look
friendly = true

 

[mob_death]
on_info = %+swa_dog_dead%

 

[combat_ignore]
friendly = true

 




Немножко побегав рядом с собачкой игра слетает с таким логом:
 

 



stack trace:

0023:039B5FF2 xrGame.dll
0023:039ADD47 xrGame.dll
 

 

В чём может быть причина вылета?

Ещё один вопрос: что нужно написать в логике собаки, чтобы она была дружелюбна к парочке НПС, ГГ, а к остальным была враждебна?

Изменено пользователем Houdini_one

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

@Houdini_one, а в секции [combat_ignore] разве не кондлист нужен? И применяется ли оно для мутов - вроде только для неписей активно

 

29 минут назад, Houdini_one сказал:

дружелюбна к парочке НПС, ГГ, а к остальным была враждебна?

 

Из логики такое не сделать вроде как. Или ко всем нпс дружелюбна, или ни к кому.  К актору - можно, посмотри, как в Соли сделана dogfriend

Изменено пользователем Okichi

След от кругов на воде - это тоже след (с)

Ссылка на комментарий
20 минут назад, Okichi сказал:

разве не кондлист нужен

Не знаю, у меня одна собака на подобной логике, то вроде всё нормально.

@Okichi, сейчас оставил такую логику:

 

 

[spawner]
cond = {+swa_find_dog_start}

 

 

[smart_terrains]
none = true

 

[logic]
active = mob_walker
on_death = mob_death

 

[mob_walker]
path_walk = swa_dog_start_walk
path_look = swa_dog_start_look
friendly = true
on_info = {+swa_find_dog_have} mob_walker@2

 

[mob_walker@2]
path_walk = swa_dog_walk
path_look = swa_dog_look
friendly = true
on_info = {+swa_krovo_dead} mob_walker@3

 

[mob_walker@3]
path_walk = swa_pse_walk
path_look = swa_pse_look
friendly = true

 

[mob_death]
on_info = %+swa_dog_dead%


Вылет всё равно остался.

Изменено пользователем Houdini_one

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
50 minutes ago, Houdini_one said:

[combat_ignore]

Ты уверен, что это вообще хоть какими-то скриптами у тебя используется?

 

50 minutes ago, Houdini_one said:

что нужно написать в логике собаки, чтобы она была дружелюбна к парочке НПС, ГГ, а к остальным была враждебна?


[logic]

...

combat_ignore = combat_ignore

 

[какая-то секция логики]

combat_ignore_cond = %=my_super_func%

В xr_condition.my_super_func() расписываешь свои условия. Функция должна вернуть true, если это не враг и false - если это враг. В качестве примера можешь посмотреть xr_conditions.fighting_actor и т.п., там подобных несколько.

 

Это все при условии, что у тебя xr_combat_ignore.script правильно работает. А то были там какие-то косяки, мне помнится.

 

  • Спасибо 1
Ссылка на комментарий
2 минуты назад, dsh сказал:

уверен, что это вообще хоть какими-то скриптами

Конкретно на счёт собаки не уверен, я просто всегда это ставлю.

Как сказал выше, удалил - ничего не поменялось.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...