Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 162, 163, 164 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
Zeberpal_98
Chief Petty Officer
Next rank: Chief Petty Officer after 5 points
935

Doom Rate: 2.15

Posts quality: +254
Ссылка на пост №3241 Отправлено: 21.05.18 10:59:22
Интересно, возможно ли такое извращение как запись прогресса в gzdoom.ini?

Представьте ситуацию: В кастомном отmenudefленном меню всего три параметра: START; Options; Quit //как видно отсутствуют SAVE/LOAD, правда существуют F2 и F3, но сейчас вопрос не в этом.

Игрок жмет Старт - начинается уровень. Игрок доходит до чекпоинта и сей факт записывается в .ini примерно так
[wtfwad.UnknownConsoleVariables]
checkpoint1 = true


Таким образом, вновь запустив игру через СТАРТ сработает скрипт, который проверит, что если checkpoint1 = true, то teleport в такой-то мапспот.

:hurr:
1 3
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №3242 Отправлено: 21.05.18 14:00:46
Zeberpal_98:
Интересно, возможно ли такое извращение как запись прогресса в gzdoom.ini?

Представьте ситуацию: В кастомном отmenudefленном меню всего три параметра: START; Options; Quit //как видно отсутствуют SAVE/LOAD, правда существуют F2 и F3, но сейчас вопрос не в этом.

Игрок жмет Старт - начинается уровень. Игрок доходит до чекпоинта и сей факт записывается в .ini примерно так

Кажется и так можно автосохранением пользоваться в куче с к примеру CVAR которые кстати записываются в ини файл по желанию.


т.е. пишешь в CVARINFO

server int checkpoint1 = 0;

Меняя команду в процессе игры, это дело сохраниться в .ini файл, как любые другие консольные переменные. (кстати оно же и легко выводиться в menudef если надо)
Наличие слова "server" иили "user" перед типом переменной, определяет будет ли эта переменная сбрасываться после смерти или нет.
т.е. ГГ в процессе игры, типа сохранился checkpoint1 = 1, умер и после смерти переменная может опять сброситься на 0, а может не сбрасываться если там server.

Zeberpal_98:
правда существуют F2 и F3, но сейчас вопрос не в этом.

Есть такой ламп как DEFAULTBIND, пишешь в нем
bind f1 vid_currentmode
bind f2 vid_currentmode
bind f3 vid_currentmode
bind f4 vid_currentmode
bind f5 vid_currentmode
bind f6 vid_currentmode
bind f7 vid_currentmode
bind f8 vid_currentmode
bind f9 vid_currentmode
bind f11 vid_currentmode
bind f10 vid_currentmode
bind f12 vid_currentmode
bind - vid_currentmode
bind = vid_currentmode


И потом нажатие на кнопку f1-12 будет вызывать комманду vid_currentmode, отображение текущего разрешения экрана =)
Можно поискать другую команду..

Добавлено спустя 1 час 12 минут 59 секунд:

BlackMetalGuy:
Источником пламени должен быть игрок.Атака дистанционная, ибо игрок вооружён огнемётом.Пламя должно цепляться к противнику при прямом попадании и дамажить только игроков и мобов. Какую функцию выполняет A_Warp?

Могу тебе посоветовать поколупать вад в котором уже есть такой огнемет.. Думаю вряд ли кто-то захочет написать его за тебя.

A_Warp читаем zdoomwiki
вкратце это именно та функция которая может закрепиться за актером и двигаться с его же скоростью на заданной высоте (похоже как атака у archvile, когда он огонь спавнит там где вражина.)

Рейтинг сообщения: +3, отметил(и): Zeberpal_98, MyNameIs, JSO x
1 3 1
Zeberpal_98
Chief Petty Officer
Next rank: Chief Petty Officer after 5 points
935

Doom Rate: 2.15

Posts quality: +254
Ссылка на пост №3243 Отправлено: 21.05.18 17:08:47
alekv
Спасибо! Крайне полезный пост. Действительно параметр заносится в .ini
Я решил прописать в CVARINFO
server bool checkpoint1 = false;

Единственное, игра не реагирует на это, я что-то неправильно сделал.

//игровой скрипт
bool checkpoint1 = FALSE;

script 666 (void)
{
   if(checkpoint1 == false)
   {
	   print(s:"\cjCheckpoint act!vated.");      //надпись в игре появляется, но сам параметр на [i]true[/i] в конфиге не поменялся
	   checkpoint1=TRUE;
   }
   }

// после "срабатывания" скрипта 666 я начинаю новую игру, жду секунд 5 и ничего не происходит


   script 667 ENTER
{
   if(checkpoint1 == true)
   {
delay(130);
	   print(s:"\ciGame status loaded from the .ini! Yohoo!");
   }
   }
1 3
YURA_111
UAC Sergeant Major
Next rank: Chief Petty Officer after 82 points
768

Doom Rate: 1.98

Posts quality: +136
Ссылка на пост №3244 Отправлено: 21.05.18 17:10:39
Void Weaver:
Можно ли на уровне декора подправить варп-атаку Арча чтобы враги отвечали ему?


Пропиши Arch-Vile флаг -NOTARGET

Void Weaver:
Ребят, неужели никто не в курсе как съэмулировать код A_BFGSpray?


Этот экшен можно использовать везде где тебе нужно, просто должно быть условие что он будет на снаряде...

Рейтинг сообщения: +1, отметил(и): Void Weaver
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №3245 Отправлено: 21.05.18 17:39:30
Zeberpal_98:
Единственное, игра не реагирует на это, я что-то неправильно сделал.

Потому что обращаться к cvar надо через GetCVar
т.е.
if(GetCvar(myVar) == 1)
{}

Ну и кажется еще декорейт не умеет цвары изменять, только считывать

Рейтинг сообщения: +1, отметил(и): Zeberpal_98
1 3 1
theleo_ua
= Colonel =
Next rank: - Commissar - after 96 points
4794

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №3246 Отправлено: 21.05.18 17:43:32
Zeberpal_98:
Единственное, игра не реагирует на это, я что-то неправильно сделал.


вроде проблема в этом:

https://zdoom.org/wiki/SetUserCVar_(ACS)
https://zdoom.org/wiki/SetCVar_(ACS)
https://zdoom.org/wiki/GetUserCVar
https://zdoom.org/wiki/GetCVar_(ACS)

юзай это вместо "checkpoint1 == false"

Рейтинг сообщения: +1, отметил(и): Zeberpal_98
3 1
MyNameIs
= 1st Lieutenant =
Next rank: - Captain - after 36 points
2054

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №3247 Отправлено: 21.05.18 18:38:06
alekv:
Есть такой ламп как DEFAULTBIND, пишешь в нем

попытался сделать такое, ничего не вышло.
и в вики о лампе DEFAULTBIND ничего нет. нашел подозрительно похожий DEFBINDS, но и через него тоже ничего не работает


или это не ламп? в кейконфе тоже ведь есть дефултбайндс (их я тоже проверил :( )
или нужна гозза особая, потому что в обычной это все вырублено, чтобы всякие терривады никого не ломали?
1 1 1
Zeberpal_98
Chief Petty Officer
Next rank: Chief Petty Officer after 5 points
935

Doom Rate: 2.15

Posts quality: +254
Ссылка на пост №3248 Отправлено: 21.05.18 18:44:39
alekv
theleo_ua


Спасибо, заработало!
1 3
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №3249 Отправлено: 21.05.18 21:01:57
MyNameIs:
попытался сделать такое, ничего не вышло.
и в вики о лампе DEFAULTBIND ничего нет. нашел подозрительно похожий DEFBINDS, но и через него тоже ничего не работает


или это не ламп? в кейконфе тоже ведь есть дефултбайндс (их я тоже проверил )
или нужна гозза особая, потому что в обычной это все вырублено, чтобы всякие терривады никого не ломали?

Не.. это я ошибся в названии лампа, создаешь его как и любой другой с именем "DEFBINDS"
и в нем все то и пишешь что выше описал, после возьми да сотри конфиг гоззы, и гозза перезапишет новый конфиг в котором уже будут твои бинды с этого лумпа.

Его же кстати можно использовать что бы назначать джойстику кнопки по умолчанию, но как-то оно через жопу работает из-за того что геймпадов как говна разных, особенно ноунеймов.

Zeberpal_98:
Спасибо

Пожалуйста =)
1 3 1
SomeNoob
Recruit
Next rank: Recruit after 6 points
4

Doom Rate: 2

Ссылка на пост №3250 Отправлено: 24.05.18 16:38:18
Всем привет. Как в udmf формате поставить интервал на дамажущую 3д воду? Пробовал через properties у сектора, но что-то не хочет работать.
MyNameIs
= 1st Lieutenant =
Next rank: - Captain - after 36 points
2054

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №3251 Отправлено: 26.05.18 11:24:30
а можно перевести координаты ХУ, которые черные, в углы, которые красные?
наверняка же можно, а то я гуманитарий, я не пойму никак
Скрытый текст:





я просто без понятия как их связать иначе, чтобы актор, стоящий в центре квадрата, понимал, на какой угол ему быть повернутым в зависимости от значений Х и У
1 1 1
N00b
Chief Petty Officer
Next rank: Chief Petty Officer after 18 points
922

Doom Rate: 2.15

Posts quality: +384
Ссылка на пост №3252 Отправлено: 26.05.18 12:51:47
SomeNoob
Через GZDB в свойствах контрольного сектора поставь тип, урон и интервал.
MyNameIs
Нужно воспользоваться функцией atan2, в случае ZDoom ACS она называется VectorAngle.
В случае данной картинки ответом будет VectorAngle(x - 0.5, y - 0.5) * (256 / 2 / pi).

Рейтинг сообщения: +1, отметил(и): MyNameIs
1 2
SomeNoob
Recruit
Next rank: Recruit after 6 points
4

Doom Rate: 2

Ссылка на пост №3253 Отправлено: 26.05.18 14:44:26
N00b2015
У меня через свойства не ставится ни тип, ни урон, ни интервал.
Скрытый текст:

Может это быть связано с устаревшим GZDB?

Anto96WS
= Master Corporal =
Next rank: - Sergeant - after 9 points
281

Doom Rate: 1.77

Posts quality: +88
Ссылка на пост №3254 Отправлено: 27.05.18 20:26:05
Как сделать актор несдвигаемым от выстрела?
Решено: воткнуть актору массу 0x7FFFFFFF или флаг +DONTTHRUST

Добавлено спустя 1 день 39 минут 20 секунд:

Как проверить есть ли между объектом и игроком другие объекты?

Рейтинг сообщения: +1, отметил(и): alekv
Void Weaver
= Captain =
Next rank: - Major - after 144 points
2496

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3255 Отправлено: 29.05.18 00:20:16
Anto96WS, функция A_CheckLOF идеально подходит для этого.

Ещё есть довольно интересная функция A_CheckBlock, но условие её работы лимитировано функциями движения типа А_Чейс.

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

Снова вопрос по спрайтам.
Имеется моб-актор со стандартными спрайтами. Оному нужно "приклеить" полупрозрачный оверлэй-эффект в виде зацикленной анимации (типа ауры) ко всем стэйтам актора. Просто "пришить" эффект к спрайтам в ФШопе не катит, поскольку эффект должен "жить сам по себе", т. е. никак не коррелироваться текущими стэйтами актора.

Тут товарищ рекомендовал, но сам не пробовал да и примеров использования на вики нет:
MyNameIs:
А как сшить две картинки я не знаю.
По идее, можно делать силой гоззы, через A_Overlay, потому что должно работать и у акторов,

This can be called by more than just the weapon; a player or CustomInventory item can also call this function.

Но я не пробовал

Собс-но вопрос: чем это можно сделать? Через A_Overlay или можно закрепить эффект как отдельный актор через связку A_SpawnItemEx(SXF_SETMASTER)+А_Warp(AAPTR_MASTER)?

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

Да, и как можно задать такое поведение: для того чтобы прыгнуть к дистанционной атаке моб должен найти труп и "схавать" его. Т. е. как записать стэйт(ы) поиска и уничтожения ближайшего доступного трупа?

Рейтинг сообщения: +1, отметил(и): Anto96WS
1 9 1
Anto96WS
= Master Corporal =
Next rank: - Sergeant - after 9 points
281

Doom Rate: 1.77

Posts quality: +88
Ссылка на пост №3256 Отправлено: 29.05.18 12:09:38
Void Weaver:
Оному нужно "приклеить" полупрозрачный оверлэй-эффект

Когда-то задавался таким же вопросом, да и сейчас тоже. Про A_Overlay не знал. сегодня помучаю эту функцию и посмотрю что выйдет.

Void Weaver:
Т. е. как записать стэйт(ы) поиска и уничтожения ближайшего доступного трупа?

Mein Костыль
Скрытый текст:


Движение к трупам:
Ставить трупам какой-либо один тег, дальше попытаться натравить на них монстра (через Thing_Hate?)
Если координаты цели и монстра почти совпадают, сделать что-либо с трупом (собсна съесть)

Отличить труп от живого монстра как-то так (ClassifyActor(target) & ACTOR_DEAD). Это уже через ACS



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

Void Weaver:
Anto96WS, функция A_CheckLOF идеально подходит для этого.

А что сделать если нужно вызвать от объекта, причем объект дружественный\не монстр?
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 97 points
1043

Doom Rate: 1.38

Posts quality: +854
Ссылка на пост №3257 Отправлено: 29.05.18 14:59:31
Void Weaver:
Да, и как можно задать такое поведение: для того чтобы прыгнуть к дистанционной атаке моб должен найти труп и "схавать" его. Т. е. как записать стэйт(ы) поиска и уничтожения ближайшего доступного трупа?

Природная трупоискалка: https://zdoom.org/wiki/A_VileChase
Но на стейте "Heal" придётся мутить какой-то скрипт, чтобы труп исчез вместо того, чтобы восстать. Прямых переходов через поинтер на труп вроде нету, надо либо мутить переход через A_CheckLOF, либо стрелять от монстра особо лютым снарядом короткого действия, ремувящим любой объект с заданными характеристиками.
5
Void Weaver
= Captain =
Next rank: - Major - after 144 points
2496

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3258 Отправлено: 29.05.18 20:48:48
Anto96WS:
Про A_Overlay не знал. сегодня помучаю эту функцию и посмотрю что выйдет.
Отпишись если чо выйдет, а я тогда попробую через Варп.

Anto96WS:
А что сделать если нужно вызвать от объекта, причем объект дружественный\не монстр?
Да вроде функция достаточно гибкая - поведение в основном задаётся флагами и их сочетаниями. Например флаги CLOFF_JUMPFRIEND и\или CLOFF_JUMPNONHOSTILE заставят проверять наличие "друзей" между точками, тогда как CLOFF_SKIPFRIEND и\или CLOFF_SKIPNONHOSTILE исключат "друзей" из проверки.

Anto96WS:
Mein Костыль
Выглядит неплохо, но я бы предпочёл обойтись пока без скриптов, ибо не шарю в их синтаксисе.

Герр Смертоносец, первым делом как раз пришла мысль о ВайлЧейсе, но вот само действие (воскрешение) и маленький радиус поиска меня не устраивает. Мне нужно чтобы моб немедленно реагировал на наличие трупа в приличном радиусе - моб должен быть "заинтересован" захавать труп, ибо без "еды" он не сможет кинуть снаряд. И ЧекЛОФ тут тоже сомнителен.

Я тут прикинул (но не проверял ещё) а что если сделать так:
Скрытый текст:

ACTOR Regurgitator
{
SeeEmpty: \\Не может стрелять, ищет трупы
TNT1 A 0 A_JumpIfTargetInsideMeleeRange ("Melee")
ABCD A 1 A_Chase ("CorpseSearch")
Loop

SeeFull: \\Может стрелять
ABCD A 1 A_Chase ("Missile", "Melee")
Loop

Melee:
Goto SeeEmpty

CorpseSearch: \\Собс-но поиск трупов
ABCD A 1 A_CheckProximity ("SeeCorpseChase", "", 1024, 1, CPXF_DEADONLY|CPXF_SETMASTER|CPXF_CLOSEST) \\При обнаружении трупа делает ближайший своим мастером и идёт к нему... Или должен быть обязательно указан акторкласс?
Goto Melee \\Если трупов больше нет - идёт в рукопашку

SeeCorpseChase: \\Идёт вплотную к трупу
???

CorpseRemove: \\Ест труп
ABCD A 1 A_CustomMissile("CorpseRemoveR")
Goto SeeFull \\Труп съеден, теперь "на взводе"

Missile: \\После выстрела снова ищет труп
ABCD A 1 A_CustomMissile()
Goto SeeEmpty
}

