killer2203
Проверь установился ли perl - в консоли (Пуск->Выполнить->cmd) напиши perl -v и нажми ввод. Если все окей - увидишь копирайт авторов или ... не увидишь :-)
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Я как бы не совсем установил,- Я с качал в архиве, там было: один фаил и папка. В папке много других папок и есть папка bin,в этой папке много батников 3 фаила exe и еще другие. 1 фаил ехе wperl-незапускаеться, 2 perl5.8.3-открываеться почти как командная строка, 3 perl-тоже открываеться как командная строка. и где здесь фаил установки или фаил с которым надо работать?
fan fan, у меня аналогичный вылет, но по art_mgr.script
Весь день ломал голову - но решить проблему не смог.
Что же до твоего вылета - стоит просить помощи у более опытных модмейкеров, да только они сюда изредка заглядывают, к сожалению
fan fan
Покажи что у тебя в строчке 256 в task_manager.script.
У меня примерно там же функция, которая итерирует таблицу, но если переменная parent равна nil, то никакой таблицы скрипт не получает - отсюда и вылет.
Вот в эти две таблицы (в самом начале файла) parent_by_story и story_by_parent требуется добавить заказчика квеста.(по аналогии с имеющимися).
ZiU-682GOO
А в чем проблема? Ищи по номеру строки (и имени файла) в логе участок кода, который вызывает вылет и думай, в чем там проблема. Лог bad argument #1 to 'pairs' (table expected, got nil) означает, что в функцию pairs первым аргументом передается nil, а требуется таблица.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
А почему нельзя что бы в амк_аномс.скрипт сумарное кол-во %ов артефактов было больше ста, мне Artos писал, а седня я потестил(специально 102 сделал) у меня не вылетило, игра запустилась нормально. ?
отредактировал(а) arttStAl: 16-02-2011 08:37 GMT3 час.
Не мог бы ты (вы) прояснить пару моментов ну или просто помочь разобратся (я не скриптер).
Да и как Наб Челны поживают?
Там родился и рос до 16.
45 комплекс 39 школа дом 45\13.
Дворовый клуб Ровесник (хоккей).
Извените за оф топ.
По теме удалил из алл спавна все (неписей мобов смарты рестрикторы ).
Пробую на чистую поставить гулаг
вылет
-- получить серверные объекты персонажей
236 function se_smart_terrain:get_se_objs()
local sim = alife()
local obj
240 obj = sim:object( id )
if not obj then
abort( "[smart_terrain %s] can't get server object id=%d", self:name(), id )
end
for id, v in pairs( self.npc_info ) do
sim_statistic.add( obj )
self:fill_npc_info( obj, v )
end
end
или на 751 строке
-- выдать объекту задание.
function se_smart_terrain:task( obj )
751 local path_name = self.gulag:get_obj_job_path_name( obj.id )
if not path_name then
printf("[smart_terrain %s] task: obj=%s job_path=nil, CLEARING", self:name(), obj:name() )
self:unregister_npc(obj) --'Затычка против вылета.
return CALifeSmartTerrainTask("simulation_default_path")
end
сам смарт
[498]
; cse_abstract properties
section_name = smart_terrain
name = esc_lager
position = -208.551208496094,-20.0917911529541,-141.64958190918
direction = 0.062321275472641,0.00316426996141672,0.0140644172206521
function load_job(sj, gname, type, squad, groups)
--'--------------------------------------------------------------------------
--' ESCAPE
--'--------------------------------------------------------------------------
--' Лагерь новичков на Escape
if type == "esc_lager" then
t = { section = "logic@esc_lager_zoneguard1",
idle = 0,
prior = 50, state = {0},
online = true,
in_rest = "", out_rest = "",}
table.insert(sj, t)
function load_states(gname, type)
if type == "esc_lager" then
return function(gulag)
return 0
end
end
--------------------------------------------------------------------------
-- Dynamic ltx
--------------------------------------------------------------------------
function load_ltx(gname, type)
return nil
end
function checkStalker(npc_community, gulag_type, npc_rank, se_obj)
if gulag_type == "esc_lager" then
return npc_community == "stalker"
end
return false
end
function checkMonster(npc_community, gulag_type)
return false
end
логика работы гулага (мудренная)но 100% рабочая
[logic@esc_lager_zoneguard1]
active = walker@esc_lager_zoneguard1
Да и интересные вещи происходят если заспаунить сталкера без всякой логики в 80% он погуляв идет в бункер сидора и ломиться в закрытую дверь наверно за заданием
ТоТ Сталкер.:ye)
Просветите что означает? только поподробней пожалста!!
добавлено спустя 14 минут
fan fan если непись совсем новых то приклеить к нему однотипные квесты надо не совсем как в вики прописана.По моему надо в 5 или 6 файлах добовлять своего непися.Если ещё надо я могу посмотреть ссылку
отредактировал(а) Vich2010: 16-02-2011 12:33 GMT3 час. Большая Земля - это часть Зоны Отчуждения и наоборот.
AAAAKKK
Сейчас не могу ответить подробно (да и опыта работы со смартами у меня почти нет), но насколько я помню в одной функции файла smart_terrain.script объявляется сама табличка self.npc_info = {}
а в другой в нее пишутся данные self.npc_info[iайди npc] = {здесь данные по npc }
Данные эту таблицу считываются из кустом даты смартов.
В твоем случае (судя по логу )выходит, что табличка эта даже не объявляется - то есть в нее не просто ничего не считалось, а даже не дошло до этого.
Отсюда и вылет при попытке итерировать несуществующую таблицу.
Причину я сказать не могу. Тут скорей Artos сможет более внятно объяснить в чем дело.
Челны - ну в общем то конечно за последние 10-15 лет изменились немного - вавилонскую башню(гостиницу) рядом с "Батыром" наконец достроили :-) за 35 лет то... и даже открыли.
Много новых комплексов понастроили, мегамаркетов - куда ни плюнь.
А так все как обычно в небольших городах - Камаз первый на ралли, и... последний по зарплатам :-(
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
У меня вопросик помогите плиз!:-G
Короче делаю модик на теньку, и надо кое-что взять из Народной Солянки 2010, но нарисовалась проблемка: в папке геймдата нету файлов!!! Как мне достать их? 8-(
function CRandomTask:parent_can_task(actor, npc, p1, p2, p3)
local parent = self:get_parent(npc)
local avail = false
self:task_avail(actor, npc, nil, nil, nil, "reset") 256 строчкаfor k,v in pairs(self.task_id_by_parent[parent]) do
if self:task_avail(actor, npc, nil, nil, self.task_info[v].init_phrase_id, true) then
avail = true
end
end
return avail
end
erlik Ясно, там вроде бы все есть, но на всякий случай - вопрос как добавлять персу story id
AAAAKKK
В твоем случае с ошибками из 'smart_terrain.script' - явно путаница во внутренней таблице неписей в гулагах.
Точно сказать слодно, тем более ты номера трок явно напутал.
Ошибка: smart_terrain.script:240: bad argument #1 to 'pairs' (table expected, got nil)
- может относиться к: for id, v in pairs( self.npc_info ) do , а не как к: obj = sim:object( id )
Вот и анализируй, как так может не пустая таблица выбирать несуществующий ключ?
Попробуй вывести таблицу в лог перед итерацией и поискать нарушение структуры.
Ну а ошибка в 751-ой строке - следствие того, что функция НЕ получает требуемую серверную юзердату объекта. Или его нет или не серверный (клиентский?).
Давно бы научились выводить в лог нужную инфу перед проблемными строками. Не погадалками нужно заниматься, а анализом информации. fan fan
Для таск-менеджера важен не столь описатель стори-ид, а он сам (численное значение). Проверки в нем идут от имени выдавшего квест, а имя переводится в идентификатор (story_id). Описатель же только в информационных строках и xml'ек из \gameplay\tasks_*.xml ... что никак к самому скрипту таск-менеджера не имеет отношения.
fan fan
Story_Id нужно прежде всего в allspawn указать - в секции самого npc. Иначе толку от его указания в game_story_ids.ltx никакого.
Можно sid и через нетпакет присвоить NPC - но как это делается поищи сам. ZiU-682GOO
Это не участок кода, а "объедок" кода.
Откуда мне знать чего делает данный код, кроме того что там таблица итерируется? (причем несуществующим методом pair... надеюсь хоть это то поправил...)
Анализировать нужно весь контекст кода. Чем тебе и следует заняться.
добавлено спустя 4 минут
Artos
не пустая таблица выбирать несуществующий ключ?
Так ведь у него она вообще не существует - "got nil".
Если передать pairs вместо таблицы nil - получим именно такой лог.
отредактировал(а) erlik: 16-02-2011 17:44 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik, проблему я уже решил. в 94-ой строке, там где pairs(t), вместо t должно стоять a_tbl, почему-то без примесей ФриплейСтарт Мод подобными вылетами вообще не разбрасывался, в то же время, как адаптации сторонних модов к редактированию art_mgr.script привести не могли, не знаю почему, но таков факт. И все равно спасибо за помощь.
erlik
Да, эт я ... отвлекся.
Тогда явно он внес ошибки в скрипт, т.к. 'self.npc_info' - базовая таблица гулага и никак не может НЕ существовать. СтОит искать где же она так "чистится ..."
Artos , erlik спасибо
Разобрался ошибки нет
таблица действитеьно может не сушествовать дело в том что как я писал удаленны все смарты нпс и мобы вылет присходил при добавлении смарта и гулага нписям
ну я и подумал раз есть гулаг для нпс должен быть и для мобов
Стоило добавить гулаг для мобов все заработало
Вобщем для начала работы файлов смарт_терайн и хр_гулаг.скрипт
необходим хоть 1 гулаг для нпс и 1 для монстров с населением и логикой работ.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.