Делаю карту doom in hexen формате. Возникло желание засунуть туда более интересных монстряков с realm667. Ну и так же более интересное оружие. Как засунуть в вад спрайты, декорэйт, звуки и прочее я знаю. Всё это появляется в ваде и готово к использованию. Но есть одно но!
Первый уровень начинается со стандартного пистолетика. Как его убрать нафиг?
вижу два варианта
1) Что б он по дефолту был подменён на другой. Например Colt 45.
2) Либо что бы уровень начинался вообще с пустыми руками, а оружие я сам там положу какое надо и где надо.
А стандартного пистолетика что б не было вообще. Что бы он не занимал слот и кнопку.
Как реализовать первый и второй варианты?
(второй пожалуй даже интереснее)
Так же вопрос, как сделать так, что бы следующий уровень снова начинался с пустыми руками, или только с одним заменённым пистолетиком (в зависимости от того какой из вариантов начала я предпочту)?
Как после каждого уровня скидывать оружие?
Что б он по дефолту был подменён на другой. Например Colt 45.
Как вариант:
ACTOR MyDoomguy: DoomPlayer //Прописываешь в DECORATE (или структурном тхтшнике) кастомного игрока {
Player.StartItem "Fist"
Player.StartItem "Colt 45" //указываешь ему стартовый итем Player.StartItem "Clip", 50
}
ACTOR "Colt 45"
{
Weapon.SlotNumber 2 //Прописываешь слот и
Weapon.SlotPriority 1 //очерёдность в слоте }
psychomachine:
Либо что бы уровень начинался вообще с пустыми руками
Смотришь пример\ссылку выше и удаляешь соответствующие Player.StartItem (в твоём случае "Pistol"), в этом случае также не забудь отредачить Player.WeaponSlot 2, Pistol
Аналогично можно задать стартовые условия в MAPINFO/GameInfo_definition по шаблону weaponslot = <slot>, "<weapon>", ...
Ещё можно написать ACS-скрипт c ClearInventory либо TakeInventory функциями, это кстати ответ и на следующие вопросы
psychomachine:
что бы следующий уровень снова начинался с пустыми руками, или только с одним заменённым пистолетиком
Возможно я неправ, но не лучше ли задавать подобные вопросы в этой теме? Или в этой, если вопрос касается зскрипта. Тем более что они уже неоднократно разбирались.
Ребят, не злитесь на мою тупость. Я вообще не программер, просто любитель. Сижу ковыряю карты в дум билдере иногда ради хобби.
Короче я скопировал этот код в DECORATE предварительно вставив в wad все ресурсы Colt 45. Он появился в ваде и его можно было разместить на карте.
Потом написал этот вот код. Ничего не появилось и вообще куча ошибок при запуске и ничего не пашет. Что я делаю неправильно?
States
{
Spawn:
PLAY A -1
Loop
See:
PLAY ABCD 4
Loop
Missile:
PLAY E 12
Goto Spawn
Melee:
PLAY F 6 BRIGHT
Goto Missile
Pain:
PLAY G 4
PLAY G 4 A_Pain
Goto Spawn
Death:
PLAY H 0 A_PlayerSkinCheck("AltSkinDeath")
Death1:
PLAY H 10
PLAY I 10 A_PlayerScream
PLAY J 10 A_NoBlocking
PLAY KLM 10
PLAY N -1
Stop
XDeath:
PLAY O 0 A_PlayerSkinCheck("AltSkinXDeath")
XDeath1:
PLAY O 5
PLAY P 5 A_XScream
PLAY Q 5 A_NoBlocking
PLAY RSTUV 5
PLAY W -1
Stop
AltSkinDeath:
PLAY H 6
PLAY I 6 A_PlayerScream
PLAY JK 6
PLAY L 6 A_NoBlocking
PLAY MNO 6
PLAY P -1
Stop
AltSkinXDeath:
PLAY Q 5 A_PlayerScream
PLAY R 0 A_NoBlocking
PLAY R 5 A_SkullPop
PLAY STUVWX 5
PLAY Y -1
Stop
}
}
тоже надо было писать в декорэйт? Его можно просто скопировать по этой ссылке?
В общем копирую тот код. Вставляю в него твой код... (Ну не совсем прям копирую точнее. Не целиком конечно. Просто меняю строки в том коде ибо они там есть уже.)
в общем не работает ничего.
Ну код кольта я не пишу. Он с realm667 плюс вписал в него строки слота и очерёдности в слоте.
(Что такое "наследование" в программировании я теоретически понимаю. Просто пользоваться этим не умею. И код написать сам не умею.
Скопипастить я могу. Ну даже кое какие ошибки сам вижу.
Ну то есть мне конечно понятно что если допустим что-то в коде определено как Colt45, а потом в коде будет Colt 45 (с пробелом) то это неправильно. Ну с чем то ещё я разбирался. Делал цветное освещение, цвета определял через список в коде. Или скорость движения монстров и количество здоровья конечно я могу поменять. Но значения и смысла всех строк я не знаю ещё пока.)
Сейчас я вообще не догоняю как создать этого кастомного игрока со своими установками всякими. А это вот очень интересно. Что б например прописывать ему всякие параметры самому. Я бы там потом разобрался что у него где и здоровье ему можно было бы менять, и вообще сразу оружие любое. Всякое разное. Это я вот понимаю что так можно. И это интересно да.
Но блин у меня пока вообще ничего не меняется у игрока. Не стартует он с кольтом этим. Тупо со своим пистолетиком стандартным.
Ну что неправильно?
О да! Я вообще не делал mapinfo. Сейчас вот сделал mapinfo, в нём написал твой код
Скрытый текст:
gameinfo
{
playerclasses = "MyDoomguy"
}
потом написал в декорейт всё то что было обговорено выше и оно заработало! Стандартного пистолетика нет, вместо него кольт. Правда есть один нюанс - при старте пистолетик не выбран. Ну то есть игрок с голыми руками включается, хотя кольт уже присутствует на 2 кнопке. Нужно переключится только.
А почему так кстати?
Артём Про такой способ замены я уже где то видел. Так вроде можно даже монстров автоматически заменить на карте. Но у меня вот сейчас такой способ замены пистолета на кольт тоже не заработал.
Как именно правильно написать что б просто подменить пистолет таким способом?