Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Создание нового оружия в (г)здуме 1, 2, 3 ... 11, 12, 13  След.
   Список разделов - Флуд и устаревшие темы - Создание нового оружия в (г)здумеОтветить
АвторСообщение
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1992
Ссылка на пост №1 Отправлено: 02.01.07 15:58:25
Создание зачётной темы (+40)
Думаю, лучше, если вопросы по оружию будут в отдельной теме - иначе бардак выйдет.
Вопрос такой: как заменить кулак в Думе на свое оружие, чтобы давалось автоматически при старте игры.
Пишу в декорэйт:
ACTOR MyFistX : Weapon replaces Fist
далее пишу параметры оружия (кстати, что означают +WEAPON.WIMPY_WEAPON и +WEAPON.MELEEWEAPON?), все как полагается...
В KEYCONF настраиваю слот 1 на новое оружие:
setslot 1 MyFistX Chainsaw
загружаю игру - ничего не меняется :cry: как был кулак, так и остался :cry:
В чем дело?
1 7 2
Tomcat[DST]
= UAC Gunner =
Next rank: - Corporal - after 10 points
70

Doom Rate: 2.71

Ссылка на пост №2 Отправлено: 02.01.07 16:08:08
Хм... поковыряй True Action. Вдруг чего забыл?
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1992
Ссылка на пост №3 Отправлено: 02.01.07 16:29:21
True Action ковырял уже... неясно мне там назначение следующих лумпов:
LOADACS, ACS, TA_PE (этот вообще не читается в хве). Может там как-раз собака зарыта?
1 7 2
SubFrozen
Recruit
Next rank: Recruit after 2 points
8

Doom Rate: 0.09

Ссылка на пост №4 Отправлено: 02.01.07 16:54:16
Через лумп loadacs загружается скрипт
В ww-diaz посмотри, там декорейт понятнее
http://iddqd.ru/mods.php?page=29&port=any&showed=1&sdate=all&show=all&auth=all#WW-Diaz
1
Guest
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 167 points
1473

Doom Rate: 2.5

Posts quality: +182
Ссылка на пост №5 Отправлено: 02.01.07 17:11:05
У Decorate есть недостаток, как раз связанный с заменой элементов из изначального набора, поэтому, если коротко, для корректной работы "лишние" элементы нужно изъять, причем сам декорейт такой возможностью не обладает. Есть два способа: с помощью ACS (OPEN и RESPAWN скрипты) и с помощью FRAGGLESCRIPT, который знает Гоззо (lump FSGLOBAL). Есть еще третий способ (полуавтоматический, так сказать) - с помощью нужного набора консольных команд, которые можно забайндить на кнопку, которую придется нажимать при каждом старте (этот способ хорош как подстраховка на случай конфликта первых двух с начинкой подгружаемых карт - в этом смысле они не абсолютны).

Способ №1: http://forum.drdteam.org/viewtopic.php?t=2054
Способ №2: http://forum.drdteam.org/viewtopic.php?t=1202

Лично я опять склоняюсь к FSGLOBAL, но это очасти продиктовано спецификой некоторых пока нереализованных до конца задумок.


Shadowman:
TA_PE (этот вообще не читается в хве)

И не должен, ибо это уже откомнилированный ACS скрипт; неоткомпилированный там лежит как комментарий, если угодно, Здум его не использует.

Shadowman:
(кстати, что означают +WEAPON.WIMPY_WEAPON и +WEAPON.MELEEWEAPON?),

Сугубо оружейные флаги прилагаются отдельным списком, можно посмотреть здесь:
http://www.zdoom.org/wiki/index.php?title=Classes:Weapon
3 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1992
Ссылка на пост №6 Отправлено: 02.01.07 18:23:20
Попробовал по первому способу - создал скрипт, откомпилил, вставил в вад (согласно инструкции).
При запуске пишет:
ACS: I don't know what MyFistX is // то есть не понимает нового оружия MyFistX
пистолет и кулак пропали, но взамен ничего не появилось. Если же набрать idkfa то будет стандартный думовский набор.
Что за фигня? :cry:
1 7 2
Guest
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 167 points
1473

Doom Rate: 2.5

Posts quality: +182
Ссылка на пост №7 Отправлено: 02.01.07 18:33:00
Ну для начала привел бы текст твоего ACS, заочно тут ничего сказать нельзя. Да и декорейт текст тоже не помешал бы.
3 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1992
Ссылка на пост №8 Отправлено: 02.01.07 18:44:12
Тескт ACS:
#library "IWEAP"
#include "zcommon.acs"

