Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Общие вопросы и ответы
denis2000Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Помощь тем кто хочет знать больше о игре и модах

Если у вас появились вопросы по модостроению в игре S.T.A.L.K.E.R. Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7

Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML
[ Если у вас не открывается файл CHM(Этот текст скрыт от гостей) ]

[ Где найти лог игры после вылета ]
[ Получение более подробной информации о вылете (ХОВАН) ]



Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы,
статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


Посты, для которых есть свои категории, из этой темы будут удаляться или перемещаться в соответсвующую тему. Персональных извещений в ЛС о переносе\удалении поста не будет, ищите сами. Учитывайте, что в системах Ucoz тема не обновляется в статистике при переносе поста.
Посты, написанные здесь-же после переноса, будут расцениваться как кросспостинг, со всеми вытекающими


[ Первый юбилей нашей темы(Этот текст скрыт от гостей) ]
 
suhar_Дата: Ср, 26.11.2014, 21:01 | Сообщение # 766
Бывалый
Пользователи
Сообщений: 106
Награды: 0
Репутация: [ 0 ]

Проблема в работе функции SetWidth и SetHeight в скрипте.
[ Кусок скрипта ]

[ Лог вылета ]

Видел, как аналогичная функция работает в моде на ЧН без всяких проблем. Что не так?


Сообщение отредактировал suhar_ - Ср, 26.11.2014, 21:02
 
CBO6ODAДата: Ср, 26.11.2014, 21:58 | Сообщение # 767
Отмычка
Пользователи
Сообщений: 30
Награды: 6
Репутация: [ 65 ]

sergej5500, Сделал как ты сказал.
Теперь точно так-же, но появился лог:
[ Лог(Этот текст скрыт от гостей) ]

Добавлено (26.11.2014, 21:58)
---------------------------------------------
Проблему решил.
Но теперь с моим НПС, нельзя поговорить...



SGM 2.2 CBO6ODA EDITION - 32% (24.04.2017)
 
sergej5500Дата: Ср, 26.11.2014, 22:18 | Сообщение # 768
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

CBO6ODA,

Вы прописали неписю этот диалог?
 
denis2000Дата: Ср, 26.11.2014, 23:46 | Сообщение # 769
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

suhar_, Невозможно применить метод SetHeight к объекту get_hud():GetCustomStatic():wnd() за не имением у него такового. Пробуйте SetWndSize(vector2():set(width,height))

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
suhar_Дата: Чт, 27.11.2014, 05:57 | Сообщение # 770
Бывалый
Пользователи
Сообщений: 106
Награды: 0
Репутация: [ 0 ]

denis2000, с функцией разобрался.
Задача была следующая: вывести на худ индикатор пси-здоровья ГГ. Поскольку состояние пси-здоровья может быть разным, то и индикатор должен постоянно обновляться согласно этой разнице. Для этого в функцию bind_stalker.actor_binder:update ввожу строку таким образом:
[ Тыц ]

Создаю отдельный файл lex.script
[ Тыц ]

Затем создаю файл lex_psybar.script непосредственно с функцией show_psybar:
[ Тыц ]

В файле configs\ui\ui_custom_msgs.xml создаю необходимую секцию
[ Читать далее ]

Все необходимые текстуры по адресу имеются и прописаны в файл external.ltx
В итоге имею вылет
[ Лог ]
В чём суть??


Сообщение отредактировал suhar_ - Чт, 27.11.2014, 06:19
 
makdmДата: Чт, 27.11.2014, 09:35 | Сообщение # 771
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

Цитата suhar_ ()
В чём суть??

Синтаксическая ошибка. В файле lex_psybar.script

Вот здесь.

Цитата suhar_ ()
-[[wnd:SetHeight(w_height)
wnd:SetWidth(w_width)]]


И ниже по файлу ещё раз

Цитата suhar_ ()
-[[wnd:SetHeight(w_height)
wnd:SetWidth(w_width)]]


Правда не знаю зачем изобретать "велосипед"?
С скриптах ЧН и ЗП есть готовый скрипт вывода полоски жизни вертолёта на худ.
Взяли готовое, перетащили в отдельный файл, передали в функцию пси-здоровье ГГ и всё видно на худе. Не нравится верхний правый угол вывода - заменили координаты вывода на худ. Не нравится текстура - заменили текстуру.
В скрипты лазить вообще не нужно.


Терпение......
И все получится!


Сообщение отредактировал makdm - Чт, 27.11.2014, 09:55
 
CBO6ODAДата: Чт, 27.11.2014, 15:41 | Сообщение # 772
Отмычка
Пользователи
Сообщений: 30
Награды: 6
Репутация: [ 65 ]

sergej5500, да прописал

Добавлено (27.11.2014, 15:41)
---------------------------------------------
У моего персонажа даже не появляется кнопка говорить...
И не смотря на то что он не командир он не говорит: "Иди с главным перетри"



SGM 2.2 CBO6ODA EDITION - 32% (24.04.2017)
 
СахарДата: Чт, 27.11.2014, 15:48 | Сообщение # 773
Гражданский
Пользователи
Сообщений: 2
Награды: 4
Репутация: [ 69 ]

CBO6ODA, Ты через all.spawn НПС создал?

 
sergej5500Дата: Чт, 27.11.2014, 15:52 | Сообщение # 774
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

CBO6ODA,

Советую изучить спавн НПС. Чтобы непись говорил, у него в логике должна быть секция meet, а в ней параметр use = true.
 
CBO6ODAДата: Чт, 27.11.2014, 18:00 | Сообщение # 775
Отмычка
Пользователи
Сообщений: 30
Награды: 6
Репутация: [ 65 ]

Сахар, Верно.

sergej5500, Щас попробую



SGM 2.2 CBO6ODA EDITION - 32% (24.04.2017)
 
asd123Дата: Чт, 27.11.2014, 18:06 | Сообщение # 776
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

1. Подскажите, как функцию spawn_object из on_info настроить на 1 раз. Вот логика моего сталкера и привязанный к нему спавн:
[logic]
active = move@wait_actor
on_death = death
danger = danger_ignore
invulnerable = true

[death]
on_info = %+agr_stalker_leader_dead%

[danger_ignore]
ignore_distance = 5

[move@wait_actor]
move_dest_number = 52298
move_look_vertex = 53681
move_state_when_center = ward_noweap
move_state_when_move = run
meet = meet
invulnerable = true
on_info = {+agr_b2_commander_death} move@go_to_batllepoint

[move@go_to_batllepoint]
scheme_type = patrol
patrol_count_path = 1
patrol_path_1 = 142976
patrol_path_1_state = rush
on_patrol_path = 1|move@back_to_readypoint
invulnerable = true
meet = meet

[move@back_to_readypoint]
move_dest_number = 142976
move_look_vertex = 145415
move_state_when_center = ward_noweap
move_state_when_move = run
invulnerable = true
meet = meet
on_info = {+agr_b2_commander_death} %=spawn_object(agr_stalker_trader:agr_smart_terrain_2_spawn_point)%
on_info2 = {+agr_b2_commander_death} %=spawn_object(agr_stalker_tehnik:agr_smart_terrain_2_spawn_point)%

[meet]
abuse = true
use = true
allow_break = true
trade_enable = false
meet_on_talking = false

2. Как сделать что-нибуть подобное:
(Сообщение от сталкера с иконкой)

3. Думал поколдовать с вертолетами.. Суть вопроса: А будут ли работать на вертолете функции move_dest_number, move_look_vertex, move_state_when_center, move_state_when_move?


У мутантов тоже есть группировки. © Движок X-Ray




Сообщение отредактировал asd123 - Чт, 27.11.2014, 21:00
 
CBO6ODAДата: Чт, 27.11.2014, 18:24 | Сообщение # 777
Отмычка
Пользователи
Сообщений: 30
Награды: 6
Репутация: [ 65 ]

