Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые!-2 Пред.  1, 2, 3 ... 36, 37, 38, 39, 40  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!-2Ответить
АвторСообщение
VladGuardian
= Commissar =
Next rank: - UAC Commissar - after 393 points
5407

Doom Rate: 1.28

Posts quality: +1772
Ссылка на пост №721 Отправлено: 26.05.21 14:48:55
TesaQ пишет:
который отсвечивает зелёным, но текстура всё равно не имеет максимальную яркость

Это PNG-текстура?
Тогда проверь альфа-канал, вероятно дело в нём, если макс. значение - значительно меньше 255.
4 10 22
TesaQ
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 145 points
1145

Doom Rate: 1.72

Posts quality: +345
Ссылка на пост №722 Отправлено: 26.05.21 14:59:16
VladGuardian
Да, с самим брайтмапом всё в порядке, если ты про него. Альфа канал я всегда вычищаю. Проблему решил, она вообще близко не в текстурах. Тег warp не дает брайтмапу работать
1
Landsberg
= Lance Corporal =
Next rank: - Master Corporal - after 4 points
196

Doom Rate: 1.96

Posts quality: +22
Ссылка на пост №723 Отправлено: 04.07.21 18:06:59
Какие причины могут быть столь странного поведения редактора?
Заменял replaces ом этого actor, но он либо не заменяется, либо если конкретно его вставлять в редактор, то вот что получается
JSO x
UAC Sergeant Major
Next rank: UAC Sergeant Major after 42 points
718

Doom Rate: 2.25

Posts quality: +303
Ссылка на пост №724 Отправлено: 06.07.21 22:20:00
Никто не отвечает, так что буду предполагать -- задам наводящие вопросы: какие управляющие файлы с кодом подключены? Decorate, ACS, ZScript, MAPINFO/GAMEINFO? Проверь, нет ли конфликтов здесь (MAPINFO) и здесь (Decorate). Не стоит ли галка в меню ресурсов (F2) "Exclude this resource pack from testing"? И в конфигурации Doom Builder (F6), в строке параметров запуска тестирования, не убрано ли "-file %f" (насчёт именно такого типа после знака процента не уверен, но нечто подобное по-любому должно быть)?
1 5
Landsberg
= Lance Corporal =
Next rank: - Master Corporal - after 4 points
196

Doom Rate: 1.96

Posts quality: +22
Ссылка на пост №725 Отправлено: 07.07.21 18:14:30
Галочка не стояла, поставил - тоже не сработало, в параметрах стоит вот это: -iwad "%WP" -skill "%S" -file "%AP" "%F" +map %L %NM
Тег у него уникальный, код такой:

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


