Автор | Сообщение |
Гость
|
Отправлено: 07.09.09 12:40:53 | | | Можно ли в Doom in Doom format сделать в конце вада видеоролик? | |
|
| |
Cherepoc = Sergeant =
| 384 |
Doom Rate: 2.09 Posts quality: +85 |
Отправлено: 07.09.09 13:01:28 | | | Нет. Да и зачем использовать дум ин дум формат в гоззе? | |
|
| |
Гость
|
Отправлено: 07.09.09 13:53:34 | | | А я не для гоззы делаю а для Z doom
Добавлено спустя 27 минут 5 секунд:
А как сделать так чтоб в начале уровня из оружия был только кулак? | |
|
| |
Cherepoc = Sergeant =
| 384 |
Doom Rate: 2.09 Posts quality: +85 |
Отправлено: 07.09.09 14:23:39 | | | | А я не для гоззы делаю а для Z doom | один фиг | |
|
| |
Гость
|
Отправлено: 07.09.09 14:26:38 | | | Ты прав
Добавлено спустя 1 час 17 минут 58 секунд:
Кто нибудь подскажите. Я заменил в своём ваде Кибердемона на танк (немецкий) и мне интересно, как сделать так чтобы из кибра не текла кровь? | |
|
| |
nprotect - 2nd Lieutenant -
| 1343 |
Doom Rate: 2.45
|
|
1 |
2 |
1 |
|
|
| |
c4tnt UAC Sergeant Major
| 796 |
Doom Rate: 1.92 Posts quality: +5 |
Отправлено: 26.09.09 13:41:50 | | | Забавный вопрос - а разве скрипт не выполнит следующий иф сразу же?
| Glass = 2; if (Glass == 2) {
|
| |
|
| |
Manul12 - Warrant Officer -
| 1124 |
Doom Rate: 0.95 Posts quality: +444 |
Отправлено: 26.09.09 13:55:12 | | | Да, по-моему тут нужен else if. | |
|
2 |
5 |
1 |
|
|
| |
Cherepoc = Sergeant =
| 384 |
Doom Rate: 2.09 Posts quality: +85 |
Отправлено: 26.09.09 15:22:19 | | | тут нужен switch | |
|
| |
Dragon = Sergeant Major =
| 666 |
Doom Rate: 2.12 Posts quality: +4 |
Отправлено: 26.09.09 17:13:55 | | | nprotect: | можно еще спавн осколков прописать Smile
и кстати, во втором скрипте блокинг убирать разве не надо с линии? |
1)я и так много чего написал. пусть сам думает) 2)упс, забыл
c4tnt: | Забавный вопрос - а разве скрипт не выполнит следующий иф сразу же? |
там фича: стекло ломается не с одного выстрела. нужно несколько ко раз стрельнуть что бы оно разломалось.
Добавлено спустя 52 секунды:
оффтоп: это только у меня исчезли смайлы? или у других тоже? | |
|
| |
Монолит Гость
|
Отправлено: 26.09.09 17:17:02 | | | Cherepoc: | оффтоп: это только у меня исчезли смайлы? или у других тоже? |
оффтоп: у меня есть смайлы | |
|
| |
Manul12 - Warrant Officer -
| 1124 |
Doom Rate: 0.95 Posts quality: +444 |
Отправлено: 26.09.09 17:17:29 | | | | там фича: стекло ломается не с одного выстрела. нужно несколько ко раз стрельнуть что бы оно разломалось. |
А ты попробуй свой скрипт, с одного получится - иф неправильно прописан. | |
|
2 |
5 |
1 |
|
|
| |
Герр Смертоносец - Warrant Officer -
| 1043 |
Doom Rate: 1.38 Posts quality: +854 |
Отправлено: 29.09.09 14:52:40 | | | Господа, вопрос. В декорейте я уже более-менее извращаться наловчился, а вот со скриптами пока не очень.
Требуется сделать weapon, влияющий на поведение неограниченного количества определенных монстров. Работать это должно через независимую глобальную переменную. Т.е. у монстров в каждом стате двойной набор описания, разделяемых Jumpif-ом. Например:
See:
FATT A 0 A_JumpIf(переменная == 1, 13)
FATT AABBCCDDEEFF 4 A_Chase
loop
FATT AABBCCDDEEFF 4 A_FastChase
loop
Соответственно, у оружия два варианта присвоения переменной значений. Как это делается с точки зрения синтаксиса, я не знаю (понятно, что в декорейте должен стоять только номер скрипта, сам скрипт прописывается отдельно), но суть примерно поймете:
Fire:
WEAP A 1 ACS_Execute("переменная:=0")
Goto Ready
Altfire:
WEAP A 1 ACS_Execute("переменная:=1")
Goto Ready
Итак, вопросы следующие: 1) Скрипты для каждой карты индивидуальные, это я понял. Возможно ли в принципе создание универсальных скриптов, не зависящих от карты, и как это делается? 2) Собственно, как скриптом создавать и изменять эту левую переменную? И сколько их вообще можно насоздавать, ибо в дремучем zdoom-wiki я что-то накопал, что не более трех. 3) Возможно ли повесить выполнение скриптов не на статы декорейтного оружия, а непосредственно на клавиатурные кнопки, прописав это в KEYCONF? Наподобие:
addkeysection "Extrakeys" Extrakeys
addmenukey "Action1" Action1
alias Action1 ACS_Execute("переменная:=0")
addmenukey "Action2" Action2
alias Action1 ACS_Execute("переменная:=1")
| |
|
5 |
|
|
| |
Nil = 2nd Lieutenant =
| 1513 |
Doom Rate: 2.31 Posts quality: +64 |
Отправлено: 29.09.09 16:05:09 | | | Герр Смертоносец http://zdoom.org/wiki/DECORATE_expressions - тебе нужны args[0] - args[4]. В новых версиях будет ещё и uservar[0] - uservar[9], но пока в стабильных релизах этого нет. Глобальные скрипты делаются при помощи библиотек. http://zdoom.org/wiki/Library http://zdoom.org/wiki/LOADACS изменять args можно при помоши A_setspecial (работает и на карте, и в acs и в Decorate) или SetThingSpecial (работает только в ACS). итак, доступ к args[] такой : В декорейте можно читать с помощью args[], писать с помощью A_setspecial (вот тут есть ограничение, только первые 3 переменные можно изменить, т.е. args[0] - args[2], есть ещё A_SetArg, но не в стабильной версии В ACS можно писать с помощью SetThingSpecial, А вот с чтением хуже. ЧИТАТЬ ПРЯМО НЕЛЬЗЯ. Можно получить args[] в качестве параметра функции из ACS_Execute(x,0,args[0],args[1],args[2],args[3],args[4]) - теперь в скрипте x мы получим доступ к значениям args[]. Однако если нам надо в ACS проверить значения args[], то этого мы никак сделать не сможем! куцый вариант - использовать http://zdoom.org/wiki/SetActorState, но прыгнув в стейт и вызвав в этом стейте ACS_Execute(), мы не сможем вернутся обратно в стейт, из которого мы выпрыгнули! можно конечно, например, в args[4] хранить переменную, показывающую, куда нужно вернутся, но это нудно и приведёт к падению производительности. GetThingSpecial не существует потому, что ренди не хочет, чтобы эта функция существовала. он бох, ему виднее. | |
|
1 |
2 |
1 |
|
|
| |
Герр Смертоносец - Warrant Officer -
| 1043 |
Doom Rate: 1.38 Posts quality: +854 |
Отправлено: 29.09.09 18:03:32 | | | Nil Хмм. Поставил между маркерами A_START и A_END файл "meinlib", в котором напейсал для теста:
#library "meinlib"
#include "zcommon.acs"
Script 300 open
{
giveinventory("RocketAmmo", 2);
}
Вне маркеров поставил файл "loadacs", в котором напейсал meinlib. При активации скрипта пишет, что скрипт не найден. ЧЯДНТ? | |
|
5 |
|
|
| |
nprotect - 2nd Lieutenant -
| 1343 |
Doom Rate: 2.45
|
Отправлено: 29.09.09 18:31:46 | | | Герр Смертоносец: | Хмм. Поставил между маркерами A_START и A_END файл "meinlib", в котором напейсал для теста |
откомпили его через SlumpEd например. назови meinlib (будет байтовая матрица). а сам текст - например meinacs. и оба их между маркерами засунь. в ЛОАДАКС менять ничего не надо | |
|
1 |
2 |
1 |
|
|
| |
Герр Смертоносец - Warrant Officer -
| 1043 |
Doom Rate: 1.38 Posts quality: +854 |
Отправлено: 29.09.09 19:50:32 | | | nprotect Лол, а чем его еще можно скомпилить? Добрый SlumpEd запросил acc.exe, а потом выдал синий экран смерти. х)
Алсо, заморочки с переменными решил элегантным образом. Через A_Jumpifinventory и выдачу/отдачу в монстровый инвентарь левых итемов. Теперь осталось понять, как обеспечить скриптовую выдачу итема через GiveActorInventory всем монстрам определенного типа. | |
|
5 |
|
|
| |
nprotect - 2nd Lieutenant -
| 1343 |
Doom Rate: 2.45
|
Отправлено: 29.09.09 19:55:14 | | | Герр Смертоносец: | Лол, а чем его еще можно скомпилить? Добрый SlumpEd запросил acc.exe, а потом выдал синий экран смерти. х) |
например тем же acc напрямую. я обычно так и делаю. и лолкать не надо, глупо уже выглядит | |
|
1 |
2 |
1 |
|
|
| |
HellDoomer 666 = Master Corporal =
| 258 |
Doom Rate: 1.82 Posts quality: +5 |
Отправлено: 26.10.09 10:54:03 | | | Скажите, пожалуйста. Можно в Гоззе сделать так,чтобы над монстрами были видны их оставшиеся жизни? И можно ли сделать так,чтобы игрок видел, сколько воздуха осталось, когда он находится под водой? | |
|
| |
Arsenikum = Warrant Officer =
| 1276 |
Doom Rate: 1.54 Posts quality: +29 |
Отправлено: 26.10.09 12:26:58 | | | HellDoomer 666
Насчет запасов воздуха: функция GetAirSupply появится в поздних версиях здума. Насчет оставшихся жизней - ищи мод Bittersweet by LilWhiteMouse. Там есть очень замороченные скрипты касательно полосок жизни, а также генерации "рандомного" уровня и проч. | |
|
6 |
3 |
|
|
| |