Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 178, 179, 180 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
Void Weaver
= Captain =
Next rank: - Major - after 144 points
2496

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3561 Отправлено: 28.09.18 22:38:49
MyNameIs:
можно Else добавлять после каждого условия (что немного говнокод)
Я конечно извиняюсь, но не мог бы ты пояснить почему задание схожих условий через Else есть признак говнокода? В твоём варианте код выходит объёмней. Или он оптимальней обрабатывается?
1 9 1
MyNameIs
= 1st Lieutenant =
Next rank: - Captain - after 36 points
2054

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №3562 Отправлено: 28.09.18 23:14:12
Void Weaver
потому что после одной проверки идет вторая, зависящая от первой, следом третья, зависящая от второй, итд
я хз, просто выглядит по-дурацки. ¯\_(ツ)_/¯

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

и совсем не объемно выходит, ты чего, он даже опрятнее
Скрытый текст:

if(health >= 75)
{абвгд1}
if((health >= 50)&&(health <75))
{абвгд2}
if((health >= 25)&&(health <50))
{абвгд3}
if(health <25)
{абвгд4}


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

Doom Rate: 1.77

Posts quality: +88
Ссылка на пост №3563 Отправлено: 29.09.18 17:17:18
MyNameIs:
if((health >= 75)
{абвгд1}
if((health >= 50)&&(health <75))
{абвгд2}

Опыт показывает, что твой код тяжелее для выполнения машиной.

По прежнему будут вычисляться выражения ВСЕХ операторов, независимо от места срабатывания.
Плюс ты усложнил выражения внутри операторов. Повышенная нагрузка

Извиняй за придирчивость, я слишком много оптимизировал код и это вошло в привычку

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

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №3564 Отправлено: 29.09.18 18:44:44
Anto96WS
охблин. серьезно думал, что цепочка иф\елс тяжелее. не знал, спасибо.
1 1 1
Anto96WS
= Master Corporal =
Next rank: - Sergeant - after 9 points
281

Doom Rate: 1.77

Posts quality: +88
Ссылка на пост №3565 Отправлено: 29.09.18 19:20:38
MyNameIs:
и совсем не объемно выходит, ты чего, он даже опрятнее

Если нужно форматирование под сжатость (сам люблю код сжимать, если потом к нему не буду лезть)

FPAN C 1 {
	if(health >= 100)	a_custompunch(5, TRUE, CPF_NORANDOMPUFFZ,"panpuff"); else
	if(health >= 75)	a_custompunch(20, TRUE, CPF_NORANDOMPUFFZ,"panpuff"); else
	if(health >= 50)	a_custompunch(40, TRUE, CPF_NORANDOMPUFFZ,"panpuff"); else
	if(health >= 25)	a_custompunch(60, TRUE, CPF_NORANDOMPUFFZ,"panpuff"); else
	// Здоровье игрока ниже 25. Тут тоже можно что-нибудь делать
}
FPAN DE 2


Ладно, кажется мне нужно прекратить оффтопить

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

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3566 Отправлено: 29.09.18 20:39:40
Anto96WS
С чего это вдруг оффтоп? Имхо, вопросы оптимизации кода полностью вписываются в тему топика.
Был бы признателен если кто расставит точки по этому вопросу:
Void Weaver:
1. Краем уха слышал что существует небольшая, но тем не менее, разница в ресурсоёмкости между Goto, Loop и _Jump. Если это правда, то что из этого лучше использовать для снижения ресурсоёмкости?
1 9 1
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 97 points
1043

Doom Rate: 1.38

Posts quality: +855
Ссылка на пост №3567 Отправлено: 29.09.18 21:47:32
Void Weaver:
1. Краем уха слышал что существует небольшая, но тем не менее, разница в ресурсоёмкости между Goto, Loop и _Jump. Если это правда, то что из этого лучше использовать для снижения ресурсоёмкости?

Ну чисто теоретически - к A_Jump всегда пришит как минимум генератор случайных чисел и сверка с результатом, это всё отжирает немного ресурсов. Goto и Loop - операторы безусловного перехода, в которых нет ничего лишнего, при этом Loop не содержит никаких дополнительных указателей сдвига, так что должен работать немного быстрее.
Энивей, эти мелочи ничто по сравнению с нагрузками на рендер. Поэтому если проверить гипотезу комнатой на 100500 ревенантов, в которых Loop будет заменен на Goto и на A_Jump, то фпс во всех трёх случаях скорее всего будет одинаковым.

Рейтинг сообщения: +1, отметил(и): Void Weaver
5
Taw Tu'lki
= Captain =
Next rank: - Major - after 255 points
2385

Doom Rate: 1.42

Posts quality: +1008
Ссылка на пост №3568 Отправлено: 29.09.18 22:30:33
Как ввести правильно код на нового противника? Я ввожу его:
actor Bat
{
Health 18
Radius 16
Height 56
Mass 45
Speed 9
Damage 5
PainChance 256
SeeSound "bat/sight"
DeathSound "bat/death"
AttackSound "bat/attack"
DropItem "Clip" 256
Monster
+FLOAT
+NOGRAVITY
States
{
Spawn:
CBAT AB 10 A_Look
loop
See:
CBAT AABBCCDD 4 A_Chase
loop
Missile:
CBAT E 10 A_FaceTarget
CBAT F 8 A_PosAttack
CBAT E 8
goto See
Pain:
CBAT G 3
CBAT G 3 A_Pain
goto See
Death:
CBAT H 5
CBAT I 5 A_Scream
CBAT J 5 A_NoBlocking
CBAT K 5
CBAT L 5
CBAT M -1
stop
XDeath:
CBAT N 5
CBAT O 5 A_XScream
CBAT P 5 A_Noblocking
CBAT Q 5
CBAT R -1
stop
Raise:
CBAT LKJIH 5
goto See
}
}

но во время тестирования игра вылетает + в Doombuildere, равно как и в Slade, он не отображается. Еще ошибка возникает: You cannot pass parameters to 'A_Scream'.
15
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №3569 Отправлено: 29.09.18 23:22:34
BJ34:
actor Bat

Скорее всего актер с именем bat уже есть в сорцах гздума, точнее в gzdoom.pk3, скорее всего это актер из еретика или хексена
Потому именуй по другому, попробуй написать так:
Actor bat2 16787
{//$Category "New monster"

и в гздб ищи категорию new monster (или на крайняк user-defined)
1 3 1
Void Weaver
= Captain =
Next rank: - Major - after 144 points
2496

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3570 Отправлено: 29.09.18 23:37:46
Герр Смертоносец:
Ну чисто теоретически - к A_Jump всегда пришит как минимум генератор случайных чисел и сверка с результатом, это всё отжирает немного ресурсов.
А что, РНГ активируется даже при значении 256? Просто подразумевался джамп со 100% шансом, как аналог goto.

BJ34
Во-первых, актор под именем "Bat" уже зарезервирован как класс Хексы, соответственно твой актор должен ЛИБО наследоваться от хексен-Bat:
actor MyBat : Bat
, ЛИБО просто иметь собственное название:
actor MyBat


Во-вторых, у тебя не указано в A_Chase отсутствие Melee стэйта при наличии Missile стэйта. Должно быть ЛИБО:
See:
CBAT AABBCCDD 4 A_Chase(0,"Missile")
loop
Missile:
CBAT E 10 A_FaceTarget
CBAT F 8 A_PosAttack
CBAT E 8
goto See
, ЛИБО:
See:
CBAT AABBCCDD 4 A_Chase
loop
Melee:
Missile:
CBAT E 10 A_FaceTarget
CBAT F 8 A_PosAttack
CBAT E 8
goto See

Ну и наконец убедись что спрайты (если они кастомные) находятся в пределах S_START\END маркеров.

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

Алек подкрался незаметно... :ha:
1 9 1
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 97 points
1043

Doom Rate: 1.38

Posts quality: +855
Ссылка на пост №3571 Отправлено: 30.09.18 01:10:00
Void Weaver:

А что, РНГ активируется даже при значении 256? Просто подразумевался джамп со 100% шансом, как аналог goto.

Даже если и не активируется - там должен стоять отдельный if на этот случай, который тоже подразумевает одно лишнее действие. Да и вряд ли кто-то заморачивался прописывать исключение для значения 256.

Рейтинг сообщения: +1, отметил(и): Void Weaver
5
Taw Tu'lki
= Captain =
Next rank: - Major - after 255 points
2385

Doom Rate: 1.42

Posts quality: +1008
Ссылка на пост №3572 Отправлено: 30.09.18 06:28:22
Void Weaver
Уже исправил. Однако все равно возникает ошибка "You cannot pass parametres to 'A_Scream'"
15
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 97 points
1043

Doom Rate: 1.38

Posts quality: +855
Ссылка на пост №3573 Отправлено: 30.09.18 07:38:15
BJ34
Звучит так, как будто где-то к A_Scream кто-то присобачил скобки, и парсер подавился, не ожидая её там увидеть. Есть подозрение, что это не единственное место с A_Scream, и косяк где-то ещё.
На какую именно строку ссылкается ошибка? Строки в лумпах пронумерованы.

Рейтинг сообщения: +2, отметил(и): Taw Tu'lki, Void Weaver
5
Taw Tu'lki
= Captain =
Next rank: - Major - after 255 points
2385

Doom Rate: 1.42

Posts quality: +1008
Ссылка на пост №3574 Отправлено: 30.09.18 08:15:28
Герр Смертоносец
На 76-ую.
15
Void Weaver
= Captain =
Next rank: - Major - after 144 points
2496

Doom Rate: 1.82

Posts quality: +808
Ссылка на пост №3575 Отправлено: 30.09.18 09:26:42
Хз, код работает нормально.
Выложи свой вад.

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

BJ34, ну ты блин кадр...
CBAT I 5 A_Scream // ("DSBATDTH") - А_Скрим без параметров и скобок работает (гоззы 1.8 - 2.3) как и писал Герр Смертоносец.

Да, и у тебя отсутствует лумп SNDINFO, в нём надо прописать что-то типа:

mybat/death DSBATDTH
mybat/attack DSBATSIT

Тогда актор будет воспроизводить звуки.

Рейтинг сообщения: +2, отметил(и): Герр Смертоносец, Taw Tu'lki
1 9 1
Taw Tu'lki
= Captain =
Next rank: - Major - after 255 points
2385

Doom Rate: 1.42

Posts quality: +1008
Ссылка на пост №3576 Отправлено: 30.09.18 10:03:40
Void Weaver
Точно. И как я сразу то не догадался. Спс.
15
Murashka
= Corporal =
Next rank: - Lance Corporal - after 22 points
108

Doom Rate: 1.96

Posts quality: +14
Ссылка на пост №3577 Отправлено: 30.09.18 12:04:41
У меня вопрос: Можно ли сделать так чтобы у игрока не было ВООБЩЕ оружия. Тоесть просто пустота. Чтобы не было ни кулаков, ни пистолета. Как это реализовать? Хочу сделать сюжетную карту, не как простую. Можете написать скрипт ZDoom, как удалить оружие, заранее спасибо.
Taw Tu'lki
= Captain =
Next rank: - Major - after 255 points
2385

Doom Rate: 1.42

Posts quality: +1008
Ссылка на пост №3578 Отправлено: 30.09.18 18:15:30
Murashka
Попробуй ввести код r_drawplayersprites 0.

Рейтинг сообщения: -1, отметил(и): ZZYZX
15
Mud
- Warrant Officer -
Next rank: = Warrant Officer = after 58 points
1082

Doom Rate: 1.97

Posts quality: +700
Ссылка на пост №3579 Отправлено: 30.09.18 18:38:50
BJ34
Это лишь уберет отображение оружия, но оно по прежнему будет у игрока.
По теме вот

Рейтинг сообщения: +2, отметил(и): Taw Tu'lki, Void Weaver
3 1
DOOMGABR
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 114 points
1176

Doom Rate: 1.87

Posts quality: +773
Ссылка на пост №3580 Отправлено: 30.09.18 21:11:21
Как сделать, чтобы проигрался звук на карте по ACS-скрипту? Например звон металла у опускающегося пола. Именно около него в каком либо радиусе?
Еще... Не работает NoiseAlert в UDMF.
Код:
Скрытый текст:


script 616 (void)
    {
        ...
        NoiseAlert(0, 1) // 0 - игрок, 1 - зомбимен, который должен триггернуться, но, почему то, он не реагирует...
    }



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