| Автор | Сообщение | 
|---|
| Часовщик - 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? |  |  | 
 | 
|  |  |