Push85 4 Опубликовано 19 Апреля 2009 Vergas Например так: db.actor:item_in_slot(1)-возвращает ссылку на объект лежащий в 1 слоте, ну а дальше делай с ней что хочешь, получай секцию, ID и т.д. Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 19 Апреля 2009 XMK db.actor:disable_info_portion("vzal_dolg") Отшель[НИК] Попробуй эту функцию: ссылка_на_толика:who_hit_section_name()-возвращает секцию того ко нанес повреждение Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 27 Апреля 2009 (изменено) Vergas Скрипт bind_stalker.script функции actor_binder:save(packet) и actor_binder:load(reader) Для сохранения переменной в actor_binder:save(packet) пишешь примерно это (писать лучше в самый конец, чтобы ошибок меньше было): имя_файла_скрипта_в_котором_нужная_ тебе_переменная. save(packet) Для загруски переменной в actor_binder: load (packet) пишешь примерно это (писать лучше в тоже место что и в actor_binder:save(packet)): имя_файла_скрипта_в_котором_нужная_ тебе_переменная.load (reader) в файле с переменной создаешь функции: function save (packet) packet:w_u8(имя_переменной) end и function load (reader) имя_переменной = reader:r_u8() end w_u8 и r_u8 надо поменять если используешь другой тип переменной вот несколько примеров(здесь я могу ошибаться так что поправьте если что): строковая переменная w_stringZ и r_stringZ с плавающей точкой w_float и r_float целое число w_u8 и r_u8 там еще их много, смотри в файле lua_help.script - class net_packet. Изменено 27 Апреля 2009 пользователем 8push5 Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 5 Мая 2009 1. а как спавнятся патроны? Пачкой? Но тогда как существует неполная пачка. Или каждый патрон в отдельности? Патроны спауняться пачками, а не полные пачки функцией: alife():create_ammo(section, position, lvi, gvi, pid, num) Но при ее использовании num не должен быть больше патронов в пачке. Гораздо удобнее пользоваться функцией сделаной разрабами: se_respawn.create_ammo(section, npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id(), number) number - общее количество патронов, если больше патронов в пачке то спауниться полная пачка и из остатков неполная. но это только в инвентарь, чтобы в мир заспаунить попробуй вместо npc:id() поставить nil Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 6 Мая 2009 (изменено) Vergas, можно и без таблиц, вот код local ltx = system_ini() local ammo_list = ltx:r_string(section,"ammo_class") Но после этого мы получим ammo_list как строку, например: ammo_list =ammo_5.45x39_ap, ammo_5.45x39_fmj А чтобы переменную ammo_list превратить в таблицу, например: ammo_list = {ammo_5.45x39_ap, ammo_5.45x39_fmj} надо писать следующее: local ammo_tab = str_explode(",", ammo_list, true)--вызов функции разбивающей строку на отдельные элементы по какому-нибудь символу, здесь по "," Вот функция разбивающая строку на отдельные элементы , я не помню откуда взял ее,по-моему из AMK мода. function str_explode(div,str,clear) local t={} local cpt = string.find (str, div, 1, true) if cpt then repeat if clear then table.insert( t, trim(string.sub(str, 1, cpt-1)) ) else table.insert( t, string.sub(str, 1, cpt-1) ) end str = string.sub( str, cpt+string.len(div) ) cpt = string.find (str, div, 1, true) until cpt==nil end if clear then table.insert(t, trim(str)) else table.insert(t, str) end return t end function trim (s) return (string.gsub(s, "^%s*(.-)%s*$", "%1")) end Изменено 6 Мая 2009 пользователем Pxan Спрятал под спойлер. Pxan Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 11 Мая 2009 Vergas Так просто, в этой же функции, вместо цифр пиши переменную, которой присвоено числовое значение. Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 10 Июля 2009 (изменено) Monnoroch, если тебе надо получить "1" Если у ГГ есть предмет "a", ну и так далее, то все правильно, но кавычки в таблице не нужны, по-моему, у меня без кавычек работает такая фишка: local tbl = { a = 1, b = 2, c = 3 } Изменено 10 Июля 2009 пользователем 8push5 Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 11 Июля 2009 Monnoroch, функция вернет последнее обработанное и удовлетворяющее условиям, то есть если есть "a" и "b" то скорее всего (если "b"=2) вернет 2, но сначала завершиться обработка таблицы. Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 18 Июля 2009 (изменено) XMK, апдейт актора падает из-за не критичной ошибки в скрипте или из-за большой нагрузки, покажи скрипт, гляну Изменено 18 Июля 2009 пользователем 8push5 Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 18 Июля 2009 Monnoroch, попробуй obj:health(), может оно, не проверял, и похоже работает только для онлайновых объектов, в игре функция не используется но в lua_help.script есть. Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 22 Июля 2009 2. Как изменить визуал непися npc? Изменятся ли при этом его защитные свойства? При изменении визуала у непися его защитные свойства тоже изменятся, так как это прописано в самой модели. Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 22 Июля 2009 Kolmogor, тогда зачем по вашему нужен файл, damages.ltx, и почему когда я его редактирую то защита неписей меняется. странно, может это я такой везучий? Существует связка (если бы вы делали новые модели сталкеров, вы бы об этом знали) в модели сталкера указывается секция повреждений для каждой кости модели, секции эти хранятся в выше указанном файле, в этой секции расписаны кости и параметры повреждения. Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 22 Июля 2009 damages.ltx нужен только для ГГ, в нем хранится защита костюмов от повреждений защита сталкеров хранится в m_stalker.ltx секция [stalker_damage] Здесь вы глубоко заблуждаетесь, этот файл используется не толко ГГ но и неписями, в нем прописано защищенность НПЦ, а в m _stalker.ltx секции [stalker_damage] прописаны зональные повреждения и анимация, это абсолютно разные вещи. Не могли бы Вы сделать модель с полной защитой, чтобы я переодел в нее новичка на кордоне и он стал бессмертным. По-моему это самое лучшее доказательство Отдельную модель лень, вот содержимое damages.ltx, попробуйте с ним ввязаться в перестрелку, будет очень весело, никто никого не может убить, я выпустил обойму в голову новичка и ему ходьбы хны. ;*************************************************************** ; BODY SECTIONS ;*************************************************************** [body_kurtka_damage] bip01_pelvis = 1.0, 1 bip01_spine = 1.0, 1 bip01_spine1 = 1.0, 1 bip01_spine2 = 1.0, 1 bip01_l_clavicle = 1.0, 1 bip01_l_upperarm = 1.0, 1 bip01_l_forearm = 1.0, 1 bip01_l_hand = 1.0, 1 bip01_r_clavicle = 1.0, 1 bip01_r_upperarm = 1.0, 1 bip01_r_forearm = 1.0, 1 bip01_r_hand = 1.0, 1 bip01_l_thigh = 1.0, 1 bip01_l_calf = 1.0, 1 bip01_l_foot = 1.0, 1 bip01_r_thigh = 1.0, 1 bip01_r_calf = 1.0, 1 bip01_r_foot = 1.0, 1 [body_plasch_damage] bip01_pelvis = 1.0, 1 bip01_spine = 1.0, 1 bip01_spine1 = 1.0, 1 bip01_spine2 = 1.0, 1 bip01_l_clavicle = 1.0, 1 bip01_l_upperarm = 1.0, 1 bip01_l_forearm = 1.0, 1 bip01_l_hand = 1.0, 1 bip01_r_clavicle = 1.0, 1 bip01_r_upperarm = 1.0, 1 bip01_r_forearm = 1.0, 1 bip01_r_hand = 1.0, 1 bip01_l_thigh = 1.0, 1 bip01_l_calf = 1.0, 1 bip01_l_foot = 1.0, 1 bip01_r_thigh = 1.0, 1 bip01_r_calf = 1.0, 1 bip01_r_foot = 1.0, 1 [body_gilet_damage] bip01_pelvis = 1.0, 1 bip01_spine = 1.0, 1 bip01_spine1 = 1.0, 1 bip01_spine2 = 1.0, 1 bip01_l_clavicle = 1.0, 1 bip01_l_upperarm = 1.0, 1 bip01_l_forearm = 1.0, 1 bip01_l_hand = 1.0, 1 bip01_r_clavicle = 1.0, 1 bip01_r_upperarm = 1.0, 1 bip01_r_forearm = 1.0, 1 bip01_r_hand = 1.0, 1 bip01_l_thigh = 1.0, 1 bip01_l_calf = 1.0, 1 bip01_l_foot = 1.0, 1 bip01_r_thigh = 1.0, 1 bip01_r_calf = 1.0, 1 bip01_r_foot = 1.0, 1 [body_kombez_damage] bip01_pelvis = 1.0, 1 bip01_spine = 1.0, 1 bip01_spine1 = 1.0, 1 bip01_spine2 = 1.0, 1 bip01_l_clavicle = 1.0, 1 bip01_l_upperarm = 1.0, 1 bip01_l_forearm = 1.0, 1 bip01_l_hand = 1.0, 1 bip01_r_clavicle = 1.0, 1 bip01_r_upperarm = 1.0, 1 bip01_r_forearm = 1.0, 1 bip01_r_hand = 1.0, 1 bip01_l_thigh = 1.0, 1 bip01_l_calf = 1.0, 1 bip01_l_foot = 1.0, 1 bip01_r_thigh = 1.0, 1 bip01_r_calf = 1.0, 1 bip01_r_foot = 1.0, 1 [body_armor_damage] bip01_pelvis = 1.0, 1 bip01_spine = 1.0, 1 bip01_spine1 = 1.0, 1 bip01_spine2 = 1.0, 1 bip01_l_clavicle = 1.0, 1 bip01_l_upperarm = 1.0, 1 bip01_l_forearm = 1.0, 1 bip01_l_hand = 1.0, 1 bip01_r_clavicle = 1.0, 1 bip01_r_upperarm = 1.0, 1 bip01_r_forearm = 1.0, 1 bip01_r_hand = 1.0, 1 bip01_l_thigh = 1.0, 1 bip01_l_calf = 1.0, 1 bip01_l_foot = 1.0, 1 bip01_r_thigh = 1.0, 1 bip01_r_calf = 1.0, 1 bip01_r_foot = 1.0, 1 [body_exo_damage] bip01_pelvis = 1.0, 1 bip01_spine = 1.0, 1 bip01_spine1 = 1.0, 1 bip01_spine2 = 1.0, 1 bip01_l_clavicle = 1.0, 1 bip01_l_upperarm = 1.0, 1 bip01_l_forearm = 1.0, 1 bip01_l_hand = 1.0, 1 bip01_r_clavicle = 1.0, 1 bip01_r_upperarm = 1.0, 1 bip01_r_forearm = 1.0, 1 bip01_r_hand = 1.0, 1 bip01_l_thigh = 1.0, 1 bip01_l_calf = 1.0, 1 bip01_l_foot = 1.0, 1 bip01_r_thigh = 1.0, 1 bip01_r_calf = 1.0, 1 bip01_r_foot = 1.0, 1 ;*************************************************************** ; HEAD SECTIONS ;*************************************************************** [head_mask_damage] bip01_neck = 1.0, 1 bip01_head = 1.0, 1 eyelid_1 = 1.0, 1 eye_left = 1.0, 1 eye_right = 1.0, 1 jaw_1 = 1.0, 1 [head_antigas_damage] bip01_neck = 1.0, 1 bip01_head = 1.0, 1 eyelid_1 = 1.0, 1 eye_left = 1.0, 1 eye_right = 1.0, 1 jaw_1 = 1.0, 1 [head_kupol_damage] bip01_neck = 1.0, 1 bip01_head = 1.0, 1 eyelid_1 = 1.0, 1 eye_left = 1.0, 1 eye_right = 1.0, 1 jaw_1 = 1.0, 1 [head_helmet_damage] bip01_neck = 1.0, 1 bip01_head = 1.0, 1 eyelid_1 = 1.0, 1 eye_left = 1.0, 1 eye_right = 1.0, 1 jaw_1 = 1.0, 1 ;*************************************************************** ; FULL SECTIONS ;*************************************************************** [kurtka_mask_damage]:body_kurtka_damage,head_mask_damage hit_fraction = 0 [plasch_mask_damage]:body_plasch_damage,head_mask_damage hit_fraction = 0 [plasch_antigas_damage]:body_plasch_damage,head_antigas_damage hit_fraction = 0 [kurtka_antigas_damage]:body_kurtka_damage,head_antigas_damage hit_fraction = 0 [kurtka_kupol_damage]:body_kurtka_damage,head_kupol_damage hit_fraction = 0 [gilet_mask_damage]:body_gilet_damage,head_mask_damage hit_fraction = 0 [kombez_mask_damage]:body_kombez_damage,head_mask_damage hit_fraction = 0 [gilet_antigas_damage]:body_gilet_damage,head_antigas_damage hit_fraction = 0 [kombez_antigas_damage]:body_kombez_damage,head_antigas_damage hit_fraction = 0 [kombez_kupol_damage]:body_kombez_damage,head_kupol_damage hit_fraction = 0 [kombez_helmet_damage]:body_kombez_damage,head_helmet_damage hit_fraction = 0 [armor_helmet_damage]:body_armor_damage,head_helmet_damage hit_fraction = 0 [exo_helmet_damage]:body_exo_damage,head_helmet_damage hit_fraction = 0 [zombied_damage] hit_fraction = 0.1 bip01_pelvis = 1.0, 0.5 bip01_spine = 1.0, 0.5 bip01_spine1 = 1.0, 0.5 bip01_spine2 = 1.0, 0.5 bip01_neck = 1.0, 0.2 bip01_head = 1.0, 0.2 eyelid_1 = 1.0, 0.2 eye_left = 1.0, 0.2 eye_right = 1.0, 0.2 jaw_1 = 1.0, 0.2 bip01_l_clavicle = 1.0, 0.5 bip01_l_upperarm = 1.0, 0.5 bip01_l_forearm = 1.0, 0.5 bip01_l_hand = 1.0, 0.5 bip01_r_clavicle = 1.0, 0.5 bip01_r_upperarm = 1.0, 0.5 bip01_r_forearm = 1.0, 0.5 bip01_r_hand = 1.0, 0.5 bip01_l_thigh = 1.0, 0.5 bip01_l_calf = 1.0, 0.5 bip01_l_foot = 1.0, 0.5 bip01_l_toe0 = 1.0, 0.5 bip01_r_thigh = 1.0, 0.5 bip01_r_calf = 1.0, 0.5 bip01_r_foot = 1.0, 0.5 bip01_r_toe0 = 1.0, 0.5 ;*************************************************************** ; TEST SECTIONS ;*************************************************************** [test_damage] default = 1.0, 0 hit_fraction = 0.2 bip01_pelvis = 1.0, 2 bip01_spine = 1.0, 2 bip01_spine1 = 1.0, 2 bip01_spine2 = 1.0, 2 bip01_neck = 1.0, 2 bip01_head = 1.0, 2 eyelid_1 = 1.0, 2 eye_left = 1.0, 2 eye_right = 1.0, 2 jaw_1 = 1.0, 2 bip01_l_clavicle = 1.0, 2 bip01_l_upperarm = 1.0, 2 bip01_l_forearm = 1.0, 2 bip01_l_hand = 1.0, 2 bip01_r_clavicle = 1.0, 2 bip01_r_upperarm = 1.0, 2 bip01_r_forearm = 1.0, 2 bip01_r_hand = 1.0, 2 bip01_l_thigh = 1.0, 2 bip01_l_calf = 1.0, 2 bip01_l_foot = 1.0, 2 bip01_l_toe0 = 1.0, 2 bip01_r_thigh = 1.0, 2 bip01_r_calf = 1.0, 2 bip01_r_foot = 1.0, 2 bip01_r_toe0 = 1.0, 2 Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 24 Июля 2009 TREWKO, ты хинт хочешь нанести obj, а наносишь npc, 12 строка должна быть такой: obj:hit (h) внимательней, товарищ. Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 30 Июля 2009 StreJloK, я Notepad++ прекрасно менял, все работало, не вылетало, по-моему, можно утилитами bardaka перегнать в формат понятный SDK и там изменить путь. Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 4 Августа 2009 (изменено) Gonarh, можно перебрать все гейм вертексы на локации и найти ближайший, вот так можно получить положение гейм вертекса: game_graph():vertex(a):game_point() А вообще посмотри скрипт динамических аномалий из AMK мода, там они как-рас определяли гейм вертекс из левел вертекса Изменено 4 Августа 2009 пользователем 8push5 Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 11 Августа 2009 biskot, молодец, аж в трех темах спросил. Что значит: искажённое отображение иконок и что ты хочешь поправить? Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 11 Августа 2009 biskot, теперь картина прояснилась, можно конечно поджать все иконки, но вряд-ли они влезут, скинь мне ui_icon_equipment.dds, я посмотрю, и скажу диагноз. Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 11 Августа 2009 (изменено) biskot, залить на какое-нибудь хранилище картинок типа радикал и вставить привью. Вариант номер рас: перегнать в жпг, ну как прошлый раз, вариант номер два: залить на файл-обменник. Изменено 11 Августа 2009 пользователем 8push5 Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение
Push85 4 Опубликовано 11 Августа 2009 biskot, да 8 мегабайт много, dds разрешением 2048*1024 весит 2. Либо ты сказал нам неправильное разрешение, либо файл косячный. Возможно всё, ну или почти всё. Поделиться этим сообщением Ссылка на сообщение