Автор | Сообщение |
Guest = 2nd Lieutenant =
 | 1473 |
 Doom Rate: 2.5 Posts quality: +182 |
Отправлено: 07.05.08 16:52:49 | | | zer0: | Забыл я только то, что 7 манкубусов там только на 4-й и 5-й сложности, а на других меньше (2 на 1-й и 2-й, 4 на 3-й). |
Ты занимаешься ерундой. Триггер на мап07 обыгрывается в куче вадов, вот только количество манкубусов в них может быть самым разным. | |
|
3 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +56 |
Отправлено: 07.05.08 16:54:57 | | | Кстати, с A_KillMaster я тоже попробовал, превратив спаунеры в монстров. Нифига оно не работает, хотя должно. Возможно, это потому что я сделал их дружественными, но я сомневаюсь...
Короче, на данный момент, я сумел создать рабочий скрипт только в таком виде:
#library "M07SIM"
#include "zcommon.acs"
int mapnum;
int mancubuskilled;
Script 668 Enter
{
mancubuskilled = 0;
mapnum = GetLevelInfo(LEVELINFO_LEVELNUM);
terminate;
}
Script 669 OPEN
{
delay(35);
if (mapnum == 7)
if (mancubuskilled == 7)
{
Floor_LowerToLowest(666,16);
terminate;
}
restart;
}
Script 700 (void) // Этот скрипт активируют манкубусы, умирая
{
mancubuskilled = mancubuskilled+1;
terminate;
}
Работает этот скрипт на UV и Nightmare (там манкубусов на карте 7). Объясните мне, как мне добавить проверку уровня сложности? Я знаю как, но у меня это не работает. Причем должно быть по два if : if (mancubuskilled == 2) if (GameSkill () <= SKILL_EASY) и т.д. Но я не знаю, как это правильно прописать. | |
|
2 |
1 |
2 |
 |
|
| |
entryway -= DoomGod =-
 | 1795 |
Doom Rate: 2.74 Posts quality: +1 |
Отправлено: 09.05.08 16:41:54 | | | zer0: | Работает этот скрипт на UV и Nightmare |
А если ты на найтмаре убил четырех манкубусов, они успели отреспавниться, ты их убил опять - вот уже и 7 и тригер сработает, а не должен.
zer0: | (там манкубусов на карте 7) |
Их может быть хоть 200 хоть 2. Создам я свой вад, поставлю в нем 6 манкубусов и на ув с твоим модом уровень не пройти.
zer0: | // Этот скрипт активируют манкубусы, умирая |
Если у тебя есть скрипт который активирует манкубус умирая - зачем вообще скрипт который выполняется каждые 35 тиков?
zer0: | Объясните мне, как мне добавить проверку уровня сложности? Я знаю как, но у меня это не работает. Причем должно быть по два if |
Мне кажется ты даже не пытался анализировать то, что я писал выше. Не говоря уже про то, что гест сказал, что весь этот хлам можно сделать без скриптинга. | |
|
3 |
1 |
1 |
 |
|
| |
Shadowman UAC General
 | 8590 |
Doom Rate: 2.07 Posts quality: +2141 |
Отправлено: 10.05.08 22:14:35 | | | Эх, давно я в этом теме никого не спрашивал Вот спрошу: знает ли кто способ сделать так, чтобы музыка на уровне постепенно сменялась - один трек на другой. Обычный скрипт дает резкий обрыв предыдущей музыки, что не всегда хорошо звучит  | |
|
1 |
7 |
2 |
 |
|
| |
3EPHOEd - Warrant Officer -
 | 1111 |
 Doom Rate: 2.34 Posts quality: +7 |
Отправлено: 11.05.08 01:24:23 | | | Shadowman: | знает ли кто способ сделать так, чтобы музыка на уровне постепенно сменялась - один трек на другой. |
Естиь такая мысль. За ACS-ит Open скриптом смену трэков по времени, поскольку неизвестно закончилась музыка или нет, то высчитать и сделать чтоб по прошествии Н тиков запускалась другая. Или Battle - Explore когда начинаешь бится с врагами одна, как закончишь другая. Чтоб небыло обрывов придётся высчитывать Тики для паузы в любом случаи. | |
|
1 |
2 |
2 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +56 |
Отправлено: 11.05.08 16:06:09 | | | Shadowman, вопрос в том, интересует ли тебя просто смена одной мелодии на другую по мере того, как они заканчиваются, или чтобы это выглядело как-то покруче, например - одна мелодия постепенно затихает, а потом сменяется другой. Думаю, и то, и другое реально, но сложность разная. | |
|
2 |
1 |
2 |
 |
|
| |
Shadowman UAC General
 | 8590 |
Doom Rate: 2.07 Posts quality: +2141 |
Отправлено: 11.05.08 17:07:43 | | | zer0 Меня устроит и простой вариант - одна закончилась, другая началась. Проблема в том, что если экшен этот висит на линиях и игрок туда-сюда будет ходить, то непонятно, какая музыка должна начаться. Например, из сектора А (музыка 1) идем в сектор B (музыка 2), но она сменяется не сразу а высчитывается. Если же мы решили выйти обратно в сектор А до того, как началась музыка 2, то не ясно, какой скрипт получит преимущество - тот, что запускает снова музыку А или тот, что начал высчитывать музыку B.
ЗЫ. Опен-скрипт в данном случае никак не годится, только Void | |
|
1 |
7 |
2 |
 |
|
| |
Nil = 2nd Lieutenant =
 | 1513 |
 Doom Rate: 2.31 Posts quality: +64 |
Отправлено: 11.05.08 17:19:21 | | | ShadowmanТьфу, проблема уровня детского сада. В скрипте, вызываемом из линии, делаем проверку по LineSide() и проигрываем то или другое. Проблему тоже нашел  | |
|
1 |
2 |
1 |
 |
|
| |
Shadowman UAC General
 | 8590 |
Doom Rate: 2.07 Posts quality: +2141 |
Отправлено: 12.05.08 18:31:26 | | | zer0 Вот смотри. По пересечении линии, которая условно разграничивает "зону 1" и "зону 2" меняется музыка. Но меняется не резко, а плавно: либо старая доигрывает до конца и начинается новая, либо (что сложнее реализовать) старая стихает и новая начинается почти одновременно. Все это хорошо, если игрок навсегда покинул зону 1 и бродит в зоне 2. Но если он захочет вернуться обратно, то - если он это сделает быстро - новая музыка зоны 2 не успеет начаться, как она уже должна смениться снова музыкой из зоны 1. Смениться опять же плавно, а не резко. Вот я не совсем понимаю: если игрок начнет туда-сюда метаться между зонами - какая музыка в итоге получит преимущество? Не возникнут ли сбои у скрипта при высчитывании, когда надо окончить одно и начать играть другое (и что именно играть). Вроде можно сделать отсылку к опен-скрипту, в котором сидят переменные А, B,C... И Играется та музыка, какая переменная в данный момент равна 1. Что-то вроде if (A == 1) { SetMusic("1"); delay(x); restart; // кстати рестарт отюда не уверен что сработает правильно } if (B == 1) { SetMusic ("2"); delay(x); restart; } ... это я тут на пальцах прикидываю пока что...
} | |
|
1 |
7 |
2 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +56 |
Отправлено: 17.05.08 12:03:45 | | | ЛайносID слово "кавычки" пишется через "а".
http://iddqd.ru/newdoom.php#GZDoom вот здесь в разделе скачивания ГЗДума в первом скрине из "готовящихся вадов" изображен зеркальный пол. Как это сделать, кто знает? | |
|
2 |
1 |
2 |
 |
|
| |
Lainos - Captain -
 |  | 2309 |
 Doom Rate: 1.79 Posts quality: +343 |
Отправлено: 17.05.08 14:40:17 | | | zer0 Кладешь на линию экшен 159 и ставишь таг с параметрами. Когда линия активируется, появляется такое зеркало. Можно активировать OPEN-скриптами, чтоб они были сразу.
Параметра там три: 1 - таг 2 - зеркальность пола 3 - зеркальность потолка
При значении 10 зеркало плоховато видно, а вот на значении 50 уже гораздо лучше. Если поставить 255, то текстуры не будет видно вообще - эффект весьма занимательный (и это можно использовать для специальных фрик-эффектов ). | |
|
1 |
10 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +56 |
Отправлено: 17.05.08 18:33:08 | | | ЛайносID, спасибо за команду, не знал.
У меня, когда скрипты пишу, бывает такой косяк, что ДБ ругается и не распознает команду, которая при этом значится в вики, а иногда говорит что "line is used but not defined" и не компилится, хотя вроде должен. Вот, в частности, команду Sector_SetPlaneReflection он не хочет понимать. В чем может быть дело? | |
|
2 |
1 |
2 |
 |
|
| |
Lainos - Captain -
 |  | 2309 |
 Doom Rate: 1.79 Posts quality: +343 |
Отправлено: 17.05.08 18:38:10 | | | zer0 Все просто... Конфиги тоже несовершнны, да и Гоззо меняется, поэтому некоторых экшенов в конфиге просто нет, хотя Гозза их поддерживает. А бывает наоборот: Гозза изменилась и впитала новый экшен, а в Вики его еще не занесли... Короче, просто открой в блокноте файл ACS (он лежит в папке с билдой) и добавь там строчку с твоим экшеном (по форме, как написано в Вики, или посмотри, как записаны в конфиге другие экшены). | |
|
1 |
10 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +56 |
Отправлено: 17.05.08 19:40:36 | | | Лайнос, по-моему проще скачать новый конфиг, они же где-то тоже обновляются. Я правда не уверен, что знаю, где его взять. | |
|
2 |
1 |
2 |
 |
|
| |
Lainos - Captain -
 |  | 2309 |
 Doom Rate: 1.79 Posts quality: +343 |
Отправлено: 17.05.08 19:56:33 | | | zer0: | Я правда не уверен, что знаю, где его взять. |
Я тоже...  Кстати, а чего сложного вписать там новую строчку? Ты же в Декорэйте пишешь. Там понты писать, в конфиге-то.  | |
|
1 |
10 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +56 |
Отправлено: 17.05.08 21:31:12 | | | ЛайносID я же уже сказал
zer0: | я вставил. Строчка засветилась синим, как правильная, но скрипт по-прежнему не компилится и выдает ту же ошибку. |
Вписывание ничего больше не дало. Компилить он не хочет. Возможно добавление новой функции требует чего-то большего, чем редактирования acs.cfg. Если бы мне надо было применить этот эффект только на один сектор - то ладно, я бы просто привязал его к линии, но секторов куча, и как-то не хочется делать кучу линий... можно конечно, однако я предпочел бы вписать это в скрипт, раз уж я все равно пользуюсь скриптами. | |
|
2 |
1 |
2 |
 |
|
| |
Lainos - Captain -
 |  | 2309 |
 Doom Rate: 1.79 Posts quality: +343 |
Отправлено: 17.05.08 21:48:54 | | | zer0 Да, я тоже попробовал. Ты же это про зеркальные полы/потолки? У меня та же фигня... здесь я не знаю чего делать...  | |
|
1 |
10 |
1 |
 |
|
| |
nprotect - 2nd Lieutenant -
 | 1343 |
 Doom Rate: 2.45
|
Отправлено: 17.05.08 21:53:02 | | | zer0 попробуй написать так:
Sector_Setplanereflection(15,60,0); на 1.0.18 у меня СПОКОЙНО компилилось, хоть и не подсвечивалось синим. ща попробую на r101
UPD: на последней версии гоззо тоже пашет | |
|
1 |
2 |
1 |
 |
|
| |
Lainos - Captain -
 |  | 2309 |
 Doom Rate: 1.79 Posts quality: +343 |
Отправлено: 18.05.08 04:51:43 | | | Объясните плиз, как делать порталы. Я не могу сообразить, что делать с этими двумя thing'ами. | |
|
1 |
10 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +56 |
Отправлено: 18.05.08 15:59:07 | | | nprotect и это я тоже пробовал, не работало. Но вот сейчас, только после того как я отредактировал оба файла, оно стало компилиться 
ЛайносID зачем тебе thing'и? Привязываешь к линии teleport in sector, или как тебе нужно, и все... Ну или можно просто teleport - тогда укажи тид thing'а. А этой штукой может быть что угодно, например map spot. Ну или teleport destination. | |
|
2 |
1 |
2 |
 |
|
| |