Сайт Doom Power
 ПоискПоиск ВходВход
Утилиты XWE, DEUTEX, SlumpEd (Менеджеры ресурсов) Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  След.
   Список разделов - Местечко Мапперов и Моддеров - Утилиты XWE, DEUTEX, SlumpEd (Менеджеры ресурсов)
АвторСообщение
nprotect
= Colonel =
Next rank: - Commissar - after 44 points
2546

Doom Rate: 1.48
Сообщение Отправлено: 07.04.08 18:57:14

zer0
ну хорошо, работает с бмп. но в вадниках спрайты - не в бмп формате
1 2
3EPHOEd
= Commissar =
Next rank: - UAC Commissar - after 127 points
2733

Doom Rate: 1.88
Сообщение Отправлено: 07.04.08 23:05:15

zer0 :
XWE работает с бмп. Во всяком случае, с одним из вариантов бмп - со вполне определенной палитрой.

От части, он импортирует - экспортирует в BMP но в WAD не BMP формат хотя и похож приблезительно.
В WAD-ах графика это непожатый ряд байтов где 1 байт одна точка, палитра одна на всех (лумп PLAYPAL), т.е. картинка состоит только из номеров цветов точек.
В PK3 народ кладёт так называемые LMP или выгруженные из WAD-а данные в отдельные файлы в формате как они находятся в WAD-е. (У вад файла есть заголовок, в конце файла где указываются смещения от начала и длинна участков с данными)

Стало быть, дабы не забивать себе голову надо класть спрайты в WAD где с задачей смещения проблем нет. БМП-хи или ГИФ-ы увеличат размер конечного архива т.к. на каждую картинку будет еще и отдельно палитра лежать.
1 2 2
nprotect
= Colonel =
Next rank: - Commissar - after 44 points
2546

Doom Rate: 1.48
Сообщение Отправлено: 08.04.08 10:31:01

3EPHOEd :
В PK3 народ кладёт так называемые LMP или выгруженные из WAD-а данные в отдельные файлы в формате как они находятся в WAD-е. (У вад файла есть заголовок, в конце файла где указываются смещения от начала и длинна участков с данными)

ну да. у бмп нету заголовка, а значит и нет смещений. а у lmp за смещения отвечают пятый и седьмой байты (это если меньше 256, если больше, там наверняка шестой и восмьой еще), а вручную править значения не очень удобно, легче действительно загрузить либо уже созданный ХВЕ .lmp, либо целиком вадник со спрайтами Smile
1 2
3EPHOEd
= Commissar =
Next rank: - UAC Commissar - after 127 points
2733

Doom Rate: 1.88
Сообщение Отправлено: 08.04.08 13:44:43

nprotect :
ну да. у бмп нету заголовка, а значит и нет смещений

У BMP есть заголовок "BM" далее в "шапке" идёт указание на разрешение картинки X н Y, далее и как раз смещения, затем палитра если BMP 256 цветов и собственно сам растр или последовательность байтов которая строится в картинку по известным X-Y.
Причём в BMP ряды точек картинки идуи не как привычно человеку с лева направа, а наоборот и зеркально до кучи.
1 2 2
nprotect
= Colonel =
Next rank: - Commissar - after 44 points
2546

Doom Rate: 1.48
Сообщение Отправлено: 08.04.08 13:47:41

3EPHOEd
да? извиняйте за неграмотность Embarassed *ушел учить спецификацию формата bmp*
1 2
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 09.04.08 23:05:35

У меня два вопроса.

1) Зачем нужен флаг +COUNTITEM? сколько я ни читал вики, я так и не понял его смысла.

2) При создании нового декаля, мы в pic указываем что? спрайт? текстуру?
1
Shadowman
UAC General
Next rank: Unavailable after 0 points
4393

Doom Rate: 1.66
Сообщение Отправлено: 09.04.08 23:24:24

zer0 :
Зачем нужен флаг +COUNTITEM?

Чтобы данная вещь учитывалась при подсчете собранных на уровне бонусов (бутылки, шлемики, мегасферы, соулсферы и прочее).
1 5 2
3EPHOEd
= Commissar =
Next rank: - UAC Commissar - after 127 points
2733

Doom Rate: 1.88
Сообщение Отправлено: 09.04.08 23:43:30

zer0 :
+COUNTITEM

COUN - счётчик.
TITEM - предмет.
Smile
1 2 2
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 09.04.08 23:48:55

Shadowman
А-а! Епт, я ломал голову. Ну теперь остался только вопрос 2.

3EPHOEd
с английским у меня проблем нет, но в данном случае это не помогло. И "счетчик" это "counter".
1
Shadowman
UAC General
Next rank: Unavailable after 0 points
4393

Doom Rate: 1.66
Сообщение Отправлено: 09.04.08 23:52:52

zer0 :
2) При создании нового декаля, мы в pic указываем что? спрайт? текстуру?

спрайт. Он должен лежать либо в спрайтах, либо в gfx
(сам не делал, мне Detonator так сказал)
1 5 2
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 10.04.08 12:23:53

Здесь написано, что powerup.duration устанавливает длительность в ТИКАХ. Но, по-моему, он устанавливает длительность в секундах. Во всяком случае, в херетиковском Ring of Invincibility указана длительность 30, а в тиках это было бы меньше 1-й секунды.
1
nprotect
= Colonel =
Next rank: - Commissar - after 44 points
2546

Doom Rate: 1.48
Сообщение Отправлено: 10.04.08 12:38:24

zer0 :
Здесь написано, что powerup.duration устанавливает длительность в ТИКАХ

значит, глюк в описании. там ниже два примера - колечка и думерских очков. и все правильно, 30 секунд у кольца и полторы минуты у очков
1 2
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 10.04.08 18:33:06

Только я вот проверял и вижу, что ошибка у них в примере. Действительно, в тиках. У меня самого в моде пауэр-ап 3000 длится, а это совсем не 3000 секунд, а явно чуть меньше минуты.
1
nprotect
= Colonel =
Next rank: - Commissar - after 44 points
2546

Doom Rate: 1.48
Сообщение Отправлено: 10.04.08 19:06:08

zer0
в двух примерах ошибка? ну напортачили википедисты...
1 2
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 10.04.08 20:44:57

Возможно на ранних версиях лаунчера у них там были секунды. Ведь все стандартные предметы из Дума, Хексена и Херетика на самом деле в декорейте не присутствуют - они запрятаны куда-то в лаунчер, но, во всяком случае, не в gzdoom.pk3 и не в gzdoom.wad, поэтому пример с кольцом неуязвимости из Херетика так сказать, гипотетический.

Я тут задумался над тем, как создаются летящие гильзы. Сам я обычно копировал шаблон, как-то уведнный в каком-то из модов, и мало о нем задумывался. Через A_FireCustomMissile в Fire стейте оружия вызывается спаунер, который через CustomMissile выпускает саму гильзу. Я задумался над вопросом, зачем в A_FireCustomMissile есть "угол"? В том смысле, что я сам не совсем понимаю, зачем этот угол использовался в моде, а также почему при вызывании спаунера гильз через A_SpawnItem гильзы летят вертикально вниз, а не вбок, как получается при вызове спаунера через A_FireCustomMissile.

Короче, мне тут профессионал должен разъяснить в подробностях. А то я пишу гайд по Декорейту, и мне самому надо все это точно понимать...
1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 10.04.08 21:00:11

О, я разобрался! Сам! Smile Так что потом это опишу и в гайде...
1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 10.04.08 23:47:23

Слушайте, вот здесь (вики) написано, что у думовского игрока пейншанс 255. А я хорошо помню, что 255 - это максимальный пейншанс, когда любое попадание будет сбивать атаку, а ведь у игрока атаку вообще сбить нельзя. Наверное они имели в виду 256, потому что 256 = 0. Как думаете?
1
Shadowman
UAC General
Next rank: Unavailable after 0 points
4393

Doom Rate: 1.66
Сообщение Отправлено: 11.04.08 00:17:40

zer0
На игрока думаю этот пейншанс влияет по другому немного. Атака не сбивается (это от нас зависит Embarassed )
1 5 2
entryway
-= DoomGod =-
2876

Doom Rate: 1.65
Сообщение Отправлено: 11.04.08 01:39:25

zer0 :
Как думаете?

Я вот как думаю:

zer0 :
А я хорошо помню, что 255 - это максимальный пейншанс

Максимальный пейншанс - это любой (в пределах интежера) бОльший чем 255, так как дум (предполагаю, что и здум) берет случайное число от 0 до 255 и сравнивает с пэиншансом по условию "меньше", то есть в случае с плеером это условие будет всегда истинно кроме случая когда генератор случайных чисел вернет 255

zer0 :
когда любое попадание будет сбивать атаку

Не "сбивать атаку", а переводить моба в состояние painstate

zer0 :
а ведь у игрока атаку вообще сбить нельзя

Зато перевести в состояние боли - легко, что и делается судя по всему с вероятностью 255/256, то есть как ни попади в игрока в сетевой игре - практически всегда он скорчится от боли

zer0 :
Наверное они имели в виду 256

У кого они имели в виду 256 - у тех так и прописали, например у кина. Поставишь ему 128 - будет плакать и дергать ножками приблизительно в половине случаев попадания по нему, поставишь 255 - приблизительно в 255 случаях из 256, то есть почти никогда. Хотя именно логики в пеиншансе равному 255 весьма немного.

zer0 :
потому что 256 = 0

Ого! Это из Новой Арифметики? Фоменко написал? Или Каспаров? Surprised
3 1 1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 11.04.08 08:30:47

Значений в игре всего 256, что логично. В них входят все значения от 0 до 255 включительно. Но можно прописать и 256, тогда это будет то же самое, что 0.

И все вы неправильно говорите. У кибердемона пейншанс явно ниже (а у него 20), чем у Мастермайнда (40), чью пулеметную атаку мы легко сбиваем одним выстрелом из шотгана. Еще можно сбить атаку Хелл Найта (50 пейншанс).

Если же пейншанс тем больше, чем меньше число, то какова логика в вышесказанном? Кроме того, у актора будет отниматься здоровье даже если у него вообще нет Pain стейта. Этот стейт как раз управляет анимацией боли, которая, по идее, должна сбивать атаку, потому что выводит из стейта Missile.
1
entryway
-= DoomGod =-
2876

Doom Rate: 1.65
Сообщение Отправлено: 11.04.08 10:25:42

zer0 :
Значений в игре всего 256, что логично. В них входят все значения от 0 до 255 включительно.

Значений в игре столько сколько пропишешь, но имеющих смысл - 257. От 0 до 256 включительно, так как проверка стоит на меньше. if random(0..255) < painchance then делаем что-то

zer0 :
Но можно прописать и 256, тогда это будет то же самое, что 0

Почему? Если прописать 256 (или больше), то моб будет переходить в состояние боли от любого хита. И кина и черепа прописано 256. 255 - не от любого, но почти от любого

zer0 :
У кибердемона пейншанс явно ниже (а у него 20), чем у Мастермайнда (40), чью пулеметную атаку мы легко сбиваем одним выстрелом из шотгана. Еще можно сбить атаку Хелл Найта (50 пейншанс).

Нету такого понятия как сбить атаку - это визуальное описание. Так же нет разницы чем переводить моба в состояние боли. От количества демедежа не зависит, зависит от количества хитов и пеиншанса. В случае с одностволкой и двустволкой надо учитывать, что они стреляют множеством пулек и демедж от каждой будет проходить проверку на пеиншанс. Если у и мастермаинда он 40, то это значит, что при нанесении ему любого демеджа, например с пистолета, с вероятностью 40/256 (40 раз из 256 пулек) он перейдет в состояние боли. В случае двустволки это 20 пулек, следовательно при попадании всех пулек вероятность перехода в состояние боли у мастермаинда выше единицы.

