Автор | Сообщение |
Zeberpal_98 Chief Petty Officer
 | 947 |
 Doom Rate: 2.14 Posts quality: +267 |
Отправлено: 31.10.19 23:50:56 | | | Void Weaver
Дело в том, что я не нашел чего-то по смыслу похожее на SetAmmoAmount(str ammotype, amount) и в дискорде мне вроде подтвердили(ничего не ответив)). В любом случае проблем нет, меняешь капасити, чекаешь капасити, довольно удобно.
Void Weaver пишет: | И как это ограничивает тип вывода данных? |
ну для каждого игрока свой int делать совсем уж геморно.
https://zdoom.org/wiki/Hudmessageonactor , но в моде там другие параметры немного. | |
|
1 |
3 |
 |
|
| |
Void Weaver = Captain =
 | 2496 |
 Doom Rate: 1.82 Posts quality: +808 |
Отправлено: 01.11.19 00:04:07 | | | А собс-но что ты вообще хочешь сделать? Если то, что я предположил на предыдущей странице, то при чём тут какие-то "индивидуальные" инты для каждого игрока? Всего одна переменная (на каждый показатель) с чек(ами) по активатору скрипта. А с капасити мне кажется это какое-то извращение.
Ясно, значит просто кастомная функция. | |
|
1 |
9 |
1 |
 |
|
| |
Zeberpal_98 Chief Petty Officer
 | 947 |
 Doom Rate: 2.14 Posts quality: +267 |
Отправлено: 02.11.19 00:30:35 | | | Постараюсь объяснить,
Мне нужна переменная, которая динамично изменяется у каждого игрока по-разному, которую можно менять самому, которая фигурирует во многих скриптах, и даже косвенно в декорейте. Я не кодер, но объясню свое понимание
переменной можно свободно оперировать, но будет применимо ко всем игрокам и их ситуациям одинаково.
[quote]script xxx (int x)
{for int....} В этом случае все изменения, касающиеся переменной надо совершать внутри одного этого скрипта, ибо ставишь переменную где-нибудь снаружи и он не компилится, но зато у всех игроков экзекуция проходит по-разному | |
|
1 |
3 |
 |
|
| |
Void Weaver = Captain =
 | 2496 |
 Doom Rate: 1.82 Posts quality: +808 |
Отправлено: 02.11.19 05:31:58 | | | Zeberpal_98 пишет: | Мне нужна переменная, которая динамично изменяется у каждого игрока по-разному, которую можно менять самому, которая фигурирует во многих скриптах, и даже косвенно в декорейте. | Ну это типичная глобал варка. А вот начать стоит пожалуй с выяснения того почему именно она у тебя не компилится.
Хотя возможно тебе нужны юзер цварки, которые надо будет прописать в CVARINFO, и уже в скриптах оперировать через цвар-функции. |
|
|
1 |
9 |
1 |
 |
|
| |
AndreyKAF Recruit
 | 6 |
Doom Rate: 2
|
Отправлено: 02.11.19 22:39:13 | | | Доброго времени суток, наверно у меня не очень сложный вопрос, но он поставил меня в тупик. Сделал себе оружие использующие свои патроны, но вот только при попытке его заспавнить ничего не происходит, через консольные команды оружие не дается. Zdoom 2.8.1 не пишет никаких ошибок. Проверял на GZDoom g3.4.0 и GZDoom g3.1.0 эффект тот же самый, даже не знаю в какую сторону копать. Может я что-то по неопытности недодал или что-то упустил?
| |
|
| |
N00b Chief Petty Officer
 | 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 03.11.19 00:29:45 | | | AndreyKAF пишет: | ничего не происходит |
Оно и неудивительно. У тебя файл формата .pk3. Там, в отличие от .wad, не нужно использовать лампы S_START, S_END и иже с ними, там синтаксис другой. pk3 --- это фактически zip-архив, в котором могут быть поддиректории. Именно в них порт при загрузке ищет большинство ресурсов. Спрайты нужно засунуть в директорию /sprites, а звуки --- в /sounds. А можно и наоборот --- сохранить все эти лампы в .wad. В любом случае, сейчас ZDoom просто не видит эти спрайты, и поэтому он даже не пытается заспаунить соответствующего актора.
Подробности смотри на wiki.
P. S. Есть более удобный способ присвоить оружию номер слота --- просто напрямую указать ему в декорейте свойство Weapon.SlotNumber. Способ с KEYCONF старый, сейчас так уже "не принято". |
|
|
| |
AndreyKAF Recruit
 | 6 |
Doom Rate: 2
|
Отправлено: 03.11.19 00:56:27 | | | Спасибо, еще кое-что при попытке перенести SIGIL (оружие из Strife) пропадает звук выстрела. Пробовал A_PlaySound и прочее, но эта команда просто игнорируется. | |
|
| |
N00b Chief Petty Officer
 | 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 03.11.19 01:15:13 | | | Попробуем телепатически. Звук точно лежит там, где нужно (в папке sounds или между маркерами, если это wad)? В SNDINFO он прописан?
