Malandrinus 615 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 из функции, я получил имена всех объектов инвентаря,и их надо вывести в окно Так и в чём проблема? Метод статика SetText(<текст для вывода>). Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Struck 61 Опубликовано 29 Апреля 2010 Поделиться Опубликовано 29 Апреля 2010 malandrinus, я туплю видать , мне в скобках писать вызов своей функции? Ссылка на комментарий
Malandrinus 615 Опубликовано 30 Апреля 2010 Поделиться Опубликовано 30 Апреля 2010 (изменено) Struck, Не понимаю я твоего вопроса. Ты хочешь визуализировать список предметов из инвентаря, так? Тебе надо: - перебрать предметы в инвентаре, получить их имена, секции, идентификаторы, что угодно. - сформировать из этих имён одну строку с разделителями "\n" - создать статик и установить его текст функцией SetText(<собранная ранее строка>) что из перечисленного вызывает сложность? Изменено 30 Апреля 2010 пользователем malandrinus Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
DiXares 1 Опубликовано 30 Апреля 2010 Поделиться Опубликовано 30 Апреля 2010 Как сделать типа массива объектов и занести в него все предметы актора? Массив так делается?: local massiv_objects = {} Ссылка на комментарий
Malandrinus 615 Опубликовано 30 Апреля 2010 Поделиться Опубликовано 30 Апреля 2010 TREWKO, Да так. Заносишь объекты функцией table.insert или как в ассоциативный массив по ключу. А вообще тебе сюда Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
DiXares 1 Опубликовано 30 Апреля 2010 Поделиться Опубликовано 30 Апреля 2010 Это теперь понятно, а как отследить все объекты инвентаря? Ссылка на комментарий
Darien 0 Опубликовано 30 Апреля 2010 Поделиться Опубликовано 30 Апреля 2010 TREWKO local massiv_objects = {} function check() npc:iterate_inventory(function (tmp, item) if item then table.insert(massiv_objects, item:section()) end end, npc) end Где npc - онлайн НПС. Функция заполнит таблицу названиями итемов из рюкзака. Ссылка на комментарий
Ирбис 183 Опубликовано 1 Мая 2010 Поделиться Опубликовано 1 Мая 2010 Прошу помощи по следующим вопросам : 1 Что именно писать в строчке экшн скелета диалога чтобы при нажатии этого диалога нпс бил по лицу?требуется именно название конкретной функции скрипта rx_facer 2 Где и что прописать для получения скриптового запрета на сон во время выброса?Из огсм уже пробовал - ругается на новые строчки,не знаю почему,поэтому прошу подсказать какие именно строчки нужны. 3 Как исправить вылет при переходе на новые локации из за динамических аномалий?где что прописывать?при переходе игра ругается на скрипт аномалий и указывает на "?" . 4 Как поставить скриптовую заплатку от вылета который происходит когда при уже полном поясе нажать на патроны 2 раза?чтобы игра при заполненных ячейках не вылетала при нажатии а просто не реагировала. Замедляю полураспад души стержнями музыки Ссылка на комментарий
Гость max_max_08 Опубликовано 2 Мая 2010 Поделиться Опубликовано 2 Мая 2010 По третьему можно попробовать уменьшить радиус алайф. Ссылка на комментарий
AKKK1 6 Опубликовано 4 Мая 2010 Поделиться Опубликовано 4 Мая 2010 А combat_ignore = combat_ignore Непомагает ? 3.3.6. Секция combat_ignore Если NPC в этой схеме то он, не переходит в боевой режим. В любой другой схеме: [walker] combat_ignore_cond = {+info –info =func !func} – условия для игнорирования боя (если написать always, то в данной схеме игрок будет игнорировать бой всегда, пока не перейдет в схему, где бой не игнорируется). как пример часть логики Шустрого ;Шустрый [logic@esc_lager_shustryi] active = camper@esc_lager_prisoner combat_ignore = combat_ignore [camper@esc_lager_prisoner] path_walk = prisoner_walk path_look = prisoner_look combat_ignore_cond = always def_state_campering = prisoner on_info = {=esc_bandits_die} remark@esc_lager_help on_info2 = {+tutorial_wounded_give_info} sleeper4@esc_lager meet = no_meet danger = danger_condition@shustryi Ссылка на комментарий
andrewrap 1 Опубликовано 4 Мая 2010 Поделиться Опубликовано 4 Мая 2010 combat ignore секция должна работать, сам ставил новому нпс, он игнорирует всё. А как выглядить логика снайпера, который стоит и стреляет, не двигаясь? Разработка Andrew's Pack Mod V0.5.. Ссылка на комментарий
AKKK1 6 Опубликовано 4 Мая 2010 Поделиться Опубликовано 4 Мая 2010 как-то так свободовец на вышке [camper1@mil_freedom_sniper3] path_walk = camp_walk10 path_look = camp_look10 radius = 20 on_info = {-mil_freedom_under_attack} walker1@mil_freedom_sniper3 sniper = true wounded = wounded_ignore@mil_sniper [danger_condition@mil_freedom_sniper3] ignore_distance = 0 ignore_types = corpse Ссылка на комментарий
Kirag 39 Опубликовано 5 Мая 2010 Поделиться Опубликовано 5 Мая 2010 andrewrap Чтобы совсем не двигался... По-хорошему, надо бы новую комбат-схему написать, она давным-давно востребована. Логика на словах простая - "стой, придурок, где поставили, и стреляй во все, что заметишь". В принципе, в комбат-схеме зомбей есть что-то похожее - в тот момент, когда зомб знает, где цель, и эта цель близко, он именно так себя и ведет. Жаль, у меня руки коротки в АИ копаться... Спецы по АИ возьмите на заметку, плиз Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Arhara 32 Опубликовано 7 Мая 2010 Поделиться Опубликовано 7 Мая 2010 AKKK1, Уж лучше использовать логику Крота - тому вообще всё до фени - и враги, и монстры. Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
AKKK1 6 Опубликовано 9 Мая 2010 Поделиться Опубликовано 9 Мая 2010 Arhara да действительно так кто нибуть знает что означает выделенная секция [2212] ; cse_abstract properties section_name = smart_terrain name = val_smart_bandit_3 position = -157.100021362305,1.30701446533203,-187.956161499023 direction = -0.0479185096919537,0.00413977820426226,0.0862113907933235 ; cse_alife_object properties game_vertex_id = 862 distance = 9.09999942779541 level_vertex_id = 8628 object_flags = 0xffffff3e custom_data = <<END [smart_terrain] type = general_lager capacity = 5 communities = dolg cond = {+bar_darklab_document_done} stay = medium [random_task] defend_target = 3001 END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 1 ; cse_alife_space_restrictor properties restrictor_type = 0 ; se_smart_terrain properties Ссылка на комментарий
gruber 2 481 Опубликовано 9 Мая 2010 Поделиться Опубликовано 9 Мая 2010 Пару раз в игре встречал НПС манекены-т.е стоит без движения толкнуть-падает интересно как это реализовано (такие есть на арене и Сидорович на ЧАЭС2) Ссылка на комментарий
Сталкер@Гашетка 0 Опубликовано 10 Мая 2010 Поделиться Опубликовано 10 Мая 2010 Рассжуйте пожалуйста: что и как отвечает за спаун оружия в ЗП на локах (какие файлы). Еслы быть точнее: как сделать чтобы на одной Локации у неписей были только Хлам, на Другой получше встречались пушки! Как дать торговцам знаю, а как всем неписям? Неругайтесь сильно, ибо научился только изменить стартовый инвентарь ГГ и ассортимент торговцев остальное юзаю потихоньку . КРУЧУ... ВЕРЧУ... - ВЫИГРАТЬ ХОЧУ!!! Ребята, хоть я не из Долга, и не поощряю их действий! Но впоследнее время мутанты совсем оборзели! Давайти с ними бороться, ибо Сталкер, никогда не должен терпеть это отродье! Мы должны Будить их и уничтожать - непроходим мимо, неждем пока они не размножились, и не сожрали нас совсем! Сократим порождения ЗОНЫ в виде: бюрреров, кровососов, псин, Хомячков, и прочего дерьма, что набежало сюда и чуствует себя как дома, указывая нам, Сталкерам - что нам делать! Место им - прямиком в АД! Ссылка на комментарий
AKKK1 6 Опубликовано 10 Мая 2010 Поделиться Опубликовано 10 Мая 2010 (изменено) Сталкер@Гашетка Файлы character_desc_general character_desc_zaton character_desc_jupiter character_desc_pripyat character_desc_underpass папка gamedata\configs\gameplay возможно что то в алл спавне напрямую прописанно Изменено 10 Мая 2010 пользователем AKKK1 Ссылка на комментарий
sk0rpi0n 0 Опубликовано 10 Мая 2010 Поделиться Опубликовано 10 Мая 2010 (изменено) Помогите пожалуйста!) Как спавнить аномалии? В ЗП... Мне нужно Без all.spawn, он не распаковывается...не распаковывается тот, который из новых локаций( Изменено 10 Мая 2010 пользователем sk0rpi0n Ссылка на комментарий
Darien 0 Опубликовано 11 Мая 2010 Поделиться Опубликовано 11 Мая 2010 (изменено) sk0rpi0n function spawn() local var = spawn_anom(anom_mine, radius, pos, get_lv, get_gv, power) -- название аномалии, радиус её действия, позиция, лв, гв, мощность end function spawn_anom(anom_name,plosh,position,level_vertex_id,game_vertex_id,powers_a,time_danger os) -- последний параметр не передаём local obj = alife():create(anom_name,position,level_vertex_id,game_vertex_id) local pac = net_packet() obj:STATE_Write(pac) local game_vertex_id = pac:r_u16() local distance = pac:r_float() local direction = pac:r_u32() local level_vertex_id = pac:r_u32() local object_flags = pac:r_s32() local custom_data = pac:r_stringZ() local story_id = pac:r_s32() local spawn_story_id = pac:r_s32() local shape_count = pac:r_u8() for i=1,shape_count do local shape_type = pac:r_u8() if shape_type == 0 then local center = pac:r_vec3() local plosh = pac:r_float() else local box = pac:r_matrix() end end local restrikror_type = pac:r_u8() local powers = pac:r_float() local owner_id = pac:r_s32() local on_off_mode_enabled_time = pac:r_u32() local on_off_mode_disabled_time = pac:r_u32() local on_off_mode_shift_time = pac:r_u32() local offline_interactive_radius = pac:r_float() local artefact_spawn_places_count = pac:r_u16() local artefact_position_offset = pac:r_s32() local last_spawn_time_present = pac:r_u8() if pac:r_elapsed()~= 0 then abort("left=%d",pac:r_elapsed()) end pac:w_begin(game_vertex_id) pac:w_float(distance) pac:w_u32(direction) pac:w_u32(level_vertex_id) pac:w_u32(object_flags) pac:w_stringZ(custom_data) pac:w_s32(story_id) pac:w_s32(spawn_story_id) pac:w_u8(1) pac:w_u8(0) local sphere_center = vector() sphere_center:set(0,0,0) pac:w_vec3(sphere_center) pac:w_float(plosh) pac:w_u8(restrikror_type) if powers_a ~= nil then powers = powers_a end pac:w_float(powers) if time_dangeros == nil then owner_id = bit_not(0) else owner_id = time_dangeros end pac:w_u32(owner_id) pac:w_u32(on_off_mode_enabled_time) pac:w_u32(on_off_mode_disabled_time) pac:w_u32(on_off_mode_shift_time) pac:w_float(offline_interactive_radius) pac:w_u16(artefact_spawn_places_count) pac:w_u32(artefact_position_offset) pac:w_u8(last_spawn_time_present) pac:r_seek(0) obj:STATE_Read(pac,pac:w_tell()) return obj end Вызывать функцию spawn(). А да, при приближении к ней экран не будет приобретать цвет например пси-воздействия(электра) или жарки. За такие эффекты на экране отвечает ещё один тип аномалий со словом '_field_', который не наносит хита. Я делал так - проверял, какая эта аномалия через string.find(поиск знаков/букв в строке), и спавнил в эту же точку аномалию 'field' с соотв. эффектом. Изменено 11 Мая 2010 пользователем Darien Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти