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 - основы скриптингаОтветить
АвторСообщение
Гость


Ссылка на пост №121 Отправлено: 07.09.09 12:40:53
Можно ли в Doom in Doom format сделать в конце вада видеоролик? :book:
Cherepoc
= Master Sergeant =
Next rank: - Sergeant Major - after 16 points
514

Doom Rate: 1.73
Ссылка на пост №122 Отправлено: 07.09.09 13:01:28
Нет. Да и зачем использовать дум ин дум формат в гоззе?
Гость


Ссылка на пост №123 Отправлено: 07.09.09 13:53:34
А я не для гоззы делаю а для Z doom

Добавлено спустя 27 минут 5 секунд:

А как сделать так чтоб в начале уровня из оружия был только кулак?
Cherepoc
= Master Sergeant =
Next rank: - Sergeant Major - after 16 points
514

Doom Rate: 1.73
Ссылка на пост №124 Отправлено: 07.09.09 14:23:39

А я не для гоззы делаю а для Z doom
один фиг
Гость


Ссылка на пост №125 Отправлено: 07.09.09 14:26:38
Cherepoc :
один фиг

Ты прав

Добавлено спустя 1 час 17 минут 58 секунд:

Кто нибудь подскажите. Я заменил в своём ваде Кибердемона на танк (немецкий) и мне интересно, как сделать так чтобы из кибра не текла кровь?
nprotect
= Captain =
Next rank: - Major - after 227 points
2413

Doom Rate: 2.45
Ссылка на пост №126 Отправлено: 07.09.09 16:55:50
Slavius :
Кто нибудь подскажите. Я заменил в своём ваде Кибердемона на танк (немецкий) и мне интересно, как сделать так чтобы из кибра не текла кровь?

+NOBLOOD


опережая вопросы "КУДА ЭТО ПИСАТЬ?" - читай темы про XWE и декорейт

http://i.iddqd.ru/viewtopic.php?t=130
http://i.iddqd.ru/viewtopic.php?t=154
http://i.iddqd.ru/viewtopic.php?t=1879
1 2 1
c4tnt
= 1st Lieutenant =
Next rank: - Captain - after 211 points
1879

Doom Rate: 1.92
Ссылка на пост №127 Отправлено: 26.09.09 13:41:50
Забавный вопрос - а разве скрипт не выполнит следующий иф сразу же?



Glass = 2;
if (Glass == 2)
{
1 1
Grue13
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 139 points
1301

Doom Rate: 1.01
Ссылка на пост №128 Отправлено: 26.09.09 13:55:12
Да, по-моему тут нужен else if.
2 5 1
Cherepoc
= Master Sergeant =
Next rank: - Sergeant Major - after 16 points
514

Doom Rate: 1.73
Ссылка на пост №129 Отправлено: 26.09.09 15:22:19
тут нужен switch
Dragon
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 22 points
1418

Doom Rate: 2.23
Ссылка на пост №130 Отправлено: 26.09.09 17:13:55
nprotect :
можно еще спавн осколков прописать Smile

и кстати, во втором скрипте блокинг убирать разве не надо с линии?

1)я и так много чего написал. пусть сам думает)
2)упс, забыл
c4tnt :
Забавный вопрос - а разве скрипт не выполнит следующий иф сразу же?

там фича: стекло ломается не с одного выстрела. нужно несколько ко раз стрельнуть что бы оно разломалось.

Добавлено спустя 52 секунды:

оффтоп: это только у меня исчезли смайлы? или у других тоже?
1
Монолит
Гость

Ссылка на пост №131 Отправлено: 26.09.09 17:17:02
Cherepoc :
оффтоп: это только у меня исчезли смайлы? или у других тоже?

оффтоп: у меня есть смайлы
Grue13
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 139 points
1301

Doom Rate: 1.01
Ссылка на пост №132 Отправлено: 26.09.09 17:17:29

там фича: стекло ломается не с одного выстрела. нужно несколько ко раз стрельнуть что бы оно разломалось.

А ты попробуй свой скрипт, с одного получится - иф неправильно прописан.
2 5 1
Герр Смертоносец
Marine 1st class
Next rank: - UAC Gunner - after 10 points
30

Doom Rate: 0.88
Ссылка на пост №133 Отправлено: 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")
Nil
= Major =
Next rank: Lieutenant Colonel after 312 points
2978

Doom Rate: 2.34
Ссылка на пост №134 Отправлено: 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
Герр Смертоносец
Marine 1st class
Next rank: - UAC Gunner - after 10 points
30

Doom Rate: 0.88
Ссылка на пост №135 Отправлено: 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. При активации скрипта пишет, что скрипт не найден. ЧЯДНТ?
nprotect
= Captain =
Next rank: - Major - after 227 points
2413

Doom Rate: 2.45
Ссылка на пост №136 Отправлено: 29.09.09 18:31:46
Герр Смертоносец :
Хмм. Поставил между маркерами A_START и A_END файл "meinlib", в котором напейсал для теста

откомпили его через SlumpEd например. назови meinlib (будет байтовая матрица). а сам текст - например meinacs. и оба их между маркерами засунь. в ЛОАДАКС менять ничего не надо
1 2 1
Герр Смертоносец
Marine 1st class
Next rank: - UAC Gunner - after 10 points
30

Doom Rate: 0.88
Ссылка на пост №137 Отправлено: 29.09.09 19:50:32
nprotect
Лол, а чем его еще можно скомпилить? Добрый SlumpEd запросил acc.exe, а потом выдал синий экран смерти. х)

Алсо, заморочки с переменными решил элегантным образом. Через A_Jumpifinventory и выдачу/отдачу в монстровый инвентарь левых итемов.
Теперь осталось понять, как обеспечить скриптовую выдачу итема через GiveActorInventory всем монстрам определенного типа.
nprotect
= Captain =
Next rank: - Major - after 227 points
2413

Doom Rate: 2.45
Ссылка на пост №138 Отправлено: 29.09.09 19:55:14
Герр Смертоносец :
Лол, а чем его еще можно скомпилить? Добрый SlumpEd запросил acc.exe, а потом выдал синий экран смерти. х)

например тем же acc напрямую. я обычно так и делаю. и лолкать не надо, глупо уже выглядит
1 2 1
HellDoomer 666
- Master Sergeant -
Next rank: = Master Sergeant = after 34 points
426

Doom Rate: 1.6
Ссылка на пост №139 Отправлено: 26.10.09 10:54:03
Скажите, пожалуйста. Можно в Гоззе сделать так,чтобы над монстрами были видны их оставшиеся жизни? И можно ли сделать так,чтобы игрок видел, сколько воздуха осталось, когда он находится под водой?
Arsenikum
- Major -
Next rank: = Major = after 284 points
2656

Doom Rate: 1.49
Ссылка на пост №140 Отправлено: 26.10.09 12:26:58
HellDoomer 666

Насчет запасов воздуха: функция GetAirSupply появится в поздних версиях здума.
Насчет оставшихся жизней - ищи мод Bittersweet by LilWhiteMouse. Там есть очень замороченные скрипты касательно полосок жизни, а также генерации "рандомного" уровня и проч.
5 1
Страница 7 из 8Перейти наверх Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
   Список разделов - Флуд и устаревшие темы - (G)ZDOOM - основы скриптинга