Нет, не помогло.

Добавлено (27.11.2014, 18:24)
---------------------------------------------
А нет помогло, но терь такой вопрос,
Разговор с НПС:
1.Чего тебе ?
2.Пока.

Всё, а как прописать ему диалог который я прописывал в файл с текстом ? (Там где все тексты)



SGM 2.2 CBO6ODA EDITION - 32% (24.04.2017)
 
denis2000Дата: Чт, 27.11.2014, 21:22 | Сообщение # 778
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата asd123 ()
Подскажите, какую функцию нужно вписать в on_info для спавна нпс по координатам? А то, в xr_logic/effects я нашел только спавн на имени смарта.

Для начала такую функцию будет необходимо сделать, прежде чем использовать, например такую:
Код
function gar_a2_create_zas_killer(actor,npc)
alife():create("gar_a2_sp_killer_1",vector():set(99.285308837891,3.0444786548615,-19.401781082153),252062,234)
end


Цитата asd123 ()
Хочу заспавнить на Агропроме, но там ведь нет имен у смартов.

Если смарты есть то есть и имена. Иначе не бывает!

Цитата asd123 ()
Сообщение от сталкера с иконкой

Там в качестве аргумента в функцию news_manager.send_tip передается объект отправитель сообщения и его иконка берется в качестве иконки сообщения.

Цитата asd123 ()
А будут ли работать на вертолете функции move_dest_number, move_look_vertex, move_state_when_center, move_state_when_move?

Конечно нет. Не стоит путать схему поведения НПС и вертолетов.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
asd123Дата: Чт, 27.11.2014, 22:47 | Сообщение # 779
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

так.. со спавном разобрался кое-как. Но есть одно маааленькое НО - это бесконечный спавн. Все сделал как в других файлах, но НПС спавнятся бесконечно. Вот логика на спавн:
on_info = {+agr_b2_commander_death} %=spawn_object(agr_stalker_trader:agr_smart_terrain_2_spawn_point)%
on_info2 = {+agr_b2_commander_death} %=spawn_object(agr_stalker_tehnik:agr_smart_terrain_2_spawn_point)%

Еще одна проблема: При спавне вертолета игра вылетает с таким логом:

FATAL ERROR

[error]Expression : motion_ID.valid()
[error]Function : CKinematicsAnimated::ID_Cycle
[error]File : D:\prog_repository\sources\trunk\Layers\xrRender\SkeletonAnimated.cpp
[error]Line : 210
[error]Description : ! MODEL: can't find cycle:
[error]Arguments : $editor


У мутантов тоже есть группировки. © Движок X-Ray




Сообщение отредактировал asd123 - Чт, 27.11.2014, 23:22
 
СахарДата: Пт, 28.11.2014, 05:00 | Сообщение # 780
Гражданский
Пользователи
Сообщений: 2
Награды: 4
Репутация: [ 69 ]

asd123, Добра.
Цитата asd123 ()
%=spawn_object

Странная функция для спавна НПС вообще то используются такие :
Код
%=create_squad(название сквада:название смарта)%
%=spawn_npc_in_zone(секция кого спаунить:имя зоны в которой спаунить)%

Цитата asd123 ()
это бесконечный спавн

Да спавн будет бесконечный так что тебе нужно его отключить например так
Код
on_info = {+agr_b2_commander_death} % =create_squad(agr_stalker_trader:agr_smart_terrain_2_spawn_point) =create_squad(agr_stalker_tehnik:agr_smart_terrain_2_spawn_point) - agr_b2_commander_death %

То есть мы спавним НПС и убираем инфопоршень и мы не можем повторно заспавнить НПС потому-что условие не выполняется и НПС-ы не будут больше спавнится.
Цитата asd123 ()
При спавне

Так нельзя делать, потому что его нужно спавнить через all.spawn где-нибудь за локацией, а когда он будет нужен отправить в полёт.




Сообщение отредактировал Сахар - Пт, 28.11.2014, 05:02
 
Поиск: