Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 157, 158, 159 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
YURA_111
UAC Sergeant Major
Next rank: Chief Petty Officer after 82 points
768

Doom Rate: 1.98

Posts quality: +136
Ссылка на пост №3141 Отправлено: 17.04.18 17:51:26
Void Weaver:
прописать собственный обит для разных акторов-"абилок" одного актора-"хозяина"?


Пример:
Obituary "%o was killed by an Sergeant."

ну это в том случае, если я правильно поняло твой "китайский"


Void Weaver:
Чем можно задать условие типа "если цель "летающая", то джамп к определённой атаке"?


A_CheckFlag ("NOGRAVITY", "Missile2", AAPTR_Target)
https://zdoom.org/wiki/A_CheckFlag
DOOMFOREVER
Marine
Next rank: Marine 1st class after 2 points
28

Doom Rate: 0.97

Posts quality: +6
Ссылка на пост №3142 Отправлено: 17.04.18 18:48:22
Нужна помощь. Есть оружие выполненное в 3D модели. Как мне добавить ему вспышку? Делать на самой модели или можно через flash? Если да то как?
Void Weaver
= Captain =
Next rank: - Major - after 144 points
2496

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3143 Отправлено: 17.04.18 20:06:02
YURA_111
Скрытый текст:

YURA_111:
P.S. Слушай - пиши по русски, а то пока разберешь-переведешь что ты там "начирикал" с пьяну, уже и забываешь чем хотел помочь.
YURA_111:
ну это в том случае, если я правильно поняло твой "китайский"
Без обид, но я правда не понимаю что тебя не устраивает в моих формулировках. Похоже что либо у тебя проблемы с восприятием текста, либо же я действительно заработал "ачивку" "грандмастер анти-красноречия" поскольку за ~10 лет форумного общения ты - первый человек который заявляешь о неудобочитаемости моих предложений. Если у тебя есть конкретные претензии к формулировкам, готов обсудить это приватно.


YURA_111:
Пример:
Obituary "%o was killed by an Sergeant."
И нет, я имел в виду совсем другое. Допустим у нас есть моб-актор "MadImp", помимо мили он умеет атаковать прожектилями "Missile1" и "Missile2" через соответствующие отдельные акторы-абилки.
И собственно вопрос: можно ли прописать чтобы смерть цели от "Missile1" актора вызывала "%o was killed with fire", тогда как смерть от актора "Missile2" вызывала "%o was screamed to death by MadImp" например? Так понятно?


YURA_111:
A_CheckFlag
Уже нашёл, похоже то что надо. Возможно туплю, но в функции же допускается проверка только одного флага; а как записать проверку двух одновременно? Через anonymous functions?

DOOMFOREVER
Попробуй через A_GunFlash, которая должна вызывать Flash стэйт.

Рейтинг сообщения: +1, отметил(и): DOOMFOREVER
1 9 1
YURA_111
UAC Sergeant Major
Next rank: Chief Petty Officer after 82 points
768

Doom Rate: 1.98

Posts quality: +136
Ссылка на пост №3144 Отправлено: 17.04.18 21:05:46
Void Weaver:
а как записать проверку двух одновременно?


TNT1 A 0 A_CheckFlag ("NOGRAVITY", "Missile2", AAPTR_Target)
TNT1 A 0 A_CheckFlag ("Float", "Missile2", AAPTR_Target)
TNT1 A 0 A_CheckFlag ("какойтодругойфлаг", "Missile99", AAPTR_Target)

Но зачем проверять два флага? У летающих монстров обычно оба присутствуют всегда, а это значит, что для проверки достаточно одного флага...

Void Weaver:
можно ли прописать чтобы смерть цели от "Missile1"

По-моему нужно прописывать тогда обитуари самому снаряду

Вот пример:
https://zdoom.org/wiki/Classes:BFGBall

Рейтинг сообщения: +1, отметил(и): Void Weaver
Void Weaver
= Captain =
Next rank: - Major - after 144 points
2496

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3145 Отправлено: 17.04.18 21:27:14
О как всё просто... А я-то думал что прыжок выполнится сразу после первой строки не доходя до проверки следующего а_чекфлага.
ЕДИТ2:
^
Какой же я тооормоз... Только сейчас допёрло... Ну правильно, если чек одного флага провалится то будет проведена проверка второго. Спасибо, Юра. ))
------------
Два флага для перестраховки против гипотетических кастомных мобов с хитрожопым кодом; ну может это и лишнее, так-то хватает и ногравити.

YURA_111:
По-моему нужно прописывать тогда обитуари самому снаряду
Собственно вопрос возник именно после неудачных попыток прописать некролог непосредственно снаряд-актору: убивает прожектилем, а выдаётся обит моб-актора. Прописывал и в LANGUAGE и в декорэйте снаряд-актора.

ЕДИТ:
YURA_111:
Вот пример:
Да я же говорю что через LANGUAGE лумп тоже пробовал:

Скрытый текст:

LANGUAGE
Скрытый текст:

[enu default]

OB_FIRESTORM = "%o was incinerated by infernal flame of the Firestorm";


Актор D вызывает актор FireStorm
Скрытый текст:

Actor D//iablo
{
Monster
Obituary "%o was blasted into scraps by the Diablo rage!"
HitObituary "%o was torn up by the Diablo"

States
{

FireStorm:
DICF I 1 bright A_CustomMissile("FStorm",0,random(-20,20),random(-22,22),0,0,CMF_AIMDIRECTION)
Goto see

}
}


Снаряд-актор FireStorm вызывает снаряд-актор FireS
Скрытый текст:

Actor FStorm
{
  Projectile
  Obituary "$OB_FIRESTORM" //"%o was incinerated by infernal flame of the Firestorm"
  States
  {
  Spawn:
    FLMA A 1  A_Weave(8, 0, random(1.0,5.0), 0.0)
	FLMA A 1  A_SpawnItemEx("FireS",0,0,0)
	FLMA B 1  A_Weave(8, 0, random(1.0,5.0), 0.0)
	Loop
    }
}


Снаряд-актор FireS с заданным Obituary
Скрытый текст:

Actor FireS
{
  Projectile
  Obituary "$OB_FIRESTORM" // "%o was incinerated by infernal flame of the Firestorm"
  States
  {
  Spawn:
    FLMA ABCDEFGHIJKLMNOPQRSTUVWXYZ 2  A_Explode(2, 128, 0)
    FLMB ABCDEFGHIJK 2  A_Explode(2, 128, 0)
    TNT1 A 0 A_Jump(192, "Death")
    Loop
   }
}

Итог одинаков: либо обит моб-актора, либо обит DamageFactor Fire - "%o was melted". Со снаряд-акторами без промежуточных акторов ситуация аналогична.

Добавлено спустя 4 часа 29 минут 49 секунд:

DOOMGABR:
Как сделать 3D портал?
... взять 3D модель и прикрутить портал?
ЕЯПП, линейный (типа хексеновских) - конфигурируется Line_SetPortal и Line_SetPortalTarget, а секторальный (типа думовских) - через Sector_SetPortal
1 9 1
MyNameIs
= 1st Lieutenant =
Next rank: - Captain - after 36 points
2054

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №3146 Отправлено: 18.04.18 17:07:27
в зскриптовом главном меню возможно отрисовывать разные картинки, подобные M_DOOM, в зависимости от переменной?
Скрытый текст:

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

1 1 1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №3147 Отправлено: 18.04.18 17:35:02
Можно отрисовывать, можно не отрисовывать, хоть анимированных трахающихся котов отрисовывай.
2 2 1
Anto96WS
= Master Corporal =
Next rank: - Sergeant - after 9 points
281

Doom Rate: 1.77

Posts quality: +88
Ссылка на пост №3148 Отправлено: 18.04.18 18:06:18
Кто-нибудь может помочь md2 модельку анимировать? Я самовар, я не умею
DOOMGABR
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 114 points
1176

Doom Rate: 1.87

