Обмен опытом.

тут будет хранится инфа о том что и где и как сделать
here would be stored information on what where and how possible to do
Правила форума
постарайтесь сохранять в данной ветке чистоту.. и так как форум позволяет - основная главная информация - в первом сообщении темы а дальше обсуждение, и по мере развития обсуждений обновляйте первое сообщение, чтоб человек зашел и получил то что надо не копаясь в дискуссиях
keep this thread in clean.. and as soon as forum gives such ability store main important and "up to date" information in first message in thread. and while all discussion revolvings update first message if needed. so anyone could enter thread and get all newest info from first message not messing in discussions

Re: Обмен опытом.

Сообщение 7.9 » 21 мар 2010, 16:53

Ну вот и обменялись опытом.
всё легко
Аватара пользователя
7.9
Теоретик Зоны
 
Сообщения: 787
Зарегистрирован: 01 сен 2008, 20:28

Re: Обмен опытом.

Сообщение [Ork] » 28 мар 2010, 14:41

Вылет когда сую ак укороченный в слот, играю с конфигами от ст.крыса, подскажите как можно исправить
[Показать] Спойлер:
FATAL ERROR

[error]Expression : 0
[error]Function : CUICellContainer::FindFreeCell
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\ui\UIDragDropListEx.cpp
[error]Line : 508
[error]Description : there are no free room to place item
[Ork]
Shinigami
 
Сообщения: 952
Зарегистрирован: 12 июл 2009, 11:59

Re: Обмен опытом.

Сообщение Renson » 29 мар 2010, 17:56

Всё просто - пистолетный слот просто мал, в него не помещается иконка АКС-74У.
Либо расширь
gamedata\config\ui\inventory_new.xml
Если не ошибаюсь, выстави в сиих секциях такие цифры
[Показать] Спойлер:
<dragdrop_pistol x="210" y="25" width="265" height="120"
cell_width = "52" cell_height="52" rows_num="2" cols_num="5"
custom_placement="1"/>

<dragdrop_automatic x="520" y="25" width="320" height="120"
cell_width = "52" cell_height="52" rows_num="2" cols_num="6"
custom_placement="1"/>

Но я бы сменил слот для АКС-74У на стандартный. Автомат не такой уж и маленький.
gamedata\config\weapons\w_ak74u.ltx
Выстиваи значение параметра slot на 2.
Renson
 
Сообщения: 388
Зарегистрирован: 26 фев 2009, 18:51
Откуда: Самара

Re: Обмен опытом.

Сообщение [Ork] » 29 мар 2010, 19:03

Renson
Спасибо большое, поставил slot 2 :)
[Ork]
Shinigami
 
Сообщения: 952
Зарегистрирован: 12 июл 2009, 11:59

Re: Обмен опытом.

Сообщение alek1 » 22 апр 2010, 10:12

Если где было извеняйте

Исправление поведения монстров в универсальных гулагах типа general_lair
в загрузку логики работ файл \gamedata\scripts\gulag_general.script добавить выделенное

[Показать] Спойлер:
-- УНИВЕРСАЛЬНОЕ ЛОГОВО МОНСТРОВ
if type == "general_lair" then
-- Проверяем наличие моб_хом.
local it = 1
while level.patrol_path_exists(gname.."_home_"..it) do
-- Необходимо вычитать количество работ из названия точки пути.
local way_name = gname.."_home_"..it
local ptr = patrol(way_name)
local wp_prop = utils.parse_waypoint_data(way_name, ptr:flags(0), ptr:name(0))
local job_count = 10
if wp_prop.count ~= nil then
job_count = wp_prop.count
end

for i = 1, job_count do
-- добавляем должность
t = { section = "logic@"..way_name,
idle = 0,
prior = 5, state = {0,1}, squad = squad, group = groups[1],
position_threshold = 20,
in_rest = "", out_rest = ""
}
table.insert(sj, t)
end

