Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Monnoroch 6 Опубликовано 17 Июня 2009 Поделиться Опубликовано 17 Июня 2009 (изменено) self.npc:eat(self.npc:object("medkit_scientic")) -- или любая другая аптечка а это восстанавливает здоровье. замени на local a = 0.3 -- величина,на которую увеличить здоровье self.npc.health = self.npc.health + a Ну как то так)) Мб я не прав, и метод eat() на нпс не так,как на ГГ действует,но попробуй... Kirag, я первый))) Изменено 17 Июня 2009 пользователем Monnoroch Ссылка на комментарий
Kirag 39 Опубликовано 17 Июня 2009 Поделиться Опубликовано 17 Июня 2009 wolkolak Попробуй вместо self.npc:eat(self.npc:object("medkit")) написать self.npc.health = self.npc.health + N, где N - прирост здоровья. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Vergas 11 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 Kirag, В корне неверно. health - это не уровень здоровья . Это как раз и есть "прирост здоровья". То-есть надо не так self.npc.health = self.npc.health + N, где N - прирост здоровья. Правильно будет self.npc.health = N, где N - прирост здоровья. ========================================= wolkolak, я так понимаю, что ты пытаешься выличить НПС аптечкой от ГГ. Не ищи сложностей в этом лечении. тебе ведь главное. чтобы НПС встал и пошел? Так создай ему эти условия, чтобы он вышел из "состояния ранености". Так ли важно, на сколько он выличился? НЛС-6: У каждого своя зона _______________________________________________________________ Не ищи легких путей и не возвращайся той же дорогой Ссылка на комментарий
gruber 2 481 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 может быть он пытается сделать процесс лечения через диалог -типа доктора -была такая идея Ссылка на комментарий
IQDDD 5 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 А вот в скриптах постоянно встречается self? Что это за self? Ссылка на комментарий
Malandrinus 615 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 А вот в скриптах постоянно встречается self? Что это за self? Встречается только в методах классов. Означает "этот объект" или иными словами "объект, для которого вызван метод" Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Kirag 39 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 Возникла пара вопросов по таблицам. 1) Попробовал сделать, чтобы id всех членов какого-то гулага заносились в таблицу. Объявлял таблицу в самом начале файла: local gulag_members = {} Заносил в таблицу так: for k,v in pairs(gulag.Object) do if (v == true or ( v:alive() and -- not(xr_wounded.is_heavy_wounded_by_id(k) or xr_wounded.is_psy_wounded_by_id(k)))) and gulag.Object_begin_job[k] == true then if type(v) ~= "boolean" then table.insert(gulag_members,v:id()) end end end С этим проблем не возникает все заносится адекватно, но все это хорошо только если гулаг один. А как быть, если гулагов несколько, причем заранее неизвестно ни сколько их, ни какие именно? По идее, надо бы чтобы в таблице gulag_members каждый член был в свою очередь таблицей, и вот в эту подтаблицу и заносить нужные id. Попробовал записывать командой table.insert(gulag_members[gulag],v:id()) По идее, должно было записаться в элемент таблицы gulag_members с индексом [gulag]. Но получается вылет: bad argument #1 to 'insert' (table expected, got nil) Похоже, я накосячил в объявлении таблицы, но как это сделать правильно - даже вариантов нет Или я даже не понимаю, сколько всего я не понимаю... 2) Пусть та же ситуация, но заносить в таблицу нужно не только id, но и, допустим, тот же самый гулаг объекта. Т.е. чтобы в одном элементе таблицы хранилось не одно значение, а несколько (известно, сколько и какого типа значения, но неизвестно, сколько всего элементов). Такие сложные таблицы я встречал, но везде, насколько помню, значения задавались изначально при объявлении. Как быть в таком случае? Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
IQDDD 5 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 (изменено) Kirag, не знаю точно, но это помочь может. 1) А может вот так: gulag_members[gulag] = {} table.insert(gulag_members[gulag],v:id()) И проверьте gulag, вдруг nil. (в скрипте сверху gulag - это типа "гулаг", а ниже - уже типа "number". 2) Наверно, просто элемент таблицы нужно объявить как таблицу, т.е.: local table = {} local i for i = 1, 5 do table = {} end. В результате получаем таблицу с пятью столбцами и бесконечным числом строк, больше ничего не надо: навыки программирования помогут. Изменено 18 Июня 2009 пользователем IQDDD Ссылка на комментарий
cc31 0 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 (изменено) повторю вопрос: "как смотреть/править в xrspawner? вроде нашел волка esc_wolf поменял - в новой игре фиг, дохнет зараза " это я хотел нпс класс сахарова сделать - для их бессмертия. помогите, а? з.ы.: в нлс5 есть обмен артов на вещи - где это править? з.ы.ы.: такая ситуация: в каждой новой игре повторяется наезд военных на лагерь новичков. где/как это исправить? Изменено 18 Июня 2009 пользователем cc31 Ссылка на комментарий
Kirag 39 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 cc31 Используй ACDC, xrspawner половину параметров не возьмет. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
IQDDD 5 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 Kirag, вы попробовали элемент таблицы объявить как таблицу? см. мой пост выше. local table = {} table[1] = {} table.indert (table[1],db.actor:id()) 1 Ссылка на комментарий
Kirag 39 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 IQDDD Спасибо за подсказку, принцип действительно правильный. local gulag_members = {} -- основная таблица function get_gulag_members(gname) local current_gulag_members = {} -- подтаблица конкретного гулага local gulag = xr_gulag.get_gulag_by_name(gname) if gulag == nil then return end for k,v in pairs(gulag.Object) do if (v == true or ( v:alive() and -- not(xr_wounded.is_heavy_wounded_by_id(k) or xr_wounded.is_psy_wounded_by_id(k)))) and gulag.Object_begin_job[k] == true then if type(v) ~= "boolean" then table.insert(current_gulag_members,v:id()) --заносим в подтаблицу все, что нужно end end end gulag_members[gname] = current_gulag_members --запихиваем готовую подтаблицу в нужный индекс основной end function read_gulag_members(gname) local gm = gulag_members[gname] -- рабочая таблица - элемент основной с нужным индексом if gm == nil then -- если пустая - создаем get_gulag_members(gname) gm = gulag_members[gname] end for k,v in pairs(gm) do qqq(v) -- делаем все, что нужно. qqq - тестовый вывод в сообщение на экран и в лог end end Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Storyteller 2 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 Уважаемые, такой вопрос: Как в кпк, в раздел энциклопедии, добавить информацию о новом предмете, например об новом оружии, которого уже навалом.? Мои работы ТЫЦ Ссылка на комментарий
Gonarh 3 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 мужики, может кто-нить кинуть в меня линком на чистый мод ARC (контейнеры) последней версии? 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Kirag 39 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 Storyteller Например, мутанты добавляются так: В config\gameplay\info_known_objects.xml добавляется инфопоршень: <info_portion id="encyclopedy_mutant_chimera_general"> <article>mutant_chimera_general</article> </info_portion> В config\gameplay\encyclopedia_mutants.xml добавляется сама статья, прописанная в <article>...</article>: <!-------------------------------- CHIMERA -----------------------------> <article id="mutant_chimera_general" name="Chimera" group="Mutants"> <texture>ui_npc_monster_chimera</texture> <text>enc_mutant_chimera_general</text> </article> В config\ui\ui_npc_monster.xml добавляется ссылка на иконку из <texture>...</texture> (само собой, координаты должны быть правильными): <texture id="ui_npc_monster_chimera" x="330" y="324" width="165" height="108" /> В config\text\rus\string_table_enc_mutants.xml добавляется сам текст статьи из <text>...</text>: <string id="enc_mutant_chimera_general"> <text>1.4 м. Результат генетических экспериментов по программе (универсальное животное-защитник) УЖАЗ?. - Очень умная, сильная и быстрая тварь. - Прячется, обходит со спины. - Дублированная система внутренних органов и дополнительный мозг делает процесс ее умерщвления весьма проблематичным. - Регенерация. - Биологических врагов мало. - В движении напоминает пантеру. - Единственные достойные противники в мире зоны - чернобыльский пес и псевдогигант.</text> </string> Сюда же добавляется название статьи из поля name тега article: <string id="Chimera"> <text>Химера</text> </string> При выдаче инфопоршня encyclopedy_mutant_chimera_general статья попадет в энциклопедию в раздел из поля group тега article. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Storyteller 2 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 Kirag, за ответ спасибо, но встречный вопрос, как именно происходит выдача инфопоршня, ну я имею ввиду- его надо самостоятельно привязывать к чемуто или как? Мои работы ТЫЦ Ссылка на комментарий
IQDDD 5 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 Storyteller, инфопоршень можно получить всего тремя путями: 1. Через диалог. <give_info_portion></give_info_portion> 2. Через логику. + 3. Через скрипты. db.actor:give_info_portion() Ссылка на комментарий
Storyteller 2 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 IQDDD, если я правельно понял, то в любом случае, только через геймплей. Тогда маленький вопросик, извените за назойливость, как зделать привязку к взятию предмета (взял пушку и инфа появилась) Мои работы ТЫЦ Ссылка на комментарий
IQDDD 5 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 (изменено) Storyteller, это способ через скрипты. думаю, вам ответ либо товарищ Gonarh, либо мастер malandrinus. Мне кажется, что надо делать так: сделать у пушки собственный sid. В actor_binder:on_item_take(obj), что находится в bind_stalker написать: local sid = [заготовленный sid] if obj:story_id() == sid then db.actor:give_info_portion("info_take_item_art_1") end malandrinus, так? Изменено 18 Июня 2009 пользователем IQDDD Ссылка на комментарий
Gonarh 3 Опубликовано 18 Июня 2009 Поделиться Опубликовано 18 Июня 2009 (изменено) почти, стори_ид тут не нужон: if obj:section() == "название_новой_пушки_например_wpn_ak47" then db.actor:give_info_portion("info_take_item_art_1") end код впихачить - правильно сказал в actor_binder:on_item_take(obj), что находится в bind_stalker Gonarh, а ты разобрался с методом berserk() ? пока некогда займусь после выходных Изменено 18 Июня 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти