Такая проблема, короче вместо оружия отображается ромб с восклицательным знаком внутри, типа ошибка какая-то. вроде все правильно прописал, а такая фигня только с одним оружием. Вот коды:
Actor Mines : Chainsaw replaces Chainsaw
{
Game Doom
Height 10
SpawnID 32
Weapon.SlotNumber 1
weapon.ammotype "MineAmmo"
weapon.ammogive 4
weapon.ammouse 1
obituary "%o got into da choppa."
weapon.selectionorder 11
weapon.kickback 100
inventory.pickupmessage "You got a mine."
states
и т.д.
Ромб с восклицательным знаком - это символ ненайденного спрайта в zdoom. Проверь, соответствует ли название спрайтов в states названию спрайтов в ресурсах.
Дело в том, что этого оружия совсем не существует в игре, дело не в спрайтах. Если бы названия спрайтов в states не соответствовали их именам, то я бы просто подбирал невидимое оружие. А так его просто нету.
Я, конечно, извиняюсь за поднятие старой темы, но она так и осталась без ответа.
Проблема со спрайтами может быть не только в правильности описания спрайтов в states или названии спрайтов.
А еще и в размещении самих спрайтов в ваде. Тут нужно правильно использовать метки/маркеры (Marker).
Вот Демонстрация iwad tnt или doom2.
Суть проблемы можно увидеть в думе/думбилдере.
Наглядней, конечно, скачать вад и открыть его каким-нибудь SLADE-ом.
Но. Для тех, кто не хочет качать и смотреть вад:
Скрытый текст:
Примерно так выглядит вад через SLADE:
DECORATE [i]размер[/i] Decorate
SMT1A0 [i]размер[/i] Graphic (Doom) (тип может быть и png, не суть)
SS_START [i]0[/i] Marker
SMT2A0 [i]размер[/i] Graphic (Doom) (тот-же спрайт, что и выше, но с другим именем)
SS_END [i]0[/i] Marker
MAP01 [i]0[/i] Map Marker
TEXTMAP [i]размер[/i] UDMF Map Data
ZNODES [i]размер[/i] Unknown
ENDMAP [i]0[/i] Marker
А вот что в DECORATE:
Actor Smth1 : RocketAmmo 10666
{
States
{
Spawn:
SMT1 A -1
stop
}
}
ACTOR Smth2 : RocketAmmo 10667
{
States
{
Spawn:
SMT2 A -1
stop
}
}
В результате ACTOR Smth2 прекрасно работает,
а Actor Smth1 будет иметь ту-же проблему, как у товарища выше.
p.s. второй актор объявлен верхним регистром просто чтобы наглядно выделить его работоспособность.
(Это ни на что не влияет)
В общем, решение проблемы выше - разместить спрайт/спрайты между маркерами начала и конца.