Автор | Сообщение |
zer0 UAC Sergeant Major
| 789 |
Doom Rate: 1.76
|
Отправлено: 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 = Captain =
| 1828 |
Doom Rate: 2.52
|
Отправлено: 14.09.07 18:44:53 | |
| dukenator : | В той строке, где у тебя стоит jumpifinventory всегда ставь ноль тиков - так будет надежнее. |
Поясни, чем надежнее?
zer0 : | а когда просто пустеет магазин - только выдает свой стандартный сиквенс |
Собственно и не должен, из того что написано.
zer0 : | А также мне интересно, можно ли заставить оружие стрелять сразу несколькими видами проджектайлов? Причем не по очереди, а одновременно. |
В Греции все есть. | |
|
3 |
1 |
|
|
| |
Shadowman UAC General
| 5607 |
Doom Rate: 2.49
|
Отправлено: 14.09.07 19:27:04 | |
| zer0 : | Причем не по очереди, а одновременно. |
"Одновременность" достигается тем, что указываешь величину тика = 0 напротив каждой строчки, испускающей снаряд. Вот и все. | |
|
1 |
6 |
2 |
|
|
| |
zer0 UAC Sergeant Major
| 789 |
Doom Rate: 1.76
|
Отправлено: 14.09.07 22:28:23 | |
| Ладно, к черту этот револьвер. Оставлю так. Это даже будет давать хороший эффект, учитывая тематику того, над чем я работаю...
Shadowman
ну так вроде говорилось, что против запуска снаряда не стоит ставить 0. Лично у меня при этом игра вылетает при попытке стрелять. | |
|
| |
Shadowman UAC General
| 5607 |
Doom Rate: 2.49
|
Отправлено: 15.09.07 00:24:40 | |
| zer0
А зачем при всех ноль? Ставь на последнем выстреле число, а на предыдущих нули. | |
|
1 |
6 |
2 |
|
|
| |
dukenator Chief Petty Officer
| 1028 |
Doom Rate: 2.48
|
Отправлено: 15.09.07 02:38:03 | |
| Guest : | Поясни, чем надежнее? |
Тем, что не будет задержки перед "прыжком", и если прыжок стоит в самом начале кода,
то в случае инвентаря действие без задержки переместится на ту часть кода, куда идет прыжок.
Люди, объясните пожалуйста, как сделать оружие типа БФГ, чтобы к шарику притягивало монстров! | |
|
| |
zer0 UAC Sergeant Major
| 789 |
Doom Rate: 1.76
|
Отправлено: 15.09.07 10:57:10 | |
| Люди, а вот у меня проблема с картинками... Мне, значит, понадобилось сделать обычную руку, держащую фонарь, без перчатки (та, что в Doom 3 Weapons мне не подходила). И где ее взять? Подумал сделать из обычной фотографии, но при перемене цвета в indexed получается очень посредственное изображение, а нарисовать его сам с нуля я вряд ли смогу... Может в качестве ресурсника что-нибудь подскажете?
ADDED:
и еще... нет ли способа как-нибудь замедлить расход патронов у оружия? Ну, типа, чтобы оно использовало не 1 за выстрел, а меньше... я знаю, что цифры меньше 1 оно не воспринимает. Просто я пытался сделать у фонаря расходуемые батарейки, а в таком случае, чтобы полного заряда хватало хотя бы на 1.5 реальных часа, ему приходится ставить 600000 патронов, а быстро бегущие цифры выглядят не ахти как, да и к тому же в стандартном думовском HUD еще и не отображаются корректно... | |
|
| |
dukenator Chief Petty Officer
| 1028 |
Doom Rate: 2.48
|
Отправлено: 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 [B0S] - Master Sergeant -
| 543 |
Doom Rate: 2.58
|
Отправлено: 15.09.07 12:39:07 | |
| dukenator
К черту рандом, проще сделать встроенный АЦС-скрипт. | |
|
| |
dukenator Chief Petty Officer
| 1028 |
Doom Rate: 2.48
|
Отправлено: 15.09.07 13:27:04 | |
| Falcor
Можно и АЦС, но это, по моему, будет уже перебор...
zer0
Ну зачем фонарь!?
Чувак, не с того надо начинать!
Учится делать оружие надо начинать или с пистолетов(без перезарядки и прочих гадостей жизни),
или с БФГ... | |
|
| |
Guest = Captain =
| 1828 |
Doom Rate: 2.52
|
Отправлено: 15.09.07 15:21:55 | |
| Что вы велосипед изобретаете? Сделать инвентори-счетчик, при каждом цикле добавляющий единицу. Когда накапливается, скажем, 5000, идет джамп с обнулением счетчика и вычитанием единицы настоящих "партонов". | |
|
3 |
1 |
|
|
| |
zer0 UAC Sergeant Major
| 789 |
Doom Rate: 1.76
|
Отправлено: 15.09.07 16:35:17 | |
| Ладно, ладно. Я отбросил эту идею. По определенным причинам ее полноценная реализация стала невозможной... но это не так важно.
dukenator
я не "учусь делать оружие". Я сейчас создаю новый вад, и вот впервые мне понадобились совершенно новые предметы. В частности, фонарь в этом ваде будет ОСНОВНОЙ вещью. Так что, умею я, не умею, а ради создания вада мне нужно было это как-то сделать... Кстати, в общем-то, я сделал, выглядит даже неплохо. Думаю, всем еще придется это увидеть, но не так уж скоро... | |
|
| |
dukenator Chief Petty Officer
| 1028 |
Doom Rate: 2.48
|
Отправлено: 16.09.07 03:11:26 | |
| zer0
Будет много темноты?
А можно еще сделать гранатомет, который в режиме альтогня жахал бы светящимися снарядами,
которые прилипали бы к стенам и изчезали - была бы неплохая замена фонарю... | |
|
| |
zer0 UAC Sergeant Major
| 789 |
Doom Rate: 1.76
|
Отправлено: 16.09.07 12:41:03 | |
| dukenator
будет не просто много темноты. Темнота будет, скажем так, править балом всюду и без исключения.
Что до стреляющего светящимися снарядами оружия - эта мысль мне уже пришла в голову. Собственно, как раз на ранней стадии переделывания фонаря, когда я по ошибке сделал так, что снаряды не исчезали, а оставались валяться на полу. Поэтому, возможно, я сделаю "парабеллум", который будет стрелять световыми снарядами, которые еще и можно будет использовать как оружие. Но я еще подумаю.
Кстати, в пику Думу 3: в моем ваде, когда держишь в руках револьвер, другой рукой герой держит фонарь, и вторичной атакой можно светить... | |
|
| |
-=2002=- - Sergeant -
| 423 |
Doom Rate: 1.69
|
Отправлено: 13.11.07 23:11:15 | |
| Приветствую, господа.
У меня к вам единственный вопрос: как вынести перезарядку оружия с альтернативного огня на отдельную клавишу? Я пытался сделать сам "методом тыка" - не вышло.... | |
|
| |
dukenator Chief Petty Officer
| 1028 |
Doom Rate: 2.48
|
Отправлено: 14.11.07 09:43:42 | |
| -=2002=-
Через ACS скрипты, расспроси об этом Guest'a, он в этом понимает... | |
|
| |
Guest = Captain =
| 1828 |
Doom Rate: 2.52
|
Отправлено: 14.11.07 11:53:05 | |
| ACS там ни при чем, делается через консольные команды. Вкратце идеология такова: в цикл READY-стейта вставляется чекер наличия специально созданного под это инветнори, если есть - идет редирект на перезарядку. Добавляются две специальные вещи, которые делают только одно - одна добавляет этот инвентори, другой отбирает.
Далее идут игры с консольными командами. Есть возможность привязать некий эффект не к нажатию клавиши клавиши, а к ее "отпусканию", этим и пользуются. При нажатии активируется "вещь", добавляющая специнвентори, отпустили - активируется "вещь", его забирающего. Хотя нажатие клавиши занимает мало времени, как правило цикл READY-стейта помещается в него целиком, поэтому среагировать успевает; если это условие не выполняются, могут возникать "осечки" перезарядки.
Описано все это здесь, в принципе можно тупо все сделать по образцу, особо не вникая в суть дела:
http://forum.drdteam.org/viewtopic.php?t=2063 | |
|
3 |
1 |
|
|
| |
Reiko = Lance Corporal =
| 264 |
Doom Rate: 1.74
|
Отправлено: 17.12.07 21:37:09 | |
| Подскажите плиз, как сделать так чтобы каждую секунду прибавлялся один патрон к определенному оружию? | |
|
| |
cybermind = Sergeant =
| 467 |
Doom Rate: 1.53
|
Отправлено: 04.06.08 11:12:17 | |
| Как сделать, чтобы у оружия был зум, но только у того, у которого я захочу? Хочу создать снайперскую винтовку. | |
|
| |
Android128[SDC] - Master Sergeant -
| 547 |
Doom Rate: 1.64
|
Отправлено: 29.06.08 17:46:47 | |
| Извините за оффтоп , но не остался ли случаем у кого-нибудь вад , который выкладывал Const на 3-ей странице этой темы ?
Если у кого-нибудь остался , дайте пожалуйста рабочую ссылку на вад . | |
|
| |
Klon - Major -
| 1951 |
Doom Rate: 1.69
|
|
1 |
3 |
1 |
|
|
| |
Android128[SDC] - Master Sergeant -
| 547 |
Doom Rate: 1.64
|
Отправлено: 29.06.08 18:56:58 | |
| Klon
Да , тот пост . | |
|
| |
Pain Taggart [B0S] - Sergeant -
| 416 |
Doom Rate: 2.51
|
Отправлено: 05.09.08 14:02:12 | |
| Есть два ствола, DesertEagle и DesertEagleUpgraded
Можно ли сделать так, чтобы второй вышеуказанный веапон при подборе заменял в кейконфиге первый?
Так вроде в beautiful doom'е с пистолетами устроено, правда нет возможности посмотреть | |
|
| |
zer0 UAC Sergeant Major
| 789 |
Doom Rate: 1.76
|
Отправлено: 08.09.08 17:51:21 | |
| Paine
положи вместо своего дезертигла какой-нибудь CustomInventory, привязав к нему нужный inventory.pickupmessage, pickupsound и прочее, дай ему спрайт пистолета. В Pickup стейте пропиши A_GiveInventory("DesertEagleUpgraded") и A_TakeInventory("DesertEagle"). Если хочешь еще проще, то сделай своему ДезертИглАпгрейдеду Ready такого типа:
Ready:
DEUP A 1 A_Weaponready
NULL A 0 A_Takeinventory("DesertEagle")
loop
Тогда, как только ты возьмешь и выберешь это оружие, DesertEagle исчезнет. Так я сделал это в Beautiful Doom'е.
Только если у тебя этот первый DesertEagle не является стартовым оружием, а его можно найти еще, то тогда ситуация усложняется, ведь тогда его можно будет снова подобрать. Тогда тебе точно понадобится CustomInventory, в котором в пикап стейте с помощью джампов сделай так, чтобы он не давал DesertEagle, если в инвентаре уже есть DesertEagleUpgraded. | |
|
| |
FLYBAT = Corporal =
| 194 |
Doom Rate: 1
|
Отправлено: 30.09.08 13:05:36 | |
| Как сделать нормальный зум?
Сорри за оффтоп, но у кого-нибудь есть МАГИ МОД НердБой1392? Обыскал все и вся и не нашолллл... | |
|
| |
zer0 UAC Sergeant Major
| 789 |
Doom Rate: 1.76
|
Отправлено: 13.10.08 19:43:58 | |
| FLYBAT
зум сделать легко, он есть во многих модах. Но привязать его к одному оружию нельзя. Точнее, в общем-то, можно привязать его к вторичной атаке какого-нибудь оружия, но только в Скуллтаге и с помощью скриптов, т.к. Скуллтаг поддерживает скрипт ConsoleCommand, который можно привязать к оружию. В остальных случаях зум можно просто создать как новую функцию, привязываемую к любой кнопке - это как раз просто. Создается через KEYCONF, по типу:
addkeysection "Zoom" zoom_keysection //это чтобы в меню отображалось в отдельном разделе и в ini отдельно прописывалось
addmenukey "Zoom" zoom_on
alias zoom_on "fov 30; rebind zoom_off"
alias zoom_off "fov 90; rebind zoom_on"
defaultbind mouse3 zoom_on
Назвать команду можно как угодно, главное про rebind не забыть. | |
|
| |
Reiko = Lance Corporal =
| 264 |
Doom Rate: 1.74
|
Отправлено: 10.11.08 23:04:31 | |
| Вот у меня вопрос, в оружиях hexen есть такой пераметр
CMCE B 2 Offset (60, 20)
Что значат Offset и его значения? | |
|
| |
dukenator Chief Petty Officer
| 1028 |
Doom Rate: 2.48
|
Отправлено: 11.11.08 07:11:21 | |
| Reiko
Параметр обозначает сдвиг спрайта по горизонтали и вертикали соответственно(или наоборот? Этого я не помню), с помощью этой фишки можно изобразить отдачу у пушки без дополнительных спрайтов | |
|
| |
Archi [B0S] UAC General
| 6249 |
Doom Rate: 2.05
|
Отправлено: 26.12.08 20:33:56 | |
| Проблемка - ракеты вылетают, а из них в РАЗНЫЕ стороны должны вылетать плазминки. Но вот вниз они не летят. Вот пример: http://archi.my1.ru/bancher.wad
Кто нибудь знает что тут не так? | |
|
1 |
1 |
2 |
|
|
| |
Dragon Lieutenant Colonel
| 2164 |
Doom Rate: 2.21
|
Отправлено: 27.12.08 05:33:17 | |
| Archi
actor MegaRocket : Rocket replaces Rocket
{
states
{
Spawn:
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,0)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,10)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,20)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,30)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,40)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,50)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,60)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,70)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,80)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,90)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,100)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,110)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,120)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,130)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,140)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,150)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,160)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,170)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,180)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,190)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,200)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,210)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,220)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,230)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,240)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,250)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,260)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,270)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,280)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,290)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,300)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,310)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,320)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,330)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,340)
MISL A 2 A_CustomMissile("ArachnotronPlasma",10,0,350)
goto spawn+8
}
}
Плазму арахтрона можно заменить на любую. А вниз они не полетят. | |
|
| |