Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 276, 277, 278 ... 350, 351, 352  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
+Ku6EPyXOBEPTKA+
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 27 points
1413

Doom Rate: 1.75
Ссылка на пост №5521 Отправлено: 18.05.14 15:30:15
Jurijus :
Как сделать, чтобы FRIENDLY-actor старался сократить расстояние до игрока, и стоял как вкопанный, если он рядом с игроком?

Можно попробовать сделать актёра без FRIENDLY флага, но который не будет в стейте атаки наносить урон. Однако, он будет спавнить актёра c флагом Friendly, который будет мгновенно атаковать противника. По движку, такой актёр сам по себе будет приследовать игрока, но в момент, когда он будет близко, его будет как бы клинить.
1 1 2
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №5522 Отправлено: 18.05.14 16:07:26
Jurijus :
Как сделать, чтобы FRIENDLY-actor старался сократить расстояние до игрока, и стоял как вкопанный, если он рядом с игроком?

Хз что там насчет friendly/неfriendly, но вот основное реализовать просто. Сначала заводим константу, которая будет означать расстояния до игрока, при котором нужно остановиться. Потом копиздим функцию:
function int fdistance (int tid1, int tid2)
{
   int len;
   int y = getactory(tid1) - getactory(tid2);
   int x = getactorx(tid1) - getactorx(tid2);
   int z = getactorz(tid1) - getactorz(tid2);

   int ang = vectorangle(x,y);
   if(((ang+0.125)%0.5) > 0.25) len = fixeddiv(y, sin(ang));
   else len = fixeddiv(x, cos(ang));

   ang = vectorangle(len, z);
   if(((ang+0.125)%0.5) > 0.25) len = fixeddiv(z, sin(ang));
   else len = fixeddiv(len, cos(ang));

   return len;
}

Дальше осиливаем проверку и двигаем объект к игроку с помощью либо создания патрульпоинта или как его там (когда я делал ртс, у меня это работало, но монстры почему-то мочили патрульпоинт) и последующим его удалением когда актор близко (чтобы стоял как вкопанный, можно сделать SetActorProperty(..., APROP_Speed, 0) (здесь Fixed значение), правда, боюсь, что он будет дрыгать ногами на месте при скорости 0 или как-нибудь еще) либо каким-то неизвестным мне методом.
5 1 1
+Ku6EPyXOBEPTKA+
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 27 points
1413

Doom Rate: 1.75
Ссылка на пост №5523 Отправлено: 18.05.14 16:33:46
ChaingunPredator
Это конечно всё красочно, но вот что, если автор планирует не использовать ACS? А так проще всего сделать в ACS функцию проверки координаты пета (будем называть так) и функцию проверки координат игрока. А затем, если разница будет больше чем определённое число (следуя из проверки), то просто портить пета рядом.
1 1 2
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №5524 Отправлено: 18.05.14 16:59:20
+Ku6EPyXOBEPTKA+ :
ACS функцию проверки координаты пета (будем называть так) и функцию проверки координат игрока

А чем функция сверху не справляется с этой задачей? %)
Там остается добавить только
#Define MIN_PET_DISTANCE 100
Script 666 ENTER //активатор игрок, если что
{
 while(true)
 {
  if(fdistance(0, ТидПета)>MIN_PET_DISTANCE)
  {
    ... //ведем пета к игроку
  }
  else
  {
    ... //магия с петом для остановки
  }
 }
}
5 1 1
YURA_111
UAC Sergeant Major
Next rank: UAC Sergeant Major after 24 points
736

Doom Rate: 2.17
Ссылка на пост №5525 Отправлено: 18.05.14 17:59:26
Jurijus :
Как сделать, чтобы FRIENDLY-actor старался сократить расстояние до игрока, и стоял как вкопанный, если он рядом с игроком?


Сначала Актор пускай будет враждебным (без стейта Missile конечно). Когда актор подойдет на расстояние нужное тебе, используй функцию A_JumpIfCloser(float distance, str "state") - и укажи стейт. В этом стейте используй функцию A_changeFlag("FRIENDLY", 1). Далее додумаешь?
MyNameIs
- Corporal -
Next rank: = Corporal = after 20 points
80

Doom Rate: 2
Ссылка на пост №5526 Отправлено: 18.05.14 18:41:58
как можно заспавнить эффект взрыва где-либо в комнате, например, при нажатии кнопки?
+Ku6EPyXOBEPTKA+
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 27 points
1413

Doom Rate: 1.75
Ссылка на пост №5527 Отправлено: 18.05.14 18:52:19
MyNameIs :
как можно заспавнить эффект взрыва где-либо в комнате, например, при нажатии кнопки?

Да. Делаешь в декорейте актёра, представляющего взрыв, а затем через thingspawn заспавнить в нужном mapspot.
ChaingunPredator :
А чем функция сверху не справляется с этой задачей?

Ну справляться то он будет, но вот проблема в другом: не будет ли пет в стенках застревать? А в узких коридорах как быть?
1 1 2
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №5528 Отправлено: 18.05.14 19:16:03
+Ku6EPyXOBEPTKA+ :
Ну справляться то он будет, но вот проблема в другом: не будет ли пет в стенках застревать? А в узких коридорах как быть?

