Это популярное сообщение. Dennis_Chikin 3 665 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-847221
cc31 0 Опубликовано 13 Июня 2009 Поделиться Опубликовано 13 Июня 2009 почитал форум так и не понял как сделать нпс бессмертным - помогите плиз! где что менять/прописовать Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-234520
RvP 1 Опубликовано 13 Июня 2009 Поделиться Опубликовано 13 Июня 2009 cc31, надо в секции нпс клас ему присвоить как у Сахара. открываеш его блокнотом в характер_деск_%лока%.хмл ищеш и прописуеш Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-234547
Sierra-1 0 Опубликовано 13 Июня 2009 Поделиться Опубликовано 13 Июня 2009 Люди как неписей из чн в тч перенести? Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-234605
cc31 0 Опубликовано 13 Июня 2009 Поделиться Опубликовано 13 Июня 2009 (изменено) RvP, cc31, надо в секции нпс клас ему присвоить как у Сахара. открываеш его блокнотом в характер_деск_%лока%.хмл ищеш и прописуеш чет невыходит, в character_desc_escape ставлю волку в секции esc_wolf класс yan_general_ecolog как у сахарова в character_desc_yantar при начале новой игры вылет. где эти классы зарыты? может новый сделать, типа суперсталкер. нашел такое описание: Так же, как сделан бессмертным Сахаров. В m_stalker.ltx прописать еще одну секцию на основе стандартной, где подкрутить иммунитеты. В spawn_sections.ltx нужным сталкерам вместо [спавн_секция]:stalker прописать [спавн_секция]:новая_секция_с_правленым_иммунитетом немогу понять где в spawn_sections.ltx что прописывать, например секция кулинара [gar_artem_kulinar_spawn]:stalker $spawn = "respawn\gar_artem_kulinar_spawn" character_profile = amk_artem_kulinar_class spec_rank = regular community = stalker что ему поправить для бессмертия? Изменено 14 Июня 2009 пользователем cc31 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-234775
Kirag 41 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 cc31 Для Артема Кулинара все просто: строку [gar_artem_kulinar_spawn]:stalker правим на [gar_artem_kulinar_spawn]:stalker_sakharov А вот с Волком будут проблемы - он зашит в алл.спавне. Вот начало секции Волка [100] ; cse_abstract properties section_name = stalker name = esc_wolf ... и т.д. А вот Сахаров: [5228] ; cse_abstract properties section_name = stalker_sakharov name = yantar_ecolog_general ... и т.д. Разница выделена жирным шрифтом. И такое, насколько я понимаю, будет с большинством (если не со всеми) квестовыми НПС из оригинала или просто заспавнеными через алл.спавн. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-234846
Kostya V 36 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 Ну так надо в алл.спавне сделать такие исправления и с новой игрой НПС, для которых сделаны эти исправления, будут бессмертными. Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет! Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-234857
cc31 0 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 (изменено) Kirag, Разница выделена жирным шрифтом. И такое, насколько я понимаю, будет с большинством (если не со всеми) квестовыми НПС из оригинала или просто заспавнеными через алл.спавн. то есть надо обязательно править алл.спаун? хотел посмотреть как сделано у доктора - но не могу найти как смотреть/править в xrspawner? вроде нашел волка esc_wolf поменял - в новой игре фиг, дохнет зараза Изменено 14 Июня 2009 пользователем cc31 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-234863
IQDDD 5 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 (изменено) Vergas, local hud = get_hud() hud:HideActorMenu() Не уверен, но может помочь. И вот второй вариант: level.disable_input() level.hide_indicators_safe() local hud = get_hud() hud:HideActorMenu() hud:HidePdaMenu() level.enable_input() level.show_indicators() Добавлено через 22 мин.: Monnoroch, на ум приходит: actor:give_game_news("", "", [заранее сделанная текстура с чёрным шрифтом], 1000,20000) Изменено 14 Июня 2009 пользователем IQDDD Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-234900
Gonarh 6 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 (изменено) Как сделать текст сообщений Черным ? function show_black_msg(text) db.actor:give_game_news("%c[255,0,0,0]"..text, "ui\\ui_iconsTotal", Frect():set(0,658,83,47),1000, 20000) end юзать так: show_black_msg("блаблабла") Добавлено через 57 мин.: IQDDD, заранее на все случаи жизни текстур с нужными текстами не наберешься, да и некошерно это Добавлено через 75 мин.: А вот кто-нибуть пробовал через скрипт закрыть инвентарь? а какже local inventar_menu=level.main_input_receiver() inventar_menu:GetHolder():start_stop_menu(self,true) Изменено 14 Июня 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-234918
Monnoroch 6 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 Gonarh, добавление действия в net_spawn работает - оно совершается при загрузке. Есть одно НО: если перезапустить сталкер - то вот тогда почему-то НЕ работает это действие... Не знаешь,как это решить? Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235032
Gonarh 6 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 (изменено) скорее всего синхронизация клиента(основной тормоз) происходит чуть больше времени отображения новости, попробуй увеличь время отображения новости примерно так: function show_black_msg(text) db.actor:give_game_news("%c[255,0,0,0]"..text, "ui\\ui_iconsTotal", Frect():set(0,658,83,47),1000, 60000) end Изменено 14 Июня 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235069
Monnoroch 6 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 (изменено) Да,действительно. Что я делаю: считаю колличество загрузок игры. - коллбэк в конце bind_stalkeer.actor_binder:net_spawn() И загрузка сразу после запуска игры почему-то не считается. Пользуюсь amk.save_variable и bind_stalkeer.actor_binder:save(paket) для сохранения колличества. Загрузка НЕ после перезапуска игры считается отлично. Может что-то не правильно,нельзя этими функциями пользоваться? Изменено 14 Июня 2009 пользователем Monnoroch Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235075
Gonarh 6 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 (изменено) давай в личку свой аськ - так думаю будет просче обсчаться Изменено 14 Июня 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235098
Halford 22 Опубликовано 14 Июня 2009 Автор Поделиться Опубликовано 14 Июня 2009 Вопросик. За что отвечают файло massage_box.xml из config\ui? Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235108
Gonarh 6 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 хмм, похоже отвечает за формы, тестуры и размеры окна мессаджбокс в главном меню, ПЫСовцы делали его похожим на системное 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235121
IQDDD 5 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 (изменено) Gonarh, а вот такой вопрос: 1. Как в Lua писать данные в файл, как читать данные из файла? 2. Что такое NET пакеты и зачем они нужны? (это случай не что-то по типу winAPI) 3. Что за Frect():set(0,658,83,47)? 4. В стандартном news_manager: actor:give_game_news(news_caption, news_text, texture, timeout*1000, showtime) У вас на месте таймаута стоит Frect():set(0,658,83,47)? 5. Расскажите о методах GetHolder() и start_stop_menu(self,true). (Как я понимаю, start_stop_menu (self,true) открывает или закрывает элемент self, в нашем случае инвентарь.) Изменено 14 Июня 2009 пользователем IQDDD Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235188
Monnoroch 6 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 Gonarh, если будете отвечать на пост выше,отвечайте прямо тут,не в ЛС.... Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235198
Gonarh 6 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 (изменено) 1. Писать нельзя только читать. По крайней мере в классе ini_file в lua_help.script нет объявлений методов записи C++ class ini_file { ini_file (string); function line_count(string); function r_bool(string, string); function section_exist(string); function r_float(string, string); function r_clsid(string, string); function r_s32(string, string); function r_line(ini_file*, string, number, string&, string&); function r_token(string, string, const token_list&); function r_vector(string, string); function r_u32(string, string); function r_string_wq(string, string); function r_string(string, string); function line_exist(string, string); }; создаем в папке gamedata\config\misc файлег moi_dannye.ltx следующего содержания: [general_data] my_param = 1.5 Примерная функция чтения этого параметра function get_parametr() result = 0 local sini = ini_file("misc\\moi_dannye.ltx") if sini and sini:section_exist("general_data") then if sini:line_exist("general_data","my_param") then result = sini:r_float("general_data","my_param") end end return result end учтите что это функция чтения числа с плавающей точкой, для чтения других типов данных используйте соответствующие методы 2. нетпакет это примерно 7,5-8килобайт пользовательских данных куда можно писать/читать свои данные, превышение данного объема ведет к вылетам, на основе этой фичи построены моды, без нетпакета жизнь мододелов была бы существенно затруднена. практически все фишки которых нет в оригинале с деланы при помощи этой хрени. 3. Это координаты куска текстуры gamedata\textures\ui\ui_iconstotal.dds для отображения иконки того кто послал Меченому сообщение 4. Нет не на месте таймаута а на месте "texture" 5. У GetHolder() нет методов ибо это и есть метод 3-х классов ЕМНИП, если чесно влом писать, то чего сам толком не понимаю, действовал сам методом научного тыка читая lua_help.script, все возможные функции, классы, методы, константы игры описаны в этом файле... так шо дерзайте Изменено 14 Июня 2009 пользователем Gonarh 118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235217
Malandrinus 624 Опубликовано 14 Июня 2009 Поделиться Опубликовано 14 Июня 2009 1. Как в Lua писать данные в файл, как читать данные из файла? 2. Что такое NET пакеты и зачем они нужны? (это случай не что-то по типу winAPI) 3. Что за Frect():set(0,658,83,47)? 1. Вообще говоря в стандартном Lua есть функции работы с файлами, но их наличие в конкретной реализации зависит от разработчика. Поскольку Lua фактически является частью хост-приложения, то в нём будут только те библиотеки, которые пожелает оставить разработчик. Вот в данном случае все стандартные библиотеки для работы с файлами были убраны. Если вопрос в том, есть ли способ записи в ltx файл, предоставленный в API самой игры, то походу тоже нет. 2. нетпакет - это класс движка игры, экспортированный в Lua. Каждый объект этого класса содержит буфер. Любой серверный объект можно записать в этот буфер и считать из него. Кроме того, в этом классе есть функции для последовательного разбора этого буфера. Техника работы с нетпакетом следующая: а) создаем объект класса нетпакет, вот так: local packet = net_packet() б) читаем в него состояние объекта вот так: sobj:STATE_Write(packet) в) разбираем нетпакет на части, читая последовательно все его поля в переменные Lua. Здесь требуется знать внутреннее представление нетпакета для каждого класса. acdc в руки... local game_vertex_id = packet:r_u16() local distance = packet:r_float() local direct_control = packet:r_s32() local level_vertex_id = packet:r_s32() ... и т.д. г)меняем значения полученные переменных, как нам надо, и затем записываем обратно в нетпакет в том же порядке так: res:w_u16(game_vertex_id) res:w_float(distance) res:w_s32(direct_control) ... и т.д. д) записываем нетпакет обратно в объект вот так: local size = res:w_tell() res:r_seek(0) sobj:STATE_Read(res,size) Делать всё это можно только с объектами в оффлайне. Если вдаваться в лирику, то нетпакет - это похоже часть движка, связанная с процессом синхронизации между клиентской и серверной частью. Можно предположить, что при синхронизации клиентской и серверной части объектов клиент записывает в этот самый нетпакет себя и затем посылает этот буфер на серверную сторону (потому и net-пакет). А может сервер клиенту... чёрт его знает. 3. Frect():set(0,658,83,47) - это синтаксис создания неименованного объекта пользовательского типа, экспортированного в Lua. В данном случае Frect. Это класс для хранения координат прямоугольника. Сразу после создания для объекта вызывается его метод set, который устанавливает его значения. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235256
IQDDD 5 Опубликовано 15 Июня 2009 Поделиться Опубликовано 15 Июня 2009 (изменено) malandrinus, Gonarh, в faction commander для ЧН как-то сделали запись в файл и чтение из него. Вот кусок кода: class "Setting" function Setting:__init() self.settingFileName = "gamedata\\faction_commander_setting.txt" self.settingTable = { command = { value = "", pattern = ".+", defaultValue = "default" }, magnitude = { value = "", pattern = "%d+", defaultValue = "0" }, ai = { value = "", pattern = "%a+", defaultValue = "disable" }, commission = { value = "", pattern = "%a+", defaultValue = "commission_off" }, } local file = io.open( self.settingFileName, "r" ) if file ~= nil then for name, info in pairs( self.settingTable ) do info.value = file:read( "*line" ) or "" end file:close() end for name, setting in pairs( self.settingTable ) do self:_checkIntegrity( name ) end end function Setting:__finalize() local file = io.open( self.settingFileName, "w" ) if file ~= nil then for name, setting in pairs( self.settingTable ) do file:write( setting.value, "\n" ) end file:close() end end function Setting:getValue( name ) return self.settingTable[ name ].value end function Setting:setValue( name, value ) self.settingTable[ name ].value = value self:_checkIntegrity( name ) end Изменено 22 Июня 2009 пользователем Pxan Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/49/#findComment-235586
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти