|
[CoP] Модострой: вопросница
|
|
|
|
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
| Статус: |
 |
| Бывалый: |
 |
| Сообщений: |
1081 |
| Награды: |
19 |
| Регистрация: |
11.06.2015 |
|
[CoP] Модострой: вопросница

Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
|
|
Воскресенье, 31.12.2017, 13:17
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
11.06.2015 |
|
|
|
|
|
|
| Статус: |
 |
| Опытный: |
 |
| Сообщений: |
1313 |
| Награды: |
4 |
| Регистрация: |
30.08.2018 |
|
OP_artovod, сделай проверку на наличие у ГГ предмета.
|
|
Воскресенье, 07.06.2020, 20:01
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
30.08.2018 |
|
|
|
|
|
|
| Статус: |
 |
| Отмычка: |
 |
| Сообщений: |
125 |
| Награды: |
0 |
| Регистрация: |
28.03.2020 |
|
AziatkaVictor, ну это понятно однако надо же сделать функцию юза предмета
|
|
Воскресенье, 07.06.2020, 20:11
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
28.03.2020 |
|
|
|
|
|
|
| Статус: |
 |
| Опытный: |
 |
| Сообщений: |
1313 |
| Награды: |
4 |
| Регистрация: |
30.08.2018 |
|
OP_artovod, немного не понимаю, тебе надо сделать проверку, что использовать предмет можно будет только при наличии другого?
|
|
Воскресенье, 07.06.2020, 20:14
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
30.08.2018 |
|
|
|
|
|
|
| Статус: |
 |
| Отмычка: |
 |
| Сообщений: |
125 |
| Награды: |
0 |
| Регистрация: |
28.03.2020 |
|
if s_obj and s_obj.section_name and s_obj:section_name()=="mutant_part_krovosos_meat_cook" then if has_alife_info("azm_pills_antirad_active_info") then db.actor.radiation = 0.013 elseif not has_alife_info("azm_shpr_antirad_active_info") then db.actor.radiation = 0.0585 end end
это же функция так сказать выдачи дозы радиации а не использования предмета?Добавлено (07.06.2020, 20:20) --------------------------------------------- AziatkaVictor, да Добавлено (07.06.2020, 20:21) --------------------------------------------- блэт сори затупил щас дошло как делать Добавлено (07.06.2020, 20:42) --------------------------------------------- хм непонимаю, нет проверку я знаю как делать, но как остановить, заблочить юзание предмета я не понимаю.
|
|
Воскресенье, 07.06.2020, 20:20
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
28.03.2020 |
|
|
|
|
|
|
| Статус: |
 |
| Бывалый: |
 |
| Сообщений: |
1081 |
| Награды: |
19 |
| Регистрация: |
11.06.2015 |
|
Цитата OP_artovod (  ) заблочить юзание предмета По-моему, в Lua не экспортированы такие методы. Можно, конечно, взять и изогнуться, заспавнив в инвентарь несъедаемый предмет, а потом заменить его на съедаемый, когда будет нужный момент, но затея не из лучших. Хотя, вариантов и нет больше, если рассматривать идею на скриптах без движковых правок.
|
|
Понедельник, 08.06.2020, 02:44
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
11.06.2015 |
|
|
|
|
|
|
| Статус: |
 |
| Новичок: |
 |
| Сообщений: |
312 |
| Награды: |
2 |
| Регистрация: |
11.02.2019 |
|
Логика раненного, но почему-то её активировать не получается. НПС просто использует path_walk и path_look.
Цитата [logic] active = walker@wounded_heavy
[walker@wounded_heavy] path_look = esc_dima_wounded_look path_walk = esc_dima_wounded_walk wounded = wounded@esc_stalker_fox combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true meet = meet@no_talk
[meet@no_talk] use = false use_wpn = false
[wounded@esc_stalker_fox] hp_state = 30|help_me@help|29|wounded_heavy@help_heavy hp_state_see = 30|wounded@help_see|29|wounded_heavy@help_heavy hp_victim = 30|nil|10|nil hp_cover = 30|true|29|false hp_fight = 30|true|29|false syndata = wounded@help help_dialog = escape_fox_hello_dialog
|
|
Понедельник, 08.06.2020, 04:37
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
11.02.2019 |
|
|
|
|
|
|
| Статус: |
 |
| Бывалый: |
 |
| Сообщений: |
1081 |
| Награды: |
19 |
| Регистрация: |
11.06.2015 |
|
Для раненого надо делать так:
Код hp_state = 101|wounded_heavy@help_heavy hp_state_see = 101|wounded_heavy@help_heavy hp_victim = 101|actor hp_cover = 101|false hp_fight = 101|false autoheal = false not_for_help = true
|
|
Понедельник, 08.06.2020, 11:27
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
11.06.2015 |
|
|
|
|
|
|
Policai
Понедельник, 08.06.2020, 11:54 | Сообщение # 7268
Dead City Breakthrough
| Статус: |
 |
| Опытный: |
 |
