Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
(G)ZDOOM - основы скриптинга Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
   Список разделов - Флуд и устаревшие темы - (G)ZDOOM - основы скриптингаОтветить
АвторСообщение
Shadowman
= UAC Marshal =
Next rank: UAC General after 85 points
8115

Doom Rate: 2.08

Posts quality: +1821
Ссылка на пост №21 Отправлено: 20.12.07 15:45:07
Кстати, насчет спавнов. Если спавнить на одних и тех же мап спотах, то надо, чтобы отспавненные ранее монстры сошли со своих точек, в противном случае - если они останутся стоять там - дальнейший спавн не будет проходить, так как по умолчанию монстры не могут телефрагить друг друга.
1 7 2
Nil
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 127 points
1513

Doom Rate: 2.31

Posts quality: +63
Ссылка на пост №22 Отправлено: 20.12.07 16:40:50
Shadowman, можно не на слопах, а просто spawn. и вычислять как
Xточки.0 + random(-300,300) << 8
Yточки.0 + random(-300,300) << 8
только циферки, понятно, другие
1 2 1
nprotect
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 97 points
1343

Doom Rate: 2.45

Ссылка на пост №23 Отправлено: 20.12.07 17:47:07
Nil:
Shadowman, можно не на слопах

каких слопах? слопы тут ни при чем вообще, Shadowman писал об объектах Map Spot. не надо путать :)
1 2 1
Nil
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 127 points
1513

Doom Rate: 2.31

Posts quality: +63
Ссылка на пост №24 Отправлено: 20.12.07 18:02:33
nprotect:
Map Spot

ну ошибся в 1 букву, давно их не ставил...
1 2 1
Shadowman
= UAC Marshal =
Next rank: UAC General after 85 points
8115

Doom Rate: 2.08

Posts quality: +1821
Ссылка на пост №25 Отправлено: 20.12.07 20:09:54
Как сделать расширенное условие для открытие двери после смерти монстров НЕСКОЛЬКИХ ВИДОВ?
Во всех примерах, что выше, там только для 1 вида тварей было, потому что в thingCount нужно указывать тип монстра, а не только его тид.

ЗЫ. Вводить счетчик переменной и отправлять на скрипт открывания двери когда ее значение достигнет нужной отметки (то есть количества видов убитых монстров) что-то долго...
1 7 2
Nil
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 127 points
1513

Doom Rate: 2.31

Posts quality: +63
Ссылка на пост №26 Отправлено: 20.12.07 20:43:20
Shadowman, не указывай тип монстра :
bool killall = thingcount("",10) ==10;
//в killall хрантся, убили ли мы 10 монстров с тагом 10. тип монстра роли не играет.
1 2 1
Shadowman
= UAC Marshal =
Next rank: UAC General after 85 points
8115

Doom Rate: 2.08

Posts quality: +1821
Ссылка на пост №27 Отправлено: 20.12.07 21:37:17
Nil
Спасибо, хоть я уже и сделал через 3 скрипта, но на будущее пригодится.

Nil:
bool killall = thingcount("",10) ==10;

Это переменная? Ее нужно там где переменные писать? или как? Можно простенький завершенный примерчик все же?
1 7 2
nprotect
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 97 points
1343

Doom Rate: 2.45

Ссылка на пост №28 Отправлено: 20.12.07 21:44:26
Nil:
bool killall = thingcount("",10) ==10;

а такое вообще будет работать в ACS? в Си работало бы, а вот насчет скриптов непонятно :) и потом, оно же должно проверять постоянно, а в этом примере переменная только объявляется. правильнее было бы наверно так:

bool killall;

script 1 open {... ляляля ...
...
killall = thingcount("",10)==10;
delay(...);
restart;
}
1 2 1
Nil
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 127 points
1513

Doom Rate: 2.31

Posts quality: +63
Ссылка на пост №29 Отправлено: 20.12.07 22:18:50
nprotect, не обязательно проверять постоянно. Это даже нежелательно. Просто повесте ACS_Execute в качестве экшена у монстра и он вызовется после смерти. Я просто привёл пример, Shadowman же спрашивал не о переменных, а о thingcount() :)
1 2 1
nprotect
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 97 points
1343

Doom Rate: 2.45

Ссылка на пост №30 Отправлено: 20.12.07 22:42:29
Nil:
Просто повесте ACS_Execute в качестве экшена у монстра и он вызовется после смерти.

да, это пожалуй оптимальный вариант :) *взял на заметку* :P
1 2 1
Shadowman
= UAC Marshal =
Next rank: UAC General after 85 points
8115

Doom Rate: 2.08

Posts quality: +1821
Ссылка на пост №31 Отправлено: 20.12.07 23:00:57
Nil:
Просто повесте ACS_Execute в качестве экшена у монстра и он вызовется после смерти.

Не катит. Мне ж не нужно чтобы после смерти каждого демона вызывался какой-то скрипт. Это только для особых монстров годится, для боссов например.
1 7 2
nprotect
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 97 points
1343

Doom Rate: 2.45

Ссылка на пост №32 Отправлено: 21.12.07 08:54:13
Shadowman
да нормально же, это скрипт проверки просто будет, и не надо загружать проц и проверять каждую секунду :)
1 2 1
Nil
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 127 points
1513

Doom Rate: 2.31

Posts quality: +63
Ссылка на пост №33 Отправлено: 21.12.07 14:21:24
Может, создать тему "Мастер класс скриптинга" и писать туда большие статьи со скриншотами и вадами-примерами? а прозьбы создать статью "по мотивам" в эту тему постить? Я действительно готов писать статьи :)
1 2 1
Shadowman
= UAC Marshal =
Next rank: UAC General after 85 points
8115

Doom Rate: 2.08

Posts quality: +1821
Ссылка на пост №34 Отправлено: 21.12.07 14:32:15
Nil:
Может, создать тему "Мастер класс скриптинга"

Давай пока ограничимся этой темой про скрипты. Сюда пиши и статьи, и примеры :) А плодить кучу тем по одним скриптам ни к чему, тем более понятие "мастер-класс" скриптинга - весьма относительное.
Для кого-то может скрипт подсчета отспавненных зверюг - тоже мастер-класс, а кому-то это раз плюнуть:)
Или ты хочешь привесить скрипты с библиотеками ACS? Вот библиотеки - это действительно Мастер-класс! Еще не приходилось с ними работать и я толком не понимаю, как это все там делается...
1 7 2
Furret
= Master Corporal =
Next rank: - Sergeant - after 18 points
272

Doom Rate: 4.7

Ссылка на пост №35 Отправлено: 21.12.07 14:55:42
Может быть кому полезно будет.

Если нужно найти процедуру, обладающую определённым свойством, то не обязательно лезть в Zdoom Wiki. Тем более не все содержащиеся там срипты может скомпилить Билдер. Пример: Scroll_Texture_Down.

Что предлагаю я? Можно открыть файл ASC.CFG в директории Билдера и пройтись по нему поиском. Дапустим нужно найти процедуру, меняющую текстуру на лайндэфе. Ищем "Texture", читая по-английски пытаемся понять, то ли это. Находим строчку:

SetLineTexture = "SetLineTexture(line, side, position, texture)";

Очевидно, что это и будет то, что нам надо. Такой скрипт Билдер точно примет и скомпилит.

Я всегда их так и ищу.
1 1 1
Nil
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 127 points
1513

Doom Rate: 2.31

Posts quality: +63
Ссылка на пост №36 Отправлено: 21.12.07 15:05:35
Furret, ну не на уровне процедур же :) А на уровне целых задач, а то и методов. Ест идеи, может, скоро чего напишу ;)
1 2 1
Shadowman
= UAC Marshal =
Next rank: UAC General after 85 points
8115

Doom Rate: 2.08

Posts quality: +1821
Ссылка на пост №37 Отправлено: 21.12.07 15:17:33
Furret
А еще проще скачать Doom Builder ACS Configuration - есть в Вике - распечатать этот файл и положить на стол рядом с компом. Если нужен какой-то скрипт - смотрим туда. Если непонятно, что он делает (или что означают его параметры) - тогда уже глядим в вики. Я например так и делаю :)
Nil:
Ест идеи, может, скоро чего напишу

Ок, ждем статью. Только предварительно уведоми, о чем будешь писать :)
1 7 2
Furret
= Master Corporal =
Next rank: - Sergeant - after 18 points
272

Doom Rate: 4.7

Ссылка на пост №38 Отправлено: 21.12.07 15:27:31
Shadowman:
А еще проще скачать Doom Builder ACS Configuration

Да и скачивать не надо. Это ТО ЖЕ САМОЕ, что и упомянутый мною ASC.CFG! (открыть Блокнотом)
Когда я маплю, он у меня всегда открыт.
1 1 1
nprotect
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 97 points
1343

Doom Rate: 2.45

Ссылка на пост №39 Отправлено: 21.12.07 16:42:48
Furret:
что и упомянутый мною ASC.CFG! (открыть Блокнотом)

твой расчудесный конфиг не дает ни описания параметров, ни даже самого описания функции. здум вики в этом плане гораздо более информативен, и если требуется не просто вспомнить синтаксис, а именно прочитать все про оператор, нужно лезть в вики. с этим SetLineTexture итак все понятно, а вот растолкуй-ка по "конфигу" такую функцию:
Ceiling_CrushRaiseAndStaySilA = "Ceiling_CrushRaiseAndStaySilA(tag, dspeed, uspeed, crush)"; 

боюсь, что без википедии тут не обойтись, вот для чего спрашивается вики делали, чтоб программерам не пришлось гадать на кофейной гуще и на конфигах
1 2 1
Shadowman
= UAC Marshal =
Next rank: UAC General after 85 points
8115

Doom Rate: 2.08

Posts quality: +1821
Ссылка на пост №40 Отправлено: 22.12.07 00:46:18
Кстати, насчет википедии. Не всегда она верно отражает действительность... или у меня билдер кривой, короче - вот описание скрипта Scroll_Floor как оно дано в вике:
http://zdoom.org/wiki/Scroll_Floor
А вот при попытке сделать такой скрипт, билдер выдает совсем другой набор параметров:

    Scroll_Floor(tag, scrollbits, method xmove, ymove)    

Причем между method и xmove нет запятой, хотя по идее должна быть. Далее, не ясно, что есть method - это type как в вике? или что-то иное? Попытка насильно вбивать 5 параметр успеха не приносит - ACS отказывается компилить такой скрипт. Как можно решить проблему?
1 7 2
Страница 2 из 8Перейти наверх Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
   Список разделов - Флуд и устаревшие темы - (G)ZDOOM - основы скриптинга