Пет что ли? Патруль поинты не предусматривают застревания в стенках, а обычный думовский ИИ.
5 1 1
рубероид
Recruit
Next rank: Marine after 8 points
12

Doom Rate: 1.5
Ссылка на пост №5529 Отправлено: 20.05.14 09:45:33
Привет всем!
У меня проблема. Искал по форуму, и в гугле, но не нашёл.
Более менее освоил основы маппинга. Сделал две карты, сначала в формате Doom. Потом одну из них переделал в UDMF. Вопрос: как правильно создать WAD, чтобы все карты были в формате UDMF? Возможно, вопрос покажется глупым, но сделать этого никак не могу :(


Или: как сделать так, чтобы ВСЕ карты в уже созданном WAD''е (в другом формате) были в формате UDMF?
MasterMind
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 51 points
1789

Doom Rate: 1.92
Ссылка на пост №5530 Отправлено: 20.05.14 16:10:36
рубероид
Конвертер в UDMF формат ищи
1 3
рубероид
Recruit
Next rank: Marine after 8 points
12

Doom Rate: 1.5
Ссылка на пост №5531 Отправлено: 21.05.14 10:23:53
MasterMind, я пробовал, намучился, но всё-таки конвертанул карту, но при попытке открыть её в GZDB получилась перекорёженная хрень:


Напомню, вопрос был как правильно создать WAD, чтобы все карты (а не как на втором скриншоте в моём предыдущем сообщении) изначально были в формате UDMF?
Dagamon
= 1st Lieutenant =
Next rank: - Captain - after 29 points
2061

Doom Rate: 1.04
Ссылка на пост №5532 Отправлено: 21.05.14 14:01:35
рубероид
Можно более надёжным способом сделать, просто скопировать все сектора и линии карты в редакторе (Выделить всё и CTRL+C), потом создать новую карту под UDMF формат и туда всё вставить (CTRL+V), и так с каждой картой.
1 3
рубероид
Recruit
Next rank: Marine after 8 points
12

Doom Rate: 1.5
Ссылка на пост №5533 Отправлено: 21.05.14 14:27:52
Dagamon, знаю, так можно с секторами, потом с монстрами, апечками ... (благо карт не много, пока). Я так делал. НО потом нужно будет все экшены заново проставлять, они ведь в UDMF другие!

Однако вопрос остаётся открытым ...
MasterMind
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 51 points
1789

Doom Rate: 1.92
Ссылка на пост №5534 Отправлено: 21.05.14 16:34:50
рубероид :
так можно с секторами, потом с монстрами, апечками ...


Зачем потом? Можно все сразу.
1 3
Zveraboy
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 113 points
1527

Doom Rate: 1.11
Ссылка на пост №5535 Отправлено: 21.05.14 20:47:28
Народ пробовал недавно возиться с модом Думзоне.

ниччего не вышло.
В акторах там где идёт код отвечающий как я понимаю за параметры оружия, я там в каждом оружие подописывал все классы игровые что есть в моде.
Не помогло.
Выдает ворохи ошибок......
2
LEX SAFONOV
UAC Sergeant Major
Next rank: UAC Sergeant Major after 75 points
685

Doom Rate: 1.49
Ссылка на пост №5536 Отправлено: 21.05.14 23:52:26
Правильно, ведь оружие, носимое конкретным классом пишется в коде самого класса(тобишь игрока)
Ameba
- Major -
Next rank: = Major = after 103 points
2837

Doom Rate: 2.32
Ссылка на пост №5537 Отправлено: 22.05.14 14:05:09
рубероид
Не понимаю проблемы, опиши подробнее. Каждую новую карту создаёшь в формате UDMF. Когда хочешь сохранить её в уже существующий вад с другой картой в формате UDMF, пользуешься командой Save Map Into в меню File думбилдера. Если карта изначально сделана в другом формате, то сохранение её в вад с картами UDMF её не изменит - как была в другом формате, так и останется. Конвертировать в UDMF вроде можно какими-то сторонними утилитами (не знаю деталей), или можно просто последовательно скопировать сектора/вещи и перерасставить акшоны (потому что они в сильно разных форматах будут очень разные) из старой карты в новую.
2 1 1
Zveraboy
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 113 points
1527

Doom Rate: 1.11
Ссылка на пост №5538 Отправлено: 22.05.14 19:09:33
LEX SAFONOV
Т.е копаться надо в классах?
2
Артём
- Sergeant -
Next rank: = Sergeant = after 44 points
296

Doom Rate: 1.44
Ссылка на пост №5539 Отправлено: 22.05.14 20:11:34
С обычным Дум Билдер 2 это можно провернуть?
1
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №5540 Отправлено: 22.05.14 22:45:25
Провернуть что?
5 1 1
Страница 277 из 352Перейти наверх Пред.  1, 2, 3 ... 276, 277, 278 ... 350, 351, 352  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!