Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые!-2 Пред.  1, 2, 3 ... 20, 21, 22 ... 26, 27, 28  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!-2Ответить
АвторСообщение
DOOMGABR
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 150 points
1140

Doom Rate: 1.87

Posts quality: +711
Ссылка на пост №401 Отправлено: 30.01.20 17:29:53
Не получается запустить мод с DOOM 1; гозза жалуется на то, что пропущены ротации спрайта... гхм... Чейнганнера. С DOOM II мод работает прекрасно. Сталкивался кто-нибудь с подобной проблемой?
Marisa
Marine
Next rank: Marine 1st class after 10 points
20

Doom Rate: 1.82

Posts quality: +7
Ссылка на пост №402 Отправлено: 30.01.20 19:30:33
DOOMGABR
Я конечно может и не шарю, но если мод просит спрайты, то почему бы их ему просто не предложить на блюдечке? :x
Если используются спрайты оригинального чейнганера, то вот, можно вместе с ними попробовать запустить. (Хотя зачем они в первом думе?)

ChaingunnerSprites.wad
DOOMGABR
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 150 points
1140

Doom Rate: 1.87

Posts quality: +711
Ссылка на пост №403 Отправлено: 30.01.20 20:57:06
Marisa
В том то и дело, что они имеются.
N00b2015
- Sergeant Major -
Next rank: = Sergeant Major = after 64 points
536

Doom Rate: 2.15

Posts quality: +176
Ссылка на пост №404 Отправлено: 30.01.20 21:10:58
Marisa
Тяжело без контекста, попробую телепатически.

не вызывается или не отрабатывает

А ты пробовал добавить в него отладочный PrintBold в начале? Может, он всё-таки отрабатывает, а после него AmmoCapacity ещё раз как-то меняется?
Попробуй добавить после "PickUp:" строчку TNT1 A 0. Вроде там было какое-то ограничение, связанное с этим.
Ещё теоретически проблема может быть в длительности 35 (все стейты CustomInventory внутри инвентаря отрабатывают сразу, в течение одного тика).
Это, правда, догадки в стиле "давненько я не брал в руки шашек..."; если бы я видел всю ситуацию, может, сказал бы что-нибудь посодержательнее.
DOOMGABR
Какая цель запуска? Если это личный мод и ты его тестишь, то придётся выкинуть оттуда спрайты с именами, совпадающими с названиями спрайтов чейнганнера (туда добавлено что-то вроде Minor Sprite Fixing Project, я угадал?)
Если нужно просто запустить старый мод, то можно воспользоваться советом Marisa.
1 1
Marisa
Marine
Next rank: Marine 1st class after 10 points
20

Doom Rate: 1.82

Posts quality: +7
Ссылка на пост №405 Отправлено: 30.01.20 22:03:10
N00b2015
Да, тест я делал, не печатает, ничего не делает вообще... Проштудировал все вики на эту тему, даже узнал про ограничение с этим одним тиком и "уникальностью" в этом плане стейтов Use и PickUp, и сдавшись, просто стал спавнить по условию пистол старта под игроком этот треклятый FakeAmmoBelt, игрок его подбирает, всё отрабатывает как обычно и теперь в любых вадах и мультиплеере, и я в общем, доволен происходящим. Но спасибо, премного благодарен за такой широкий ответ по вопросу! :)

Рейтинг сообщения: +1, отметил(и): N00b2015
MyNameIs
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 102 points
1738

Doom Rate: 1.92

Posts quality: +704
Ссылка на пост №406 Отправлено: 05.02.20 20:39:03
как можно дать игроку инвентори в количестве / или хотя бы узнать число из аргумента у подбираемой пушки?

есть args[], и по идее он должен работать, но вообще отказывается напрочь
1 1
N00b2015
- Sergeant Major -
Next rank: = Sergeant Major = after 64 points
536

Doom Rate: 2.15

Posts quality: +176
Ссылка на пост №407 Отправлено: 05.02.20 22:05:03
MyNameIs
Каким арсеналом это требуется сделать?
Проблемы в твоём случае могут быть связаны с тем, что после подбора меняются указатели, и нужно пользоваться invoker, чтобы получить доступ к данным предмета из стейта оружия.
Если это уже учитывается, то не могу предложить ничего лучшего, чем переписать функцию из строчек 397–421 отсюда.
1 1
YURA_111
UAC Sergeant Major
Next rank: UAC Sergeant Major after 78 points
682

Doom Rate: 1.98

Posts quality: +116
Ссылка на пост №408 Отправлено: 06.02.20 09:44:50
MyNameIs пишет:
как можно дать игроку инвентори в количестве


A_GiveInventory (с указанием количества и поинтера) или A_SetInventory (чуть по-другому). Noob2015 - для чего такие сложности то?
N00b2015
- Sergeant Major -
Next rank: = Sergeant Major = after 64 points
536

Doom Rate: 2.15

Posts quality: +176
Ссылка на пост №409 Отправлено: 06.02.20 11:36:38
YURA_111
Судя по посту, проблема была в том, что не получалось узнать само это количество.
Может, я вообще не о том написал... Трудно без подробностей.
1 1
ZZYZX
= Commissar =
Next rank: - UAC Commissar - after 86 pointsМодератор форума
5714

Doom Rate: 1.71

Posts quality: +1301
Ссылка на пост №410 Отправлено: 06.02.20 11:45:28
YURA_111
Потому что ты не понял сути. Ему нужно из подобранной пушки передать что-то в игрока. И я так понимаю нужно это количество узнать из скрипта в момент подбора. А не просто чтобы его дали.

п.с. проще было скопипастить сюда, а то ссылка на 1000строчный файл очень пугает.

	virtual bool HandlePickup (Inventory item)
	{
		if (item.GetClass() == GetClass())
		{
			if (Amount < MaxAmount || (sv_unlimited_pickup && !item.ShouldStay()))
			{
				if (Amount > 0 && Amount + item.Amount < 0)
				{
					Amount = 0x7fffffff;
				}
				else
				{
					Amount += item.Amount;
				}
			
				if (Amount > MaxAmount && !sv_unlimited_pickup)
				{
					Amount = MaxAmount;
				}
				item.bPickupGood = true;
			}
			return true;
		}
		return false;
	}


Готовый код выглядит как-то так

class MyCustomWeaponPickup : Weapon
{
    override bool HandlePickup(Inventory item)
    {
        if (!Super.HandlePickup(item)) return false;
        // тут пишешь код, дабы обработать поднятие "item" игроком "self" (или "invoker", не помню точно как это в зскрипте работает)
        // важно: на этот момент итем УЖЕ ПОДНЯТ внутри Super.HandlePickup, отменить поднятие в этом месте НЕЛЬЗЯ — придётся переделать, если нужно
        return true;
    }
}


По сути в зскрипте таким образом можно сделать CustomInventory, но скрещенное с Weapon/Ammo/...
Впрочем, если у автора есть религиозное предубеждение перед зскриптом, то можно использовать в этом месте CustomInventory. В теории. Которое будет одновременно давать пушку и вызывать какой-то скрипт (ацс, например)
2 2 1
MyNameIs
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 102 points
1738

Doom Rate: 1.92

Posts quality: +704
Ссылка на пост №411 Отправлено: 06.02.20 18:18:04
N00b2015
пытался и через декорейт, и через ацс+декорейт.
Скрытый текст:


TNT1 A 0 A_SetInventory ("HTAmmo", args[2])
не подает признаков жизни, равно как и
TNT1 A 0 ACS_namedExecute("qwerty",0,args[0],args[1],args[2])
+
script "qwerty" (int zx, int zy, int zz)
{print(d:zx, s:", ",d:zy, s:", ",d:zz);}
с SetActivator на игрока не пашет тоже.

. выдают тупо ноль.


и вепон не пашет, и кастоминвентори не отвечает.

ZZYZX

похоже, без зэскрипта его вообще невозможно сделать.
теперь буду мыслить, как же устроен этот страшный зскрипт
1 1
VladGuardian
= Colonel =
Next rank: - Commissar - after 23 points
4867

Doom Rate: 1.29

Posts quality: +1491
Ссылка на пост №412 Отправлено: 12.02.20 17:48:08
Каково точное численное различие между скоростью бега и ходьбы в ванильном Doom ?
Для Дум Шутера пригодится ;)
4 10 21
N00b2015
- Sergeant Major -
Next rank: = Sergeant Major = after 64 points
536

Doom Rate: 2.15

Posts quality: +176
Ссылка на пост №413 Отправлено: 12.02.20 19:22:58
В два раза. В портах вроде точно так же.
Wiki (раздел "Attributes").

Рейтинг сообщения: +1, отметил(и): VladGuardian
1 1
DOOMGABR
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 150 points
1140

Doom Rate: 1.87

Posts quality: +711
Ссылка на пост №414 Отправлено: 14.02.20 19:53:34
Подскажите ACS экшены: позволяющий сделать скролл напольной текстуры, и позволяющий двигать игрока в соответствии с направлением скролла. Здум вики обшарил, не нашёл.
N00b2015
- Sergeant Major -
Next rank: = Sergeant Major = after 64 points
536

