Подскажите... Вобщем скачал Худ из COD, там понравилось что ГГ при использовании итемса берет его в руки, своеобразный худ - но текстура. Только сам мод как в принципе мне не нужен. Вот код этой функции на появление худа:
-- Выброс предмета
function on_item_drop(item)
local hud = get_hud()
if item:section() == separator then return end
if (inventory_open == false) then
if (separator_spawned == true) then
db.actor:inventory_for_each(del_separator)
separator_spawned = false
end
need_update = true
end
if show_eat_hud then
--get_console():execute(item:section())
if item:section() == "energy_drink" and v_timer == -1 and db.actor:has_info("ui_inventory") then
local cust_static = hud:GetCustomStatic("v_hud")
if cust_static == nil then
hud:AddCustomStatic("v_hud", true)
hud:GetCustomStatic("v_hud"):wnd():InitTexture("hud\\energetic_hud")
db.actor:hide_weapon()
v_timer = 100
v_speed = 2
end
end
if item:section() == "energy_drink" and v_timer == -1 and level.main_input_receiver() == nil then
local cust_static = hud:GetCustomStatic("v_hud")
if cust_static == nil then
hud:AddCustomStatic("v_hud", true)
hud:GetCustomStatic("v_hud"):wnd():InitTexture("hud\\energetic_hud")
db.actor:hide_weapon()
v_timer = 100
v_speed = 2
end
end
if item:section() == "vodka" and v_timer == -1 and db.actor:has_info("ui_inventory") then
local cust_static = hud:GetCustomStatic("v_hud")
if cust_static == nil then
hud:AddCustomStatic("v_hud", true)
hud:GetCustomStatic("v_hud"):wnd():InitTexture("hud\\vodka_hud")
db.actor:hide_weapon()
v_timer = 300
v_speed = 1
end
end
if item:section() == "vodka" and v_timer == -1 and level.main_input_receiver() == nil then
local cust_static = hud:GetCustomStatic("v_hud")
if cust_static == nil then
hud:AddCustomStatic("v_hud", true)
hud:GetCustomStatic("v_hud"):wnd():InitTexture("hud\\vodka_hud")
db.actor:hide_weapon()
v_timer = 300
v_speed = 1
end
end
if (item:section() == "antirad") and v_timer == -1 and level.main_input_receiver() == nil then
local cust_static = hud:GetCustomStatic("v_hud")
if cust_static == nil then
hud:AddCustomStatic("v_hud", true)
hud:GetCustomStatic("v_hud"):wnd():InitTexture("hud\\medkit_hud")
db.actor:hide_weapon()
v_timer = 100
v_speed = 3
end
end
if (item:section() == "medkit" or item:section() == "medkit_scientic" or item:section() == "medkit_army" or item:section() == "antirad") and v_timer == -1 and db.actor:has_info("ui_inventory") then
local cust_static = hud:GetCustomStatic("v_hud")
if cust_static == nil then
hud:AddCustomStatic("v_hud", true)
hud:GetCustomStatic("v_hud"):wnd():InitTexture("hud\\medkit_hud")
db.actor:hide_weapon()
v_timer = 100
v_speed = 3
end
end
if (item:section() == "medkit" or item:section() == "medkit_scientic" or item:section() == "medkit_army") and v_timer == -1 and level.main_input_receiver() == nil then
local cust_static = hud:GetCustomStatic("v_hud")
if cust_static == nil then
hud:AddCustomStatic("v_hud", true)
hud:GetCustomStatic("v_hud"):wnd():InitTexture("hud\\medkit_hud")
db.actor:hide_weapon()
v_timer = 100
v_speed = 3
end
end
end
end
local wpn_1 = CUIStatic()
local wpn_1_s = CUIStatic()
local wpn_2 = CUIStatic()
local wpn_2_s = CUIStatic()
Вопрос? Рабочая ли она? И куда ее применять, не в function actor_binder:on_item_drop (obj) случайно???
Люди.
Помнится в Халфе 2 была не только Гравипушка, но еще была возможность без какого либо оружия поднимать и бросать физические обьекты. Т.е. вроде как брать в руки и кидать. Так вот есть ли возможность переделать скрипт гравипушки в подобие взятия просто в руки предмера без итемса (гравипушки) в слоте?
Я скрипт гравипушки не разбирал, так как особой надобности не было. Поэтому жду ответа знатоков. Повторюсь - возможно ли создать упрощенный вариант, так сказать и без специального итемса (Гравипушки и пр.) или же поместить его в слот 1 вместо ножа, которым и так никто не пользуется?
karavan
Можно. И даже не сложно.
(Но за подробностями не ко мне. Мне это не интересно.)
АнархОПанк
Да в "actor_binder:on_item_drop" пихать. Рабочая ли - возьми и проверь (сепаратор не забудь добавить).
На вскидку - вроде как, но ... код оч.неоптимизирован.
Artos
Проверил событие на клик "ui_events.BUTTON_CLICKED" работает и здесь (хорошая мысля приходит опосля - как то не подумал что за место двух событий можно обойтись одним - просто делать не присвоение конкретного значения флагу, а именно его инвертацию)
function Gravi:OnButton_check_set_1()
release = not release
end
а сохранять значение флага (да и кнопки )при перезагрузке мне не треба :-)
Насчет надписи: так у меня это место self.btn:SetText("btn_s"..tostring(self.num)) уже занято надписями поясняющими смысл кнопок.
А что разве можно сделать для одной кнопки
erlik
Два текста на кнопку вывести не удастся. Если только - один с переносом строки...
Это я упустил.
С удалением виджета сейчас не скажу, т.к. все зависит от конкретного кода, используемых классов и что к чему аттачится.
Сорри, я на сегодня ... заканчиваю.
Ребята, выручайте, такая прабла, скачать мод "Народная Солянка" всё установил запустил, но в игре слот оружия разобраный! и ПДА не такое как надо
вот скрины
Я перенёс модель ЧН'овца в Тч всё получилось
только с этим ЧН'овцем нельзя поговорить.
Как это исправить?
А ещё сквозь него пули летят? Верно? При первом переносе у меня тоже такая пробла была. Я где-то слышал что этот баг нужно исправлять в папке models, которая лежит в config. Вообщем давай-ка в ПМ. Помозгуем немного. :-)
Новый проект в разработке, ищи в моём журнале.
В теории - всё легко, а вот на деле - гораздо сложнее.
Vitek5
Нужно удалить пару костей,потом в СДК выбрать анимацию,кликаешь на три маленькие точки напротив User Data и выбираешь models\capture\файл_настроек.ltx,ты это сделал?
А про точто сквозь него пули летят,так надо скелет настраивать!:-)
FLIKER Сделал.
И кости удалил.
И скелет настроил.
Всё по этой статье делал:
Перенос моделей НПС из ЧН/ЗП в ТЧ
Автор: Задорожный Александр (Scarabay)
23.12.2009
В этой статье я расскажу вам как перенести модели НПС из ЧН/ЗП в ТЧ, и при этом они будут использовать стандартные анимации из ТЧ.
Прежде всего нам понадобятся:
1. MilkShape 3D 1.8.4 (http://chumbalum.swissquake.ch/)
2. Плагин импорта/экспорта моделей формата S.T.A.L.K.E.R. Имеется в паке утилит от bardak'а X-ray asset tools pack FINAL (http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewtheoned&lid=288)
3. X-Ray SDK 0.4 с установленным SDK Update 0.4 (http://stalkerin.gameru.net/)
Если у вас уже все установлено и настроено как надо, то приступим к работе с моделями.
2. Далее в открывшемся окне ищем нужную нам модель (для примера я выбрал модель Холода из ЧН) и нажимаем Открыть.
После загрузки модели видим примерно такую картинку:
!Все дело в том, что у моделей нпс из ЧН и ЗП 47 суставов (Joint-ов), в отличие от моделей нпс ТЧ, у которых их всего 45. Это нам и нужно исправить, т.е. удалить два лишних сустава (джойнта), которые называются root_stalker и bip01.
3. Чтобы это сделать, на верхней панели жмем кнопку Tools и из раскрывшегося списка выбираем Joint Tool
Появится вот такое окошко.
4. Отмечаем строчку Unlink Joint from the skeleton (1), выбираем из списка наш первый джойнт root_stalker (2) и жмем ОК (3). Повторяем данную операцию и со вторым джойнтом bip01.
5. На панели справа открываем вкладку Joints (1), дважды кликаем левой кнопкой мыши на джойнте root_stalker (2) и удаляем его клавишей Delete на клавиатуре. Повторяем данную операцию с джойнтом bip01.
6. Теперь надо сохранить нашу модель в формат, понятный X-Ray SDK. Для этого идем сюда File > Export > S.T.A.L.K.E.R. и сохраняем модель под любым именем.
Внимание! Нужно явно задать расширение файла, т.е. название должно быть таким ваше_название.object, иначе модель просто не сохранится.
Все! Работа с моделью в MilkShape закончена. Можете закрыть программу.
Переходим ко второй части статьи, а именно настройки модели в Actor Editor, который входит в состав X-Ray SDK.
Часть 2 – Настройка модели в Actor Editor
Не забываем скопировать необходимые текстуры (в СДК и ваш мод).
1. Запустите Actor Editor. Теперь загрузим нашу модель для дальнейших манипуляций . Жмем File > Load…, ищем модель в папке import (у меня holod.object) и жмем Открыть.
После загрузки видим примерно такую картину:
2. Переходим непосредственно к настройке. Справа во вкладке Object Items выделяем строку Object (1) и переходим во вкладку Item Properties. Тянем полоску до конца и в самом низу кликаем на три маленькие точки напротив User Data (2). Появится окно, в которое нужно вписать такую строчку типа "models\capture\файл_настроек.ltx" (у меня это "models\capture\stalker_nebo.ltx") и жмем ОК.
3. Далее идем в Motions (3) и в строке Motion reference также кликаем по трем точкам. В появившемся окне Select Game Object Motions ставим галочку напротив stalker_animation (1) (всего можно поставить 4 галочки) и ОК (2), тем самым назначая модели стандартные анимации ТЧ!
4. Настала очередь настройки костей (Bones). Это нужно для того, чтобы при смерти у нпс не выворачивались части тела под неестественным углом. Настройки костей для моделей из ЗП и ЧН одинаковые.
Выделяем Bones (1) и видим все кости модели в виде дерева. Из них нам нужны только вот эти 10 косточек: bip01_l_thigh, bip01_l_calf, bip01_r_thigh, bip01_r_calf, bip01_spine1, bip01_head, bip01_l_ forearm, bip01_l_upperarm, bip01_r_ forearm и bip01_r_upperarm, остальные оставляем как есть.
Берем первую кость bip01_l_thigh и внизу в свитке Joint (2) жмем на точки напротив Rigid (4) и в списке выбираем тип Joint (3) (для других 9 костей делаем также). Окно изменится на такое:
Вписываем сюда значения из таблицы.
bip01_l_thigh bip01_l_calf bip01_r_thigh bip01_r_calf bip01_spine1 bip01_head bip01_l_upperarm bip01_l_ forearm bip01_r_upperarm bip01_r_ forearm
Friction 1.0
Spring Factor 2.0
Dumping Factor 0.5
x min -20 -20 -20 -20 -30 -30 -40 -20 -40 -20
max 20 20 20 20 30 30 40 20 40 20
Spring Factor 0.5
Dumping Factor 2.0
y min -80 0 -80 0 -30 -25 -40 0 -40 0
max 45 90 45 90 30 30 40 90 40 90
Spring Factor 0.5
Dumping Factor 2.0
z min 0 0 0 0 0 -20 -50 0 -50 0
max 0 0 0 0 0 20 40 0 40 0
Spring Factor 0.5
Dumping Factor 2.0
Теперь осталось только экспортировать модель в формат .ogf. Для этого идем File > Export > Export OGF… и сохраняем в любое место с любым названием.
Поздравляю! Вы только что перенесли модели ЧН/ЗП в ТЧ.
P.S. Это моя первая статья, так что извиняйте, если написал не слишком понятно.
А как в спавне настроить угол поворота предметов, или НПСов. Какая строчка за это отвечает?
Вот к примеру монитор хочу повернуть.
...............................................................................................
Вот еще такая вещь. В логике что нужно прописать чтобы НПС не смотрел все время на ГГ. Ну к примеру стоит этот НСп на месте и смотрит куда то, после болтовни с ГГ он начинает на него ппялиться даже на очень больших расстояниях, а нужно чтобы он не обращал внимания.
................................................................................................................
рестриктор как заспавнить?
............................................................................................................
Я видел ссылку на 3 модели ЧНовца, можно узнать какая страничка? Да и рестриктор уже кто то писал, скажите плиз какая страница?
отредактировал(а) Mehanik Yar: 18-06-2010 11:50 GMT3 час.
XrKamp
проверка на среднюю раненость:
xr_wounded.is_wounded(npc) -- передавать юзердату - то есть сначала определить объект (если не ошибаюсь то как клиентский по айди)
проверка на тяжелораненость - передавать либо чисто айди, либо юзердату с методом id - npc:id()
xr_wounded.is_heavy_wounded_by_id(npc:id())
Mehanik Yar
1.насчет поворота тебе уже ответили - меняй direction. Как менять - твои проблемы - пробуй, экспериментируй.
2.меняй значение параметра target в логике NPC, так как если там указан actor, он и будет смотреть всегда на ГГ. Можно указать nil или чей то sid .
3. про создание рестриктора (скриптом или в allspawn ) есть на вики - читай.
4. поиск батенька...
sevitov_yura
Другие способы (для NPC )отсутствуют. Увы...
хотя вертолетам можно путь задавать динамически. Хочешь узнать как - смотри модули вертолетов в глобальных модах.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
#karavan :
Люди.
Помнится в Халфе 2 была не только Гравипушка, но еще была возможность без каког**5010c54314580bda8be6**tp://stalkerin.gameru.net/wiki/index.php/Milkshape._Создание_моделей_NPC_(исправление_костей)[/code] Там в середине описана загрузка объемов из отедльного файла
отредактировал(а) blackraven6: 18-06-2010 15:41 GMT3 час.
Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
**5001c54314580bda8be6**econds) -- выводим время в формате 00:00:00
-- local text=string.format("%.f",last/1000)
st:wnd():SetTextST(text)
end
else
if hud:GetCustomStatic("hud_timer")~=nil then
hud:RemoveCustomStatic("hud_timer")
end
end
end
[/code]
лог вылета:
Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: No such operator defined
вызов:
hud_static() -- на апдейд
timer_n_minutes() -- на апдейте
_______________ файл.start_timer_minutes -- через диалог.
Николай ФеНиКс
this.FindItemBySidParent() - эта функция видимо нерабочая. Не используй. Я же ее не проверял - и что-то подобное ожидал - так как там не совсем ясно какой метод применять к объекту.
отредактировал(а) erlik: 18-06-2010 20:03 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Stalk15
Идентефикатором переменных может быть любая двухбайтная последовательность латинских букв верхнего и нижнего регистров и символов "_" подчеркивания, кроме зарезервированых сочетаний символов глобальных переменных.
Это переменные глобального контекста языка Luа, как например :
названия таблиц (string, os, math, и т.д.),
названия функций (pairs, type, print, и т.д.),
названия переменных (_G, _VERSION...),
имена ключевых слов (if, then, else, end, и т.д.).
Т.е. если есть
зарезервированное слово "if", то ты вполне можешь использовать слова "If", "iF" или "IF".
В принципе использовать глобальные переменные можно, но это уже совсем другая история :-)
Николай ФеНиКс
а ты каким таким магическим способом передаешь через диалог время действия для таймера?
start_timer_minutes(seconds) - там же аргумент требуется - ВРЕМЯ в секундах
а если без аргумента - то надо в самой функции указать время - вместо seconds*1000
а аргумент из скобок убрать.
Ну ты меня посмешил :lol)
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Я имел ввиду вот что, у НПСа есть анимация, например сидит, но посел того как я ним вступаешь в диалог он естественно встает и начинает на ГГ смотреть, но даже после диалога он продолжает смотреть сколь годно долго, пока либо не перезагрузишь сохранение либо не выполнится телепорт ГГ (ну если обратно прибежать то НПс опять будет с анимацие которая была)
Вот это я и не знаю как исправить. Хочу сделать два варианта, кеогда НПС при диалоге вообще не обращает внимания на ГГ, либо посел диалога через некоторое время опять вернется к своей анимации.
Николай ФеНиКс
Ох, а это уж самому не додумать? У тебя функция start_timer_minutes(seconds) принимает параметр с таким названием, и есть локальная переменная local seconds в hud_static().
добавлено спустя 39 секунд
Или ты думал, что это одно и тоже..?
отредактировал(а) Darien Fx: 18-06-2010 21:28 GMT3 час.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.