Автор | Сообщение |
Guest = 2nd Lieutenant =
 | 1473 |
 Doom Rate: 2.5 Posts quality: +182 |
Отправлено: 13.09.07 19:40:16 | | | zer0: | но ноль тиков - это копия того, что написано про стандартный думовский плазмаган, там то же самое 0_о |
http://208.78.96.242/wiki/Classes:PlasmaRifle
Гды ты там ноль тиков увидел?
zer0: | врезается в стену и остается лежать на полу, сияя |
Такое тоже встречалось; это когда актор, исполняющий по мысли роль прожектайла не определен как прожектайл. Глянь, например сюда: http://208.78.96.242/wiki/Classes:Rocket
Ключевое слово - PROJECTILE | |
|
3 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 13.09.07 19:41:32 | | | Опа! У меня почти получилось! Почти настоящий свет, осталось только парочку вещей подкрутить 
ADDED:
Есть! Я это сделал! Мой первый сложный декорейт объект Это фонарь и он действительно довольно натурально светит на ограниченной дистанции. Остался лишь последий вопрос. Как сделать, чтобы последовательность Fire включалась при нажатии кнопки огня и выключалась при втором нажатии? А то держать кнопку зажатой немного напрягает...
Да, и еще одно. Скажем так... количество снарядов на один определнный отрезок линии в определенный момент времени зависит только от скорости снарядов?
ADDED:
Нет, не совсем получилось... Все-таки, видно, что это отдельные шары, а не цельная линия света. Если бы их было больше, и они стояли бы плотнее друг к другу... Но как? Если я увеличиваю скорость больше сотни, то получается, что вспышек остается всего две - одна на месте самого плейера, а другая - в конце "луча".
ADDED:
Да, если наоборот уменьшить скорость, то "луч" получается более плотным. Вот так:
| actor Flshball replaces PlasmaBall { spawnid 51 radius 13 height 8 speed 32 renderstyle Add alpha 0.75 PROJECTILE states { Spawn: FLBL A 5 bright goto Death Death: FLBL A 1 bright stop } } |
Но единственный косяк, что в таком случае с ним как раз и можно "как со струей" играться... Впрочем, не то, чтобы это было бы сильно плохо. Однако жаль, что нет эффекта рассеивания света. | |
|
2 |
1 |
2 |
 |
|
| |
Guest = 2nd Lieutenant =
 | 1473 |
 Doom Rate: 2.5 Posts quality: +182 |
Отправлено: 13.09.07 19:59:23 | | | zer0: | Все-таки, видно, что это отдельные шары |
Шары динамик лайта, или спрайты?
zer0: | Как сделать, чтобы последовательность Fire включалась при нажатии кнопки огня и выключалась при втором нажатии? А то держать кнопку зажатой немного напрягает... |
Тебе уже сказали, как это можно ПОПРОБОВАТЬ. | |
|
3 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 13.09.07 20:09:48 | | | | Сделать проверку специтема в [Ready], а на [Fire] сделать выдачу\изъятие этого итема (в зависимости от того, есть ли он у игрока). |
Вот что мне сказали. Если честно, я не понял. КАКОГО итема? И ЧТО должно быть связано с этой проверкой? | |
|
2 |
1 |
2 |
 |
|
| |
Guest = 2nd Lieutenant =
 | 1473 |
 Doom Rate: 2.5 Posts quality: +182 |