Doom Rate: 2.15

Posts quality: +176
Ссылка на пост №415 Отправлено: 14.02.20 20:50:31
DOOMGABR
№223: Scroll_Floor(tag, dx, dy, SCROLL_AND_CARRY).
Нашлось по ctrl+f "scroll" здесь.

Рейтинг сообщения: +3, отметил(и): VladGuardian, DOOMGABR, ulx88
1 1
DOOMGABR
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 150 points
1140

Doom Rate: 1.87

Posts quality: +711
Ссылка на пост №416 Отправлено: 14.02.20 21:57:48
N00b2015
Спасибо огромное!

Добавлено спустя 23 часа 26 минут 53 секунды:

Народ, столкнулся с проблемой. Не получается создать ФейкИнвэнтори, предназначенный для использования свитча, при наличии его у игрока. При отключении основного питания, игроку вручается фейк инвэнтори под названием LightEssence, наличие которого проверяет скрипт со свитчом, опускающим платформу. Заменив свой каличный fakeinv стандартной синей ключкартой я заставил скрипт работать корректно. Стоит мне опять поставить заместо него свой "LightEssence" фейк инвэнтори актор — не работает. Что я делаю не так?
Код актора:
Скрытый текст:


Actor LightEssence : CustomInventory // map01: даётся при включении света на резервном складе
{
	States
	{
	Spawn:
	TNT1 A -1
	stop
	}
}

N00b2015
- Sergeant Major -
Next rank: = Sergeant Major = after 64 points
536

Doom Rate: 2.15

Posts quality: +176
Ссылка на пост №417 Отправлено: 15.02.20 21:47:19
DOOMGABR
CustomInventory для этой цели не нужен. Он и мешает. Стейты тоже можно не объявлять.
Попробуй это:
Actor LightEssence: Inventory { Inventory.MaxAmount 1 }

Рейтинг сообщения: +3, отметил(и): VladGuardian, JSO x, DOOMGABR
1 1
DOOMGABR
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 150 points
1140

Doom Rate: 1.87

Posts quality: +711
Ссылка на пост №418 Отправлено: 18.02.20 13:14:25
Проблема в создании мода. При подборе Берсерка не переключается на кулак. Как поправить?
Код:
Скрытый текст:


ACTOR BlackKit : Berserk replaces Berserk
{
  States
  {
  Pickup:
    TNT1 A 0 A_GiveInventory("PowerStrength")
    TNT1 A 0 HealThing(100, 0)
    TNT1 A 0 A_SelectWeapon("Fist")
    Stop
  }
}



Добавлено спустя 23 минуты 18 секунд:

Ещё вопрос: каким образом заставить кулак бить с другим звуком определённый актор? Вот, к пример, мне необходимо чтобы по бочке игрок бил с другим звуком, не как по монстрам.
Герр Смертоносец
UAC Sergeant Major
Next rank: UAC Sergeant Major after 43 points
717

Doom Rate: 1.45

Posts quality: +502
Ссылка на пост №419 Отправлено: 18.02.20 16:43:14
DOOMGABR пишет:
Ещё вопрос: каким образом заставить кулак бить с другим звуком определённый актор? Вот, к пример, мне необходимо чтобы по бочке игрок бил с другим звуком, не как по монстрам.

Есть такой спецпойнтер AAPTR_PLAYER_GETTARGET, через него узнаём, что именно игрок в данный момент бьёт. Ну а дальше уже варианты. Или через A_CheckFlag, A_CheckSpecies или ещё какой-нибудь джамп по общему признаку. Или через CheckActorClass.

Рейтинг сообщения: +2, отметил(и): VladGuardian, DOOMGABR
2
YURA_111
UAC Sergeant Major
Next rank: UAC Sergeant Major after 78 points
682

Doom Rate: 1.98

Posts quality: +116
Ссылка на пост №420 Отправлено: 18.02.20 18:13:35
DOOMGABR пишет:
Ещё вопрос: каким образом заставить кулак бить с другим звуком определённый актор? Вот, к пример, мне необходимо чтобы по бочке игрок бил с другим звуком, не как по монстрам.


Использовать свой "PUFF" актор в котором указать звук. При ударе по не кровоточащему актору (типа бочки) - будет другой звук...

Вот здесь сама функция и синтаксис:
https://zdoom.org/wiki/A_CustomPunch

Рейтинг сообщения: +1, отметил(и): DOOMGABR
Страница 21 из 28Перейти наверх Пред.  1, 2, 3 ... 20, 21, 22 ... 26, 27, 28  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!-2