Script 1 ENTER
{
If(Checkinventory("QuestItem1") < 1)
{
clearinventory();
giveinventory("MyFistX", 1);
giveinventory("QuestItem1",1);
setweapon("MyFistX");
}
}

Script 2 RESPAWN
{
clearinventory();
giveinventory("MyFistX", 1);
giveinventory("QuestItem1",1);
setweapon("MyFistX");
}

Декорэйт-описание MyFistX:
ACTOR MyFistX : Fist replaces Fist
{
Weapon.SelectionOrder 200
Inventory.PickupMessage ""
Inventory.PickupSound ""
weapon.upsound ""
weapon.readysound ""
Weapon.AmmoUse2 0
Weapon.AmmoUse 0
+FloatBob
Scale 0.40
RenderStyle ADD
Alpha 0.80
Weapon.Kickback 30
AttackSound ""
States
{
Ready:
PUNG A 1 A_WeaponReady
LOOP
Deselect:
PUNG A 1 A_Lower
LOOP
Select:
PUNG A 1 A_Raise
LOOP
Fire:
PUNG B 4
PUNG C 4 A_PlaySound("weap/swing")
PUNG D 5 A_CustomPunch(2,0,1,NONE,24)
PUNG E 4 A_Refire
Goto Ready
}
}

В KEYCONF настроен на слот 1.
setslot 1 MyFistX
1 7 2
Guest
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 167 points
1473

Doom Rate: 2.5

Posts quality: +182
Ссылка на пост №9 Отправлено: 02.01.07 19:19:22
Я честно воспроизвел и у меня работает. Может, у тебя старая версия порта (на страничке с описанием метода вначале указаны нужные версии)?
ЗЫ: Версию АСС тоже проверь, все это довольно новая кухня.
3 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1992
Ссылка на пост №10 Отправлено: 02.01.07 19:45:36
У меня GZDoom 1.0.18, acc 1.37 (тот, что в Дум Билдере присутствует).
Значит, в самом Декорэйте ошибок нет? Странно тогда...

PS. Обнаружил у себя acc 1.40 в одтельной папке. Надо будет проверить ее...
1 7 2
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1992
Ссылка на пост №11 Отправлено: 02.01.07 20:19:39
Блин, ну какой же я :lol2:
Это ж надо было - декорэйт, сндинфо и кейконф ставить после маркера SS_Start :diatel:
Переставил на место после закрывающего маркера SS_End и все заработало!
1 7 2
Justice]ASTS[
Chief Petty Officer
Next rank: Chief Petty Officer after 50 points
890

Doom Rate: 1.24

Posts quality: +11
Ссылка на пост №12 Отправлено: 02.01.07 20:32:54
Во-во первым делом всё проверь! Не надо торопится при работе со скриптами и кодом.Из-за торопни ничего дельного не будет.
3 4
Guest
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 167 points
1473

Doom Rate: 2.5

Posts quality: +182
Ссылка на пост №13 Отправлено: 02.01.07 20:40:24
Shadowman:
Блин, ну какой же я

Осталось Keyconf правильно написать (если, конечно, ты его целиком привел). И для кулака (коль скоро ты все стейты полностью прописываешь) я бы написал проще:

не ACTOR MyFistX : Fist replaces Fist , а ACTOR MyFistX : weapon ибо ты ничего не замещаешь (replaces подразумевает полное замещение - типа если в консоли пишешь summon fist, чтоб при этом выпадал MyFistX) и ничего не "наследуешь" (ибо все стейты и свойства ты прописываешь заново; а так непротиворечивые прописанному флажки и свойства по умолчанию скопируются, мне кажется ты этого не подразумевал), так и не зачем усложнять ситуацию.
3 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1992
Ссылка на пост №14 Отправлено: 02.01.07 21:02:52
Guest
Про наследование и замещение - спасибо, пояснил подробно.
С оружием я еще буду работать (с самой его физикой), просто мне нужно было разобраться с главным - заменой оригинальных кулака и пистолета, теперь наконец-то разобрался. :)
заодно хотел бы прояснить одну вещь.
A_CustomPunch(2,0,1,NONE,24)
Второй аргумент - булевая переменная norandom (на 0 - значит будет случайный урон? от 0 до 2 что ли?)
Последний аргумент - range - зона досягаемости. В каких единицах она измеряется - в маппикселях?

ЗЫ. И еще - у некоторых вепонов есть номера, у некоторых нет. Номера нужны для подбираемых оружий, которые изначально не даются?
1 7 2
Guest
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 167 points
1473

Doom Rate: 2.5

