Blum 127 Опубликовано 23 Февраля (изменено) @drMiha self.task_ini:line_count возвращает количество, если 0 ,то это пустая таблица. А у нас есть элемент с индексом 0. поэтому self.task_ini:line_count("random_"..random_level)-1 -1 приводит индексы в порядок..начиная с 0. Так что выпадал предмет с индексом 0. Только нужно проверять countTreasures на предмет -1, а то может вызвать исключение дальше по коду. А лучше просто использовать далее по коду конструкцию (countTreasures - 1) Изменено 23 Февраля пользователем Blum 1 1 ....- "И не важно куда подует ветер..." Freddie Mercury. Поделиться этим сообщением Ссылка на сообщение
Blum 127 Опубликовано 13 Марта (изменено) @Colder тут local List = rx_utils.collect_section(ini, "loadout_points_" ..num) должно быть так local List = rx_utils.collect_sections(ini, {"loadout_points_" ..num}) Вот эта функция работает у меня из main_menu Рабочий код function bb(num) local ini1 =ini_file("misc\\proba.ltx") --local itt local List = rx_utils.collect_sections(ini1, {"loadout_points_" ..num}) for k,v in pairs(List) do -- itt.item_name:SetText(gts(axr_base.get_inv_name(v))) -- имя -- itt.item_count:SetText(k) -- номер строки \ а нужно количество --k = name --v = count sms("%c[sender]"..translate("name_obschaya_set")..":\\n%c[sms_red]"..k.." = "..v, nil, "nano", 30000) end end Изменено 13 Марта пользователем Blum Форматирование(сохранено в названии файлов) 1 ....- "И не важно куда подует ветер..." Freddie Mercury. Поделиться этим сообщением Ссылка на сообщение
Blum 127 Опубликовано 17 Марта (изменено) @Капрал Хикс Внутри функции ни один из аргументов не задействован, поэтому всё проходит без ошибки. @Chypakabra Видимо disable_input_time всегда равен nil или вся функция целиком осталась для красоты Изменено 17 Марта пользователем Blum ....- "И не важно куда подует ветер..." Freddie Mercury. Поделиться этим сообщением Ссылка на сообщение
Blum 127 Опубликовано 17 Марта @Капрал Хикс а вот эта функция в escape_dialog.script function bandits_die(actor,npc) if has_info("esc_kill_bandits_quest_kill") and not has_info("esc_kill_bandits_noquest_kill") then return true end return false end Ничего не напоминает? 1 ....- "И не важно куда подует ветер..." Freddie Mercury. Поделиться этим сообщением Ссылка на сообщение
Blum 127 Опубликовано 2 Апреля (изменено) @Colder Ну начнем с того,что смотря в "cycle_task" ...вижу "active_task_by_type" и понимаю что возвращает она таблицу.{}..Ну если хотите массив...Возможно в вашем коде это не так...? А у вас local active =.....И начинаете перебирать таблицу.Но это у вас совсем не таблица, там скорее всего одна единственная запись.. Я так понимаю, что скрипт task_manager вашей разработки? Поэтому не могу ничего сказать ни про объект tm , ни про параметр p1. Можно попробовать например вывести в лог p1...И не только p1..Возможно увидите ошибку...И вообще при написании скриптов надо иметь возможность вывода и просмотра в логе параметров...значений...и т.д. Полезно будет...потом можно удалить или закоментировать. Изменено 3 Апреля пользователем Blum ....- "И не важно куда подует ветер..." Freddie Mercury. Поделиться этим сообщением Ссылка на сообщение
Blum 127 Опубликовано 12 Апреля (изменено) @Colder первый параметр вроде не должен быть npc.. === -- список, что должно быть в продаже str = utils.cfg_get_string(ini_cfg, "trader", "buy_supplies", npc, false, "") if str then tt.buy_supplies = xr_logic.parse_condlist(str, npc, "trade_manager", "buy_supplies") else abort(npc:name() .. " invalid line: [buy_supplies] " .. cfg) end Получилось что-то? из прошлого сообщения, непонятно..Что-то серьезное затеял? Изменено 13 Апреля пользователем Blum 1 ....- "И не важно куда подует ветер..." Freddie Mercury. Поделиться этим сообщением Ссылка на сообщение
Blum 127 Опубликовано 13 Апреля (изменено) @Colder Посмотри саму функцию в xr_logic.script function parse_condlist(src) Предназначение: Распарсивает условия вида: {+infop1} section1 %-infop2%, {+infop3 -infop4} section2 ... в таблицу. Там в функции есть строки printf(..... Раскоментируй их прямо в xr_logic и получишь сообщения для поиска ошибки. = Кстати xr_logic.parse_condlist возвращает таблицу, а у тебя снова...local condlist Может так надо ? local condlist{} = .. npc, "trader", "buy_supplies" только для сообщений об ошибках в ОП2.2 .В OGSR вообще один параметр только (src)..Обрабатывается вроде только str Изменено 14 Апреля пользователем Blum ....- "И не важно куда подует ветер..." Freddie Mercury. Поделиться этим сообщением Ссылка на сообщение
Blum 127 Опубликовано 14 Апреля (изменено) @Colder str вида: {+infop1} section1 %-infop2%, {+infop3 -infop4} section2 ... в таблицу Вот что у сидора должно быть. Это из ОП 2.2 [trader] buy_condition = trader_generic_buy sell_condition = {+esc_kill_bandits_quest_done} trader_after_fabric_sell, trader_start_sell buy_supplies = {+esc_kill_bandits_quest_done} supplies_after_fabric, supplies_start Изменено 14 Апреля пользователем Blum ....- "И не важно куда подует ветер..." Freddie Mercury. Поделиться этим сообщением Ссылка на сообщение
Blum 127 Опубликовано 20 Июня (изменено) @Solditary а это тебе о чём говорит? "attempt to index local 'obj' (a nil value)". У тебя видимо в саму функцию передаётся nil, а не ссылка на структуру obj ЗЫ..И еще... LUA error: ... - shadow of chernobyl\gamedata\scripts\ranks.script:66: attempt to index local 'obj' (a nil value) ..в оригинале в 66 строке этого скрипта стоит end...Значит файл скрипта правленый.. Изменено 20 Июня пользователем Blum ....- "И не важно куда подует ветер..." Freddie Mercury. Поделиться этим сообщением Ссылка на сообщение
Blum 127 Опубликовано 25 Июня @Solditary функция из чистого SOC 1.00006 -- возвращает название ранга заданного game_object (персонажа) function get_obj_rank_name( obj ) if not ranks_loaded then read_all_ranks() end local obj_rank -- HACK if obj.m_story_id ~= nil then --это 66 строка obj_rank = obj:rank() else obj_rank = obj:character_rank() end if IsStalker(obj) then return get_rank_name( obj_rank, stalker_rank_intervals ) or stalker_max_rank_name else return get_rank_name( obj_rank, monster_rank_intervals ) or monster_max_rank_name end end ....- "И не важно куда подует ветер..." Freddie Mercury. Поделиться этим сообщением Ссылка на сообщение