actor Cardinal 1325
{
Health 4500
Speed 6
Radius 24
Height 112
PainChance 50
Mass 700
Meleedamage 10
SeeSound "cyber/sight"
PainSound "brain/pain"
DeathSound "cyber/death"
Missiletype "Cardinal_Rocket"
MissileHeight 72
MONSTER
+NORADIUSDMG
+NOGRAVITY
+FLOATBOB
+FLOAT
bloodcolor green
Obituary "%o was blessed by the dark cardinal."
States
{
Spawn:
CARD AB 4 Bright A_Look
Loop
See:
CARD AABBAABBAABB 2 Bright A_Chase
loop
Missile:
CARD A 0 A_jump(10,6)
CARD A 0 A_jump(100,7)
CARD C 4 Bright A_FaceTarget
CARD D 5 Bright A_CustomMissile("Cardinal_Rocket", 72, -30, 0)
CARD C 4 Bright A_FaceTarget
CARD D 5 Bright A_CustomMissile("Cardinal_Rocket", 72, -30, 0)
Goto See
CARD C 4 Bright A_FaceTarget
CARD D 5 Bright A_CustomMissile("pain_gernade", 72, -30, 0)
Goto See
CARD C 4 Bright A_FaceTarget
CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
CARD C 4 Bright A_FaceTarget
CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
CARD C 4 Bright A_FaceTarget
CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
CARD C 4 Bright A_FaceTarget
CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
CARD C 4 Bright A_FaceTarget
CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
CARD C 4 Bright A_FaceTarget
CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
Goto See
Pain:
CARD A 4 Bright
CARD A 0 Bright A_custommissile("DeathBall",72,0,0,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,20,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,40,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,60,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,80,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,100,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,120,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,140,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,160,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,180,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,200,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,220,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,240,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,260,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,280,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,300,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,320,2,0)
CARD A 0 Bright A_custommissile("DeathBall",72,0,340,2,0)
Goto See
Death:
CARD E 8 Bright
CARD F 8 Bright A_Scream
CARD G 8 Bright A_NoBlocking
CARD H 8 Bright
CARD I 8 Bright A_Explode
CARD J 8 Bright
CARD K 8 Bright
CARD L 8 Bright
Stop
}
}
//====================
ACTOR Cardinal_Rocket
{
Game Doom
SpawnID 127
Radius 11
Height 8
Speed 20
Damage 24
Projectile
+RANDOMIZE
+DEHEXPLOSION
+ROCKETTRAIL
SeeSound "weapons/rocklf"
DeathSound "weapons/rocklx"
States
{
Spawn:
CROC AB 4 Bright
Loop
Death:
CROC C 8 Bright A_Explode
CROC D 6 Bright
CROC E 4 Bright
Stop
}
}
//====================
ACTOR pain_gernade
{
Game Doom
SpawnID 127
Radius 11
Height 8
Speed 20
Damage 5
Projectile
+DoomBounce
-NoGravity
scale .25
translation "168 : 191 = 112 : 127"
SeeSound "weapons/rocklf"
DeathSound "caco/death"
States
{
Spawn:
HEAD A 2 Bright A_CustomMissile("faintGhost1", 0, 0, 0)
Loop
Death:
HEAD GHIJ 8
HEAD k 8 A_SpawnItem("Fire", 0, 0)
HEAD L -1
Stop
}
}
//====================
ACTOR Fire
{
+NOBLOCKMAP
+NOTELEPORT
+NOGRAVITY
RenderStyle Add
Alpha 0.9
States
{
Spawn:
FIRE ABCD 6 Bright
FIRE E 6 Bright A_SpawnItem("paingasm", 0, 0)
FIRE FGH 6 Bright
Stop
}
}
//====================
actor paingasm 10004
{
Game Doom
SpawnID 19
Health 500
Radius 31
Height 56
Mass 400
Speed 25
PainChance 128
Monster
bloodcolor blue
+FLOAT +NOGRAVITY
AttackSound "imp/melee"
SeeSound "caco/sight"
PainSound "caco/pain"
DeathSound "caco/death"
ActiveSound "caco/active"
Obituary "you were removed from life by a paingasm"
HitObituary "your face got tore off by a paingasm"
translation "168:191=112:127"
RenderStyle Translucent
Alpha 0.5
States
{
Spawn:
HEAD A 10 A_Look
Loop
See:
HEAD A 3 A_Chase
HEAD A 0 A_CustomMissile("faintGhost2", 0, 0, 0)
Loop
Missile:
HEAD B 5 A_FaceTarget
HEAD C 5 A_FaceTarget
HEAD D 5 BRIGHT A_CustomMissile("painball", 24, 0, 0)
Goto See
Melee:
HEAD B 4 A_FaceTarget
HEAD C 4 A_FaceTarget
HEAD D 4 A_FaceTarget
HEAD C 4 A_SargAttack
HEAD B 4 A_FaceTarget
HEAD a 4 A_FaceTarget
Goto See
Pain:
HEAD E 3
HEAD E 3 A_Pain
HEAD F 6
Goto See
Death:
HEAD G 8
HEAD H 8 A_Scream
HEAD I 8
HEAD J 8
HEAD K 8 A_NoBlocking
HEAD L -1 A_SetFloorClip
Stop
}
}
//====================
ACTOR faintGhost1
{
Radius 1
Height 1
Speed 0
Damage 0
Mass 100
translation "168 : 191 = 112 : 127"
RenderStyle Translucent
Alpha 0.9
PROJECTILE
scale .25
States
{
Spawn:
TNT1 A 0 A_FaceTarget
TNT1 A 0 Thing_ChangeTid(0,390)
HEAD A 2 A_fadeout(0.05)
loop
}
}
//====================
ACTOR faintGhost2 : faintGhost1
{
scale 1
States
{
Spawn:
TNT1 A 0 A_FaceTarget
TNT1 A 0 Thing_ChangeTid(0,390)
HEAD A 2 A_fadeout(0.05)
loop
}
}
//====================
ACTOR faintGhost3 : faintGhost1
{
scale 1
States
{
Spawn:
TNT1 A 0 A_FaceTarget
TNT1 A 0 Thing_ChangeTid(0,390)
CARD AB 2 A_fadeout(0.05)
loop
}
}
//====================
ACTOR painball : BaronBall
{
translation "112 : 127 = 192 : 207"
States
{
Spawn:
BAL7 AB 4 BRIGHT
Loop
Death:
BAL7 CDE 6 BRIGHT
Stop
}
}
//====================
actor DeathBall : BaronBall
{
Damage 1
+SEEKERMISSILE
scale .8
States
{
Spawn:
BAL7 A 4 BRIGHT A_Tracer
BAL7 A 0 BRIGHT A_SpawnItem("BallTail", 0, 0)
BAL7 B 4 BRIGHT A_Tracer
BAL7 A 0 BRIGHT A_SpawnItem("BallTail", 0, 0)
Loop
Death:
BAL7 CDE 6 BRIGHT
Stop
}
}
//====================
ACTOR BallTail : faintGhost1
{
scale .6
States
{
Spawn:
TNT1 A 0 A_FaceTarget
TNT1 A 0 Thing_ChangeTid(0,390)
BAL7 AB 2 A_fadeout(0.05)
loop
}
}
//====================
ACTOR CardinalPlasma
{
Radius 11
Height 8
Speed 20
Damage 16
Projectile
+FLOATBOB
SeeSound "imp/attack"
DeathSound ""
scale 1.0
States
{
Spawn:
CRTA J 1 Bright A_SpawnItem("plasmaTail", 0, 0)
Loop
Death:
TNT1 A 0 A_FaceTarget
TNT1 A 0 Thing_ChangeTid(0,390)
CRTA J 2 A_fadeout(0.05)
Stop
}
}
//====================
ACTOR plasmaTail
{
Radius 1
Height 1
Speed 0
Damage 0
Mass 100
+FLOATBOB
PROJECTILE
scale .25
scale 1.0
States
{
Spawn:
TNT1 A 0 A_FaceTarget
TNT1 A 0 Thing_ChangeTid(0,390)
CRTA IHGFEDCBABCDEFGHIJ 2 BRIGHT A_fadeout(0.05)
loop
}
}

JSO x
UAC Sergeant Major
Next rank: UAC Sergeant Major after 42 points
718

Doom Rate: 2.25

Posts quality: +303
Ссылка на пост №726 Отправлено: 07.07.21 19:06:00
Указанного на скриншоте DoomEdNum поиском не нашлось:
Скрытый текст:




Кстати, у тебя дважды 127-й SpawnID в коде появляется, в "ACTOR Cardinal_Rocket" и в "ACTOR pain_gernade".
1 5
Landsberg
= Lance Corporal =
Next rank: - Master Corporal - after 4 points
196

Doom Rate: 1.96

Posts quality: +22
Ссылка на пост №727 Отправлено: 26.07.21 11:43:10
Идея данного кода в том, что заспавненый дружелюбный демон при некоторых условиях передаёт "живому" спавнеру Token, при получении которого он переходит в состояние, из которого отбирает у мастера этот же Token, а потом его убивает.
Токен явно прописан как Ammo, чтобы во время теста за его количеством было удобно следить.
Суть проблемы заключается в том, что Token у игрока не отнимается, но игрок умирает, что является индикатором того, что он всё ещё счается мастром, но токены у него через указатель не убавляются.
Вызывается демонспавнер через

TNT1 A 0 A_SpawnItemEx("DemonDogSpawner",1,0,10,10,0,0,0,SXF_SETMASTER)

от его изменения с Ammo на Inventory ничего, что ожидаемо, не меняется

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


actor DemonSpawner
{
Radius 11
Height 8
Speed 20
-NOGRAVITY
States
{
Spawn:
TNT1 A 10
TNT1 A 0 A_SpawnItemEx("FriendlyDemon",0,0,0,0,0,0,0,SXF_SETMASTER)
Death:
TNT1 A 1 A_JumpIfInventory("Token",1,"Death1")
loop
Death1:
TNT1 A 0 A_TakeInventory("Token",100,AAPTR_MASTER)
TNT1 A 0 A_KillMaster
Stop
}



Вот код самого флендлидемона, из него видно, что способ передачи токена его мастеру такой же, но, почему-то, рабочий:

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


actor FriendlyDemon:Demon replaces Demon
{
gravity 100000000
+Friendly
//+NoBlockmap
States
{
Spawn:
TNT1 A 1
TNT1 A 0 A_SetGravity(1)
goto See
Death:
SARG I 8
SARG J 8 A_Scream
SARG K 4
SARG L 4 A_NoBlocking
SARG M 4
TNT1 A 0 A_GiveInventory("Token",1,AAPTR_MASTER)
SARG N -1
Stop
}
}

JSO x
UAC Sergeant Major
Next rank: UAC Sergeant Major after 42 points
718

Doom Rate: 2.25

Posts quality: +303
Ссылка на пост №728 Отправлено: 26.07.21 21:23:18
Первая идея -- а попробуй в начале каждого Death-стейта у "DemonSpawner" "TNT1 A 0" прописать. Это известная ошибка в Decorate -- первый фрейм с нулевой длиной пропускается.

States {
    Spawn:
        TNT1 A 10
        TNT1 A 0 A_SpawnItemEx("FriendlyDemon",0,0,0,0,0,0,0,SXF_SETMASTER)
    Death:
        TNT1 A 0
        TNT1 A 1 A_JumpIfInventory("Token",1,"Death1")
        Loop
    Death1:
        TNT1 A 0
        TNT1 A 0 A_TakeInventory("Token",100,AAPTR_MASTER)
        TNT1 A 0 A_KillMaster
        Stop
} 
1 5
Landsberg
= Lance Corporal =
Next rank: - Master Corporal - after 4 points
196

Doom Rate: 1.96

Posts quality: +22
Ссылка на пост №729 Отправлено: 26.07.21 22:15:44
JSO x пишет:
в начале каждого Death-стейта у "DemonSpawner" "TNT1 A 0" прописать.

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

Тут киллМастер работает:
Скрытый текст:


States {
Spawn:
TNT1 A 10
TNT1 A 0 A_SpawnItemEx("FriendlyDemon",0,0,0,0,0,0,0,SXF_SETMASTER)
Death:
TNT1 A 1 A_JumpIfInventory("Token",1,"Death1")
Loop
Death1:
TNT1 A 0 A_KillMaster
TNT1 A 0 A_TakeInventory("Token",100,AAPTR_MASTER)
TNT1 A 0
Stop
}



Тут тэйкинвентори не работает:
Скрытый текст:


States {
Spawn:
TNT1 A 10
TNT1 A 0 A_SpawnItemEx("FriendlyDemon",0,0,0,0,0,0,0,SXF_SETMASTER)
Death:
TNT1 A 0
TNT1 A 1 A_JumpIfInventory("Token",1,"Death1")
Loop
Death1:
TNT1 A 0
TNT1 A 1 A_TakeInventory("Token",100,AAPTR_MASTER)
Stop
}


Он и в предыдущей конфе не работал:(
Герр Смертоносец
UAC Sergeant Major
Next rank: Chief Petty Officer after 63 points
787

Doom Rate: 1.37

Posts quality: +616
Ссылка на пост №730 Отправлено: 26.07.21 23:35:02
Landsberg
https://zdoom.org/wiki/A_TakeInventory
Если верить точной документации функции (вот почему я топлю за точное документирование), то конструкция выглядит, как:
A_TakeInventory (string type [, int amount [, int flags [, pointer giveto]]])

Значит AAPTR_MASTER у тебя идёт не в поле пойнтера, а в поле флага. А это неверно.
По логике парсера должно быть как-то так: A_TakeInventory("Token",100,0,AAPTR_MASTER)

Рейтинг сообщения: +2, отметил(и): VladGuardian, JSO x
2
Landsberg
= Lance Corporal =
Next rank: - Master Corporal - after 4 points
196

Doom Rate: 1.96

Posts quality: +22
Ссылка на пост №731 Отправлено: 27.07.21 13:47:37
Большое спасибо, заработало. Я думал порядок параметров такой же как и у A_GiveInventory...
SSV_Victoryan
UAC Sergeant Major
Next rank: Chief Petty Officer after 79 points
771

Doom Rate: 2.2

Posts quality: +228
Ссылка на пост №732 Отправлено: 30.07.21 10:16:11
Привет всем. Пытался понять сам как сделать активацию скрипта, если игрока заметил actor встроенными средствами редактора (Slade). Так как я маппер, то ничего не вышло =D
Вопрос: есть ли универсальный способ, желательно простой, сработать некий скрипт, если игрока заметил actor ???
2
VladGuardian
= Commissar =
Next rank: - UAC Commissar - after 393 points
5407

Doom Rate: 1.28

Posts quality: +1772
Ссылка на пост №733 Отправлено: 30.07.21 10:22:42
SSV_Victoryan пишет:
есть ли универсальный способ, желательно простой, сработать некий скрипт, если игрока заметил actor ???

Не уверен в правильности ответа, но вот:
https://zdoom.org/wiki/CheckSight_(ZScript)
и там внутри еще намек на функцию A_Look декорэйта.
4 10 22
SSV_Victoryan
UAC Sergeant Major
Next rank: Chief Petty Officer after 79 points
771

Doom Rate: 2.2

Posts quality: +228
Ссылка на пост №734 Отправлено: 30.07.21 10:28:50
VladGuardian пишет:
Не уверен в правильности ответа, но вот:
https://zdoom.org/wiki/CheckSight_(ZScript)

Я так понимаю для ACS не подойдёт?
2
VladGuardian
= Commissar =
Next rank: - UAC Commissar - after 393 points
5407

Doom Rate: 1.28

Posts quality: +1772
Ссылка на пост №735 Отправлено: 30.07.21 10:44:39
SSV_Victoryan пишет:
Я так понимаю для ACS не подойдёт?

Сорян, не заметил:
https://zdoom.org/wiki/CheckSight

Также, проверка близости к персонажу:
https://zdoom.org/wiki/CheckProximity
4 10 22
SSV_Victoryan
UAC Sergeant Major
Next rank: Chief Petty Officer after 79 points
771

Doom Rate: 2.2

Posts quality: +228
Ссылка на пост №736 Отправлено: 30.07.21 11:29:16
VladGuardian пишет:
Сорян, не заметил:
https://zdoom.org/wiki/CheckSight

Также, проверка близости к персонажу:
https://zdoom.org/wiki/CheckProximity

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

Попробую объяснить, есть ли универсальный способ для всех таких ситуаций, в котором только переменные нужно подставлять. Приведу пример. В одном из чужих проектов выдрал скрипт и переделал:
script 701 (int atag0) { thingsound(atag0, "Metal/Sound35", 127); }
На карте этот скрипт можно вешать на любую линию с разными TID и воспроизводимый звук будет ссылаться всегда на нужный актор, а не на один и тот же, при том что скрипт один(универсальный).

Так вот мне уже стало интересно, возможно ли вообще создать что-то подобное (универсальное, чтобы не плодить гору акторов) для ситуации где воспроизведение звука идёт не через пересечение линии, а через то, когда другой актор заметил игрока? Некая камера с таргетом что ли.
2
Gadavre
- Sergeant Major -
Next rank: = Sergeant Major = after 64 points
536

Doom Rate: 1.19

Posts quality: +50
Ссылка на пост №737 Отправлено: 30.07.21 11:43:04
Всем привет. Никто не разбирается в бесплатных программах для создания шрифтов ttf ? Я бы хотел импортировать более качественный, четкий современнный русский шрифт в старую игру unreal tournament... Но такие шрифты не работают и показывают крякозябры..Может что то надо в программе отредактировать для совместимости?
UT прекрасно читает текстовые файлы в старой кодировке 1251 , но не отображает текст в кодировке юникода...
Старые русские шрифты 1992 -1995 года как правило все подходят, но при увеличении такого шрифта зачастую теряются некоторые его элементы
1
Герр Смертоносец
UAC Sergeant Major
Next rank: Chief Petty Officer after 63 points
787

Doom Rate: 1.37

Posts quality: +616
Ссылка на пост №738 Отправлено: 01.08.21 18:53:23
SSV_Victoryan пишет:
Вопрос: есть ли универсальный способ, желательно простой, сработать некий скрипт, если игрока заметил actor ???

SSV_Victoryan пишет:
Исходя из статей я понял что, мне придётся создавать каждый раз новый актор под такую ситуацию. Мне это не подходит, поскольку на каждой карте таких ситуаций уже от 3 до 15.
Попробую объяснить, есть ли универсальный способ для всех таких ситуаций, в котором только переменные нужно подставлять.

1. Создаётся невидимый актор-монстр писикак, он молчит и ничего не делает. Заметив игрока он переходит на стейт See, оттуда сразу на Death и исчезает.
2. Где-то на карте есть неприметный заныканный спецсектор. Допустим, там щель в стене и свечка стоит. А на самом деле там сидит невидимый писикак. Сектор имеет номерной tag.
3. Со старта карты работает зацикленный скрипт.
script 1 OPEN
if ThingCountNameSector("Pisikak", 0, tag)<1 
{
   Сделать любую требуемую хургаду;
   terminate;
}
   Delay(35);
   restart;

4. Когда игрок проходит мимо спецсектора, писикак замечает игрока и исчезает. Скрипт замечает исчезновение писикака в спецсекторе и запускает все нужные события. Громко включает сигнализацию, вызывает ментов и.т.п.

Итого на все случаи жизни нам нужен один универсальный писикак, а всё остальное делается добавлением на карту новых спецсекторов и клонированием скриптов по вышеуказанному шаблону, где мы подставляем только tag спецсектора и пишем требуемые события.
Чтобы писикак нас видел, но издали не слышал, спецсектор надлежит огородить линиями с флагом SOUNDBLOCK. А можно наоборот запихать писикака в тайную комнатку, где он игрока не видит, а только слышит. Тогда можно делать на картах ситуации, которые надо проходить по стелсу, а если шумишь - приезжают менты.

Рейтинг сообщения: +2, отметил(и): VladGuardian, Mud
2
SSV_Victoryan
UAC Sergeant Major
Next rank: Chief Petty Officer after 79 points
771

Doom Rate: 2.2

Posts quality: +228
Ссылка на пост №739 Отправлено: 02.08.21 09:52:09
Герр Смертоносец
Я не понимаю в чём проблема, но при компиляции скрипта пишет следующее:
SCRIPTS.acs:10: Missing '('.
> if ThingCountNameSector(
>

Сам скрипт:
script 400 OPEN
if ThingCountNameSector("Screamer", 0, 1000)<1 
{  ACS_Execute(701, 0, 0, 0, 0);
   terminate;
}
Delay(35);
restart;


И ещё проблема такого способа:
Скрытый текст:

В скрипте:
script 701 (int atag0) { thingsound(atag0, "Hell/Sound18", 127); }

Используется atag0 в которой записан TID актора, на котором на карте воспроизводится звук. А это как я понял нельзя прописать в скрипте с OPEN параметром, пробовал, ну или не так пробовал))) не шарю эх.