-- добавляем описание должности в лтх.
local job_ltx = "[logic@"..way_name.."]\n"..
"active = mob_home@"..way_name.."\n"..

"[mob_combat@"..way_name.."]\n"..
"on_timer = ".. math.random(30000,60000) .." | mob_home@"..way_name.."\n"..

"[mob_home@"..way_name.."]\n"..
"on_signal = sig_attacked | mob_combat@"..way_name.."\n"..
"path_home = home_"..it.."\n"
"home_min_radius = 40\n"
"home_max_radius = 100\n"

ltx = ltx..job_ltx
it = it + 1
end

-- Необходим fake_death с патрульным путем



-- Необходима атака в лице mob_home с agressive
-- Проверяем возможность вырулить в рейд (наличие путей, алгоритм переключения)
it = 1
local job_count = 5
while level.patrol_path_exists(gname.."_raid_"..it) do
-- Необходимо вычитать количество работ из названия точки пути.
local way_name = gname.."_raid_"..it
local ptr = patrol(way_name)
local wp_prop = utils.parse_waypoint_data(way_name, ptr:flags(0), ptr:name(0))
if wp_prop.count ~= nil then
job_count = wp_prop.count
end

for i = 1, job_count do
-- добавляем должность
t = { section = "logic@"..way_name,
idle = 0,
prior = 10, state = {1}, squad = squad, group = groups[1],
fill_idle = xr_gulag.idle_once,
position_threshold = 70,
in_rest = "", out_rest = ""
}
table.insert(sj, t)
end

-- добавляем описание должности в лтх.
local job_ltx = "[logic@"..way_name.."]\n"..
"active = mob_home@"..way_name.."\n"..

"[mob_home@"..way_name.."]\n"..
"path_home = raid_"..it.."\n"..
"home_min_radius = 40\n"
"home_max_radius = 100\n"
"
aggressive_home\n"

ltx = ltx..job_ltx
it = it + 1
end


end
end


Чем больше цифры тем больше радиус перемешения (цифры в метрах)
по умолчанию точно не помню но гораздо меньше
монстры будут гулять по гараздо более общирной территории чем раньше
ну и врагов преследуют гораздо дольше :D

распостраняется на все локации где есть гулаги типа general_lair
а они почти везде есть
с цифирками можете сами поэксперементировать

АККК
alek1
 
Сообщения: 3
Зарегистрирован: 18 авг 2009, 13:23

Re: Обмен опытом.

Сообщение [Ork] » 24 июн 2010, 12:22

Статья про файлы формата .thm

1. Что это такое и зачем они нужны?

Эти файлы используются во всех частях Сталкера (в ТЧ редко, чтобы дать конкретной текстуре параметры, не затрагивая textures.ltx). В ТЧ работают с версии 1.0004. Используются для выставления параметров текстур - бамп, детейл и прочее. Имеют вид название_текстуры.thm и название_текстуры_bump.thm для бамп файлов. Без них игра не подставляет текстуре нужные параметры и следовательно текстуры получаются "плоские", хуже чем на статическом освещении. Для сравнения картинки можно посмотреть этот пост - viewtopic.php?f=2&t=196&start=480#p10198

2. Как их создать? Какие параметры нужны?

Для создания этих файлов нужен официальный СДК версии 0.5/0.6, с версией 0.4 есть нюанс (о нём в примечании)
Итак, начнём. Для начала скачайте эту программу - dds2tgaLE.rar (373 KБ) и установите её в папку import вашего СДК. Она нужна для быстрого перевода текстур из формата DDS в TGA, нужный СДК. Теперь, допустим, мы хотим сделать файл .thm для текстуры prop_plitka_lab. Копируем текстуру prop_plitka_lab и prop_plitka_lab_bump в папку import, запускаем файл START.BAT - заместо dds мы получили tga текстуры. Теперь, в нашем случае, копируем их в папку rawdata\textures\prop. Идём дальше. Теперь заходим в Level Editor, щёлкаем по кнопке Images и выбираем пункт Check New Textures
Изображение
В появившемся окошке жмём ОК и видим появившееся окно с текстурами которые вы добавили. На этом скриншоте отмечено то, что нам понадобится изменять (я уже поставил)
Изображение
Итак, в секции Bump в параметре Mode ставим Use - для различных текстур, а Use parallax - для текстур типа кирпичной кладки, кафеля (как в данной текстуре) и тп. В параметре Texture выбираем тестуру бампа - prop_plitka_lab_bump. В секции Detalis в параметрах Use as Diffuse и/или Use as Bump (R2) ставим галочку.
Ищем нашу текстуру в textures.ltx, первое что находится:
Код: Выделить всё
prop\prop_plitka_lab = detail\detail_tile_det2, 6.000000, usage[diffuse_or_bump]

Значит ставим галочки в параметрах Use as Diffuse и Use as Bump (R2). В параметре Texture под этими пунктами выбираем текстуру detail\detail_tile_det2, предварительно сделав импорт этой текстуры в СДК. И в параметре Scale ставим 6.0. Ищем по файлу дальше, видим:
Код: Выделить всё
prop\prop_plitka_lab = bump_mode[use:prop\prop_plitka_lab_bump], material[1.50]

Здесь пишется бамп-текстура и "material", это что-то типа степень наложения бампа на текстуру, чем больше, тем рельефнее. Только в СДК поставить выше значения 1.0 не получится. Вот что ещё находим:
Код: Выделить всё
prop\prop_plitka_lab = 0

Здесь выставлен тип текстуры. Смотря по СДК и файлу textures.ltx, я понял так:
[Показать] Спойлер:
0 - 2D Texture
1 - Cube Map
2 - Bump Map
3 - Normal Map
4 - Terrain

По textures.ltx всё. Кстати, когда будете в копировать готовые thm файлы, не забудьте скопировать не только prop_plitka_lab и prop_plitka_lab_bump, но и prop_plitka_lab_bump#
Жмём ОК и ищем полученные изображения и их .thm файлы в папке СДК\...\gamedata\textures\...
Уже можно их пробовать.

3. Примечание

В СДК версии 0.4 создаются файлы thm, больше размером чем в ЧН/ЗП, поэтому они не работают в последних частях. Но есть способ как превратить эти файлы для ЧН/ЗП:
переделать их с помощью программки - thmParser, как использовать описано внутри

Вот в принципе и всё. Статью я написал так, как сам делаю, так что может и неправильно и не так, но работает же :)

Автор: [Ork]
За помощь и поддержку спасибо [XaK] и BuS777


03.11.2010 г
[Ork]
Shinigami
 
Сообщения: 952
Зарегистрирован: 12 июл 2009, 11:59

Re: Обмен опытом.

Сообщение shurabich » 30 июн 2010, 21:51

Доброго времени суток!...Я как то спрашивал у кого то,но забыл...в общем как присоединять скрипты к игре?...Помню,что через bind_stalker.script ,но че писать не помню. :wacko:
Аватара пользователя
shurabich
 
Сообщения: 24
Зарегистрирован: 26 июл 2009, 14:59

Re: Обмен опытом.

Сообщение mark » 23 июл 2010, 23:29

7.9 писал(а):
Wreck писал(а):А в играх вообще есть такой AI?

Был-бы набор примитивов из которого можно элементы наклепать.


У мобов и неписей отсутствует индивидуальная память - без нее ни о каком АИ, даже в зачаточном виде, и речи быть не может. Только скрипты и схемы...
mark
 
Сообщения: 24
Зарегистрирован: 14 мар 2010, 14:03

Re: Обмен опытом.

Сообщение 7.9 » 27 июл 2010, 14:42

mark писал(а): ... У мобов и неписей отсутствует индивидуальная память...


Кстати - насчёт памяти: написал функции для записи даты-времени в сохранениях, в роде работают, но на полную проверку времени так и не нашлось. Сейчас, я их проверил - работают. Можно попробовать для чего-нибудь, за одно и проверить их. Если чего не так - исправим.
Может и "корифеи" поглядят, расскажут всё... про то, какой я программист :) , - ну и заодно улучшат их.