Если я не угадал, придётся тебе выслать и этот файл. |
Рейтинг сообщения: +1, отметил(и): JSO x |
|
| |
Void Weaver = Captain =
 | 2496 |
 Doom Rate: 1.82 Posts quality: +808 |
Отправлено: 03.11.19 08:44:12 | | | AndreyKAF пишет: | Пробовал A_PlaySound и прочее, но эта команда просто игнорируется. | Тоже попробую в телепатию. Если звук корректно прописан в SNDINFO и размещён в самом пке, то удостоверься что проблемный звук находится на авто- или определённом звуковом канале и не перекрывается другими звуками на этом же канале. |
Рейтинг сообщения: +1, отметил(и): JSO x |
|
1 |
9 |
1 |
 |
|
| |
AndreyKAF Recruit
 | 6 |
Doom Rate: 2
|
Отправлено: 03.11.19 15:05:16 | | | Вроде да, в SNDINFO и декорейте прописан.
| |
|
| |
N00b Chief Petty Officer
 | 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 03.11.19 16:00:30 | | | Во-первых, состояния просто не нужны (они же определены в Sigil, а ты от него наследуешь). Если их убрать вообще, заменить обратно в SNDINFO названия звуков на стандартные и в коде A_PlaySound заменить на A_SigilCharge, всё прекрасно работает. Класс Sigil5, кстати, неплохо бы переименовать (даёт конфликт со стандартным).
Во-вторых, от стандартных классов лучше вообще не наследоваться, особенно от таких сложных классов, как Sigil --- не оберёшься потом "недокументированных возможностей" вроде той, о которой говорим. Правда, в этом случае логику работы класса придётся переписывать самостоятельно.
Я не знаю, почему звук не воспроизводится. Если унаследовать класс от Weapon вместо Sigil, а A_FireSigil5 заменить ну, например, на A_FireShotgun2 (дабы при загрузке порт не ругался), то звук воспроизводиться будет.
Замена актора сейчас тоже производится по-другому, не через DoomEdNum, а с помощью ключевого слова replaces:
Actor DoomSigil: Sigil replaces BFG9000 |
|
|
| |
Void Weaver = Captain =
 | 2496 |
 Doom Rate: 1.82 Posts quality: +808 |
Отправлено: 09.11.19 12:29:47 | | | 1. Что означают флаги:
INTERPOLATEANGLES
DONTINTERPOLATE
и
SPF_INTERPOLATE в функциях A_SetAngle и A_SetPitch?
Ну я в общих чертах понимаю что такое интерполяция как таковая, но что это значит применительно к моддингу акторов?
2. Какой смысл во флаге VULNERABLE? Ну т. е. нахрена ноншутэбл актор делать подверженным получению некоего урона? Какой в этом практический смысл? | |
|
1 |
9 |
1 |
 |
|
| |
Zeberpal_98 Chief Petty Officer
 | 947 |
 Doom Rate: 2.14 Posts quality: +267 |
Отправлено: 17.11.19 16:47:10 | | | Возможно ли при зажатом огне чередовать фреймы PLAYE[...] и PLAYF[...] у игрока? По дефолту рисуется только PLAYF[...]. Уверен это делается через PlayerClass, но можно ли что-то подобное сделать через :Weapon актор? | |
|
1 |
3 |
 |
|
| |
Герр Смертоносец - Warrant Officer -
 | 1059 |
 Doom Rate: 1.36 Posts quality: +924 |
Отправлено: 17.11.19 19:15:13 | | | Void Weaver пишет: | Ну я в общих чертах понимаю что такое интерполяция как таковая, но что это значит применительно к моддингу акторов? |
Суть в том, что движение и повороты происходят скачкообразной телепортацией в 1 тик, что может быть заметно с нормальным фпс. Для этого рисуются как бы промежуточные кадры, чтобы всё происходило мягенько. Не везде это установлено по-дефолту и не везде это нужно. Как-то я игрался с каким-то танком, там один актор по хитрой зависимости ездил вокруг другого, а между ними образовывалась условная точка, на которую варпился третий актор. Без интерполяции всё выглядело терпимо, с интерполяцией дичайше дёргалось.
Void Weaver пишет: | 2. Какой смысл во флаге VULNERABLE? Ну т. е. нахрена ноншутэбл актор делать подверженным получению некоего урона? Какой в этом практический смысл? |
Предположительно, чтобы актор не дамажился пулями и снарядами, но дамажился всякими штуками типа давилки.
Zeberpal_98 пишет: | Возможно ли при зажатом огне чередовать фреймы PLAYE[...] и PLAYF[...] у игрока? По дефолту рисуется только PLAYF[...]. Уверен это делается через PlayerClass, но можно ли что-то подобное сделать через :Weapon актор? |
Нельзя, оружие вообще на происходящее и игроком никак не влияет. Надо взять Classes:DoomPlayer и переписать в нём фреймы, но придётся городить аццкие костыли, чтобы всё это выглядело правильно при разной скорострельности.
В теории оружие должно менять игроку какую-нибудь хрень в инвентаре, определяющую, совершается ли выстрел вот прям в данный момент. А у игрока на стейте Missile должен быть JumpIf, ведущий на два разных фрейма. |
|
|
5 |
 |
|
| |
Void Weaver = Captain =
 | 2496 |
 Doom Rate: 1.82 Posts quality: +808 |
Отправлено: 17.11.19 21:56:47 | | | 1. Тогда так: а как именно рассчитывается шаг рендера этих микро-кадров? И в каких случаях этот флаг вообще может пригодиться при отрисовке спрайтов?
2. Да, с этим я уже разобрался, вкратце - VULNERABLE это как SHOOTABLE (но только через АоЕ) для non-SHOOTABLE акторов.
Герр Смертоносец пишет: | В теории оружие должно менять игроку какую-нибудь хрень в инвентаре, определяющую, совершается ли выстрел вот прям в данный момент. А у игрока на стейте Missile должен быть JumpIf, ведущий на два разных фрейма. | Всё так, в принципе может получиться вполне изящно. Но править сам актор игрока надо будет по любому. | |
|
1 |
9 |
1 |
 |
|
| |
Герр Смертоносец - Warrant Officer -
 | 1059 |
 Doom Rate: 1.36 Posts quality: +924 |
Отправлено: 18.11.19 01:23:58 | | | Void Weaver пишет: | 1. Тогда так: а как именно рассчитывается шаг рендера этих микро-кадров? |
Какая-то внутренняя логика движка. Вероятно, берут текущую фпс, получают текущее количество реальных кадров между двумя тиками, и отсюда уже промежуточные значения. Но это всё догадки.
Void Weaver пишет: | И в каких случаях этот флаг вообще может пригодиться при отрисовке спрайтов? |
Всё, что быстро движется, очевидно. Плавные повороты для спрайтов неактуальны, но INTERPOLATEANGLES только в гоззе для моделей. |
|
|
5 |
 |
|
| |
Void Weaver = Captain =
 | 2496 |
 Doom Rate: 1.82 Posts quality: +808 |
Отправлено: 20.11.19 18:32:03 | | | Можете объяснить как именно работают свойства Armor.MaxBonus и Armor.MaxBonusMax в классе BasicArmorBonus, и чем они отличаются от Armor.MaxSaveAmount и Armor.SaveAmount?
Просто на практике я не вижу никакой разницы между этим:ACTOR MyArmorBonus : ArmorBonus
{
Armor.SaveAmount 1 //The amount of armor that this item gives.
Armor.MaxSaveAmount 200 //The maximum additional save amount you can obtain with the armor.
Armor.MaxBonus 1 //The amount of armor you obtain additionally to your save amount value.
Armor.MaxBonusMax 50 //The maximum additional save amount you can obtain with the armor.
} и этим армор бонусом:ACTOR MyArmorBonus2 : ArmorBonus
{
Armor.SaveAmount 1
Armor.MaxSaveAmount 250
} |
Рейтинг сообщения: +1, отметил(и): YURA_111 |
|
1 |
9 |
1 |
 |
|
| |
doom3d Recruit
 | 4 |
 Doom Rate: 0.29 Posts quality: -4 |
Отправлено: 24.11.19 11:36:48 | | | Всем привет хочу сделать свой Doom3D только как вставить готовых 3д врагов и оружие на уровень или хотя бы как сделать своих спрайтовых врагов и оружие более большего разрешения чем в doom2 ??? Где про это можно подробно посмотреть кто знает ???  | |
|
| |
theleo_ua - Commissar -
 | 5066 |
 Doom Rate: 1.8 Posts quality: +1145 |
Отправлено: 24.11.19 22:26:41 | | | doom3d пишет: | Всем привет хочу сделать свой Doom3D только как вставить готовых 3д врагов и оружие на уровень или хотя бы как сделать своих спрайтовых врагов и оружие более большего разрешения чем в doom2 ??? Где про это можно подробно посмотреть кто знает ??? |
ты хочешь создать своих собственных монстров, или улучшить графику уже существующих? | |
|
4 |
1 |
 |
|
| |
N00b Chief Petty Officer
 | 922 |
Doom Rate: 2.15 Posts quality: +384 |
Отправлено: 29.11.19 19:57:11 | | | ^^^ Видимо, это риторический вопрос
По теме: кто-нибудь сталкивался с тем, что добавление конкретных спрайтов в вад (как положено, между S_START и S_END) ломает в Crispy Doom автоподгрузку дехакеда?
С чем это может быть связано?
Вот ссылка для теста (параметры просто -file temp1.wad). Дехакед простейший (атаку зомби заменяет на выстрел ракетой). Если так просто запустить вад, ничего в поведении зомби не изменится. А вот если слейдом вычистить все спрайты (я их взял с realm667 посмотреть), то дехакед нормально автоматически подгружается.
Версия Crispy Doom 5.6.3 (win32).
В других портах особенно не смотрел (в ~недавнем gzdoom и zdoom 2.8.1 всё нормально). | |
|
| |