2
VladGuardian
= Commissar =
Next rank: - UAC Commissar - after 393 points
5407

Doom Rate: 1.28

Posts quality: +1772
Ссылка на пост №740 Отправлено: 02.08.21 11:34:02
SSV_Victoryan пишет:
SCRIPTS.acs:10: Missing '('.

У тебя отсутствует открывающая скобка скрипта '{'
(ну и парная закрывающая, есесено)
script 400 OPEN
{
   if ThingCount....

   Delay(35);
   restart;
}

SSV_Victoryan пишет:
script 701 (int atag0) { thingsound(atag0, "Hell/Sound18", 127); }

Если хочешь это же прописать в OPEN, то знай, что скрипты типа special : OPEN/ENTER/UNLOADING/и т.д. - не понимают параметров.
(за исключением скрипта DISCONNECT, но это исключение)
https://zdoom.org/wiki/Script_types#OPEN

Попробуй вместо (int atag0) юзать фиксированное число (константу). Если тебя устраивает такой выход.
Определяются константы так:
(в начале программы, до начала всех скриптов)
#define VAL	3131
#define STR_err "err"
#define Pi      3.14
https://zdoom.org/wiki/Constants

P.S. Рекомендую, вместо магических чисел - 1000, 701 (как в твоем коде) - лучше использовать константы.
Во-первых, это облегчает чтение кода.
Во-вторых, избавляет от потенциальных ошибок.
В-третьих, облегчает модифицирование кода.
Представь, что тебе нужно изменить сто-пяцот значений по всему коду, скажем 701 -> 702.
С помощью определения константы, это изменение будет происходить только в одном месте (одной строке). Оцени красоту игры.

Рейтинг сообщения: +3, отметил(и): Герр Смертоносец, SSV_Victoryan, JSO x
4 10 22
Страница 37 из 40Перейти наверх Пред.  1, 2, 3 ... 36, 37, 38, 39, 40  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!-2