Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
Народ! Намекните куда ткнуться. Впервые такое, грубо говоря имеем 3 заселённые локации, 1-2-3, актор на 1. Каждая лока по отдельности всё нормально работает, нпс спавнятся занимаются тем что им прописано. Если собрать в общую кучу то на локации 2 не спавнятся нпс, на 1 и 3 всё нормально.
Так позиция не стартовая, старт на локации 1, тут всё нормально, спавнятся нпс, работают. через переход перехожу на локацию 2. там нет нпс. аномалии, весь спавн всё есть, нет только нпс, прохожу эту локу. через переход перехожу на локу 3. там всё нормально, нпс спавнятся и работают... проблема именно на 2 локации. при этом с отдельным спавном на каждую локу, всё работает нормально. У меня на каждой локе стоит спейс автосейва при переходе, может быть из за этого? По идее он ставится только на 1 стартовой локе...
Вот я не могу понять... начинаю новую игру. новая лока. всё нормально работает. сделал что нужно и перехожу на другую. а там не стартуют смарты. нет нпс, бегу дальше а на следующих локах все нормально всё работает.... вот в чём загвозка. явно не в этом скрипте... я написал просто как пример 3 локи. лок больше. но смарты не запускаются только на одной. при этом если запускаю эту же локу просто с отдельным спавном этой локи всё нормально.
Добавлено (12.06.2018, 16:42) --------------------------------------------- buffy, Если с отдельным спавном всё работает значит там всё нонрмальнор. иначе бы и с отдельным спавном не работало бы... собрано всё в сдк. и весь спавн вшит и в левел спавн тоже... отличия только в том что в общем олспавне с локи убран актор. так как он на стартовой локации...
Сообщение отредактировал Policai - Вторник, 12.06.2018, 16:44
denis2000, кстати, в том уроке, который ты привёл в пример, я нашёл огрешность: зачем вот эта проверка, ведь она не имеет смысла:
Код
if n~=0 then
т.к. если n<=0, то промежуток будет равен (0;[<=]-1), а это нелогичный промежуток -> цикл ни разу не сработает.
Добавлено (12.06.2018, 16:54) --------------------------------------------- Policai, тогда я не знаю в чём проблема, может когда вы собираете весь спавн, то в него не прописываете ту локу хотя тогда был бы вылет. Перепроверьте всё ещё раз или напишите denis2000 в личку.
Сообщение отредактировал buffy - Вторник, 12.06.2018, 16:56
Да всё перепроверил уже по многу раз, и сравнивал с другими локами, ничего не могут понять. Счас докомпилится лока ещё одна, исправлял геометрию, попробую войти на неё с другова входа не трогая первый, может это что даст... или закоментить автосейв на ней, мне что то кажется в нём косяк....
function sim_board:fill_start_position() if self.start_position_filled == true then return end --printf("FILL START POSITION [%s]", self.player_name) self.start_position_filled = true for level in game_graph():levels() do local section_name = "start_position_" .. alife():level_name(level.id)
if not setting_ini:section_exist(section_name) then return end
local n = setting_ini:line_count(section_name) for i=0,n-1 do local result, id, value = setting_ini:r_line(section_name,i,"","") local smrt_names = utils.parse_names(value) for k,v in pairs(smrt_names) do local smart = self.smarts_by_names[v] if smart == nil then abort("Wrong smart name [%s] in start position", tostring(v)) end local squad = self:create_squad(smart, id) self:enter_smart(squad, smart.id) --squad:update() end end end end
Цитатаdenis2000 ()
А функция line_count возвращает число меньше нуля?
Да не учёл этот момент, но ведь ноль она может вернуть тем более функция предполагает, что в секции стартового положения будет что-то написано