Skaarj писал: conveyor же через материал удобнее делать.
А как ты ему в таком случае скорость задашь? И выберешь энтити, которые смогут по нему кататься? К примеру, монстры могут, а игроки не могут.
Я тут подумал о картах с поездами, типа в УТ1 такая есть. Так вот, пытался в халфе сделать нечто подобное. Получилось довольно неплохо: конвейер внизу для рельсов и земли, деревья и столбы, пролетающие мимо - функ_трейны. А вот как бы синхронизировать это дело, чтоб скорость была одинаковая, и объекты не обгоняли конвейер и не отставали от него? Вручную достаточно тяжело подобрать, зависит от скейла текстуры конвейера. Самая крутая реализация, которую я видел, была в Iron Storm. Там и туннели были, и столбы и камни, и всё это мимо поезда "ехало". Хочется именно полноценные объекты, а не 3д скай. Понятное дело, со скаем легче. Но вот столбы, сбивающие игрока, были бы кстати. Ну и камни всякие, кусты на земле, с которыми можно взаимодействовать, стреляя по ним.
Давайте подумаем, что для этого нужно. Может пару-тройку энтить сочиним
Добавлено 12-07-2015 в 01:16:
Цитата:
PunkPaToB писал: А как на счет создания оружия через ентити?)))
Ну ага. Видели мы скриптовую систему Дяди Миши. Ничего кардинально нового таким способом сделать нельзя. Для клонирования пушек с заранее накоденным функционалом сгодится, но не более. Лучше действительно в коде. И монстров тоже. Некоторые вещи невозможно сделать скриптами. Ну по крайней мере в халфе.
Добавлено 12-07-2015 в 01:19:
И, кстати, насчёт конвейеров. А может быть объединить их вместе с trigger_push? Если хотим триггер, то делаем его несолидным и невидимым, указываем интервалы работы. А если хотим конвейер, то красим текстурой, указываем направление движения, делаем солидным.
Ku2zoff писал: А как ты ему в таком случае скорость задашь?
Кстати, да. Шейдеры конвейеров в волатиле берут скорость из pev->renderScroll[2], то есть им нужна энтитя. Ведь скорость надо иметь возможность регулировать на сервере.
Добавлено 12-07-2015 в 01:21:
Цитата:
Ku2zoff писал: А может быть объединить их вместе с trigger_push?
И как назвать? func_trigger_convpush? Традиционно видимые энтити имеют префикс фанк, а невидимые - триггер.
func_breakable, а лучше свойство breakable для любых эжнтитей.
func_[track]train+func_trackchange
Добавлено 11-07-2015 в 23:48:
вот что я считаю неимоверным злом и идотизмом, так это логик энтити. нужна всего одна точечная script энтитя (или даже возможность привязать скрипт к любой энтите), внутри которой можно на обычном текстовом ЯП записать хоть мультиманагер, хоть реле, хоть мультивотчер, хоть любую сложную логику с if-else-case-while и глобальными+локальными переменными.
не ну правда, иной раз оказывается проще на питоне написать генератор .map файла с нужным префабом, чем вручную расставлять энтити.
а уж со скриптами монстров совсем беда. когда на одного барника приходится штук 20 scripted_sequence в одном месте и ещё в два раза больше scripted_sentence и всё это приходится как то хитро расставлять по карте что бы не запутаться где что и в каком порядке, получается АНАЛЬНАЯ НЕНАВИСТЬ.
вообще, нужна хитрая система с доступом из скрипта к любым поддающимся изменениям параметрам энтить. не городить связку из реле, манагеров и сэт-трэйнспиида, а просто вызвать из патч_трека что ни будь вроде +set(victim=*locus,speed=500,time=5)
Добавлено 12-07-2015 в 00:09:
и возможность работы со строками, что бы например можно было использовать в качестве имени цели str(*locus)+'_door' -- что бы открыть дверку приаттаченую к лифту, который остановился на этаже.
Логик-энтитя в волатиле и есть одна. Называется trigger_execute. Позволяет выполнить любой Lua-код (ну и до кучи работает как реле). Проблема в том, что Фиектры хотят иметь возможность сделать карту вообще без Lua-кодинга. И очень может быть, что таких Фиектр найдётся немало.
Вот ИИ-скриптов в старой волатиле почти нет (есть, правда, луа-функция SetOrders, и среди order-ов есть PlayAnimation, но это не совсем полноценная замена скриптед-секвенциям). Думаю, нужен некий Lua-API для ИИ-скриптов. Но это уже отдельная тема, пока я о ней думать не буду.
Цитата:
thambs писал: озможность работы со строками, что бы например можно было использовать в качестве имени цели str(*locus)+'_door' -- что бы открыть дверку приаттаченую к лифту, который остановился на этаже.
Всё это было возможно уже и в старой волатиле. Вместо *locus было ключевое слово this - суть тот же локус. Луа-подсистему я, разумеется, оставлю и доработаю - без неё сложно написать что-то необычное, не влезая в исходный код.
Виртуальные машинки полезны когда движок уже предоставляет какой то функционал, а так какой от них толк, если всеравно ничего на них не написать?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
XaeroX
trigger (должен быть брашем или точкой с радиусом).
static (модель или спрайт с колиженом)
mover - это хоть двеь, хоть поезд, хоть ротейтинг
npc_* - само за себя
item_* - семён
Добавлено 14-07-2015 в 10:46:
Цитата:
XaeroX писал: возможность сделать карту вообще без Lua-кодинга.
честно говоря, я бы тоже непрочь писать скрипты на чём-то более сносном.
Добавлено 14-07-2015 в 10:49:
Цитата:
Ku2zoff писал: Я тут подумал о картах с поездами, типа в УТ1 такая есть.
Надо просто иметь возможность сделать карту нормальных размеров - чтоб не заниматься хаками, а нарисовать нормальный поезд. Ну и тыщи полторы столбов и деревьев.
~ X ~ писал: должен быть брашем или точкой с радиусом
Вот, кстати, никогда не мог понять, зачем в унреале точечные триггеры, если можно сделать брашевую зону.
Цитата:
~ X ~ писал: честно говоря, я бы тоже непрочь писать скрипты на чём-то более сносном.
У меня луа годами оттачивался на нескольких проектах. Где был этот ваш ангелскрипт в 2007 году?
Я бы и рад другой яп подключить, но это слишком много работы.
Вот даже ~ X ~ понял мою мысль лучше. Интересно почему игронируется func_train и func_tracktrain которые произносили тут не один раз?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!