Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Gonarh 5 Опубликовано 16 Декабря 2009 Поделиться Опубликовано 16 Декабря 2009 (изменено) то есть запись strn.gulag должна возвращать именно строку из таблицы как ты уже наверное понял, это все таки не строка а объект ЗЫ. айдишник смарта ты могешь читать из нетпакета непися, если непись не ходит под смартом, его айдишник смарта = 65535 Изменено 16 Декабря 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Garry_Galler 7 Опубликовано 16 Декабря 2009 Поделиться Опубликовано 16 Декабря 2009 (изменено) Gonarh Зер гуд. Все отлично работает - ты был прав кстати как ты понял как надо правильно обращаться к этой переменной? была одна странная заминка - я перед проверкой решил поменять тип метки - со здоровой "alife_presentation_smart_ready" на мелкую stalker_debag вроде называется и когда в игру зашел обнаружил что все метки на месте, а текста на них не выводится. Вернулпрежнюю метку на родину - и все норм - весь текст выводится и гулаги тоже. Так что спасибо за помощь. Изменено 16 Декабря 2009 пользователем Garry_Galler Ссылка на комментарий
Gonarh 5 Опубликовано 16 Декабря 2009 Поделиться Опубликовано 16 Декабря 2009 кстати как ты понял как надо правильно обращаться к этой переменной? так же как и все остальное - углубленным ковырянием оригинальных и чужих скриптов в данном случае заинтересовал метод gulag:print в xr_gulag.script 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Bedlam 0 Опубликовано 17 Декабря 2009 Поделиться Опубликовано 17 Декабря 2009 (изменено) Так как? Неужто никто не отключал звук контакта ПДА и не в курсе как это сделать? Gonarh, : понятно, будем пробовать. Изменено 17 Декабря 2009 пользователем Bedlam Ссылка на комментарий
Gonarh 5 Опубликовано 17 Декабря 2009 Поделиться Опубликовано 17 Декабря 2009 я отключал, как делать - написал. Что там у тебя не получается, не знаю, смотри свои ошибки 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Garry_Galler 7 Опубликовано 18 Декабря 2009 Поделиться Опубликовано 18 Декабря 2009 (изменено) В общем в своем скрипте решил почти все проблемы с выводом нужной инфы (спасибо всем кто помогал), но до сих не работает счетчик итемсов - сначала было так что с ним в игре метки просто не появлялись - потом мне подсказали одно мое упущение - что таблица то пуста и поэтому проверка на одноименные итемсы в пустой таблице просто не будет работать (так как тело оператора for do end не будет читаться) - и сначала надо в эту таблицу добавить хоть один. исправил это добавив проверку на длину таблицы чтобы туда если она пуста попал хоть один итемс, а потом уже начал работать счетчик. Но теперь это приводит к зависанию загрузки игры. db.storage[k].inventory = {} obj:iterate_inventory(function (tmp, item) local invName = game.translate_string(this.get_inv_name(item:section())) --цикл который должен пoложить в таблицу один итемс, а потом перестать выполняться while table.getn(db.storage[k].inventory) == 0 do -- пробовал делать проверку таблицы и так if next(db.storage[k].inventory)== nil then -- в общем всяко разно делал итог один. table.insert(db.storage[k].inventory, {sec =item:section(), inv=invName, count = 1}) end --сам счетчик делающий проверку имеющихся в таблице итемсов на совпадение по секции если совпадение есть то увеличиваем каунт пока совпадения не закончатся for t, vv in pairs(db.storage[k].inventory) do if db.storage[k].inventory[t].sec == item:section() then db.storage[k].inventory[t].count = vv.count + 1 else --совпадений нет - добавляем итемс table.insert(db.storage[k].inventory, {sec =item:section(), inv=invName, count = 1}) end end end,obj) в общем при любом способе проверки что таблица пуста - игр зависает на стадии синхронизации (надолго) а потом вылетает с логом out of memory - то есть как я понимаю компу просто не хватает оперативы, чтобы обработать то что начинает делать скрипт (у меня он сразу выполняется при загрузке уровня). Но что именно его так грузит? Сразу добавлю - вывод в метку всех итемсов без счетчика - даже если итемсов у непися немеряно (я например волку добавил 50 пачек патронов) - к зависанию и вылетам не приводит - конечно границы списка уходят за экран, но все работает. Изменено 18 Декабря 2009 пользователем Garry_Galler Ссылка на комментарий
Maks_K 0 Опубликовано 18 Декабря 2009 Поделиться Опубликовано 18 Декабря 2009 Garry_Galler, 1. А зачем ты это делаешь через while разве if не подойдет? 2. А код у тебя где стоит в bindstalker.script ? - он же вызывается раз в несколько секунд может из за этого? Ссылка на комментарий
Garry_Galler 7 Опубликовано 18 Декабря 2009 Поделиться Опубликовано 18 Декабря 2009 Vetrogon function monstr_kil() if level.name() ~= "l07_military" then return else for k, v in pairs (db.storage) do local monstr = level.object_by_id(k) if (monstr and IsMonster(monstr) and monstr:alive()) then monstr:kill(monstr) end end end end ставишь на апдейт и все онлайн монстры на локации склады сдохнут при загрузке уровня. тока трупы останутся. Потом апдейт убираешь и все идет как раньше. У меня кстати есть скрипт - который делает эктора магом убийцей на расстоянии всех живых объектов :ny_ph34r_1: как то сделал для забавы... вообще проверка по 65 тысячам объектов грузит систему лучше использовать проверку тольк оналйн объектов через storage. Maks_K через if тоже делал - я же написал результат тот же. И проверку таблицы тоже по разному делал- операторов в lua для этого дела завались. тока в сталкере не все пашут. Ссылка на комментарий
Garry_Galler 7 Опубликовано 18 Декабря 2009 Поделиться Опубликовано 18 Декабря 2009 Vetrogon я вообще в бинд сталкер не пишу тело функций - я туда ставлю только их вызов то есть имя_файла.имя_функции() и ставлю обычно не в начало самой функции а куду нить после апдейта звуковой схемы актера насчет загрузки не знаю - по идее должно сработать сразу если начнешь грузить эту локу. а ты первую строчку и последний end вообще убирал когда туда вставлял? надо ж если тело функции пишешь в другой функции оператор function тогда убирать и end который его закрывает тож. Ссылка на комментарий
Maks_K 0 Опубликовано 18 Декабря 2009 Поделиться Опубликовано 18 Декабря 2009 (изменено) if level.name() ~= "l07_military" then return else Судя по этому удаление будет происходить везде кроме l07_military Так и задумывалось? Изменено 18 Декабря 2009 пользователем Maks_K Ссылка на комментарий
Pihan13 9 Опубликовано 18 Декабря 2009 Поделиться Опубликовано 18 Декабря 2009 Ребят, в каких конфигах и скриптах нужно прописать мой новый уровень, чтобы он заработал со смартами и гулагами? Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
Garry_Galler 7 Опубликовано 18 Декабря 2009 Поделиться Опубликовано 18 Декабря 2009 Maks_K if level.name() ~= "l07_military" then return else если уровень не равен уровню военные склады то возврат - то есть функцию дальше не читаем. else - также - то есть если условие не выполняется - а не выполняется оно только в обратном случае то есть если уровень военные склады, то читаем функцию дальше и выполняем действие. это то же самое что и это if level.name() == "l07_military" then действие а везде кроме l07_military будет так if level.name() == "l07_military" then return читай коды внимательней. Ссылка на комментарий
Gonarh 5 Опубликовано 18 Декабря 2009 Поделиться Опубликовано 18 Декабря 2009 чтобы он заработал со смартами и гулагами? Вопрос некорректен, ты сам расставляешь смарты, спавнишь неписей(я это делал через all.spawn) и настраиваешь логику гулагов, само оно ничего делаться не будет 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Pihan13 9 Опубликовано 19 Декабря 2009 Поделиться Опубликовано 19 Декабря 2009 Gonarh, я создал смарт, прописал его название, объём и прочее ему в кастомдату. В конфигс - миск создал файл логики. в скриптах тоже. всеравно вылеты. я же говорю сделал такой же смарт на кордоне - работает Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
Gonarh 5 Опубликовано 19 Декабря 2009 Поделиться Опубликовано 19 Декабря 2009 а ты включил файл который создал в конфиг/миск в gulag_tasks.ltx? 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Pihan13 9 Опубликовано 19 Декабря 2009 Поделиться Опубликовано 19 Декабря 2009 Gonarh, да. инклудом Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
СвароГ 0 Опубликовано 19 Декабря 2009 Поделиться Опубликовано 19 Декабря 2009 Извините , если не по теме, но может быть кто нибудь сможет пояснить на что ругается игра. Спасибо. [error]Expression : xml_result [error]Function : CXML_IdToIndex<class CPhraseDialog>::InitInternal [error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\xml_str_id_loader.h [error]Line : 162 [error]Description : error while parsing XML file [error]Arguments : .xml Объявление. Модератор с утончённым вкусом ищет девушку с параметрами 90,56 Х 62, 44 Х92, 799 , не зануда... Ссылка на комментарий
RvP 1 Опубликовано 19 Декабря 2009 Поделиться Опубликовано 19 Декабря 2009 СвароГ, на то что не может прочитать какойто *.хмл файл. Пересмотри все файлы, мож там чтото не то с названиями. Если нет попробуй поиском поискать инклуды и посмотреть там какието бока Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий
Chainsaw 2 Опубликовано 19 Декабря 2009 Поделиться Опубликовано 19 Декабря 2009 У меня вопрос: зачем в конфигах оружия эти строки: ammo_limit ammo_elapsed Сообщение от модератора n6260 Для мультиплеера вроде. Я ВЕРНУСЬ И НАДЕРУ ВСЕМ ЗАДНИЦЫ (С) УИЛЛИС Ссылка на комментарий
Malandrinus 615 Опубликовано 19 Декабря 2009 Поделиться Опубликовано 19 Декабря 2009 Stalker Hartman, подозреваю, что для мультиплея (если вообще используются). В сингле они явно не задействованы. Ещё в качестве предположения. Это может быть наследие времён, когда планировалось ограничение на количество патронов у неписей. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти