Автор | Сообщение |
Часовщик - Warrant Officer -
| 1155 |
Doom Rate: 2.69
|
Отправлено: 31.05.10 21:19:12 | |
| ZEFiR
думаю достаточно будет найти ответ на один вопрос, жидкость делается (по крайней мере в гздуме) так же как и 3д блок, только тип у этого блока будет другой. | |
|
| |
Джамбейщик - Sergeant -
| 414 |
Doom Rate: 1.23
|
Отправлено: 01.06.10 08:18:59 | |
| Не, я несколько иные вещи имел ввиду. Саму-то жидкость я делать умею! Но только с текстурой воды. Стоит поставить отходы или кислоту - всё исчезает. Вообще, маппинг под Р3Д замороченный - я смог сделать лаву-кислоту, но это таких трудов стоит - на ловер лайндефы ставить текстуры со странными названиями (символы, циферки с кодом цвета), и со слопами почти то же самое. Короче, маппить под этот порт хорошо получается лишь у его же создателей! | |
|
| |
Archi [B0S] UAC General
| 6249 |
Doom Rate: 2.05
|
Отправлено: 01.06.10 08:23:09 | |
|
Ну и зачем тыкать труп? | |
|
1 |
1 |
2 |
|
|
| |
Slavius [B0S] Chief Petty Officer
| 930 |
Doom Rate: 1.54
|
Отправлено: 03.06.10 23:37:46 | |
| [GZDOOM][ACS] Вопрос по бинду клавиш на какой-либо скрипт
Вопрос такой. У меня в начале вада есть видеоролик, и я хочу сделать так чтобы при нажатии клавиши Use активировался скрипт (например пропуск видеоролика). Как мне это сделать? | |
|
| |
VACion - Sergeant -
| 410 |
Doom Rate: 1.85
|
Отправлено: 04.06.10 07:17:02 | |
| Дядька Вейдер
Посмотрите здесь: http://zdoom.org/wiki/GetPlayerInput
Для Вашего случая подойдёт следующий пример:
int buttons = GetPlayerInput(-1, INPUT_BUTTONS);
if (buttons & BT_USE)
{
//Ваши действия
}
| |
|
| |
nprotect UAC General
| 3539 |
Doom Rate: 2.24
|
Отправлено: 04.06.10 12:41:36 | |
| VACion : | Для Вашего случая подойдёт следующий пример |
надо еще добавить delay и restart (или бесконечный цикл while). иначе скрипт запустится один раз и потом кончится: | script 1 enter
{
int buttons;
while (TRUE)
{
buttons = GetPlayerInput(-1, INPUT_BUTTONS);
if (buttons & BT_USE)
{
//действия
break; //оператор, чтобы использовать кнопку один раз, после этого скрипт прекратит
//выполнение. если нужно многократное испольование - убрать этот оператор
}
delay(1);
}
} |
| |
|
1 |
2 |
1 |
|
|
| |
Slavius [B0S] Chief Petty Officer
| 930 |
Doom Rate: 1.54
|
Отправлено: 04.06.10 14:28:49 | |
| VACion
nprotect
Компилятор выдает ошибку при компилировании:
Line 402 in file "script.acs" ...
script.acs:402: input_buttons : Identifier has not been declared.
> int buttons = GetPlayerInput(-1, INPUT_BUTTONS);
> | |
|
| |
VACion - Sergeant -
| 410 |
Doom Rate: 1.85
|
Отправлено: 04.06.10 19:33:19 | |
| Дядька Вейдер, при написании ACS под ZDoom нужно в начале перед скриптами ставить
#include "zcommon.acs" | |
|
| |
Slavius [B0S] Chief Petty Officer
| 930 |
Doom Rate: 1.54
|
Отправлено: 04.06.10 19:42:22 | |
| VACion
У меня есть этот #include "zcommon.acs" | |
|
| |
StasBFG[iddqd] -= DoomGod =-
Doom Rate: 2.1
|
Отправлено: 04.06.10 20:00:05 | |
| Дядька Вейдер
Скачай последнюю версию ACC и компилируй в нём. | |
|
1 |
2 |
1 |
|
|
| |
Slavius [B0S] Chief Petty Officer
| 930 |
Doom Rate: 1.54
|
Отправлено: 04.06.10 20:13:21 | |
| StasBFG[iddqd]
Он конечно скомпилировал, но скрипт не работает T__T | |
|
| |
Archi [B0S] UAC General
| 6249 |
Doom Rate: 2.05
|
Отправлено: 04.06.10 20:16:47 | |
| Дядька Вейдер
Старые останки убери. | |
|
1 |
1 |
2 |
|
|
| |
nprotect UAC General
| 3539 |
Doom Rate: 2.24
|
Отправлено: 04.06.10 20:31:55 | |
| Дядька Вейдер : | Он конечно скомпилировал, но скрипт не работает T__T |
вместо "//действия" свои хоть впихнул? | |
|
1 |
2 |
1 |
|
|
| |
Slavius [B0S] Chief Petty Officer
| 930 |
Doom Rate: 1.54
|
Отправлено: 04.06.10 20:41:38 | |
| nprotect : | вместо "//действия" свои хоть впихнул? |
Конечно впихнул:
script 13 OPEN
{
int buttons = GetPlayerInput(-1,INPUT_BUTTONS);
if (buttons & BT_USE)
{
acs_terminate(1,0);
}
} | |
|
| |
nprotect UAC General
| 3539 |
Doom Rate: 2.24
|
Отправлено: 04.06.10 20:51:46 | |
| Дядька Вейдер
я тебе написал правильный вариант. твой не будет работать. вернее будет, но только один раз при запуске скрипта
| script 13 enter
{
int buttons;
while (TRUE)
{
buttons = GetPlayerInput(-1, INPUT_BUTTONS);
if (buttons & BT_USE)
{
acs_terminate(1,0);
break;
}
delay(1);
}
} |
| |
|
1 |
2 |
1 |
|
|
| |
Slavius [B0S] Chief Petty Officer
| 930 |
Doom Rate: 1.54
|
Отправлено: 04.06.10 20:56:43 | |
| nprotect
Все равно
Line 405 in file "script.acs" ...
script.acs:405: input_buttons : Identifier has not been declared.
> buttons = GetPlayerInput(-1, INPUT_BUTTONS);
>
ADDED:
Все, уже не надо помощи, я разобрался! Спасибо всем кто помого няя! ^_^ | |
|
| |
SAM Marine
| 56 |
Doom Rate: 2.7
|
Отправлено: 04.06.10 21:34:42 | |
| [ACS][ZDoom]score очки за убитых монстров, найденых секретов и т.д
вот хочю сделать так чтобы за убитого монстра давались очки на экране сверху как в serious sam например:
имп +100, барон +500, секрет +200.
подскажите пожалуйста скрипт? | |
|
| |
nprotect UAC General
| 3539 |
Doom Rate: 2.24
|
Отправлено: 04.06.10 23:59:26 | |
| SAM
ну для начала можно создать новых монстров на основе существующих (наследование), и им приписать в стейт death вызов соответствующего скрипта (например 1). потом их либо спавнить, либо сразу на карту ставить (чтоб не было проблем с навешиванием экшенов 80 на каждого монстра)
в первом скрипте смотрим, какой параметр был передан, и увеличиваем соответствующую переменную (например scores) на некоторое количество очков, в зависимости от переданного параметра, то есть какой именно монстр был убит.
второй скрипт запускается в самом начале карты (или еще когда надо) и циклически выводит набранное количество очков. про все функции можно почитать тут:
http://zdoom.org/wiki/Main_Page | |
|
1 |
2 |
1 |
|
|
| |
Hexa = Master Sergeant =
| 613 |
Doom Rate: 2.24
|
Отправлено: 05.06.10 05:17:11 | |
| nprotect
А не проще строку A_GiveToTarget("Experience", <кол>) и скрипт/строка из ХУД отображающая кол-во экспы?
А вот понты за секрет за просто так давать не получится...только в кастомных мапах. | |
|
| |
nprotect UAC General
| 3539 |
Doom Rate: 2.24
|
Отправлено: 05.06.10 12:52:34 | |
| Hexa : | А не проще строку A_GiveToTarget("Experience", <кол>) и скрипт/строка из ХУД отображающая кол-во экспы? |
ну я озвучил один вариант. это еще не значит, что он единственный и самый простой худ - это значит придется сбаринфо копать, неизвестно что легче.
а A_GiveToTarget это кстати да, отличное решение. потому как в моем варианте за монстра, которого убил другой монстр, экспа пойдет все равно игроку. а здесь нет | |
|
1 |
2 |
1 |
|
|
| |
FLYBAT = Corporal =
| 194 |
Doom Rate: 1
|
Отправлено: 09.06.10 16:36:27 | |
| Я КОНКРЕТНО не могу понять, как можно заставить мои собственные скрипты работать в оригинальных уровнях! В Painkiller же как-то это сделано! Мне надо чтобы мои скрипты работали на любой карте, КАК ЭТО СДЕЛАТЬ? Месяц маюсь не могу понять! Я уже моском дернулся с этими скриптами ПОМОГИТЕ МНЕ | |
|
| |
Archi [B0S] UAC General
| 6249 |
Doom Rate: 2.05
|
Отправлено: 09.06.10 16:38:47 | |
| FLYBAT
Зачем новую тему создал? Можно было и в обычной.
Вообще, насколько я знаю, скрипт надо скомпилировать, потом засунуть его в вад под маркерами A_start и A_end. Ну и все, вроде как. | |
|
1 |
1 |
2 |
|
|
| |
nprotect UAC General
| 3539 |
Doom Rate: 2.24
|
Отправлено: 09.06.10 16:42:25 | |
| библиотечные скрипты.
образец:
| #include "zcommon.acs"
#library "lglib"
script 902 open {
//blah-blah-blah
} |
компилишь и кладешь полученное откомпиленное чудо между маркерами A_START и A_END, называешь LGLIB (как во второй строчке примера).
http://zdoom.org/wiki/Libraries
модеры, объедините плиз с темой "вопросов новичков" | |
|
1 |
2 |
1 |
|
|
| |
FLYBAT = Corporal =
| 194 |
Doom Rate: 1
|
Отправлено: 09.06.10 17:43:28 | |
| Спасибо конечно, но вся проблема в том что Я ТАК УЖЕ ДЕЛАЛ
Я писал скрипт, компилил и ставил между флагами.
При команде с карты пишет p_startscript: unknown script | |
|
| |
Archi [B0S] UAC General
| 6249 |
Doom Rate: 2.05
|
Отправлено: 09.06.10 17:54:54 | |
| Как ТАК? | |
|
1 |
1 |
2 |
|
|
| |
StasBFG[iddqd] -= DoomGod =-
Doom Rate: 2.1
|
|
1 |
2 |
1 |
|
|
| |
nprotect UAC General
| 3539 |
Doom Rate: 2.24
|
Отправлено: 10.06.10 18:54:34 | |
| StasBFG[iddqd]
точняк. спасибо самое важное всегда и забывается | |
|
1 |
2 |
1 |
|
|
| |
FLYBAT = Corporal =
| 194 |
Doom Rate: 1
|
Отправлено: 10.06.10 21:33:27 | |
| Пожалуйста просто обьясните мне что и как и в какой последовательности делать. Я делаю так:
1. Edit with XWE.
2. Entry -> New -> "A_START".
3. Entry -> New -> "GLLIB".
4. Entry -> New -> "SCRIPTS".
5. Entry -> New -> "A_END".
6. Entry -> New -> "LOADACS".
7. Пишу в SCRIPTS сам скрипт (наверху пишу "#library "gllib"").
8. Компилю скрипт.
9. Пишу в LOADACS "GLLIB".
При попытке задействовать скрипт с карты пишется "p_startscript: unknown script"
ААААААААА! | |
|
| |
Arsenikum Chief Petty Officer
| 1054 |
Doom Rate: 1.62
|
Отправлено: 11.06.10 00:35:28 | |
| LOADACS надо ставить за пределами A_START и A_END
Откомпиленный скрипт имеет расширение .о
Правильная последовательность такая:
1) Компиляция скрипта gllib.acs в файл gllib.o
2) Edit with XWE
3) Entry -> New -> "A_START"
4) Entry -> Load -> "GLLIB.o"
5) Entry -> New -> "A_END"
6) Entry -> New -> "LOADACS"
7) Писать в LOADACS "GLLIB"
Сам файл с текстом НЕкомпиленного скрипта в WAD пихать не обязательно | |
|
| |
FLYBAT = Corporal =
| 194 |
Doom Rate: 1
|
Отправлено: 11.06.10 13:52:10 | |
| Arsenikum : | расширение .о |
Первый раз слышу. А как получить такое расширение? Да и сам скрипт надо писать я так и не понял где - в SCRIPTS или в GLLIB? | |
|
| |