Posts quality: +773
Ссылка на пост №3149 Отправлено: 18.04.18 19:28:02
Так кто-нибудь ответит наконец, можно таки запиливать в GZDoom 3D порталы? Чтобы портал был определённой высоты, а не строго по лайндэфу
Anto96WS
= Master Corporal =
Next rank: - Sergeant - after 9 points
281

Doom Rate: 1.77

Posts quality: +88
Ссылка на пост №3150 Отправлено: 18.04.18 19:35:38
DOOMGABR:
можно таки запиливать в GZDoom 3D порталы?

Я вот не знаю :[

Как от одного игрока к другому передать сообщение? (число) (в Zandronum)
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №3151 Отправлено: 18.04.18 19:36:22
DOOMGABR
нет
2 2 1
Void Weaver
= Captain =
Next rank: - Major - after 144 points
2496

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3152 Отправлено: 18.04.18 20:29:21
Anto96WS:
Кто-нибудь может помочь md2 модельку анимировать?
Например:
Скрытый текст:

An example of a walking animation for an MD2 model (uses frame names instead of frame numbers):

Model BloodHound              // Name of actor in DECORATE
{
   Path "models/bloodhound"   // Path to model in PK3
   Model 0 "bloodhound.md2"   // Model index, model file
   Skin 0 "bloodhound.pcx"    // Model index, texture (can be in any format supported by GZDoom)
   Scale 1.0 1.0 1.0          // Scale values

   Frame BHND A 0 "walk01"    // The sprite lump, sprite frame, model index, name of frame
   Frame BHND B 0 "walk02"
   Frame BHND C 0 "walk03"
   Frame BHND D 0 "walk04"
}

Бтв, буквально на предыдущей странице разбирался смежный вопрос.

Добавлено спустя 21 час 54 минуты 52 секунды:

JSO x:
Второй вопрос (скорость замороженного игрока): проще (и надёжнее) всего через скрипт ACS, с вызовом SetActorProperty. То есть ACS-код должен выглядеть как-то так:

For ( int MultiplierToNormal = 0; MultiplierToNormal < 100; MultiplierToNormal++ ) 
    {
    SetActorProperty( 0, APROP_Speed, 0.6 + 0.004 * MultiplierToNormal );
    Delay( 2 ); // Для ~5 секунд постепенно спадающей заморозки нужна задержка в 1.75.
    }
Умудрился заблудиться в трёх соснах... Изначальный вариант почему-то снижает скорость, но не возвращает её обратно:
Скрытый текст:

script "Diablo_Slow" (void)
For ( int MultiplierToNormal = 0; MultiplierToNormal < 100; MultiplierToNormal++ ) 
{ 
SetActivator(0, AAPTR_MASTER);
SetActorProperty( 0, APROP_Speed, (0.33 + (0.0067 * MultiplierToNormal) ) ); 
Delay( 2 );
}

В этом же варианте скорость динамична, но почему-то идёт ускорение вместо замедления:
Скрытый текст:

script "Diablo_Slow" (void)
For ( int MultiplierToNormal = 0; MultiplierToNormal < 100; MultiplierToNormal++ ) 
{ 
SetActivator(0, AAPTR_MASTER);
GetActorProperty( 0, (APROP_SPEED) * (0.33 + (0.0067 * MultiplierToNormal))); 
SetActorProperty( 0, APROP_SPEED, (GetActorProperty(0, APROP_SPEED)));
Delay( 2 );
}

Что не так-то?

Добавлено спустя 2 часа 14 минут 45 секунд:

Void Weaver:
3. Как задать актору перманентную "ауру", наносящую урон через равный интервал? Закрепить кольцо из TNT A кастоммиссайлей через A_Warp, а пульсацию задать тиками? Или надо иначе?
Зачитавшись вашим эпичным чэленджем от SSV про избирательных арчей, поначалу решил что A_RadiusGive будет ключевым элементом для создания "ледяной ауры", но походу этот вариант тоже не годится, поскольку аура должна:
Скрытый текст:

а) перманентно работать во всех стэйтах актора-носителя (следовательно должна являться самостоятельным актором)
б) закреплена на акторе-носителе (через A_Warp (AAPTR_MASTER), я полагаю)
б) замедлять (вызов скрипта)
в) бить ДмгФактором Ice (следовательно вариант с раздачей хелс-итема отрицательного значения через A_RadiusGive не катит)
г) избирательно мультинацеливающейся - бить ТОЛЬКО те акторы, ДЛЯ которых актор-носитель является ВРАЖДЕБНЫМ (т. е. чекать чью-либо враждебность по отношению к актору-носителю раньше него самого), при этом не снимая "прицел" с уже имеющихся целей.
С этим пунктом я даже не знаю с какой стороны подступиться... наверное только через комплексный скрипт?
д) и конечно же всё это должно срабатывать в определённом радиусе через равные тики

