Автор | Сообщение |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 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... но все было точно так же. | |
|
| |
Falcor - Sergeant Major -
 | 567 |
Doom Rate: 2.54
|
Отправлено: 14.09.07 06:47:44 | | | Полагаю, здесь уже можно помочь лишь тонкой настройкой. | |
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.68
|
Отправлено: 14.09.07 10:13:44 | | | А вот как сделать оружие, выстрел которого притягивает к себе врагов? | |
|
| |
Falcor - Sergeant Major -
 | 567 |
Doom Rate: 2.54
|
Отправлено: 14.09.07 10:35:24 | | | dukenator
Кажется, в wrw.wad был гарпун, если тебе интересно. | |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 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"? | |
|
| |
Shadowman = UAC Commissar =
 | 6603 |
Doom Rate: 2.46
|
Отправлено: 14.09.07 13:04:28 | | | zer0 : | (там даже скорости у трейла не было, кстати, почему?), |
Cкорость не ставил, так как она нулевая (и по умолчанию оно и задает 0).
Насчет команд: A_JumpIfInventory("LightSwitch", x, y) - перебрасывает на стейт +y к текущему, если в инвентаре находится предмет LightSwitch, в количестве хотя бы x.
Имхо в вики про это достаточно понятно написано.
zer0
Ты лучше сперва сооруди какую-нибудь пушку попроще, а то сразу за фонарь взялся. Вот на ее примере и обкатаешь базовые вещи оружейного декорэйта, а потом уже и фонарь сделаешь
Про релоад - это к Guest'у. | |
|
1 |
6 |
2 |
 |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 14.09.07 13:29:13 | | | Shadowman
ну так если я решил делать такой вад, какой я решил, то и объекты к нему соответствующие... и фонарь - важнее всего. Кроме того, если не считать возможности "вкл/выкл", я уже добился практически того, что хотел. Я вообще уже успел воткнуть туда шотган и револьвер, правда с револьвером какие-то непонятки... все с тем же релоадом.
Про JumpIfInventory - смысл-то я понял. Только некоторые мелочи не совсем понятны. Например, что будет меняться, если я буду увеличивать число тиков в той строке, где стоит JumpIfInventory? | |
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.68
|
Отправлено: 14.09.07 13:39:03 | | | Falcor
Выложи, пожалуйста!
ЗЫ Там сделано через LoreShot? интерестно...
ЗЗЫ Да не, мне нужно чтобы монстры притягивались не к игроку, а к шарику - выстрелу... | |
|
| |
Falcor - Sergeant Major -
 | 567 |
Doom Rate: 2.54
|
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.68
|
Отправлено: 14.09.07 14:01:48 | | | zer0 : | Например, что будет меняться, если я буду увеличивать число тиков в той строке, где стоит JumpIfInventory? |
Ничего особо выдающегося не будет...
В той строке, где у тебя стоит jumpifinventory всегда ставь ноль тиков - так будет надежнее. | |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 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:
А также мне интересно, можно ли заставить оружие стрелять сразу несколькими видами проджектайлов? Причем не по очереди, а одновременно. | |
|
| |
Guest - 2nd Lieutenant -
 | 1356 |
 Doom Rate: 2.77
|
Отправлено: 14.09.07 18:44:53 | | | dukenator : | В той строке, где у тебя стоит jumpifinventory всегда ставь ноль тиков - так будет надежнее. |
Поясни, чем надежнее?
zer0 : | а когда просто пустеет магазин - только выдает свой стандартный сиквенс |
Собственно и не должен, из того что написано.
zer0 : | А также мне интересно, можно ли заставить оружие стрелять сразу несколькими видами проджектайлов? Причем не по очереди, а одновременно. |
В Греции все есть. | |
|
3 |
1 |
 |
|
| |
Shadowman = UAC Commissar =
 | 6603 |
Doom Rate: 2.46
|
Отправлено: 14.09.07 19:27:04 | | | zer0 : | Причем не по очереди, а одновременно. |
"Одновременность" достигается тем, что указываешь величину тика = 0 напротив каждой строчки, испускающей снаряд. Вот и все. | |
|
1 |
6 |
2 |
 |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 14.09.07 22:28:23 | | | Ладно, к черту этот револьвер. Оставлю так. Это даже будет давать хороший эффект, учитывая тематику того, над чем я работаю...
Shadowman
ну так вроде говорилось, что против запуска снаряда не стоит ставить 0. Лично у меня при этом игра вылетает при попытке стрелять. | |
|
| |
Shadowman = UAC Commissar =
 | 6603 |
Doom Rate: 2.46
|
Отправлено: 15.09.07 00:24:40 | | | zer0
А зачем при всех ноль? Ставь на последнем выстреле число, а на предыдущих нули. | |
|
1 |
6 |
2 |
 |
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.68
|
Отправлено: 15.09.07 02:38:03 | | | Guest : | Поясни, чем надежнее? |
Тем, что не будет задержки перед "прыжком", и если прыжок стоит в самом начале кода,
то в случае инвентаря действие без задержки переместится на ту часть кода, куда идет прыжок.
Люди, объясните пожалуйста, как сделать оружие типа БФГ, чтобы к шарику притягивало монстров! | |
|
| |
zer0 = Sergeant Major =
 | 601 |
Doom Rate: 1.69
|
Отправлено: 15.09.07 10:57:10 | | | Люди, а вот у меня проблема с картинками... Мне, значит, понадобилось сделать обычную руку, держащую фонарь, без перчатки (та, что в Doom 3 Weapons мне не подходила). И где ее взять? Подумал сделать из обычной фотографии, но при перемене цвета в indexed получается очень посредственное изображение, а нарисовать его сам с нуля я вряд ли смогу... Может в качестве ресурсника что-нибудь подскажете?
ADDED:
и еще... нет ли способа как-нибудь замедлить расход патронов у оружия? Ну, типа, чтобы оно использовало не 1 за выстрел, а меньше... я знаю, что цифры меньше 1 оно не воспринимает. Просто я пытался сделать у фонаря расходуемые батарейки, а в таком случае, чтобы полного заряда хватало хотя бы на 1.5 реальных часа, ему приходится ставить 600000 патронов, а быстро бегущие цифры выглядят не ахти как, да и к тому же в стандартном думовском HUD еще и не отображаются корректно... | |
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.68
|
Отправлено: 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 - Sergeant Major -
 | 567 |
Doom Rate: 2.54
|
Отправлено: 15.09.07 12:39:07 | | | dukenator
К черту рандом, проще сделать встроенный АЦС-скрипт. | |
|
| |
dukenator UAC Sergeant Major
 | 726 |
 Doom Rate: 2.68
|
Отправлено: 15.09.07 13:27:04 | | | Falcor
Можно и АЦС, но это, по моему, будет уже перебор...
zer0
Ну зачем фонарь!?
Чувак, не с того надо начинать!
Учится делать оружие надо начинать или с пистолетов(без перезарядки и прочих гадостей жизни),
или с БФГ... | |
|
| |