Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые!-2 Пред.  1, 2, 3 ... 22, 23, 24 ... 61, 62, 63  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!-2Ответить
АвторСообщение
Xtor
= Lance Corporal =
Next rank: - Master Corporal - after 38 points
162

Doom Rate: 1.95

Posts quality: +18
Ссылка на пост №441 Отправлено: 02.04.20 06:42:56
N00b2015, да, мой прокол - про размер момент я упустил. Пока ужал до 5 мегабайт. Прошу прощения.
Касаемо мода - сейчас ситуация следующая: скрипты соединил в один файл:
Скрытый текст:

#library "SetCombatMapMus, RestoreDefMapMus"
#include "zcommon.acs"

str songs_name[7] = {"music/CombatSequence_01_long", "music/CombatSequence_02_long", "music/CombatSequence_03_short", "music/CombatSequence_04_short", "music/CombatSequence_05_short", "music/CombatSequence_06_long", "music/CombatSequence_07_long"};

int pick_what_song_play; 

script 981 open
{
//pick_what_song_play = random(0, 7);
SetMusic(songs_name[pick_what_song_play]);
}

script 980 (VOID)
{
SetMusic("*");
}
 


Массив с перечислением музыки также исправил.
В loadACS убрал расширение .o.
Строки вызова скрипта в ZScript сделал следующими:
Скрытый текст:

ACS_Execute(980, 0, 0, 0, 0);
ACS_Execute(981, 0, 0, 0, 0); 


После того, как поменял следующий после номера вызова скрипта аргумент на 0, почему-то внезапно подумалось, что теперь эта вещь должна действовать на любых уровнях.
Но теперь возникли следующие проблемы.
Первая - когда начинается новая игра, стандартная музыка внезапно меняется на боевую (когда даже не ведётся какого-либо боя и/или на тебя ещё никто не обратил внимание).
Вторая. В скрипте 981 пришлось закоммитить следующую строку:
Скрытый текст:

//pick_what_song_play = random(0, 7);


Поскольку если на тебя начинают обращать внимание, появляется постоянное перебирание композиций и игра начинает лагать - ведь random. Хотя не такого поведения я ожидал. Думал - один раз случайно задаст одну из существующих музык и всё. А он почему-то их во время боя выбирает. Насчёт акторов с пометкой "BOSS" не проверял, как будет себя вести - по идее, в модификации также есть вещь, которая позволяет переключать музыку, если тебя заметил босс.
И, наконец, следующий сценарий:
если в начале игры убить всех монстров консольной командой, а потом заспавнить три любых противника и уничтожить их, музыка становится стандартной. А когда снова спавнишь такое же количество и они среагировали на игрока - музыка снова становится боевой. Почему только в данном случае работает идея - ответа пока не нашёл.
Вот обновлённый файл. Если можно, подскажите пожалуйста, что здесь не так.
Благодарю за внимание.
N00b
Chief Petty Officer
Next rank: Chief Petty Officer after 18 points
922

Doom Rate: 2.15

Posts quality: +384
Ссылка на пост №442 Отправлено: 02.04.20 09:32:01
Xtor
Хотелось бы посмотреть немодифицированный рандомайзер. Там всё правильно работает?
Код длинный и непонятный, мне кажется, на zscript можно сделать покороче (и при этом без ACS).
1 2
Xtor
= Lance Corporal =
Next rank: - Master Corporal - after 38 points
162

Doom Rate: 1.95

Posts quality: +18
Ссылка на пост №443 Отправлено: 02.04.20 09:55:22
N00b2015, пожалуйста.
Да, в том всё корректно работает, но там всего два трека.
Вот видео, под которым я нашёл базу для того, чтобы посмотреть, как оно устроено и можно ли привести к своей идее.
Вот сам файл.
Один задаётся в начале игры и перезаписывает тему уровня, другой - когда на тебя "озираются" задаваемое количество монстров (по умолчанию выставлено 30).
Возможно, я немного перемудрил, но там строго задаются определённые треки через SetMusic в ZScript. И нет фичи, чтобы возвращалась музыка, опять же, заданная в MAPINFO.
А здесь я хотел сделать "динамичную" смену посредством использования ACS потому, что это первое, что пришло в голову и, как казалось, адекватно сработает.
N00b
Chief Petty Officer
Next rank: Chief Petty Officer after 18 points
922