| Сообщений: |
2244 |
| Награды: |
11 |
| Регистрация: |
08.11.2011 |
|
Overfirst,
Володь! Человек просто не сообщает что у него ТЧ а не ЗП... 
|
|
Понедельник, 08.06.2020, 11:54
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
08.11.2011 |
|
|
|
|
|
|
Rietmon
Понедельник, 08.06.2020, 12:01 | Сообщение # 7269
Камень Преткновения. Пролог
| Статус: |
 |
| Отмычка: |
 |
| Сообщений: |
110 |
| Награды: |
5 |
| Регистрация: |
25.07.2017 |
|
Цитата OP_artovod (  ) заблочить юзание предмета Нельзя, кроме костылей, как предложили выше. В xray очень слабое api в lua с игровыми объектами (искл. - CScriptGameObject). Правится в движке очень просто: в файле eatable_item.cpp есть метод UseBy, который вызывается во время использования бустера каким-то игровым объектом (в нашем случае - актером). Дальше все просто - надо вначале проверить, можно ли использовать предмет.
Самое просто что мне пришло в голову: можешь в класс CActor (Actor.h) добавить коллекцию, которая будет хранить секции заблокированных предметов. При использовании предмета можешь пробегаться по ней и смотреть, есть ли там секция предмета, который мы хотим использовать. Если есть - обрываем выполнение.
После этого тебе нужно лишь вывести api для этого в lua скрипты - я для этого ранее всегда использовал level_script.cpp. Тебе останется лишь сделать там 2 метода: который будет принимать в себя секцию предмета который надо заблокировать и добавлять его в коллекцию, о которой я говорил выше, и обратный метод, чтобы разблокировать объект.
|
|
Понедельник, 08.06.2020, 12:01
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
25.07.2017 |
|
|
|
|
|
|
| Статус: |
 |
| Бывалый: |
 |
| Сообщений: |
1081 |
| Награды: |
19 |
| Регистрация: |
11.06.2015 |
|
Цитата Policai (  ) Человек просто не сообщает что у него ТЧ а не ЗП... Ну вроде и сообщать-то не надо... Тема-то по ЗП. Если у него ТЧ, пусть и пишет в соответствующую тему. 
|
|
Понедельник, 08.06.2020, 12:28
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
11.06.2015 |
|
|
|
|
|
|
| Статус: |
 |
| Опытный: |
 |
| Сообщений: |
1313 |
| Награды: |
4 |
| Регистрация: |
30.08.2018 |
|
Overfirst, просто некоторые думают, что если в тему давно не писали (неделю), то все, она уже мертва и никого там нет. Хотя сами не понимают, что никто и не будет писать, если нету вопросов, зачем писать туда что-то, если в этом нету нужды?
|
|
Понедельник, 08.06.2020, 12:34
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
30.08.2018 |
|
|
|
|
|
|
Крим
Понедельник, 08.06.2020, 18:49 | Сообщение # 7272
| Статус: |
 |
| Новичок: |
 |
| Сообщений: |
231 |
| Награды: |
1 |
| Регистрация: |
21.04.2019 |
|
Здравствуйте. Возник вопрос: есть функция перемещения игрока на другую локацию, например при получения инфопоршня? Облазил весь интернет - ничего не нашел. Подскажите, пожалуйста.
|
|
Понедельник, 08.06.2020, 18:49
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
21.04.2019 |
|
|
|
|
|
|
| Статус: |
 |
| Опытный: |
 |
| Сообщений: |
1313 |
| Награды: |
4 |
| Регистрация: |
30.08.2018 |
|
Крим, вроде, нет. Можно создать "level_changer" в СДК, там где игрок не сможет его достать, и просто с помощью логики телепортировать его туда. Если надо урок, то вот один:
|
|
Понедельник, 08.06.2020, 19:05
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
30.08.2018 |
|
|
|
|
|
|
| Статус: |
 |
| Новичок: |
 |
| Сообщений: |
290 |
| Награды: |
4 |
| Регистрация: |
09.01.2017 |
|
Цитата Крим (  ) есть функция перемещения игрока на другую локацию, например при получения инфопоршня?
Это происходит каждый раз при разговоре с Лоцманом или Гариком. После инфопорции, выдаваемой в диалоге, рестриктор телепортирует игрока в определенную точку. Точка внутри особого объекта - левел-чендера. При попадании в левел-чендер игрок перемещается на другую локацию.
Пример логики смотрите в папке в файле configs/scripts/zaton/zat_b215_logic_zaton - могу ошибиться (сейчас файлов под рукой нет). Но логика переходов на Затоне в файлах zat_b215_***.
|
|
Понедельник, 08.06.2020, 19:10
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
09.01.2017 |
|
|
|
|
|
|
| Статус: |
 |
| Отмычка: |
 |
| Сообщений: |
125 |
| Награды: |
0 |
| Регистрация: |
28.03.2020 |
|
как сделать что бы из объекта исходил свет и можно ли это сделать в сдк?(скорее всего нет но просто есть идея сделать групповой объект со светом)Добавлено (08.06.2020, 20:34) --------------------------------------------- P.S хочу сделать нормальный ручной фонарь
|
|
Понедельник, 08.06.2020, 20:33
|
|
| Статус: |
 |
| Сообщений: |
666 |
| Регистрация: |
28.03.2020 |
|
|
|
|