ЗЫ:
Естественно, функции сохранят не только дату-время, но все другие типы тоже - числа, строки, "були", но надо иметь в виду ситуацию с пстором, то-есть - имена, переменным, длинные не давать, покороче... ну и прочее. В файле есть информация из которой можно понять как это использовать, и если надо подробней - разъясню.

u.script
всё легко
Аватара пользователя
7.9
Теоретик Зоны
 
Сообщения: 787
Зарегистрирован: 01 сен 2008, 20:28

Re: Обмен опытом.

Сообщение RedPython » 09 авг 2010, 21:37

Примитивный текст том, как заставить приемник "Горизонт" и любой другой физ. предмет играть рандомную музыку.

Разберем на примере мафона на Скадовске.
Точками с запятой буду выделять свои вставки.


1. Разбираем all.spawn, ищем секцию priemnik_gorizont:

Код: Выделить всё
[1857]
; cse_abstract properties
section_name = priemnik_gorizont
name = zaton_priemnik_gorizont
position = 136.444641113281,-6.11931896209717,186.705184936523
direction = 0,-1.37160003185272,-0

; cse_alife_object properties
game_vertex_id = 0
distance = 0
level_vertex_id = 293223
object_flags = 0xffffff3a
custom_data = <<END
[collide]
ignore_static

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[logic]
cfg = logic\zaton\zat_a2_priemnik_gorizont.ltx
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
END

; cse_visual properties
visual_name = dynamics\el_tehnika\priemnik_gorizont

; cse_ph_skeleton properties

; cse_alife_object_physic properties
physic_type = 0x3
mass = 10
fixed_bones = link

upd:num_items = 0x3b

upd:ph_force = -1026054538,1178713870,1148917712
upd:ph_torque = 1176146099,344496243,1224736768
upd:ph_position = 48114,2535456,578027265
upd:ph_rotation = 1479689794,1558332544,1735607834,5470

upd:ph_angular_vel = -16646106,1137172917,1082910749

upd:ph_linear_vel = 5475,-1142554624,-1674313728

То есть нужно лишь прописать ссылку на файл логики.
Компилим all.spawn и идем дальше.


2. Создаем файл логики мафона в вышеуказанной директории:
Код: Выделить всё
[logic]
active = ph_idle@wait

[ph_idle@wait]
; Если лагерь в норме или денжере, то играет музыка.
on_info = {=check_smart_alarm_status(zat_stalker_base_smart:normal)} %=play_sound(zat_a2_base_magnitophone)%
; Если шухер, то музыка выключается.
on_info2 = {=check_smart_alarm_status(zat_stalker_base_smart:alarm)} %=stop_sound(zat_a2_base_magnitophone)%


Естественно, логику каждый пишет для своих нужд.

3. В директории \gamedata\configs\misc\ открываем файл script_sound_zaton.ltx и добавляем свою секцию:
Код: Выделить всё
[list_script_sound_zaton]
zat_b53_steam
zat_b53_artefact_hunter_2_come_on
zat_b53_artefact_hunter_2_come_on_continue
zat_b53_artefact_hunter_help
....
....
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
zat_a2_base_magnitophone
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
....
....
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[zat_a2_base_magnitophone]
type = 3d
path = music\zaton\zat_a2_base_magnitophone_
shuffle = rnd
idle = 1,2,10

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

4. В директорию \gamedata\sounds\music\zaton\ кладем предварительно настроенные в СДК .ogg-файлы:
zat_a2_base_magnitophone_1, zat_a2_base_magnitophone_2 и дальше по списку.

Вроде все.
7-и-9, я туда пихнул текст? 8-)
Аватара пользователя
RedPython
 
Сообщения: 120
Зарегистрирован: 25 июл 2010, 12:53

Пред.След.

Вернуться в Копилка мудрости (Wisdom storage)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25