Не могли бы достопочтенные господа подсказать каким образом это можно прописать? Особенно интересует реализация пунктов в) и г).
1 9 1
Anto96WS
= Master Corporal =
Next rank: - Sergeant - after 9 points
281

Doom Rate: 1.77

Posts quality: +88
Ссылка на пост №3153 Отправлено: 19.04.18 20:50:37
Void Weaver:
Бтв, буквально на предыдущей странице разбирался смежный вопрос.


Спасибо конечно, но модельдеф я и сам ем нормально. Проблема конкретно с самой моделькой. Я анимировать не умею, а моделька без анимации есть.

Возможно я не в тот раздел попал или с таким мне только самому разбираться?

Добавлено спустя 6 минут 5 секунд:

Как можно сохранить степень поломанности у выкинутого оружия?
JSO x
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 106 points
1334

Doom Rate: 2.26

Posts quality: +726
Ссылка на пост №3154 Отправлено: 20.04.18 20:18:49
Anto96WS, смотря чем ты задаёшь поломанность (переменной, предметом инвентаря или дополнительным property из-под ZScript'а). Могу предложить тебе взглянуть на мод от отечественного моддера по имени Птица Дятел, который называется "Old Good RPG mod". Найдёшь ты там, думаю, то, что тебе нужно; да и все комментарии там в исходном ACS-коде на русском. Неэтично, конечно, чужие исходники без разрешения смотреть, но коль человек их оставил, то, скорее всего, он считал, что они кому-то пригодятся.

Рейтинг сообщения: +1, отметил(и): Anto96WS
2 7 1
Anto96WS
= Master Corporal =
Next rank: - Sergeant - after 9 points
281

Doom Rate: 1.77

Posts quality: +88
Ссылка на пост №3155 Отправлено: 20.04.18 20:38:03
JSO x, ссылки в теме умерли. Печаль
JSO x
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 106 points
1334

Doom Rate: 2.26

Posts quality: +726
Ссылка на пост №3156 Отправлено: 20.04.18 20:42:50
Anto96WS, жаль. Тогда вот здесь та версия файла, что у меня на компьютере была -- только что залил.

Рейтинг сообщения: +2, отметил(и): Anto96WS, Void Weaver
2 7 1
qwe8013
- Lance Corporal -
Next rank: = Lance Corporal = after 26 points
134

Doom Rate: 1.94

Posts quality: +43
Ссылка на пост №3157 Отправлено: 20.04.18 22:02:21
Вопрос такой: как с помощью скрипта запретить/разрешить игроку двигаться и как переместить игрока в определённую точку карты? GZDoom builder
Void Weaver
= Captain =
Next rank: - Major - after 144 points
2496

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3158 Отправлено: 21.04.18 06:13:59
2qwe8013:
"Заморозка" с помощью SetPlayerProperty, что-то типа:
Скрытый текст:

Script 1 (void)
{
SetPlayerProperty(1, 1, PROP_TOTALLYFROZEN); //замри
delay(70);
SetPlayerProperty(1, 0, PROP_TOTALLYFROZEN); //отомри
}

, либо через PROP_FROZEN если запрещать только ходьбу игрока.

Перемещение с помощью Teleport или Thing_Move. Типа:
Скрытый текст:

Script 2 ENTER
{
Thing_Move(0, destid, 0); //destid - tid куда перемещать
}

Да, для мультика ещё надо tid назначать, ЕЯПП.
========
JSO x, ссыль чего-то не пашет.

Может кто подскажет хотя бы по скрипту скорости? И кстати, для скорости монстров APROP_Speed похоже не катит, они начинают ползать. Полуркал, и правда:

It's sort of why when using SetActorProperty, APROP_Speed is an integer that completely overrides the base speed for monsters while it's a fixed-point that modifies the base speed for players, I'm guessing.


О! Может тогда лучше вообще без скрипта, декором?
Actor ColdTouch
{
pROJECTILE
States
{
Death:
TNT1 A 175 A_ChangeVelocity(velx/4, vely/4, velz/4, CVF_REPLACE, AAPTR_TARGET)
TNT1 A 175 A_ScaleVelocity("x.x", AAPTR_TARGET) // вот только как рассчитать значение х.х чтобы за последующие 5 секунд возвращало ровно 75% потерянной скорости?
}
}
1 9 1
MyNameIs
= 1st Lieutenant =
Next rank: - Captain - after 36 points
2054

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №3159 Отправлено: 21.04.18 08:14:12
Void Weaver:
Умудрился заблудиться в трёх соснах... Изначальный вариант почему-то снижает скорость, но не возвращает её обратно:

кого ты хочешь замедлить? игрока при попадании? или монстра, когда он пускает проджектайл

ну, на игроке все работает. если заменить активатора на AAPTR_PLAYER1
а на монстре не очень.. мб я не понял, как ты его запускал?

энивэй, с утреца для монстра я побробовал и родил такую хрень
Скрытый текст:

ACTOR DoomImp2 : DoomImp Replaces DoomImp
{
  Speed 20
  scale 2

  States
  {
  Missile:
  TNT1 A 0 acs_namedexecuteAlways ("SpeedUpStop",0,0,0,0)
    TROO EF 8 A_FaceTarget
    TROO G 6 
	 TNT1 A 0 acs_namedexecuteAlways ("SpeedUp",0,0,0,0)
    Goto See
  }
}


int zzz1 = 20.0;
int zzz = 0.0;


script "SpeedUp" (void)
{
zzz = 0.0;
while(zzz < zzz1)
{
SetActorProperty(0, APROP_SPEED, zzz);
zzz = zzz + (zzz1/ 180);
delay(1);
}
SetActorProperty(0, APROP_SPEED, zzz1);
}


script "SpeedUpStop" (void)
{
zzz = zzz1;
}


Рейтинг сообщения: +1, отметил(и): Void Weaver
1 1 1
Void Weaver
= Captain =
Next rank: - Major - after 144 points
2496

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3160 Отправлено: 21.04.18 08:24:26
Void Weaver:
// вот только как рассчитать значение х.х чтобы за последующие 5 секунд возвращало ровно 75% потерянной скорости?
Чччёрт, не узнал в гриме знаменатель прогрессии. Получается 1.0079990316378238; я правильно понимаю что такое число гозза не примет?

Хочу чтобы удар замедлял ВСЕХ - И моба И игрока.

MyNameIs:
ну, на игроке все работает
Первый же скрипт после цитируемого, замедлял И моба И игрока, но скорость НЕ нормализовывалась. Ну и плюс мобы были замедлены явно не на ~66%, а значительно сильнее. А МАСТЕР как раз стоял для того чтобы принимать разные цели If(SetActivator(0, AAPTR_TARGET)) SetResultValue(SetActivator(0, AAPTR_MASTER), через миссайль с +HITMASTER.

MyNameIs:
с утреца для монстра я побробовал и родил такую хрень
Выглядит прикольно.
1) глобально объявляются zzz и zzz1
2) имп стопит цель zzz1, превращенным в 0
3) и до тех пор пока zzz меньше глобального zzz1 идёт счётчик по +0,25 APROP_SPEED
Так? Но тогда всё равно получается что после "разморозки" у всех бывших целей будет выравненная скорость. Оригинально, но не то что мне надо.
1 9 1
Страница 158 из 200Перейти наверх Пред.  1, 2, 3 ... 157, 158, 159 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!