Ренсон 11 Опубликовано 20 Июня 2011 Поделиться Опубликовано 20 Июня 2011 Люди добрые, помогите пожалуйста. Переспавниваю Шустрого. Вот код [1791] ; cse_abstract properties section_name = stalker name = esc_shustryi position = -81.202568,-1.298111,154.848953 direction = 0.977733,0,0.209853 ; cse_alife_trader_abstract properties money = 5000 character_profile = esc_shustryi ; cse_alife_object properties game_vertex_id = 163 distance = 8.39999961853027 level_vertex_id = 186909 object_flags = 0xffffffbf custom_data = <<END [spawner] cond = {+shustryi_flash_start_info} [logic] cfg = scripts\new\shustryi_logic.ltx ; cse [smart_terrains] none = true END story_id = 4 ; cse_visual properties visual_name = actors\novice\green_stalker_1 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 0 g_group = 0 health = 2 dynamic_out_restrictions = dynamic_in_restrictions = upd:health = 2 upd:timestamp = 0x69206669 upd:creature_flags = 0x6e upd:position = -81.202568,-1.298111,154.848953 upd:o_model = 0 upd:o_torso = 0,0,0 upd:g_team = 0 upd:g_squad = 0 upd:g_group = 0 ; cse_alife_monster_abstract properties upd:next_game_vertex_id = 65535 upd:prev_game_vertex_id = 65535 upd:distance_from_point = 0 upd:distance_to_point = 0 ; cse_alife_human_abstract properties predicate5 = 1,1,0,0,2 predicate4 = 1,1,0,0 ; cse_ph_skeleton properties upd:start_dialog = ; se_stalker properties Ещё прописываю в [shustryi_seat] points = p0 p0:name = name00 position = -81.202568,-1.298111,154.848953 p0:game_vertex_id = 163 p0:level_vertex_id = 186909 [shustryi_look] points = p0 p0:name = name00 p0:flags = 0x400 p0:position = -44.3478202819824,-10.9337711334229,-101.592460632324 p0:game_vertex_id = 163 p0:level_vertex_id = 186909 А логика у него, собственно, такая [logic] active = walker [walker] path_walk = shustryi_seat path_look = shustryi_look danger = danger_ignore meet = meet ;;no_move = true anim = sit_ass snd = agr_desertir_spam on_death = death [meet] use = true use_wpn = true [danger_ignore] ignore_distance = 0 [death] on_info = %+shustryi_dead_info% Но сей гад стоит беззвучным столбом, глядя сторого на север. Вопрос: в чём ошибка? Ссылка на комментарий
_Призрак_ 11 Опубликовано 20 Июня 2011 Поделиться Опубликовано 20 Июня 2011 Ты определись, у тебя НПС работает в секции walker или в секции remark? В схеме walker можно указывать только: path_walk - основной путь, по которому ходит охранник path_look [опционально] - путь, куда смотрит охранник team [опционально] - команда для синхронизации sound_idle [опционально] - неизвестный параметр. Возможно звук при стоянии без дела. Использовался только на янтаре у зомби (sound_idle = state) def_state_moving1 [опционально] - состояние, в котором сталкер движется к первой точке пути, если она близко (patrol по умолчанию) def_state_moving2 [опционально] - состояние, в котором сталкер движется к первой точке пути, если она не слишком далеко (rush по умолчанию) def_state_moving3 [опционально] - состояние, в котором сталкер движется к первой точке пути, если она далеко (sprint по умолчанию) def_state_standing [опционально] - дефолтное состояние в котором он стоит и смотрит на точку, если в этой точке не задана другое состояние. Остальные параметры скрипты игры не читают Freedom Ссылка на комментарий
Ренсон 11 Опубликовано 20 Июня 2011 Поделиться Опубликовано 20 Июня 2011 Я логику НПС только постигаю, так что не серчайте. Как я понял, walker - только для движущихся? Что тогда назначать для неподвижных? Ссылка на комментарий
_Призрак_ 11 Опубликовано 20 Июня 2011 Поделиться Опубликовано 20 Июня 2011 (изменено) Вообще можно сделать так: [logic] active = walker [walker] path_walk = shustryi_seat path_look = shustryi_look danger = danger_ignore meet = meet on_death = death [meet] use = true use_wpn = true [danger_ignore] ignore_distance = 0 [death] on_info = %+shustryi_dead_info% [shustryi_seat] points = p0 p0:name = name00 p0:flags = 0x400 p0:position = -81.202568,-1.298111,154.848953 p0:game_vertex_id = 163 p0:level_vertex_id = 186909 [shustryi_look] points = p0|a=sit_ass|s=agr_desertir_spam p0:name = name00 p0:flags = 0x400 p0:position = -44.3478202819824,-10.9337711334229,-101.592460632324 p0:game_vertex_id = 163 p0:level_vertex_id = 186909 Изменено 20 Июня 2011 пользователем _Призрак_ Freedom Ссылка на комментарий
speczadanie 0 Опубликовано 21 Июня 2011 Поделиться Опубликовано 21 Июня 2011 Такая проблема. Использую метод "db.actor:activate_slot(1)". Но он действует только в случае, если у игрока в момент активации никакой слот вообще не активен. Если какой-то активен - действие не срабатывает. Как исправить? Ссылка на комментарий
Ренсон 11 Опубликовано 21 Июня 2011 Поделиться Опубликовано 21 Июня 2011 (изменено) _Призрак_ Что-то acdc после компиляции изменяет shustryi_look на это... [shustryi_look] points = p0 p0:name = p0:position = 0,0,0 p0:game_vertex_id = 0 p0:level_vertex_id = 0 Исправил на это points = p0 p0:name = name00|a=sit_ass|s=agr_desertir_spam p0:flags = 0x1 p0:position = -44.3478202819824,-10.9337711334229,-101.592460632324 p0:game_vertex_id = 163 p0:level_vertex_id = 186909 Результатов ноль. Изменено 21 Июня 2011 пользователем Ренсон Ссылка на комментарий
Disord 1 Опубликовано 21 Июня 2011 Поделиться Опубликовано 21 Июня 2011 speczadanie, а если спрятать оружие сначала, а потом активировать? bind_stalker.hide_weapon() -- прятать оружие Ссылка на комментарий
speczadanie 0 Опубликовано 21 Июня 2011 Поделиться Опубликовано 21 Июня 2011 Disord, не помогает. db.actor:hide_weapon() делает полностью недоступными все слоты, пока не будет отменён. если сделать так: db.actor:hide_weapon() db.actor:activate_slot(1) db.actor:restore_weapon() то в итоге активируется слот, который был изначально. Добавлено через 25 мин.: Ещё вопрос к предыдущему. Есть таблица "{a,b,c}". Как скриптом проверить, равно ли значение X хотя бы одному значению из таблицы. Ссылка на комментарий
Kirag 39 Опубликовано 21 Июня 2011 Поделиться Опубликовано 21 Июня 2011 speczadanie По поводу таблицы, у тебя фактически таблица такая: table = {1 = a, 2 = b, 3 = c} тут только перебирать всю таблицу и сравнивать значения, что долго и нудно. Если сам вид таблицы не сильно принципиален, лучше переписать ее так: table = {a = true, b = true, c = true} (если a,b,c - строки, то в квадратных скобках: ["значение_а"] = true и т.д.) Тогда процесс проверки упрощается до if table[X] then ... end т.е. делаем что-то, если существует элемент таблицы с индексом X, а он существует только тогда, когда X = (a или b или c). Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Руслан 1 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 Народ как в ЗП сделать логику для патрелей, как в ТЧ и ЧН. Что бы военные шли до определеного места и разворачивались и обратно шли. обьясните плз! Ссылка на комментарий
Clayman 104 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 Руслан, логику тут можно и не писать, это в аллспавне (или в сдк) нужно создать путь для движения и обозвать его как работу для смарта, тогда нпс в смарте автоматически будут становится на эту работу, ходить по пути. Допустим смарт террейн у тебя называется zat_a1, тогда делаешь пути с работами zat_a1_walker_1 walk ( zat_a1_walker_1 look), zat_a1_patrol_1 walk ( zat_a1_patrol_1 look) и так далее, подробней читаем тут - http://stalkerin.gameru.net/wiki/index.php...%80%D0%B5%D0%B9 Только для ЗП некоторые не используются работы, например kamp. Ссылка на комментарий
speczadanie 0 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 Как можно скриптом получить последние три символа в слове? Ссылка на комментарий
_Призрак_ 11 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 Можно Local text = "asdfghjkl" Local newtext=string.sub(text,string.len(text)-2,string.len(text)) Freedom Ссылка на комментарий
Real Wolf 34 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 (изменено) Ulman, Это значит, что нужно, чтобы скриптер искал проблему при наличии у него целого мода. Кто-нибудь знает, как изменить отношение мутантов к ГГ, кроме функции "set_relation", т.к. она у меня не давала никаких результатов? Изменено 22 Июня 2011 пользователем Real Wolf Ссылка на комментарий
speczadanie 0 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 Можно сменить игроку группировку на "с тем же названием и изменёнными отношениями". Ссылка на комментарий
Real Wolf 34 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 Нет. Ссылка на комментарий
Капрал Хикс 513 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 Real Wolf, friend communities overrides в конфигах монстров поставить = .., actor? Ссылка на комментарий
panzyuza 41 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 А есть функция,позволяющая мутанту отбрасывать нпс и гг метра на 3 при близком котакте. AVS_LOCATION_MOD Ссылка на комментарий
_Призрак_ 11 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 Да есть, называется hit() Freedom Ссылка на комментарий
panzyuza 41 Опубликовано 22 Июня 2011 Поделиться Опубликовано 22 Июня 2011 НЕ!Просто нужно,что бы мутант(псевдогигант) при нанесении хита по нпс или по гг,отбрасывал бы их метра на три.Как кровосос в АМК на ЗП. AVS_LOCATION_MOD Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти