Вопросы по редактированию
|
|
s0vwa | Дата: Четверг, 2013-07-04, 14:17:32 | Сообщение # 241 |
Стремящийся
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Вспомнил, кстати, что замена объектов мне тоже была бы полезна, ибо подготовил спрайты для пары таких мелочей. Можете ли объяснить и то, как это делать?
Сообщение отредактировал s0vwa - Четверг, 2013-07-04, 14:18:09 |
|
| |
Heretic | Дата: Четверг, 2013-07-04, 23:05:35 | Сообщение # 242 |
Ψ ωοrld ξνil Ψ
Группа: Администраторы
Сообщений: 1165
Статус: Offline
| Цитата (s0vwa) что замена объектов мне тоже была бы полезна Ну объясню логику моей мысли. Я не юзал именно замену одного моба на другого, но использовал данный принцип при создании town portal'а в моем дябло2-моде, а также юзал в скрипте моба-миньона (чтобы моб был всегда рядом, его телепортит к игроку, если игрок далеко убежал).
Вот упрощенная схема замены. Для начала пихаем некого моба на карту с определенным TID. Я не помню, можно ли это как-то проставить именно в самом мобе, я обычно делаю это спавнером. Т.е. на саму мапу ставил mapspot'ы и в них уже скриптом -- мобов с определенным ID, например: Код #include "zcommon.acs" Script 1 open { delay(1); spawnspot("fallen", 5, 1, 0); } (формат всех функций не привожу, смотри сам на здуме если необходимо)
Теперь у нас есть моб с идентификатором, допустим он немного погулял, и ему пора превратиться в большую зябу. Запускаем чем-нибудь такой скрипт, который вычисляет координаты мобика и записывает их в переменные: Код script 2 (void) { delay(1); int x=getactorx(1); int y=getactory(1); int z=getactorz(1); далее убираем потихому микромоба: далее спавним большую зябу, опять же по-тихому -- с наименьшим делеем и без телепорт-фога:
Код delay(1); spawn("yeti", x, y, z);
} в принципе можно и без дилея (в данном случае), но я вот при возне с дябло модом понял, что иногда комп собака все пытается параллельно сдлеать, и чтонибудь не срабатывает, циклы так вообще норовят зависнуть, а в сложном скрипте копаться и искать багу... кароче везде теперь дилеи ставлю, благо в данном случае эта 1/35 секунды не ощутима и так..
Т.е., возвращаясь к сути способа -- совершенно в лоб удаляем старый актор и на его место ставим новый. P.S. не написал про это, но наверно в случае с мобами а не с порталами будет красивее также снять данные о направлении (GetActorAngle) тоже в свою переменную и потом проспавнить нового моба с тем же углом. А то шел к тебе лицом моб, а новый м.б. задницей появится...
Сообщение отредактировал Heretic - Четверг, 2013-07-04, 23:23:52 |
|
| |
s0vwa | Дата: Пятница, 2013-07-05, 09:38:08 | Сообщение # 243 |
Стремящийся
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Довольно интересный, полезный и даже многофункциональный способ. Благодарю.
|
|
| |
CEH9 | Дата: Вторник, 2014-01-07, 15:19:37 | Сообщение # 244 |
Искушённый
Группа: Хранители
Сообщений: 139
Статус: Offline
| Джентльмены, вновь прошу совета. Как сделать вертикальный телепорт? Модель такова: 1) игрок подходит к телепорту, падает в него 2) игрок переносится, скорость падения сохраняется 3) при приземлении учитывается высота полностью 4) возникает ещё один вопрос, уточняющий: как регулируется урон от падения?
Арсений Каменев
|
|
| |
Heretic | Дата: Пятница, 2014-01-17, 09:55:16 | Сообщение # 245 |
Ψ ωοrld ξνil Ψ
Группа: Администраторы
Сообщений: 1165
Статус: Offline
| CEH9, это надо скриптами делать. Не уверен, что можно реализовать все пункты правда. Ты хочешь как я понял чтоб чуви падал в "колодец" и появлялся из дыры в потолке в другом месте? Если неважно в какой момент герой будет ТПэшиться, то при пересечении границы колодца пускаешь скрипт, ставишь дилэй, запрос скриптом вертикальной скорости игрока, собственно ТП, далее даешь игроку его вертикальную скорость, ну и он у тебя падает в нужном месте. Единтсвенно надо игроку задать ID начальным скриптом. Насчет урона от падения толком не знаю, думаю что зависит от движка, в Еретике и Хексе будет по разному.
|
|
| |
CEH9 | Дата: Пятница, 2014-01-17, 15:01:36 | Сообщение # 246 |
Искушённый
Группа: Хранители
Сообщений: 139
Статус: Offline
| Спасибо, попробую.
Арсений Каменев
|
|
| |
TancreDim | Дата: Среда, 2018-02-14, 23:53:41 | Сообщение # 247 |
Искушённый
Группа: Хранители
Сообщений: 180
Статус: Offline
| Вопрос от нуба по декорэйту.
1. Можно ли по этим двум фрагментам кода определить диапазон дамага, если известно значение INTELLECT (15 например).
Код ACTOR NewMageWandMissile : MageWandMissile Replaces MageWandMissile { Damage (frandom(2,16)*0.025*(30+ACS_executewithresult(WOC_DECORATE,STATS,INTELLECT,TARGET)))
Код AltFire: MWND A 6 MWND B 1 Bright Offset (0, 33) A_FireCustomMissile ("NewMageWandMissile", frandom(-6,6)) MWND B 1 bright offset(0,40) A_SetPitch(Pitch-0.25) MWND A 1 offset(0,38) A_SetPitch(Pitch+0.125) MWND A 1 offset(0,35) A_SetPitch(Pitch+0.125) 2. Как в данных случаях читать frandom(2,16) и frandom(-6,6)? Это типа случайное число между значениями разделёнными запятой в скобках, или как? 3. К чему относится frandom(-6,6)? Непосредственно к калькуляции дамага или чему-то иному?Добавлено (2018-02-14, 23:53:41) --------------------------------------------- Решил попробовать перетащить мобов из Дьяблы в Хексу по гайду Алекса, и понял что ручное переименовывание файлов фрэймов это реально какой-то адов писец. Поэтому возникло 2 вопроса: 1. Есть ли на сегодняшний день какая-нибудь прога позволяющая пакетно переименовывать файлы с задачей сложных параметров? 2. Какие условия должны быть выполнены чтобы игра видела Actor моба и позволила его разместить в игре? Просто перенёс атаку и ходьбу а игра пишет что актор неизвестен. Может необходимо добавить остальные анимации (get hit, death, pain state)?
Пишите в личку если что.
"Poor HeXen. Along with Strife, it's been the neglected red-headed stepchild."
NaN is my favourite number.
|
|
| |
DraculaX | Дата: Четверг, 2018-02-15, 00:24:54 | Сообщение # 248 |
Sεrpεñτ Rιdεr
Группа: Хранители
Сообщений: 2435
Статус: Offline
| TancreDim, дамаг в данном случае от 2-х до 16 помноженное на 0.025 и помноженное на некие значения, указанные в скрипе, насколько я понял. Функция ACS_executewithresult вызывает скрипт и выдаёт некое значение, указанное в нём.
Цитата TancreDim ( ) 2. Как в данных случаях читать frandom(2,16) и frandom(-6,6)? Это типа случайное число между значениями разделёнными запятой в скобках, или как? Это типа случайное число между значениями разделёнными запятой в скобках.
Цитата TancreDim ( ) 3. К чему относится frandom(-6,6)? Непосредственно к калькуляции дамага или чему-то иному? Это относится к отклонению полёта снаряда по оси. -6 - это отклонение в одну сторону от 0 до 6 градусов. 6 - это отклонение в другую сторону. Если вместо frandom(-6,6) указать 0, то снаряд будет всегда лететь по прямой.
По остальным вопросам, я думаю Reiko тебе лучше меня ответит.
Только тот кто прошел тяжелое испытание сможет получить аудиенцию у Эйдолона ©
|
|
| |
TancreDim | Дата: Четверг, 2018-02-15, 00:37:53 | Сообщение # 249 |
Искушённый
Группа: Хранители
Сообщений: 180
Статус: Offline
| Ок, спасибо. Значит скрипт действительно комплексный, ибо ACS_executewithresult выдаёт значения по крайней мере от 30 до 130 при 15 инты.
Жаль только Рейко куда-то запропастился.
Пишите в личку если что.
"Poor HeXen. Along with Strife, it's been the neglected red-headed stepchild."
NaN is my favourite number.
Сообщение отредактировал TancreDim - Четверг, 2018-02-15, 00:40:58 |
|
| |
TancreDim | Дата: Суббота, 2018-06-02, 20:10:20 | Сообщение # 250 |
Искушённый
Группа: Хранители
Сообщений: 180
Статус: Offline
| Цитата TancreDim ( ) Решил попробовать перетащить мобов из Дьяблы в Хексу по гайду Алекса, и понял что ручное переименовывание файлов фрэймов это реально какой-то адов писец. Поэтому возникло 2 вопроса: 1. Есть ли на сегодняшний день какая-нибудь прога позволяющая пакетно переименовывать файлы с задачей сложных параметров? Есть! Просто божественная прога:
Цитата TancreDim ( ) 2. Какие условия должны быть выполнены чтобы игра видела Actor моба и позволила его разместить в игре? Просто перенёс атаку и ходьбу а игра пишет что актор неизвестен. Может необходимо добавить остальные анимации (get hit, death, pain state)? Я просто дебил - забыл закавычить вад в строке батника.
Добавлено (2018-02-15, 06:04:03) ---------------------------------------------
Буду весьма признателен если кто подскажет как присвоить несколько звуков к одному и тому же типу атаки, чтобы они выбирались произвольно при оной.Всё, разобрался. Это возможно через $random aliasname { logicalname1 logicalname2 logicalname3 ... }, например $random BKnight/Die { BKnight/Die1 BKnight/Die2 }
Можно ли убрать тени? RenderStyle "Add" Alpha 1.0 убирает тени но превращает рыцарей в призрачных
Добавлено (2018-02-18, 07:58:51) --------------------------------------------- С тенями всё оказалось весьма проблемно - с некоторых спрайтов убираются только ручками; благо один сеньор уже проделал этот титанический труд. На всякий пожарный: Ogodei's Diablo 1 Monster pack Final v1.1 [DE-SHADED] Добавлено (2018-06-02, 20:10:20) --------------------------------------------- ============ Есть у кого соображения как можно в декоре записать следующее поведение: как только монстр обнаруживает в определённом радиусе труп, то тут же направляется вплотную к трупу. Идеально подошла бы Код A_CheckProximity ("стэйт прыжка", "акторкласс", 1024, 1, CPXF_DEADONLY|CPXF_SETMASTER|CPXF_CLOSEST) \\При обнаружении трупа делает ближайший своим мастером и идёт к нему , но в ней нужно обязательно указывать конкретный акторкласс. Ещё думал чекать наличие трупа через A_CheckLOF но не догоняю какие нужно выставить флаги чтобы видел только трупы (если это вообще возможно через ЧекЛОФ).Добавлено (2019-04-16, 08:42:51) --------------------------------------------- Подозреваю что ответа я не получу, но всё же...
Возможно ли на декоре сделать так чтобы монстры реагировали на абстрактный актор (ну пускай даже на конкретно монстра) как на игрока? Т. е. чтобы при обнаружении (хотя бы визуально) такого актора сразу на него агрились, но при этом оный не мешал бы потенциальному инфайтингу между монстрами.
Пишите в личку если что.
"Poor HeXen. Along with Strife, it's been the neglected red-headed stepchild."
NaN is my favourite number.
Сообщение отредактировал TancreDim - Четверг, 2018-02-15, 23:58:18 |
|
| |
Reiko | Дата: Суббота, 2022-02-05, 23:47:48 | Сообщение # 251 |
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
| Редактирую тут один вад под расширенный ванильный еретик, небо там опущено до пола и столкнулся с проблемой таких вот линий...
Горизонтальную линию убрал с помощью слейда отредактировав texture1 в ваде добавив к текстектуре неба такое же небо:
и вуаля:
Теперь вопрос, как убрать вертикальную линию???? PVS, случайно не знаешь как?
аниме спасет мир :3
Сообщение отредактировал Reiko - Суббота, 2022-02-05, 23:49:32 |
|
| |
PVS | Дата: Воскресенье, 2022-02-06, 22:33:04 | Сообщение # 252 |
Хранитель
Группа: Хранители
Сообщений: 228
Статус: Offline
| Вертикальную линию - вроде не уберёшь, по крайней мере - я не видел рабочих вариантов для винили. А что получается - если патч неба шире делать, на пару пикселей? Так же - в настройках текстуры задавать бОльшую ширину, не пробовал?
RUSSIAN DESCENT OUTPOST
Сообщение отредактировал PVS - Воскресенье, 2022-02-06, 22:49:12 |
|
| |
Reiko | Дата: Понедельник, 2022-02-07, 14:09:50 | Сообщение # 253 |
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
| PVS, попробывал, ничера.
Ну и ладно , фиг с ним.
аниме спасет мир :3
|
|
| |
PVS | Дата: Вторник, 2022-02-08, 22:57:47 | Сообщение # 254 |
Хранитель
Группа: Хранители
Сообщений: 228
Статус: Offline
| Жаль, как в ванильном Думе - в Еретике/Хексене не сделать, похоже.
RUSSIAN DESCENT OUTPOST
|
|
| |