Posts quality: +182
Ссылка на пост №15 Отправлено: 02.01.07 21:41:56
Shadowman:
A_CustomPunch(2,0,1,NONE,24)

Лучше у Кости спроси, я как правило нужного результата по причине лени добиваюсь эмпирическим путем :D , хотя, может и зря.

Shadowman:
И еще - у некоторых вепонов есть номера, у некоторых нет. Номера нужны для подбираемых оружий, которые изначально не даются?

Ну, номера бывают разные. Есть spawnid - внутредумовская нумерация (которую можно юзать в консольных командах), а есть цифирьки, которые пишутся в строке наименования актора - это, грубо говоря, для ДумБильдера, Здуму он нафиг не сдался ;)
3 1
Const]ASTS[
= Sergeant Major =
Next rank: UAC Sergeant Major after 79 points
601

Doom Rate: 6.91

Posts quality: +2
Ссылка на пост №16 Отправлено: 02.01.07 22:05:03
Guest:
Лучше у Кости спроси, я как правило нужного результата по причине лени добиваюсь эмпирическим путем

Я немного отошел от дел. Source Insight до сих обратно не поставил. Так что можно считать я в равных условиях
1 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1992
Ссылка на пост №17 Отправлено: 03.01.07 01:46:50
Guest
Я про цифирьки как раз что после Актора. Спаунид отдельно пишется - это я помню.
Просто для кулака и пистолета цифирек нет, так как их в игре негде "взять" с пола :)

Costja:
Так что можно считать я в равных условиях

Значит про лечащее оружие тоже ничего рассказать не сможешь?
1 7 2
Const]ASTS[
= Sergeant Major =
Next rank: UAC Sergeant Major after 79 points
601

Doom Rate: 6.91

Posts quality: +2
Ссылка на пост №18 Отправлено: 03.01.07 02:02:10
Нет, лишь что мне доступны те же источники информации. Некоторая инфа о zdoom до сих пор доступна только по исходнику, поэтому еще раз рекомендую поставить какой-нибудь браузер исходников + натравить его на исходник нужного zdoom/gzdoom.

Лечащее оружие вроде бы прекрасно делается при помощи отрицательного урона.

Насчет A_CustomPunch я похоже невнимательно прочитал сам пост, тут вроде и по докам все понятно:
Первый параметр - наносимый ущерб
Второй параметр - случайный ли наносится ущерб, если удается попасть. Случайность = damaga*random(1,8). 0 - случайный, не0 - неслучайный
Третий параметр - использовать ли патроны. 0 - использовать, не0 - не использовать.
Четвертый - имя класса паффа
Пятый - дистанция, наверняка в мапюнитах
1 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1992
Ссылка на пост №19 Отправлено: 03.01.07 15:44:19
Вопрос по снарядам. Почему-то они у меня летят хрен знает куда...
Вот кусок декорэйта оружия:
FAMN K 4 A_CustomMissile("LightingBolt1",32,0,0,1)
Далее описание снарядов:
ACTOR LightingBolt1
{
Speed 4
Damage 2
Radius 15
Height 15
Scale 0.6
PROJECTILE
DONTHURTSHOOTER
States
{
Spawn:
BLT1 AB 4 Bright
BLT1 A 4 A_CustomMissile("LightBolt1Explode",0,0,0)
Stop
Death:
BLT1 CDEFG 4 Bright
Stop
}
}

ACTOR LightBolt1Explode
{
RENDERSTYLE ADD
ExplosionDamage 3
ExplosionRadius 32
Radius 15
Height 15
Speed 0
Scale 0.6
PROJECTILE
+PUFFONACTORS
+NOCLIP
States
{
Spawn:
BLT1 C 4 A_Explode
BLT1 DEFG 4 Bright
Stop
}
}
Еще почему-то при попытке произвести альтернативную атаку - если нет патронов - игра вылетает (у меня обычная атака не требует патронов, альтернативная - требует). Как сделать проверку на наличие патронов для альт.атаки?
В декорэйте указал:
Weapon.ammotype2 "Clip"
Weapon.ammouse1 0
Weapon.ammouse2 2
1 7 2
Guest
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 167 points
1473

Doom Rate: 2.5

Posts quality: +182
Ссылка на пост №20 Отправлено: 03.01.07 18:17:23
Готового решения навскидку нет - не мог бы нужный кусок вада залить, чтоб я мог повертеть в руках?
3 1
Страница 1 из 13Перейти наверх 1, 2, 3 ... 11, 12, 13  След.
   Список разделов - Флуд и устаревшие темы - Создание нового оружия в (г)здуме