ACTOR CorpseRemoveR: \\Собственно трупоудалялка
{
Death:
TNT1 A 0 A_Remove (AAPTR_MASTER) \\Удаляет мастер-труп... Или тут нужен другой указатель?
}

Навскидку, такой вариант может взлететь при доработке али нет?
1 9 1
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 97 points
1043

Doom Rate: 1.38

Posts quality: +854
Ссылка на пост №3259 Отправлено: 30.05.18 15:21:06
Void Weaver
Void Weaver:
A_CheckProximity ("SeeCorpseChase", "", 1024, 1, CPXF_DEADONLY|CPXF_SETMASTER|CPXF_CLOSEST)

Вот это слабое место. Здесь надо тестить, работает ли оно без указания акторкласса. Если не работает - значит всех потенциально сжираемых монстров надо делать наследием условного актора "NewMonster", искать именно его, а в флаги прописать CPXF_ANCESTOR.

Герр Смертоносец:
SeeCorpseChase: \\Идёт вплотную к трупу ???

В простейшем случае делаем A_FaceMaster и одновременно толкаем его в задницу отрицательным A_Recoil с очень малым значением. (Через каждые N секунд даём ему побродить с A_Wander рандомное число тактов на случай, если где-то застрянет.) Одновременно делаем проверки A_JumpIfMasterCloser на малый радиус, с него переход на CorpseRemove.

Void Weaver:
CorpseRemove: \\Ест труп ABCD A 1 A_CustomMissile("CorpseRemoveR")

Зачем отдельный снаряд пускать? Пусть сам A_Remove(AAPTR_MASTER) делает.

Рейтинг сообщения: +1, отметил(и): Void Weaver
5
zzXenobytEzz
= Corporal =
Next rank: - Lance Corporal - after 20 points
110

Doom Rate: 2

Posts quality: +15
Ссылка на пост №3260 Отправлено: 31.05.18 18:11:59
Удивительный вопрос:

В GZDoom 3.3.0 x64 скрипт перестал отбирать оружие. По синтаксису все (вроде) нормально. ZDoom Wiki курил, толку ноль. В чем может быть проблема?

Скрытый текст:


ACTOR DoomPlayer : PlayerPawn
{
Speed 1
Health 100
Radius 16
Height 56
Mass 100
PainChance 255
Player.DisplayName "Marine"
Player.ForwardMove 1.0
Player.SideMove 1.0
Player.MaxHealth 125
Player.RunHealth 35
Player.CrouchSprite "PLYC"
Player.StartItem "FistRedux"
Player.WeaponSlot 1, FistRedux, Chainsaw
Player.WeaponSlot 2, AngledPistol
Player.WeaponSlot 3, Shotgun, SuperShotgun
Player.WeaponSlot 4, Chaingun
Player.WeaponSlot 5, RocketLauncher
Player.WeaponSlot 6, PlasmaRifle
Player.WeaponSlot 7, BFG9000
Player.ColorRange 112, 127
Player.ColorSet 0, "Green", 0x70, 0x7F, 0x72
Player.ColorSet 1, "Gray", 0x60, 0x6F, 0x62 // Called "Indigo" originally so as to have a unique initial
Player.ColorSet 2, "Brown", 0x40, 0x4F, 0x42
Player.ColorSet 3, "Red", 0x20, 0x2F, 0x22
// Doom Legacy additions
Player.ColorSet 4, "Light Gray", 0x58, 0x67, 0x5A
Player.ColorSet 5, "Light Brown", 0x38, 0x47, 0x3A
Player.ColorSet 6, "Light Red", 0xB0, 0xBF, 0xB2
Player.ColorSet 7, "Light Blue", 0xC0, 0xCF, 0xC2



Не актуально. Справился сам.
Страница 163 из 200Перейти наверх Пред.  1, 2, 3 ... 162, 163, 164 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!