Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Маппинг в Doom 3 Пред.  1, 2, 3 ... 9, 10, 11 ... 19, 20, 21  След.
   Список разделов - Doom 3 - Маппинг в Doom 3Ответить
АвторСообщение
c4tnt
UAC Sergeant Major
Next rank: Chief Petty Officer after 54 points
796

Doom Rate: 1.92

Posts quality: +5
Ссылка на пост №181 Отправлено: 06.07.09 19:19:56
Можно, только там со стеклом проблемы были вроде. А как без дверей, все же выпадать будут?
1 1
Dragon
= Sergeant Major =
Next rank: UAC Sergeant Major after 14 points
666

Doom Rate: 2.12

Posts quality: +4
Ссылка на пост №182 Отправлено: 06.07.09 19:27:57
c4tnt:
А как без дверей, все же выпадать будут?

а внутри пусто. Но разве что одинокий зомби.
+поезд то старый :)
1
c4tnt
UAC Sergeant Major
Next rank: Chief Petty Officer after 54 points
796

Doom Rate: 1.92

Posts quality: +5
Ссылка на пост №183 Отправлено: 07.07.09 02:41:18
В общем вот минималистический пример поезда:

http://c4tnt.ucoz.ru/load/21-1-0-39

Просто поезд, двигающийся по кольцу и останавливающийся на двух станциях.
1 1
Dragon
= Sergeant Major =
Next rank: UAC Sergeant Major after 14 points
666

Doom Rate: 2.12

Posts quality: +4
Ссылка на пост №184 Отправлено: 07.07.09 18:27:00
c4tnt
спасибо! А можно сделать что бы поезд взорвался? Или чтобы врезался в стенку и деформировался?
1
c4tnt
UAC Sergeant Major
Next rank: Chief Petty Officer after 54 points
796

Doom Rate: 1.92

Posts quality: +5
Ссылка на пост №185 Отправлено: 07.07.09 18:41:38
Можно, но нормально это получится только в движковом ролике - поучаствовать самому в крушении поезда не получится. В думе там, где поезд взрывался просто меняли модель поезда на модель разрушенного поезда, так же заменялся шлюз и рельс. Заменить одну модель на другую довольно просто - нужно создать два экземпляра модели (func_static), одна нормальная, а вторая - разбитая. У разбитой ставится поле "hide" "1". В нужный момент в скрипте нужно удалить первую модель и показать вторую. Можно прикрыть это эффектом взрыва или просто темнотой.
1 1
Archi]ASTS[
= Commissar =
Next rank: - UAC Commissar - after 395 points
5405

Doom Rate: 1.9

Posts quality: +61
Ссылка на пост №186 Отправлено: 07.07.09 18:41:51
в 3д максе можешь сделать анимацию деформации. Или выключил свет и переодень модель.
1 2 1
Bruiser
- Lance Corporal -
Next rank: = Lance Corporal = after 7 points
153

Doom Rate: 2.1

Ссылка на пост №187 Отправлено: 08.07.09 19:01:41
Подскажите пожалуйста, как можно заставить дверь открываться вверх или вниз
c4tnt
UAC Sergeant Major
Next rank: Chief Petty Officer after 54 points
796

Doom Rate: 1.92

Posts quality: +5
Ссылка на пост №188 Отправлено: 08.07.09 19:05:28
Выбрать для двери направление UP или DOWN. Кнопки для этого находятся в свойствах объекта (E)
Если редактор не думовский: "movedir" "-1" вверх, "movedir" "-2" вниз.
1 1
Bruiser
- Lance Corporal -
Next rank: = Lance Corporal = after 7 points
153

Doom Rate: 2.1

Ссылка на пост №189 Отправлено: 08.07.09 19:13:00
c4tnt, спасибо. А можно сделать, чтобы дверь закрывалась, несмотря на то, что гг стоит в проеме?
c4tnt
UAC Sergeant Major
Next rank: Chief Petty Officer after 54 points
796

Doom Rate: 1.92

Posts quality: +5
Ссылка на пост №190 Отправлено: 08.07.09 19:38:34
С последствиями для него:
"dmg" "10" - чем больше число, тем больше последствия для игрока.
"crusher" "1"

Без последствий - поставить target_lock ("locked" "1") и соединить его с дверью. Если этот таргет затриггерить - дверь закроется при первой возможности и будет заблокирована, пока её не разблокируют таким же target_lock, но с "locked" "0"
1 1
Bruiser
- Lance Corporal -
Next rank: = Lance Corporal = after 7 points
153

Doom Rate: 2.1

Ссылка на пост №191 Отправлено: 10.07.09 17:12:30
Как можно сделать выключатель для вызова лифта?
c4tnt
UAC Sergeant Major
Next rank: Chief Petty Officer after 54 points
796

Doom Rate: 1.92

Posts quality: +5
Ссылка на пост №192 Отправлено: 10.07.09 17:22:56
Поставить GUI-шник gui\doors\elevatorcall...
Соединить GUI с лифтом и указать у GUI параметры:

gui_parm1 = 2= верхний этаж, 1= нижний этаж
gui_parm2 = 1= level1 to level2, or 2= level2 to level3
gui_parm3 = название верхнего этажа
gui_parm4 = название нижнего этажа.

gui_parm5 - делает GUI повреждённым. 1 = опасность пожара, 2 = ошибка панели, 3 = хз, 4 = недостаточно энергии.
1 1
Bruiser
- Lance Corporal -
Next rank: = Lance Corporal = after 7 points
153

Doom Rate: 2.1

Ссылка на пост №193 Отправлено: 13.07.09 09:06:58
Скажите пожалуйста как можно сделать телепорт для монстров и как сделать, чтобы trigger_hurt не отнимал у демонов здоровье
c4tnt
UAC Sergeant Major
Next rank: Chief Petty Officer after 54 points
796

Doom Rate: 1.92

Posts quality: +5
Ссылка на пост №194 Отправлено: 14.07.09 03:08:04
Скриптом, других вариантов нет.
1 1
Bruiser
- Lance Corporal -
Next rank: = Lance Corporal = after 7 points
153

Doom Rate: 2.1

Ссылка на пост №195 Отправлено: 16.07.09 09:45:40
1.Как можно сделать, чтобы в тот момент когда фанк мувер достигал конца сплайна, то сразу "телепортировался" на его начало?
2. Как поместить определенный кусок скрипта в цикл?
Archi]ASTS[
= Commissar =
Next rank: - UAC Commissar - after 395 points
5405

Doom Rate: 1.9

Posts quality: +61
Ссылка на пост №196 Отправлено: 16.07.09 10:04:36
1. Повтор цикла.
2. Руками :) впиши его между знаков {}.
1 2 1
Bruiser
- Lance Corporal -
Next rank: = Lance Corporal = after 7 points
153