Отправлено: 13.09.07 20:28:43 | | | zer0: | Вот что мне сказали. Если честно, я не понял. КАКОГО итема? И ЧТО должно быть связано с этой проверкой? |
Ох...
Actor LightSwitch { inventory.maxamount 1 -INVBAR // Это, впрочем, необязательно. }
ACTOR Doom3Flashlight : Weapon 30030 { ...
Ready: D3FG A 1 A_WeaponReady TNT1 A 0 A_JumpIfInventory("LightSwitch", 1, 1) LOOP TNT1 A 0 D3FG A 1 A_FireCustomMissile ("FlshBall") LOOP
Fire: D3FG A 0 D3FG A 0 A_JumpIfInventory("LightSwitch", 1, 3) D3FG A 1 A_GiveInventory("LightSwitch", 1) D3FG A 1 A_PlaySound(string soundname) //если захочешь озвучить щелчок выключателя GOTO Ready D3FG A 0 D3FG A 1 A_TakeInventory("LightSwitch", 1) D3FG A 1 A_PlaySound(string soundname) GOTO Ready
Что-то в этом духе. Писал на коленке, поэтому могут быть ошибки. Время, необходимое на данные действия прикинешь сам, единички там стоят условно.
zer0: | Но единственный косяк, что в таком случае с ним как раз и можно "как со струей" играться... Впрочем, не то, чтобы это было бы сильно плохо. Однако жаль, что нет эффекта рассеивания света. |
Здесь тоже есть возможность поиграться с параметрами и попытаться достичь приемлемого результата без снижения скорости. Рассеяние тоже можно попробовать (думаю знаю как, хотя заранее не обещаю, что будет выглядеть как надо, ибо раньше не делал) | |
|
3 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 13.09.07 20:59:45 | | | Guest спасибо, это уже лучше Я ж полный ламер в декорейте, прошу учитывать...
Я не все понял, но сейчас попробую разобраться... | |
|
2 |
1 |
2 |
 |
|
| |
Falcor - Master Sergeant -
 | 404 |
Doom Rate: 2.54
|
Отправлено: 13.09.07 21:01:45 | | | zer0: | разве в Ready вообще нужно что-то про этот итем писать? |
Еще как нужно. По сути, фонарь стреляет светом на стейте [Ready], а стейт [Fire] используется лишь для переключения режима ВКЛ/ВЫКЛ. | |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 13.09.07 21:02:59 | | | Да, я снова кое-что напутал... сейчас попробую вписать все так. | |
|
2 |
1 |
2 |
 |
|
| |
Guest = 2nd Lieutenant =
 | 1473 |
 Doom Rate: 2.5 Posts quality: +182 |
Отправлено: 13.09.07 21:12:49 | | | zer0: | разве в Ready вообще нужно что-то про этот итем писать? |
Декорейт в известный границах довольно гибкая штука; тебе не все равно, из-под какого стейта работает актор? Тут вопрос удобства, а в нашем случае даже и необходимость. Все эти "реди", "селекты" и пр. - ярлыки для движка, а не тебя. Кстати, последняя версия Здума позволяет создавать свои стейты, если на то есть необходимость. Например, какое-то действия актора засунуть в стейт VinnyPooh, и адресовать по необходимости туда GOTO VinnyPooh. Я абсолютно серъезно. | |
|
3 |
1 |
 |
|
| |
Falcor - Master Sergeant -
 | 404 |
Doom Rate: 2.54
|
Отправлено: 13.09.07 21:14:21 | | | Guest: | Кстати, последняя версия Здума позволяет создавать свои стейты, если на то есть необходимость. |
Так-так-так-так... Постой. Не пнешь ссылкой? Это мне будет очень полезно.  | |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 13.09.07 21:14:42 | | | Гм... в общем, как бы получилось. Но кое-какие неприятственные вещи есть... Например, "включенный" свет дергается - это, я думаю, естественно, раз поток проджектайлов идет не беспрерывно, а постоянно появляясь и исчезая. Во-вторых, на нажатие фонарь реагирует как-то дерганно... надо очень быстро и аккуратно стукнуть по кнопке, иначе он может не включиться, а если зажать - включится, и выключиться, когда кнопка отожмется. Поэтому, я не знаю, может обойтись более простым вариантом... | |
|
2 |
1 |
2 |
 |
|
| |
Falcor - Master Sergeant -
 | 404 |
Doom Rate: 2.54
|
Отправлено: 13.09.07 21:16:58 | | | zer0: | Во-вторых, на нажатие фонарь реагирует как-то дерганно... надо очень быстро и аккуратно стукнуть по кнопке, иначе он может не включиться, а если зажать - включится, и выключиться, когда кнопка отожмется. |
Кажется, что-то было для таких случаев... К сожалению, точно не помню, но Гест должен знать (ЗЫ: Гест, сорри, что стрелки перевожу... ) | |
|
| |
Guest = 2nd Lieutenant =
 | 1473 |
 Doom Rate: 2.5 Posts quality: +182 |
Отправлено: 13.09.07 21:33:09 | | | Falcor: | Постой. Не пнешь ссылкой? |
Кину ссылку на мод WW, где это применялось, когда найду.
zer0: | Поэтому, я не знаю, может обойтись более простым вариантом... |
А это и есть простой вариант Тюнить нужно, а не руки опускать.
zer0: | Во-вторых, на нажатие фонарь реагирует как-то дерганно... надо очень быстро и аккуратно стукнуть по кнопке, иначе он может не включиться, а если зажать - включится, и выключиться, когда кнопка отожмется. |
Это происходит из-за того, что переключение занимает слишком мало времени. Чтобы лучше реагировал на переключения, стоит удлинить промежуток WeaponReady, а поскольку это увиличивает паузы между пусками прожектайлов, то лечить надо так - прожектайл в полете периодически выпускает такие же прожектайлы, как и он сам (есс-но в том же направлении), но скорость которых чуть меньше. Отставая, они будут заполнять промежутки и освещать их. Если надо, они в свою очередь так же могут выпускать еще более медленные фонарики. Скорости нужно подбирать самому, пока не начнет нравится, заочно не насоветуешь.
Кстати, рассеяние тоже можно изобразить. Динамик лайт приписывается определенному фрейму данного актора, если в полете фреймы называть по-разному, то им соответственно можно приписывать динамиклайты большего радиуса, что и эмулирует некоторое рассеяние.
Короче, все проблемы лечатся терпеливой настройкой, это точно говорю. | |
|
3 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 13.09.07 21:36:54 | | | Guest насчет рассеяния по кадрам - до этого я уже догадался и сделал. А вот насчет выпуска проджектайлами других... Это типа надо в спауне самого актора-проджектайла писать запуск другого через A_FireCustomMissile? | |
|
2 |
1 |
2 |
 |
|
| |
Shadowman UAC General
 | 8712 |
Doom Rate: 2.06 Posts quality: +2246 |
Отправлено: 13.09.07 21:41:38 | | | zer0 Вот простой пример таких проджектайлов: ACTOR CannonFireBall { obituary "%o rode %k's fireball." radius 11 height 8 speed 25 damage 20 seesound "weapons/rocklf" deathsound "weapons/rocklx" PROJECTILE +RANDOMIZE states { Spawn: FIRB AAAA 1 bright A_CustomMissile("FireBallTrail",0,0,0) loop Death: FIRB B 4 bright A_Explode FIRB C 4 bright FIRB DEFGHIJ 4 bright stop } }
ACTOR FireBallTrail { RENDERSTYLE Translucent Alpha 0.35 +NOBLOCKMAP +NOGRAVITY States { Spawn: FIRT AABBCCDDEE 2 Stop } } По необходимости скорость у "следа" может быть не нулевая, также "следы" могут выпускать вторичные следы и т.д. до нужной густоты. | |
|
1 |
7 |
2 |
 |
|
| |
Guest = 2nd Lieutenant =
 | 1473 |
 Doom Rate: 2.5 Posts quality: +182 |
Отправлено: 13.09.07 21:41:46 | | | zer0: | Это типа надо в спауне самого актора-проджектайла писать запуск другого через A_FireCustomMissile? |
Не обязательно в спауне, где удобно. Только не A_FireCustomMissile, поскольку вроде это только функция оружия, а "автором" яаляется уже сторонний актор, а не фонарик, а A_CustomMissile. | |
|
3 |
1 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 13.09.07 22:31:32 | | | что означает текст ошибки: ?
В принципе, что это значит ,я понимаю, но не понимаю, почему. Он спотыкается на строчке
| FLBL A 1 A_CustomMissile("Flshball1,0,0,0") |
Это текст в акторе Flshball. Flshball1 должен быть его "следом"... | |
|
2 |
1 |
2 |
 |
|
| |
Falcor - Master Sergeant -
 | 404 |
Doom Rate: 2.54
|
Отправлено: 13.09.07 22:34:14 | | | FLBL A 1 A_CustomMissile("Flshball1",0,0,0) Так будет правильнее. | |
|
| |
Guest = 2nd Lieutenant =
 | 1473 |
 Doom Rate: 2.5 Posts quality: +182 |
|
3 |
1 |
 |
|
| |
Falcor - Master Sergeant -
 | 404 |
Doom Rate: 2.54
|
Отправлено: 13.09.07 22:36:30 | | | Спс  Будем учиться дальше  | |
|
| |