Скрипты |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Скрипты |
13.07.2009, 11:34
Сообщение
#121
|
|
Навий черны у ношьти Репутация: 377 Группа: Забанен Сообщений: 2210 Регистрация: 11.03.2009 |
FAQ Lua в X-Ray Список всех функций, переменных, классов и т.п. что используются в Сталкере находится по адресу: Код gamedata/scripts/lua_help.script Для получения файла надо распаковать игру. Можно скачать, в принципе Тут =>> Уроки Сообщение отредактировал RayTwitty - 09.06.2018, 20:23 -------------------- нарушение правил п. 7.2
|
 
|
|
|
|
29.09.2010, 23:07
Сообщение
#122
|
|
Продвинутый геймер Репутация: 46 Группа: Участник Сообщений: 279 Награды: 3 Регистрация: 13.05.2010 |
Люди, а что такое нетпакет? И зачем он нужен? Буквально "сетевой пакет". Небольшая область памяти (8 кбайт), в которую записывается текущее состояние какого-либо объекта (актора, непися и т.д.), т.е. количество лута в инвентаре, список хабара в нычках, выполненные квесты, статистика и пр. Работать с ним можно, только когда объект находится в оффлайне. Подробнее от нет_пакете и не только здесь djslavikoz, какой именно вертолет? Если просто валяющийся на земле, то прописать его в алспавне по аналогии с другими трупиками вертолетов, а если прилетающий по какому-то событию, то тогда все гораздо сложнее - надо прописать рестриктор и написать вертолету логику (можно глянуть например тут). |
 
|
|
30.09.2010, 07:23
Сообщение
#123
|
|
Опытный Игрок Репутация: 12 Группа: Участник Сообщений: 53 Награды: 1 Регистрация: 19.05.2010 |
Сталкероид
В основном я научился спавнить через all.spawn . Ну примерно вот так. [10001] ; cse_abstract properties section_name = helicopter name = esc_heli_55555 position = 57.8794326782227,-0.705963671207428,114.27214050293 direction = 0,-1.47526597976685,0 ; cse_alife_object properties game_vertex_id = 94 distance = 0 level_vertex_id = 345092 object_flags = 0xfffffffa custom_data = <<END [logic] cfg = scripts\vertol.ltx END ; cse_visual properties visual_name = physics\vehicles\mi24\veh_mi24_u_01 ; cse_motion properties motion_name = helicopter\aaa.anm ; cse_ph_skeleton properties skeleton_name = idle ; cse_alife_helicopter properties cse_alife_helicopter__unk1_sz = idle engine_sound = alexmx\helicopter Вопрос так в чём моя проблема????? Проблема в том что я создал новую локацию(военную базу) и когда делаю таким способом как на ескейпе то получаю лог вот такого плана. FATAL ERROR [error]Expression : motion_ID.valid() [error]Function : CKinematicsAnimated::ID_Cycle [error]File : E:\stalker\patch_1_0004\xr_3da\SkeletonAnimated.cpp [error]Line : 136 [error]Description : ! MODEL: can't find cycle: [error]Arguments : А с логикой и другим проблем нет я в курсе как ето делается. Сообщение отредактировал djslavikoz - 30.09.2010, 07:25 |
 
|
|
30.09.2010, 18:39
Сообщение
#124
|
|
Игроман Репутация: 405 Группа: Забанен Сообщений: 957 Регистрация: 24.03.2009 |
Может ты анимацию модели установил не ту?
-------------------- Забанен по собственному желанию
|
 
|
|
30.09.2010, 19:02
Сообщение
#125
|
|
Продвинутый геймер Репутация: 46 Группа: Участник Сообщений: 279 Награды: 3 Регистрация: 13.05.2010 |
djslavikoz, проблема в логике вертолета. Что ты прописал в файле vertol.ltx?
Для примера вертолёт на блокпосте [logic] active = heli_move@idle [heli_move@idle] path_move = heli_blockpost_idle_move engine_sound = false on_info = {+твой_инфопоршень} heli_move@fly combat_safe_altitude = -50 [heli_move@fly] path_move = heli_blockpost_fly engine_sound = true combat_enemy = actor combat_use_rocket = true combat_use_mgun = true rocket_delay = 3000 combat_safe_altitude = -70 on_timer = 120000 | heli_move@retreat [heli_move@retreat] path_move = heli_blockpost_idle_move engine_sound = true combat_use_rocket = false combat_use_mgun = false combat_safe_altitude = -50 on_timer = 120000 | heli_move@stop [heli_move@stop] path_move = heli_blockpost_idle_move engine_sound = false Вообще, ругается на то, что не может найти цикл анимации (есть такой файлик .skl). Попробуй вообще убрать эту строку в алспавне motion_name = helicopter\aaa.anm . К чему это относится: cse_alife_helicopter__unk1_sz = idle? Сообщение отредактировал сталкероид - 30.09.2010, 19:13 |
 
|
|
05.10.2010, 10:19
Сообщение
#126
|
|
Опытный Игрок Репутация: 12 Группа: Участник Сообщений: 53 Награды: 1 Регистрация: 19.05.2010 |
Господа скриптологи помогите пожалоста. Лог по вашей теме. Ето спавн вертольота.
Как написал мне на амк форуме один товарищ.... Цытирую Надо дописать функцию в xr_effects.script, какую я не знаю, сам не делал. ! Unknown command: ERROR:object * Log file has been saved successfully! FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ....r. - shadow of chernobyl\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value) |
 
|
|
05.10.2010, 10:46
Сообщение
#127
|
|
Я такой разный, но все-таки я вместе Репутация: 497 Группа: Участник Сообщений: 1854 Награды: 2 Регистрация: 04.03.2009 |
djslavikoz, вот нет, чтобы сравнить файлы без изменений и с изменениями (программа для этого специальная есть)
не уповай на экстрасенсов - их тут нет |
 
|
|
05.10.2010, 12:13
Сообщение
#128
|
|
Продвинутый геймер Репутация: 51 Группа: Забанен Сообщений: 206 Регистрация: 16.05.2008 |
djslavikoz допиши что-то типа
Код function уровень_heli_mapspot(actor, npc, p)
if p[1] and not level_tasks.is_map_spot_present( p[1], "anomaly_zone_location" ) then level_tasks.add_location( p[1], "anomaly_zone_location", "vertolyot!" ) end end |
 
|
|
24.10.2010, 17:34
Сообщение
#129
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Как можно получить имя текущей погодной секции? Нужно что-то типа level.get_weather_name()
-------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
25.10.2010, 08:53
Сообщение
#130
|
|
Игроман Репутация: 405 Группа: Забанен Сообщений: 957 Регистрация: 24.03.2009 |
Поставь ватчдог от АМК и смотри в консоли погодные секции. Проследи работу игры
-------------------- Забанен по собственному желанию
|
 
|
|
25.10.2010, 10:56
Сообщение
#131
|
|
Опытный Геймер Репутация: 147 Группа: Участник Сообщений: 182 Регистрация: 08.09.2008 |
|
 
|
|
27.02.2011, 10:58
Сообщение
#132
|
|
Опытный Игрок Репутация: 12 Группа: Участник Сообщений: 53 Награды: 1 Регистрация: 19.05.2010 |
Ребята вот пример спавна через скрипт:
local zombie_types = {"zombie_weak", "zombie_normal", "zombie_strong", "zombie_immortal", "zombie_ghost"} function spawn_zombies( position, total ) local zombie_index local new_pos, x_offset, z_offset for zombie_index=1, total do x_offset = math.random(5) z_offset = math.random(5) new_pos = position new_pos.x = new_pos.x + x_offset new_pos.z = new_pos.z + z_offset alife():create(zombie_types[math.random(5)],new_pos,326087,91) end end function zombie_story_1(actor, npc) local spawn_point = vector():set(43.21, 2.14, 47.16) spawn_zombies(spawn_point, 10) end Скажите пожалуйста ,а можно в этом скрипте прописать логику ????? |
 
|
|
21.07.2011, 16:46
Сообщение
#133
|
|
Опытный Игрок Репутация: 8 Группа: Участник Сообщений: 54 Награды: 1 Регистрация: 15.06.2011 |
djslavikoz, У меня вместо слов - черные линии.
Я не большой спец. по скриптам. Может я и ошибаюсь, но в скрипте логику приписать нельзя -------------------- Создаю мод на S.T.A.L.K.E.R. Тень Чернобыля - S.T.A.L.K.E.R. СверхАртефакт
А также "Хомяк МОД"=D Другу на День Рождения |
 
|
|
21.07.2011, 16:49
Сообщение
#134
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
угу её надо писать в конфе т.е. надо создать новый тип зомбей с костюм датой
|
 
|
|
21.07.2011, 19:55
Сообщение
#135
|
|
Почти Мастер Репутация: 311 Группа: Участник Сообщений: 1092 Награды: 5 Регистрация: 01.03.2011 |
логику вписать можно. Но надо перезаписывать нет-пакет. Скрипт по объему вырастет сурово)
Сообщение отредактировал K.D. - 21.07.2011, 19:56 |
 
|
|
11.10.2011, 14:32
Сообщение
#136
|
|
Заслуженный Мастер Игры Репутация: 279 Группа: Участник Сообщений: 1564 Награды: 4 Регистрация: 30.06.2010 |
Помогите плиз разобратся в сне от АМК
Цель такова: нужно сделать сон как в билдах через инвентарь Простите за банальность Зы, не пинайте только) я в скриптах null |
 
|
|
23.02.2012, 07:34
Сообщение
#137
|
|
Почти Игрок Репутация: 2 Группа: Участник Сообщений: 24 Регистрация: 23.02.2012 |
Народ!!!!
Нужна помощь гуру! Анимация - дверь сдвигающаяся всторону, 1 кость, сдвиг вправо на 1.5 метра, 3 секунды пауза и сдвиг обратно на место.(Самодельный обьект, ставлю через спавн, в сдк анимация работает) Попытался запустить анимацию по анологии лабы х-8 из припяти. В кустом дата прописана ссылка на логику, с текстом: Дверь [collide] ignore_static [animated_object] Пульт взят оттуда же , с родной логикой, я просто изменил на своё название анимации, спейса и смарта: Пульт [logic] active = ph_button@no_card [ph_button@no_card] anim = idle tooltip = tip_no_access_card on_info = {=actor_has_item(zat_a23_labx8_key)} ph_button@has_card [ph_button@has_card] anim = idle tooltip = tip_need_access_card on_press = ph_button@unlocked on_info = {!actor_has_item(zat_a23_labx8_key)} ph_button@no_card [ph_button@unlocked] anim = idle tooltip = st_lx8_button_press_true on_game_timer = 20 | {-lx8_door_open} %+lx8_door_open =anim_obj_forward(lim_door_laba_hide)% on_game_timer2 = 10 | {-lx8_green_on} %+lx8_green_on =turn_off(lx8_light_switch_1_red_id) =turn_on(lx8_light_switch_1_green_id)% on_info = {=actor_in_zone(lim_sr_actor_in_lab) -lim_actor_in_lab} %+lim_actor_in_lab =create_squad(lx8_polter_squad:lim_smart_terrain)% Всё проходит до запуска анимации, то есть без карты требует карту доступа, с картой появляется сообщение доступ разрешён, потом завис на 3-4 секунды, (в этот момент должна отработать анимация), и вылет с жалобой: Лог FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ....r. - Зов Припяти\gamedata\scripts\xr_effects.script:1317: attempt to index field '?' (a nil value) stack trace: Понимаю что это всё туфта, просто я в скриптах ноль, и пытаюсь разобраться методом тыка. xr_effects родной нетронутый. Подскажите куда ткнуться. |
 
|
|
23.02.2012, 08:40
Сообщение
#138
|
|
В Пальто Репутация: 930 Группа: Участник Сообщений: 6980 Награды: 8 Регистрация: 18.07.2008 |
Policai,
xr_effects, строчки с 1314 по 1320: function anim_obj_forward(actor, npc, p) for k,v in pairs(p) do if v ~= nil then db.anim_obj_by_name[v]:anim_forward() - 1317 строка end end end твоя логика [ph_button@unlocked] anim = idle tooltip = st_lx8_button_press_true on_game_timer = 20 | {-lx8_door_open} %+lx8_door_open =anim_obj_forward(lim_door_laba_hide)% - ссылается на 1317 строку on_game_timer2 = 10 | {-lx8_green_on} %+lx8_green_on =turn_off(lx8_light_switch_1_red_id) =turn_on(lx8_light_switch_1_green_id)% on_info = {=actor_in_zone(lim_sr_actor_in_lab) -lim_actor_in_lab} %+lim_actor_in_lab =create_squad(lx8_polter_squad:lim_smart_terrain)% Что-то не так с названием анимки, либо она не подходит. Кстати, ты на ТЧ это делаешь?) Если на ТЧ, то надо допилить этот самый эффектс, три функции, как минимум, добавить. |
 
|
|
23.02.2012, 09:07
Сообщение
#139
|
|
Почти Игрок Репутация: 2 Группа: Участник Сообщений: 24 Регистрация: 23.02.2012 |
Цитата Что-то не так с названием анимки, либо она не подходит. Кстати, ты на ТЧ это делаешь?) Если на ТЧ, то надо допилить этот самый эффектс, три функции, как минимум, добавить. Ким В этом то и проблема, анимка другая, на родной двери от этого скрипта 9 костей и работает на поворот, но она работает анимацией, и прописана анимацией, моя анимация - одна кость и работает на сдвиг, я просто не знаком со скриптами и попытался методом тыка подсунуть. Платформа ЗП. Гугл не помогает, а я не знаю как это делается. Мне нужно просто запустить выбранную анимацию по команде. Такая же проблема у меня и с мостом в рыжем лесу, не хочет он опускаться когда мне надо, попытался проследить скрипты с которыми он работает в оригинале ЧН, заблудился, там их штук 20 задействовано. Вопрос такой: Как простейшим методом запустить выбранную анимацию по некой команде. Сообщение отредактировал Policai - 23.02.2012, 09:09 |
 
|
|
23.02.2012, 10:47
Сообщение
#140
|
|
В Пальто Репутация: 930 Группа: Участник Сообщений: 6980 Награды: 8 Регистрация: 18.07.2008 |
Policai, вот так и вызывается.
Пример простой логики для теста: [logic] active = ph_button@test [ph_button@test] anim = idle tooltip = tip_need_access_card on_press = ph_button@test1 [ph_button@test1] anim = idle tooltip = tip_need_access_card on_press = ph_button@unlocked on_info = {+door_open} %=anim_obj_forward(анимация_открытия)% можно сделать привязку к кнопке (допустим нум7), котоаря будет выдавать нужный инфопоршень и логика двери даст команду на открытие. Слушай, вот что, а логику ты привязываешь жэ к кнопке, а не к двери логика кнопки [logic] active = ph_button@test [ph_button@test] anim = idle tooltip = tip_need_access_card on_press = %+door_open% логика двери [logic] active = ph_door@test [ph_door@test] anim = idle on_info = {+door_open} %=anim_obj_forward(анимация_открытия)% Насчёт двери не знаю как привязать анимку, вечером ещё гляну По идее к двери не привязана анимка, она просто переходит в состояние "открыто" (во всяком случае анимка не указывается в логике, где-то в скриптах может быть) там просто переход к другой логике, где дверь: "locked = false" Чисто теоритечески логика для двери: [logic] active = ph_door@test [ph_door@test] anim = idle on_info = {+door_open} %=anim_obj_forward(анимация_открытия)% должна работать, по идее функция указана в xr_effects, а значит должна вызываться для любых объектов (такого типа). Попробуй привзять стандартную анимаку через эту логику, если заработает, значит и твоя анимка будет работать |
 
|
|
23.02.2012, 10:49
Сообщение
#141
|
|
Почти Игрок Репутация: 2 Группа: Участник Сообщений: 24 Регистрация: 23.02.2012 |
Тут вроде понял, возник сразу вопрос, логика двери??? У меня простая анимация, вернее в максе вшил 3 одна просто открытие open, вторая закрытие close, и третья полный цикл: открытие, задержка в открытом состоянии 3 секунды и закрытие idle. Вшил также две контрольные точки, закрытая дверь и открытая дверь.
Теперь можно по подробнее по логике двери? что это? анимация вшитая или писать логику для неё надо? Цитата просто я в скриптах ноль, и пытаюсь разобраться методом тыка
|
 
|
|
Текстовая версия | Сейчас: 19.04.2024, 05:49 |