Автор | Сообщение |
Guest - 2nd Lieutenant -
 | 1356 |
 Doom Rate: 2.77
|
Отправлено: 07.05.08 16:52:49 | | | zer0 : | Забыл я только то, что 7 манкубусов там только на 4-й и 5-й сложности, а на других меньше (2 на 1-й и 2-й, 4 на 3-й). |
Ты занимаешься ерундой. Триггер на мап07 обыгрывается в куче вадов, вот только количество манкубусов в них может быть самым разным. | |
|
3 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 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)
и т.д. Но я не знаю, как это правильно прописать. | |
|
| |
entryway -= DoomGod =-
 | 2058 |
Doom Rate: 2.75
|
Отправлено: 09.05.08 16:41:54 | | | zer0 : | Работает этот скрипт на UV и Nightmare |
А если ты на найтмаре убил четырех манкубусов, они успели отреспавниться, ты их убил опять - вот уже и 7 и тригер сработает, а не должен.
zer0 : | (там манкубусов на карте 7) |
Их может быть хоть 200 хоть 2. Создам я свой вад, поставлю в нем 6 манкубусов и на ув с твоим модом уровень не пройти.
zer0 : | // Этот скрипт активируют манкубусы, умирая |
Если у тебя есть скрипт который активирует манкубус умирая - зачем вообще скрипт который выполняется каждые 35 тиков?
zer0 : | Объясните мне, как мне добавить проверку уровня сложности? Я знаю как, но у меня это не работает. Причем должно быть по два if |
Мне кажется ты даже не пытался анализировать то, что я писал выше. Не говоря уже про то, что гест сказал, что весь этот хлам можно сделать без скриптинга. | |
|
3 |
1 |
1 |
 |
|
| |
Shadowman = UAC Commissar =
 | 6603 |
Doom Rate: 2.46
|
Отправлено: 10.05.08 22:14:35 | | | Эх, давно я в этом теме никого не спрашивал
Вот спрошу: знает ли кто способ сделать так, чтобы музыка на уровне постепенно сменялась - один трек на другой. Обычный скрипт дает резкий обрыв предыдущей музыки, что не всегда хорошо звучит  | |
|
1 |
6 |
2 |
 |
|
| |
3EPHOEd - 1st Lieutenant -
 | 1769 |
 Doom Rate: 2.33
|
Отправлено: 11.05.08 01:24:23 | | | Shadowman : | знает ли кто способ сделать так, чтобы музыка на уровне постепенно сменялась - один трек на другой. |
Естиь такая мысль.
За ACS-ит Open скриптом смену трэков по времени, поскольку неизвестно закончилась музыка или нет, то высчитать и сделать чтоб по прошествии Н тиков запускалась другая.
Или Battle - Explore когда начинаешь бится с врагами одна, как закончишь другая.
Чтоб небыло обрывов придётся высчитывать Тики для паузы в любом случаи. | |
|
1 |
2 |
2 |
 |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 11.05.08 16:06:09 | | | Shadowman, вопрос в том, интересует ли тебя просто смена одной мелодии на другую по мере того, как они заканчиваются, или чтобы это выглядело как-то покруче, например - одна мелодия постепенно затихает, а потом сменяется другой. Думаю, и то, и другое реально, но сложность разная. | |
|
| |
Shadowman = UAC Commissar =
 | 6603 |
Doom Rate: 2.46
|
Отправлено: 11.05.08 17:07:43 | | | zer0
Меня устроит и простой вариант - одна закончилась, другая началась. Проблема в том, что если экшен этот висит на линиях и игрок туда-сюда будет ходить, то непонятно, какая музыка должна начаться. Например, из сектора А (музыка 1) идем в сектор B (музыка 2), но она сменяется не сразу а высчитывается. Если же мы решили выйти обратно в сектор А до того, как началась музыка 2, то не ясно, какой скрипт получит преимущество - тот, что запускает снова музыку А или тот, что начал высчитывать музыку B.
ЗЫ. Опен-скрипт в данном случае никак не годится, только Void | |
|
1 |
6 |
2 |
 |
|
| |
Nil = Major =
 | 2978 |
 Doom Rate: 2.34
|
Отправлено: 11.05.08 17:19:21 | | | ShadowmanТьфу, проблема уровня детского сада.
В скрипте, вызываемом из линии, делаем проверку по LineSide() и проигрываем то или другое. Проблему тоже нашел  | |
|
1 |
2 |
1 |
 |
|
| |
Shadowman = UAC Commissar =
 | 6603 |
Doom Rate: 2.46
|
Отправлено: 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 |
6 |
2 |
 |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 17.05.08 12:03:45 | | | ЛайносID
слово "кавычки" пишется через "а".
http://iddqd.ru/newdoom.php#GZDoom вот здесь в разделе скачивания ГЗДума в первом скрине из "готовящихся вадов" изображен зеркальный пол. Как это сделать, кто знает? | |
|
| |
Lainos [B0S] - Major -
 | 2847 |
 Doom Rate: 1.38
|
Отправлено: 17.05.08 14:40:17 | | | zer0
Кладешь на линию экшен 159 и ставишь таг с параметрами. Когда линия активируется, появляется такое зеркало. Можно активировать OPEN-скриптами, чтоб они были сразу.
Параметра там три:
1 - таг
2 - зеркальность пола
3 - зеркальность потолка
При значении 10 зеркало плоховато видно, а вот на значении 50 уже гораздо лучше. Если поставить 255, то текстуры не будет видно вообще - эффект весьма занимательный (и это можно использовать для специальных фрик-эффектов ). | |
|
9 |
1 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 17.05.08 18:33:08 | | | ЛайносID, спасибо за команду, не знал.
У меня, когда скрипты пишу, бывает такой косяк, что ДБ ругается и не распознает команду, которая при этом значится в вики, а иногда говорит что "line is used but not defined" и не компилится, хотя вроде должен. Вот, в частности, команду Sector_SetPlaneReflection он не хочет понимать. В чем может быть дело? | |
|
| |
Lainos [B0S] - Major -
 | 2847 |
 Doom Rate: 1.38
|
Отправлено: 17.05.08 18:38:10 | | | zer0
Все просто... Конфиги тоже несовершнны, да и Гоззо меняется, поэтому некоторых экшенов в конфиге просто нет, хотя Гозза их поддерживает. А бывает наоборот: Гозза изменилась и впитала новый экшен, а в Вики его еще не занесли...
Короче, просто открой в блокноте файл ACS (он лежит в папке с билдой) и добавь там строчку с твоим экшеном (по форме, как написано в Вики, или посмотри, как записаны в конфиге другие экшены). | |
|
9 |
1 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 17.05.08 19:40:36 | | | Лайнос, по-моему проще скачать новый конфиг, они же где-то тоже обновляются. Я правда не уверен, что знаю, где его взять. | |
|
| |
Lainos [B0S] - Major -
 | 2847 |
 Doom Rate: 1.38
|
Отправлено: 17.05.08 19:56:33 | | | zer0 : | Я правда не уверен, что знаю, где его взять. |
Я тоже...
Кстати, а чего сложного вписать там новую строчку? Ты же в Декорэйте пишешь. Там понты писать, в конфиге-то.  | |
|
9 |
1 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 17.05.08 21:31:12 | | | ЛайносID
я же уже сказал
zer0 : | я вставил. Строчка засветилась синим, как правильная, но скрипт по-прежнему не компилится и выдает ту же ошибку. |
Вписывание ничего больше не дало. Компилить он не хочет. Возможно добавление новой функции требует чего-то большего, чем редактирования acs.cfg. Если бы мне надо было применить этот эффект только на один сектор - то ладно, я бы просто привязал его к линии, но секторов куча, и как-то не хочется делать кучу линий... можно конечно, однако я предпочел бы вписать это в скрипт, раз уж я все равно пользуюсь скриптами. | |
|
| |
Lainos [B0S] - Major -
 | 2847 |
 Doom Rate: 1.38
|
Отправлено: 17.05.08 21:48:54 | | | zer0
Да, я тоже попробовал. Ты же это про зеркальные полы/потолки? У меня та же фигня... здесь я не знаю чего делать...  | |
|
9 |
1 |
1 |
 |
|
| |
nprotect = Captain =
 | 2413 |
 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 [B0S] - Major -
 | 2847 |
 Doom Rate: 1.38
|
Отправлено: 18.05.08 04:51:43 | | | Объясните плиз, как делать порталы. Я не могу сообразить, что делать с этими двумя thing'ами. | |
|
9 |
1 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 18.05.08 15:59:07 | | | nprotect
и это я тоже пробовал, не работало. Но вот сейчас, только после того как я отредактировал оба файла, оно стало компилиться
ЛайносID
зачем тебе thing'и? Привязываешь к линии teleport in sector, или как тебе нужно, и все... Ну или можно просто teleport - тогда укажи тид thing'а. А этой штукой может быть что угодно, например map spot. Ну или teleport destination. | |
|
| |