Doom Rate: 2.1

Ссылка на пост №197 Отправлено: 16.07.09 10:22:19
Archi:
Руками Smile впиши его между знаков {}.

Дак все скрипты так написаны :) . Я имел в виду как сделать, чтобы кусок скрипта бесконечно выполнялся.
Archi:
1. Повтор цикла.

Не пойдойдет. Мне нужно, чтобы один и тот же фанк мувер двигался сначала по 1 сплайну, потом по 2 и т.д и был эффект, что если браш забинденный на сплайн касался земли, то исчезал.
Archi]ASTS[
= Commissar =
Next rank: - UAC Commissar - after 395 points
5405

Doom Rate: 1.9

Posts quality: +61
Ссылка на пост №198 Отправлено: 16.07.09 10:35:19
Bruiser:
Дак все скрипты так написаны Smile . Я имел в виду как сделать, чтобы кусок скрипта бесконечно выполнялся.

А!
while(1)
{
скриптЪ.
}
Bruiser:
Не пойдойдет. Мне нужно, чтобы один и тот же фанк мувер двигался сначала по 1 сплайну, потом по 2 и т.д и был эффект, что если браш забинденный на сплайн касался земли, то исчезал.

то что я только что сказал. :)
1 2 1
Bruiser
- Lance Corporal -
Next rank: = Lance Corporal = after 7 points
153

Doom Rate: 2.1

Ссылка на пост №199 Отправлено: 16.07.09 13:57:04
Archi, че-то не получается бесконечный цикл в скрипте. В консоли пишет: line 124 expected ";" found while. Вот кусок скрипта:
void OrderedSpawn()
while(1)
{
randomspawn($spawner1);
sys.wait(5);
randomspawn($spawner2);
}
c4tnt
UAC Sergeant Major
Next rank: Chief Petty Officer after 54 points
796

Doom Rate: 1.92

Posts quality: +5
Ссылка на пост №200 Отправлено: 16.07.09 14:07:24
void OrderedSpawn()
{
while(1)
{
randomspawn($spawner1);
sys.wait(5);
randomspawn($spawner2);
}
}

Но лучше так:

void OrderedSpawn()
{
while(!(!$spawner1)) && !(!$spawner2)))
{
randomspawn($spawner1);
sys.wait(5);
randomspawn($spawner2);
}
}


!(!$spawner1)) - проверка на существование объекта.
Иначе если снесёшь оба спавнера - будет совсем пустой и ненужный цикл.


Как можно сделать, чтобы в тот момент когда фанк мувер достигал конца сплайна, то сразу "телепортировался" на его начало?


Просто нужно подождать, пока объект пройдёт по первому сплайну до конца:

sys.waitFor($объект);

И стартовать его по второму сплайну - на начало сплайна объект переберётся сам:

$объект.startSpline($объект_с_нужным_сплайном);

Ещё может понадобиться команда $объект.removeInitialSplineAngles(); если объект движется по сплайну не под тем углом.

И ещё немного подробностей на тему:

как можно сделать телепорт для монстров и как сделать, чтобы trigger_hurt не отнимал у демонов здоровье


В триггерах есть такой непонятный триггер, как trigger_touch. Он всегда работает со скриптовой функцией, причём функция имеет нестандартный вид:

void func_name(entity some_entity)
{
}

Так вот, что он делает? Триггер проверяет каждый кадр свои внутренности на наличие объектов, и для каждого объекта, который попал внутрь, вызывает указанную функцию скрипта. Параметром у этой функции как раз является объект.

После этого в скрипте неплохо было бы профильтровать объекты, например так:

void func_name(entity someentity)
{
string class = someentity.getKey("spawnclass");

if (class = "idAI")
{
//Попалось что-то живое
return;
}
if (class == "idAFEntity_Generic")
{
//Попался трупешник
return;
}
if (class == "idPlayer")
{
//Думера зохавали!
return;
}
if (class == "idProjectile")
{
//Можно ли остановить пулю?
//Быстрые проджектайлы триггер может и не поймать.
return;
}
}

Спавнкласс любого интересного объекта можно посмотреть в соответствующем def файле в поле "spawnclass" соответственно. Ну а сделать из скрипта с объектом можно всё, что угодно.
1 1
Страница 10 из 21Перейти наверх Пред.  1, 2, 3 ... 9, 10, 11 ... 19, 20, 21  След.
   Список разделов - Doom 3 - Маппинг в Doom 3