Автор | Сообщение |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 14.09.07 06:36:42 | | | Не-а, не вижу эффекта, не получается...
Вот как оно выглядит:
| actor Flshball { radius 8 height 8 speed 128 renderstyle Add alpha 0.75 PROJECTILE +NOBLOCKMAP +NOGRAVITY states { Spawn: FLBL A 1 A_CustomMissile("Flshball1",0,0,0) FLBL BCDEF 1 bright goto Death Death: FLBL F 1 bright stop } }
actor Flshball1 { radius 8 height 8 renderstyle Add alpha 0.75 +NOBLOCKMAP +NOGRAVITY states { Spawn: FLBL A 1 A_CustomMissile("Flshball2",0,0,0) FLBL BCDEF 1 bright goto Death Death: FLBL F 1 bright stop } }
actor Flshball2 { radius 8 height 8 renderstyle Add alpha 0.75 +NOBLOCKMAP +NOGRAVITY states { Spawn: FLBL A 1 A_CustomMissile("Flshball3",0,0,0) FLBL BCDEF 1 bright goto Death Death: FLBL F 1 bright stop } }
actor Flshball3 { radius 8 height 8 renderstyle Add alpha 0.75 +NOBLOCKMAP +NOGRAVITY states { Spawn: FLBL ABCDEF 1 bright goto Death Death: FLBL F 1 bright stop } } |
Вначале я еще ставил им скорость. Первому 128, второму 64, потом 32... но все было точно так же. | |
|
2 |
1 |
2 |
 |
|
| |
Falcor - Master Sergeant -
 | 404 |
Doom Rate: 2.54
|
Отправлено: 14.09.07 06:47:44 | | | Полагаю, здесь уже можно помочь лишь тонкой настройкой. | |
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.06 Posts quality: +103 |
Отправлено: 14.09.07 10:13:44 | | | А вот как сделать оружие, выстрел которого притягивает к себе врагов? | |
|
| |
Falcor - Master Sergeant -
 | 404 |
Doom Rate: 2.54
|
Отправлено: 14.09.07 10:35:24 | | | dukenator Кажется, в wrw.wad был гарпун, если тебе интересно. | |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 14.09.07 12:04:04 | | | Falcor Но вот Shadowman привел пример рокеттрейла (там даже скорости у трейла не было, кстати, почему?), и я в основном скопировал - но эффекта не видно вообще. Я думаю, если бы просто были криво подобраны параметры, хоть что-то было бы заметно...
Вообще, это не самое важное. Я хотел попросить другое. Вернемся к описанию "кнопки ВКЛ/ВЫКЛ" от Guest'а:
| 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 |
Я был бы ПРЕМНОГО благодарен, если понимающий человек даст мне комментарии к... ну, наверное, к каждой строчке - описание, как действует JumpIfInventory и проч., т.к. я хоть и читал ВИКИ, кое-что мне не совсем понятно. А то Guest услужливо откомментировал единственную строчку, которая как раз и была абсолютно понятна... В общем, помогите мне продолжить обучение декорейту, пожалуйста 
ADDED:
И еще одна важная штука. Я в KEYCONF как положено создал новый раздел под кнопки, где есть функция Reload. Она у меня упорно отказывается работать. Выглядит это так (выдрано из Zdoom advanced):
| addmenukey "Reload" +z_reload alias +z_reload "use ReloadActive" alias -z_reload "use ReloadCancel" defaultbind r +z_reload |
Я не совсем понимаю - на что ссылается "use ReloadActive" и "use ReloadCancel"? | |
|
2 |
1 |
2 |
 |
|
| |
Shadowman UAC General
 | 8712 |
Doom Rate: 2.06 Posts quality: +2246 |
Отправлено: 14.09.07 13:04:28 | | | zer0: | (там даже скорости у трейла не было, кстати, почему?), |
Cкорость не ставил, так как она нулевая (и по умолчанию оно и задает 0). Насчет команд: A_JumpIfInventory("LightSwitch", x, y) - перебрасывает на стейт +y к текущему, если в инвентаре находится предмет LightSwitch, в количестве хотя бы x. Имхо в вики про это достаточно понятно написано. zer0 Ты лучше сперва сооруди какую-нибудь пушку попроще, а то сразу за фонарь взялся. Вот на ее примере и обкатаешь базовые вещи оружейного декорэйта, а потом уже и фонарь сделаешь Про релоад - это к Guest'у. | |
|
1 |
7 |
2 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 14.09.07 13:29:13 | | | Shadowman ну так если я решил делать такой вад, какой я решил, то и объекты к нему соответствующие... и фонарь - важнее всего. Кроме того, если не считать возможности "вкл/выкл", я уже добился практически того, что хотел. Я вообще уже успел воткнуть туда шотган и револьвер, правда с револьвером какие-то непонятки... все с тем же релоадом.
Про JumpIfInventory - смысл-то я понял. Только некоторые мелочи не совсем понятны. Например, что будет меняться, если я буду увеличивать число тиков в той строке, где стоит JumpIfInventory? | |
|
2 |
1 |
2 |
 |
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.06 Posts quality: +103 |
Отправлено: 14.09.07 13:39:03 | | | Falcor Выложи, пожалуйста!
ЗЫ Там сделано через LoreShot? интерестно... ЗЗЫ Да не, мне нужно чтобы монстры притягивались не к игроку, а к шарику - выстрелу... | |
|
| |
Falcor - Master Sergeant -
 | 404 |
Doom Rate: 2.54
|
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.06 Posts quality: +103 |
Отправлено: 14.09.07 14:01:48 | | | zer0: | Например, что будет меняться, если я буду увеличивать число тиков в той строке, где стоит JumpIfInventory? |
Ничего особо выдающегося не будет... В той строке, где у тебя стоит jumpifinventory всегда ставь ноль тиков - так будет надежнее. | |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 14.09.07 14:07:59 | | | Так, с перезарядкой мне все стало более-менее ясно. Но вот есть косяк. Выдернул я из "WW-Diaz" револьвер, заставил его у себя работать. Теперь начал пытаться заставить его автоматически перезаряжаться, когда барабан пустеет (в WW-Diaz он перезаряжается только reload), и, в качестве образца, стал смотреть на выдранную из Zdoom Advanced Weapons двустволку, которая успешно перезаряжается и кнопкой и по опустении боезапаса. Вот какой у меня получился револьвер:
| ACTOR Revolver : Weapon 30301 { //$Category weapons Inventory.PickupMessage "I got a Revolver" Inventory.PickupSound "webpick" Weapon.AmmoType "MagnumClip" Weapon.AmmoGive 0 Weapon.AmmoUse 1 Weapon.AmmoType2 "ExtraMagnumAmmo" Weapon.AmmoGive2 2 Weapon.AmmoUse2 0 Radius 12 Height 12 scale 0.35 +AMMO_OPTIONAL +NOEXTREMEDEATH +NOAUTOFIRE States { Spawn: REVP A 1 LOOP Select: REVG A 1 A_Raise Loop Deselect: REVG A 1 A_Lower Loop Ready: REVG A 0 A_JumpIfInventory("Reload",1,2) REVG A 1 A_WeaponReady Loop //Reload: TNT1 A 0 A_JumpIfInventory("MagnumClip",4,2) TNT1 A 0 A_JumpIfInventory("ExtraMagnumAmmo",1,2) TNT1 A 0 A_WeaponReady Goto Ready+1 REVR ABC 2 REVR D 3 A_PlayWeaponSound("webload") REVR EFH 3 REVR I 25 TNT1 A 0 A_TakeInventory("ExtraMagnumAmmo",1) TNT1 A 0 A_GiveInventory("MagnumClip",7) REVR J 3 REVR KL 4 REVR M 3 REVR NO 5 REVR PQ 2 REVR RS 1 REVG ABAABBAAABBB 1 goto Ready Fire: REVG A 0 A_JumpIfNoAmmo(6) REVG A 0 A_PlayWeaponSound("webfire") REVG BA 2 REVF A 0 BRIGHT A_GunFlash REVF A 2 BRIGHT A_FireBullets(2,1,-1,30,0,1) REVG D 1 A_FireCustomMissile("PistolSmokeSpawner",0,0,6,8) REVG FEDCAA 1 Goto Ready REVG A 0 A_WeaponReady Goto Ready+2 AltFire: REVG C 2 REVM A 2 A_PlayWeaponSound("melee/swing") REVM B 1 REVM C 1 A_CustomPunch(5,0,0,"HitPuff") REVM DE 1 REVM FGHI 2 REVG A 2 Goto Ready Flash: TNT1 A 0 TNT1 A 2 A_Light2 TNT1 A 2 A_Light1 TNT1 A 1 A_Light0 Stop } } |
Ну и не хочет он перезаряжаться автоматически, никак. При нажатии reload - все как надо, а когда просто пустеет магазин - только выдает свой стандартный сиквенс (просто прокрутка барабана вхолостую), и ничего больше. Сижу, пялюсь, не могу понять, в чем тут дело...
ADDED:
А также мне интересно, можно ли заставить оружие стрелять сразу несколькими видами проджектайлов? Причем не по очереди, а одновременно. | |
|
2 |
1 |
2 |
 |
|
| |
Guest = 2nd Lieutenant =
 | 1473 |
 Doom Rate: 2.5 Posts quality: +182 |
Отправлено: 14.09.07 18:44:53 | | | dukenator: | В той строке, где у тебя стоит jumpifinventory всегда ставь ноль тиков - так будет надежнее. |
Поясни, чем надежнее?
zer0: | а когда просто пустеет магазин - только выдает свой стандартный сиквенс |
Собственно и не должен, из того что написано.
zer0: | А также мне интересно, можно ли заставить оружие стрелять сразу несколькими видами проджектайлов? Причем не по очереди, а одновременно. |
В Греции все есть. | |
|
3 |
1 |
 |
|
| |
Shadowman UAC General
 | 8712 |
Doom Rate: 2.06 Posts quality: +2246 |
Отправлено: 14.09.07 19:27:04 | | | zer0: | Причем не по очереди, а одновременно. |
"Одновременность" достигается тем, что указываешь величину тика = 0 напротив каждой строчки, испускающей снаряд. Вот и все. | |
|
1 |
7 |
2 |
 |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 14.09.07 22:28:23 | | | Ладно, к черту этот револьвер. Оставлю так. Это даже будет давать хороший эффект, учитывая тематику того, над чем я работаю...
Shadowman ну так вроде говорилось, что против запуска снаряда не стоит ставить 0. Лично у меня при этом игра вылетает при попытке стрелять. | |
|
2 |
1 |
2 |
 |
|
| |
Shadowman UAC General
 | 8712 |
Doom Rate: 2.06 Posts quality: +2246 |
Отправлено: 15.09.07 00:24:40 | | | zer0 А зачем при всех ноль? Ставь на последнем выстреле число, а на предыдущих нули. | |
|
1 |
7 |
2 |
 |
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.06 Posts quality: +103 |
Отправлено: 15.09.07 02:38:03 | | | Guest: | Поясни, чем надежнее? |
Тем, что не будет задержки перед "прыжком", и если прыжок стоит в самом начале кода, то в случае инвентаря действие без задержки переместится на ту часть кода, куда идет прыжок.
Люди, объясните пожалуйста, как сделать оружие типа БФГ, чтобы к шарику притягивало монстров! | |
|
| |
zer0 = Sergeant Major =
 | 655 |
Doom Rate: 2.13 Posts quality: +57 |
Отправлено: 15.09.07 10:57:10 | | | Люди, а вот у меня проблема с картинками... Мне, значит, понадобилось сделать обычную руку, держащую фонарь, без перчатки (та, что в Doom 3 Weapons мне не подходила). И где ее взять? Подумал сделать из обычной фотографии, но при перемене цвета в indexed получается очень посредственное изображение, а нарисовать его сам с нуля я вряд ли смогу... Может в качестве ресурсника что-нибудь подскажете? 
ADDED: и еще... нет ли способа как-нибудь замедлить расход патронов у оружия? Ну, типа, чтобы оно использовало не 1 за выстрел, а меньше... я знаю, что цифры меньше 1 оно не воспринимает. Просто я пытался сделать у фонаря расходуемые батарейки, а в таком случае, чтобы полного заряда хватало хотя бы на 1.5 реальных часа, ему приходится ставить 600000 патронов, а быстро бегущие цифры выглядят не ахти как, да и к тому же в стандартном думовском HUD еще и не отображаются корректно... | |
|
2 |
1 |
2 |
 |
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.06 Posts quality: +103 |
Отправлено: 15.09.07 12:11:24 | | | zer0 Сделай примерно вот так: ... Fire: FONR A 0 A_Jump(32,2) FONR A 3 A_FireCustomMissile("Light",0,0,0) Goto Ready FONR A 3 A_FireCustomMissile("Light,0,1,0) Goto Ready ... При выстреле светом в 1/8 доле случаев 1 патрон расходуется, в остальных - 0. Так можно снизить расход патронов. | |
|
| |
Falcor - Master Sergeant -
 | 404 |
Doom Rate: 2.54
|
Отправлено: 15.09.07 12:39:07 | | | dukenator К черту рандом, проще сделать встроенный АЦС-скрипт. | |
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.06 Posts quality: +103 |
Отправлено: 15.09.07 13:27:04 | | | Falcor Можно и АЦС, но это, по моему, будет уже перебор...
zer0 Ну зачем фонарь!? Чувак, не с того надо начинать! Учится делать оружие надо начинать или с пистолетов(без перезарядки и прочих гадостей жизни), или с БФГ... | |
|
| |