Скрипт проверки наличия у ГГ нескольких одинаковых предметов
|
|
|
SozdateL
Воскресенье, 28.04.2019, 22:34 | Сообщение # 1
Статус: |
|
Зевака: |
|
Сообщений: |
3 |
Награды: |
0 |
Регистрация: |
27.04.2019 |
|
Всем привет посоны! Увлекся моддингом совсем недавно (неделя), навыков программиста тоже нет, так что если я несу полную дичь, просьба отнестись с пониманием и объяснить. Вообщем суть такая: Есть квест на поиск 10 артефактов "Кристалл". Для проверки их наличия (в диалоге, в прекондишине, дабы стал доступен диалог на их передачу) использую такой скрипт:
Код
function zaton_tremor_quest_have_10_kristall(first_speaker, second_speaker) local item_sections = {"af_cristall"} local needed = 10 local count = 0 local item_section local function calc(temp, item) if item:section() == item_section then count = count + 1 end end for k,v in pairs(item_sections) do item_section = v get_story_object("actor"):iterate_inventory(calc, actor) end return count >= needed end
Все работает без нареканий. Но при попытке вписать эту функцию в строку "title" или "target"(в файле tm_zaton.ltx) получаю вылет. Пробовал ее по всякому туда впихать - все тщетно, максимум чего удалось добиться это не правильная работа, т.е. она срабатывает независимо от того есть 10 кристаллов или нет(вар 2). Начал догадываться, что этот скрипт не годится в данной ситуации?
Код title = {=zaton_tremor_quest_have_10_kristall} zaton_tremor_quest_title_1, zaton_tremor_quest_title_0 //1 вар
title = {zaton_tremor_quest_have_10_kristall(true)} zaton_tremor_quest_title_1, zaton_tremor_quest_title_0 //2 вар
Так же нашел в каком то гайде такой скрипт:
Код fucntion has_item_by_count(actor, npc, p) if p[1] == nil or p[2] == nil then abort("Error in fucntion has_item_by_count") end local need_cnt = tonumber(p[2]) or 1 local cnt = 0 local function iter_inv(t, item) if item:section() == p[1] then cnt = cnt + 1 end end actor:iterate_inventory(iter_inv, actor) return cnt >= need_cnt end
В квесте он там был прописан так:
Код title = {=has_item_by_count(kolbasa:5)}quest_5_kolbas_gavay_tit_2, quest_5_kolbas_gavay_tit_1
тут речь шла о колбасе, не стал ничего менять, в рамках теста, скопипастил все как есть - вылет.
И вообще инфы на эту тему крайне мало нашел, либо вообще не говорят про это, либо говорят что это слишком сложно, бред. Не думал что это станет такой проблемой, выручайте!
Еще пара вопросов не по теме 1. Хотелось бы более углубленно разобраться в скриптах, дабы понимать как они работают, а не просто бездумно вкручивать их в свой код(попытки самостоятельно это сделать, путем анализа скриптов разработчиков, приводят к желанию выкинуть комп из окна ). Буду благодарен за ссылку на эту тему. 2. Может стоит изучить(на уровне базового понимания синтаксиса) какой то язык программирования чтобы лучше все это понимать, если да то какой?
Сообщение отредактировал SozdateL - Воскресенье, 28.04.2019, 22:36
|
|
Воскресенье, 28.04.2019, 22:34
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
27.04.2019 |
|
|
|
|
|
arrakis_29
Понедельник, 29.04.2019, 04:22 | Сообщение # 2
Статус: |
|
Бывалый: |
|
Сообщений: |
723 |
Награды: |
5 |
Регистрация: |
08.05.2017 |
|
Пиши в следующий раз в теме по ковырянию,а не новые создавай,удалять все равно будут. title - это название задания,target - это цель,чтобы метку поставить.В общем,не понял,что именно ты в tm_zaton.ltx хочешь сделать.Чтобы задание засчитывалось по условию? Язык программирования-lua.И полистай форум amk-team.ru,раздел по моддингу,там почти все есть
Сообщение отредактировал arrakis_29 - Понедельник, 29.04.2019, 04:41
|
|
Понедельник, 29.04.2019, 04:22
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
08.05.2017 |
|
|
|
|
|
SozdateL
Понедельник, 29.04.2019, 15:11 | Сообщение # 3
Статус: |
|
Зевака: |
|
Сообщений: |
3 |
Награды: |
0 |
Регистрация: |
27.04.2019 |
|
Цитата arrakis_29 ( ) Пиши в следующий раз в теме по ковырянию,а не новые создавай,удалять все равно будут. title - это название задания,target - это цель,чтобы метку поставить.В общем,не понял,что именно ты в tm_zaton.ltx хочешь сделать.Чтобы задание засчитывалось по условию? Не нашел ответа на этот вопрос, а то что нашел не работает. Я в курсе что такое title и target. Внимание вопрос: какой нужен скрипт, чтобы title и target обновлялись, при наличии нужного кол-ва одинаковых предметов и как его прописать в title и target?
|
|
Понедельник, 29.04.2019, 15:11
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
27.04.2019 |
|
|
|
|
|
Hoperise
Понедельник, 29.04.2019, 15:16 | Сообщение # 4
Статус: |
|
Опытный: |
|
Сообщений: |
1722 |
Награды: |
10 |
Регистрация: |
26.10.2016 |
|
Задавайте вопрос в соответствующей теме, к примеру, тут - https://ap-pro.ru/forum/21-90672-1 , тему в топку.
Сообщение отредактировал Hoperise - Понедельник, 29.04.2019, 15:17
|
|
Понедельник, 29.04.2019, 15:16
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
26.10.2016 |
|
|
|
|