zer0 :
Еще можно сбить атаку Хелл Найта (50 пейншанс).

Да не сбить атаку. Он ведь может и не атаковать в этот момент, а просто идти. Просто оно тебе хорошо видно на мастермаинде, потом что он стреляет без перестану, а не раз ракета два ракета и поэтому иногда кажется, что большой паук слишком пугливый и боится щекоки, хоть и большой как сволочь. На кибердемоне не сильно заметно "сбивание атаки", хотя шанс всего лишь в два раза меньше.

zer0 :
Если же пейншанс тем больше, чем меньше число

Кто тебе такую ерунду сказал? Чем больше пеиншанс, тем больше вероятность того, что при нанесении демеджа мобу он перейдет в состояние боли. У кина, как я писал, пеиншанс равен 256 - максимальному значению, то есть в состоянии боли он переходит от любого попадания. Барон, соответственно, от одного из пяти.

zer0 :
Кроме того, у актора будет отниматься здоровье даже если у него вообще нет Pain стейта.

Отнимание здоровья никак не связано с пэиншансом. Оно сначала отнимается, а потом идет проверка на пэиншанс и в результате моб либо корчится от боли либо продолжает заниматься своими делами (просто идти, атаковать, корчиться от предыдущей боли). Так же мобы при прохождении проверки на пэиншанс начинают считать нанесшего демедж своим обидчиком и идут мочить его.

zer0 :
Этот стейт как раз управляет анимацией боли

Все верно. Я это написал тебе во втором предложении.

zer0 :
которая, по идее, должна сбивать атаку, потому что выводит из стейта Missile.

Проверка на пеиншанс не зависит от того в каком состоянии моб находится сейчас. Это может быть атака, а может быть просто ходьба итд. При прохождении условия на пеиншанс моб из любого стейта переходит в стейт боли. Естественно стрелять он при этом перестает.
3 1 1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 11.04.08 11:50:55

entryway :
Проверка на пеиншанс не зависит от того в каком состоянии моб находится сейчас. Это может быть атака, а может быть просто ходьба итд. При прохождении условия на пеиншанс моб из любого стейта переходит в стейт боли. Естественно стрелять он при этом перестает.


Так я и говорю. Если у игрока пейншанс 255, он должен переходить в пейн стейт почти от каждого тычка. И при этом должен переставать атаковать. Но так ведь не происходит.
1
entryway
-= DoomGod =-
2876

Doom Rate: 1.65
Сообщение Отправлено: 11.04.08 12:11:07

zer0 :
Так я и говорю. Если у игрока пейншанс 255, он должен переходить в пейн стейт почти от каждого тычка. И при этом должен переставать атаковать. Но так ведь не происходит.

Ошибка тут в "должен перестать атаковать". 'Переставание' атаки - это следствие смены стейта для монстров, а плеер своей атакой управляет не по алгоритму, а левой кнопкой мыши. Фактический смысл пеиншанса - показать, что мобу, в том числе плееру, больно. Для слабых монстров ставят высокий пеиншанс и они ноют от почти каждого попадания, для сильных монстров пеиншанс низкий и они "терпят" боль чаще. С плеером в этом плане происходить точно так же. Стреляешь в него с пестика и в 99% случаев плеер расплачется от боли. То есть если это тебе нужно для описания, то просто не надо напрямую связывать фразы 'пеиншанс' и 'сбивание атаки'
3 1 1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 11.04.08 12:29:33

Ясно. То есть, игрок настолько суров, что управляет свой атакой всегда, а для монстра вход в Pain стейт равносилен временной потере возможности атаковать. И весь смысл создания у игрока какого-либо пейншанса только в том, чтобы была какая-то анимация боли, хотя, в принципе, можно было бы без этого обойтись.
1
entryway
-= DoomGod =-
2876

Doom Rate: 1.65
Сообщение Отправлено: 11.04.08 12:52:44

zer0 :
И весь смысл создания у игрока какого-либо пейншанса только в том, чтобы была какая-то анимация боли, хотя, в принципе, можно было бы без этого обойтись.

Ну просто место которое переключает состояние любого моба в 'боль' - одно (функция P_DamageMobj) и это весьма логично.

Насчет "без этого можно было бы обойтись" - много без чего можно было бы обойтись, но не любителям здума это говорить Smile Сейчас ты, например, можешь создать дехакнутого плеера для сетевой игры, такого себе терминатора, который не будет скакать от боли на одной ножке при любом попадании как запрограммировано по умолчанию, а будет с большОй вероятностью терпеть (визуально) одиночные попадания, но например почти всегда переходить в состояние боли при попадании из двустволки (в ней много пулек и шанс увеличивается). В здуме наверняка легко повязать пеиншанс на наличие армора и его класс чтоб без армора плеер кричал при любом попадании, с зеленым армором - чуть реже, а с синим и вовсе редко, то есть не отслеживать наличие и класс армора при любом демедже, а просто при пикапе менять пэиншанс.
3 1 1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 11.04.08 13:48:52

Не знаю, я работаю с декорейтом и как менять пейншанс в зависимости от наличия брони не знаю. В любом случае, мне это не нужно. Я просто хотел полностью разобраться, чтобы правильно написать в гайде по декорейту, который пишу.
1
Nil
= 1st Lieutenant =
Next rank: - 2nd Lieutenant - after 38 points
1402

Doom Rate: 1.79
Сообщение Отправлено: 11.04.08 15:27:45

zer0, если ты в нём не разбираешся, может, не будешь выкладывать, пока не поймёшь от начала и до конца? просто там должно быть всё необходимое : от SwitchableDecoration и CustomInventory до A_JumpIf. И должен быть написан грамотно! т.е. никаких A_Jump(128,10)! Только A_Jump(128,"MyLabel")! потому что зачем писать доку, если там учать плохому стилю? это просто напросто вредно будет! т.е. не выкладывай до тех пор, пока не разошлешь всем модерам, не выслушаешь их пожелания и коментарии, скомпилируешь. И только потом выкладывай!
1 1 1
nprotect
= Colonel =
Next rank: - Commissar - after 44 points
2546

Doom Rate: 1.48
Сообщение Отправлено: 11.04.08 15:54:25

Nil :
никаких A_Jump(128,10)! Только A_Jump(128,"MyLabel")!

это необязательно, расставлять метки. как удобнее - так пускай и делает. если удобнее отсчитывать кол-во - пускай отсчитывает. кто сказал, что с метками перехода - хороший стиль, а без них плохой? не всегда удобно метки лепить
1 2
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 11.04.08 18:37:07

Я пишу "ДЕКОРЕЙТ ДЛЯ ЧАЙНИКОВ". Это значит - основы декорейта. Потому что самое сложное - это начать. Понять принцип этих загогулин. Все остальное человек сможет узнать сам, если заинтересуется.
1
Nil
= 1st Lieutenant =
Next rank: - 2nd Lieutenant - after 38 points
1402

Doom Rate: 1.79
Сообщение Отправлено: 11.04.08 19:30:46

nprotect, удобство-удобством, но стиль есть стиль. Есть плохой стиль - без меток, всё невыровненно, вкривь-вкось и без комментариев. Есть хороший, только и всего. Удобство понятие индивидуальное, но зачем разводить на ровном месте плохой стиль?
1 1 1
Страница 7 из 10Перейти наверх Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  След.
   Список разделов - Местечко Мапперов и Моддеров - Утилиты XWE, DEUTEX, SlumpEd (Менеджеры ресурсов)