Doom Rate: 2.15

Posts quality: +384
Ссылка на пост №444 Отправлено: 02.04.20 10:13:55
Список треков можно расширить следующим образом: добавить в handler строчку
static const string songs_name[] = {"music/CombatSequence_01_long", ... "music/CombatSequence_04_short", "music/CombatSequence_05_short", ...};

А после этого там, где должна включаться музыка, создать целую переменную index = random(0, 6) и вызвать S_ChangeMusic(songs_name[index]). Если что, S_ChangeMusic работает и с "*" в качестве аргумента.
Так что необходимости в ACS здесь нет.

Рейтинг сообщения: +1, отметил(и): Xtor
1 2
Xtor
= Lance Corporal =
Next rank: - Master Corporal - after 38 points
162

Doom Rate: 1.95

Posts quality: +18
Ссылка на пост №445 Отправлено: 02.04.20 11:29:00
N00b2015, мне стало непомерно стыдно. :diatel:
Большое спасибо за наводку на вещи, которые были буквально "перед носом". :-)
Не было возможности уделить достаточного внимания моддингу и маппингу ввиду напряжённого течения жизни, а теперь показалась такая возможность.
Скрипты точно были излишеством. Получается, мой непомерный ум пытался всё только усложнить теперь всё работает как надо.
И музыку выбирает одну из представленных)
Останется мне только потом разобраться, как назначить кастомную музыку в intermission заместо стандартной для каждого эпизода в первой части Дума и других уровней второй - и всё)
N00b
Chief Petty Officer
Next rank: Chief Petty Officer after 18 points
922

Doom Rate: 2.15

Posts quality: +384
Ссылка на пост №446 Отправлено: 02.04.20 12:16:12
Xtor
За что стыдно-то? :-) Каждый уделяет этому столько времени, сколько захочет. Если что, в этом деле умение гуглить (и, возможно, общие сведения об устройстве движка) куда важнее знания всех технических подробностей. Если интересен zscript, лучше всего разбирать на кусочки gzdoom.pk3, а в отдельных (но, замечу, не таких уж редких) случаях и в сам код gzdoom (он открытый, вот репозиторий; основная логика игры написана вроде вся на C/C++). ZScript оперирует понятиями достаточно низкого уровня, поэтому с его помощью можно сделать куда больше, чем на DECORATE/ACS, и иногда более изящными способами.
Насчёт intermission: можно посмотреть, как сделано здесь (код находится в pk7).

Рейтинг сообщения: +1, отметил(и): Xtor
1 2
vit1995
- UAC Gunner -
Next rank: = UAC Gunner = after 14 points
46

Doom Rate: 1.48

Posts quality: -6
Ссылка на пост №447 Отправлено: 05.04.20 10:06:59
можно как то через команду summon создать сразу много монстров, чтобы не использовать эту команду несколько раз подряд а за раз
Stress_Hopeless
Recruit
Next rank: Recruit after 8 points
2

Doom Rate: 2

Ссылка на пост №448 Отправлено: 06.04.20 02:42:09
Всем привет. :rules:
Это сообщение - запрос о помощи.

Предисловие:
Я играю в doom2 с портом GZDooM версии g2.1.pre-1307-g4e1723e и модом "Kyle's DooM RPG" https://i.iddqd.ru/viewtopic.php?t=479. Однако в процессе прохождения hell on earth на сложности ARMAGEDDON (последняя) на уровне Dead simple (MAP07) я столкнулся с проблемой: после :vgavno: всех "манкубусов" стены (двери) не опускались и не выпускали арахнотронов :bitsa:. Это само по себе ещё не страшно, поскольку есть возможность использовать ту секретку. Но при прохождении с вадом hellonearthstarterpack.wad (https://i.iddqd.ru/viewtopic.php?t=899) той секретки уже нет. Одно из возможных решений: изменение карты. Используемая программа - Doom builder 2.1.2.1553.

Вопросы:
1) Как "привязать" дверь к монстрам (сделать открытие двери после зачистки)? Надеюсь обойдётся без скриптов.
2) Как сделать двойные двери так, чтобы нижняя часть опускалась вниз, а верхняя - вверх?
3) Почему выше описанная проблема возникает?
DOOMGABR
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 116 points
1174

Doom Rate: 1.87

Posts quality: +765
Ссылка на пост №449 Отправлено: 13.04.20 14:18:55
1) Как исправить ошибку, когда по команде give everything даётся ещё и ванильное оружие, помимо оружия из мода?
2) Подскажите параметры запуска SLADE 3, чтобы сразу открывался соурс порт, без всяких окон и запускал MAP01 на сложности UV?
3) Новый берсерк не переключает на новый кулак. Код:
Скрытый текст:


ACTOR PoEbaluNa : Berserk
{
    States
    {
    Pickup:
        TNT1 A 0 A_GiveInventory("PowerStrength") 
        TNT1 A 0 HealThing(100)
        TNT1 A 0 A_SelectWeapon("Kulak")
        Stop
    } 
}

Герр Смертоносец
Chief Petty Officer
Next rank: Chief Petty Officer after 63 points
877

Doom Rate: 1.29

Posts quality: +785
Ссылка на пост №450 Отправлено: 13.04.20 23:16:40
Stress_Hopeless пишет:
Всем привет. :rules:
Это сообщение - запрос о помощи.

Насколько я помню, вся эта хургада с тегом 666/667 прописана в MAPINFO лумпе, и при сочетании нескольких модов всё это склонно конфликтовать. Хотя у меня были случаи, когда просто на какой-то версии гоззы теги с какого-то перепугу в одних случаях вдруг не срабатывали, а в других срабатывали.

Короче, если не лезть в дебри, вот две консольных команды, приводящие "вручную" к срабатыванию залипшего тега в мистических случаях:
"special 21 666 8"
"special 240 667 8"

Рейтинг сообщения: +1, отметил(и): YURA_111
2
Chaingunner
- Captain -
Next rank: = Captain = after 191 points
2149

Doom Rate: 2.27

Posts quality: +1042
Ссылка на пост №451 Отправлено: 14.04.20 19:53:47
Есть условный вад sprites.wad с лампами
SS_START 
TRE3A0     
CND2A0
S_END

В котором SS_START и S_END - маркеры, начинающие и завершающие список спрайтов, а TRE3A0 и CND2A0 - спрайты.
Есть wad.deh - в котором задана замена имён определённых спрайтов
Text 4 4
COL3TRE3
Text 4 4
COL4CND2

И есть wad.wad, в котором содержатся Патчи, флеты с соответствующими маркерами, лампы PNAMES и TEXTURE1, графика с названиями уровней, а так же музыка и сами уровни.

При последовательном подключении к Chocolate-doom трёх файлов:
-deh wad.deh -file sprites.wad wad.wad

Спрайты работают и отображаются нормально.

После переноса содержимого из sprites.wad в wad.wad строка подключения к Chocolate-Doom сокращается:
-deh wad.deh -file wad.wad

Но, вад не хочет запускаться, а выдаёт ошибку R_Installspritelump: Bad frame characters in lump 3582

Вопрос: что я делаю не так? Как правильно перенести спрайты в ванильный вад, чтобы оно работало?
2 2 1
YURA_111
UAC Sergeant Major
Next rank: Chief Petty Officer after 86 points
764

Doom Rate: 1.98

Posts quality: +136
Ссылка на пост №452 Отправлено: 15.04.20 15:56:56
DOOMGABR пишет:
Как исправить ошибку, когда по команде give everything даётся ещё и ванильное оружие, помимо оружия из мода?


При создании нового оружия использовать "Replaces" старого

DOOMGABR пишет:
3) Новый берсерк не переключает на новый кулак. Код:

"Kulak" прописан в "Player.WeaponSlot" ? - если нет, то прописать
DOOMGABR
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 116 points
1174

Doom Rate: 1.87

Posts quality: +765
Ссылка на пост №453 Отправлено: 15.04.20 22:58:12
YURA_111 пишет:
При создании нового оружия использовать "Replaces" старого

Уже так и сделал со всеми стволами. Пример кода:
Скрытый текст:

ACTOR Drobovik : Shotgun replaces Shotgun
{
	Scale 0.85
	Decal BulletChip
	Weapon.SlotNumber 3
	Weapon.SlotPriority 1
	Weapon.SelectionOrder 1
	Weapon.AmmoType "Shel"
	States
  {
  Ready:
    SHTG A 1 A_WeaponReady
    Loop
  Deselect:
    SHTG A 1 A_Lower
    Loop
  Select:
    SHTG A 1 A_Raise
    Loop
  Fire:
	SHTG A 3
	TNT1 A 0 A_PlaySound ("weapons/shotgf", CHAN_AUTO)
	TNT1 A 0 A_GunFlash
    SHTG A 7 A_FireBullets(5.6, 0, 7, 5, "BulletPuff", FBF_USEAMMO, 8192, "", 40, 0) //4.6 1.5
    SHTG B 6
	SHTG C 4
	SHTG C 1 A_PlaySound("weapons/shotgp", CHAN_AUTO)
    SHTG D 5 
    SHTG C 5
	SHTG B 5
	SHTG A 1
    SHTG A 7 A_ReFire
    Goto Ready
  Flash:
    SHTF A 3 Bright A_Light1
    SHTF B 4 Bright A_Light2
    Goto LightDone
  Spawn:
    SHOT A -1
    Stop
  }
}



Добавлено спустя 3 минуты 46 секунд:

YURA_111 пишет:
"Kulak" прописан в "Player.WeaponSlot" ? - если нет, то прописать


Прописал — не сработало
Код игрока:
Скрытый текст:


ACTOR FlinnTaggart : DoomPlayer
{
  Species "BFGKekIsMyFriend"
  Player.CrouchSprite "PLYC"
  Player.StartItem "Pistolet"
  Player.StartItem "Kastet"
  Player.StartItem "Cli", 50
  Player.ViewHeight 45
  Player.AttackZOffset 17
  //
  Player.WeaponSlot 1, Kastet, Benzopila
  Player.WeaponSlot 2, Pistolet
  Player.WeaponSlot 3, Drobovik, Superdrobovik
  Player.WeaponSlot 4, Pulemet
  Player.WeaponSlot 5, Raketomet
  Player.WeaponSlot 6, Plazmogan
  Player.WeaponSlot 7, BFG9K
}

YURA_111
UAC Sergeant Major
Next rank: Chief Petty Officer after 86 points
764

Doom Rate: 1.98

Posts quality: +136
Ссылка на пост №454 Отправлено: 16.04.20 18:29:50
DOOMGABR пишет:
Player.WeaponSlot 1, Kastet, Benzopila


Тут кастет указан, а в "PoEbaluNa" - попытка переключения на "Kulak" - ты определись
YURA_111
UAC Sergeant Major
Next rank: Chief Petty Officer after 86 points
764

Doom Rate: 1.98

Posts quality: +136
Ссылка на пост №455 Отправлено: 05.05.20 17:27:27
Народ есть кто-то, кто использует alt_Hud встроенный в GZDOOM? Вообщем из-за большого количества пушек они не помещаются на экран. Пушки и патроны показаны в правой части экрана. Как сделать в этом ХУДе чтобы патроны показывались в левой части?

P.S. никогда не имел дела с ХУДами поэтому просьба объяснить "на пальцах"
L[i]moN4eG
Marine 1st class
Next rank: - UAC Gunner - after 10 points
30

Doom Rate: 1.88

Posts quality: +1
Ссылка на пост №456 Отправлено: 07.05.20 14:46:56
Привет всем.
Ищу способ ограничить ёмкость оружейного слота. Чтобы вот больше одного оружия на слот носить было нельзя. Насколько сложна в реализации подобная задумка? Как именно это должно выглядеть?
Порт GZDoom последней версии
JSO x
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 10 points
1280

Doom Rate: 2.29

Posts quality: +669
Ссылка на пост №457 Отправлено: 08.05.20 00:23:55
Есть несколько способов сделать это -- и в Decorate, и в ACS, и в ZScript. Во всех случаях
a) Нужно проверять при подборе нового оружия на принадлежность к слоту какого-то другого, который должен конфликтовать; или
b) Для каждого слота хранить счётчик текущего количества оружия.

Отличие идёт в том, какие возможности представляет тот или иной скрипт и какая у него парадигма. Но здесь уже (относительно) детали, которые для каждого языка с нуля долго слишком расписывать -- ZDoom wiki Decorate, ACS и ZScript, эта и эта тема, а также собственный разбор подобной реализации в, например, AEons of Death (аккуратно: внутри свалка та ещё) и Contra Doom в помощь.


P. S.: пока искал ещё что-нибудь в абзац, наткнулся мод, жутко похожий на твой аватар...

Рейтинг сообщения: +2, отметил(и): YURA_111, L[i]moN4eG
2 7 1
DOOMadept
= UAC Gunner =
Next rank: - Corporal - after 4 points
76

Doom Rate: 1.65

Posts quality: +14
Ссылка на пост №458 Отправлено: 08.05.20 20:39:46
Нихао.
Задам лоховской вопросик. Где взять или как выдернуть карту из д2? Конкретно пока хотелось бы мап01 хочется для себя кое-что поковырять.
Я честно попытался поискать в разделе, но многогодичное отсутствие выбило из моей головы всю логику поиска в т.ч и возможные поисковые запросы.
Конечно, можно ее нарисовать, но хотелось бы титя в титю и задницу не ободрать. :o
BeeWen
Lieutenant Colonel
Next rank: Lieutenant Colonel after 252 pointsСупермодератор форума
3388

Doom Rate: 1.61

Posts quality: +808
Ссылка на пост №459 Отправлено: 08.05.20 23:27:16
DOOMadept пишет:
Где взять или как выдернуть карту из д2?

Естественно, из самого д2. При помощи Билдера или Слейда, как самых доступных редакторов. Открыть при помощи программы сам ВАД-файл, выбрать нужную карту и сохранить как отдельный файл.

Рейтинг сообщения: +1, отметил(и): JSO x
1 1 1
JSO x
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 10 points
1280

Doom Rate: 2.29

Posts quality: +669
Ссылка на пост №460 Отправлено: 09.05.20 00:01:23
Ну, проще всего -- открываешь MAP01 в IWAD "doom2.wad" в формате "Doom 2" в [GZ-/Ultimate] Doom Builder [2] или его аналогах (насчёт Slade не уверен), а потом нажимаешь на "Save map into...".

Второй вариант -- также открываешь doom2.wad, но не сохраняешь, а выделяешь всё прямоугольником (зажатием ЛКМ) и Ctrl+C / Ctrl+V в новый уровень.

В-третьих, можно через Slade просто скопировать маркер "MAP01" и следующие за ним "SECTORS", "THINGS", ... -- до маркера "MAP02" -- в новый WAD и сохранить уже его.
2 7 1
Страница 23 из 63Перейти наверх Пред.  1, 2, 3 ... 22, 23, 24 ... 61, 62, 63  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!-2