Автор | Сообщение |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 28.01.09 17:00:42 | | | Archi : | Ну я ашипся. Но делай лучше так:
Actor ZombieManSpawner : RandomSpawner 6001 {
DropItem "Clip"
DropItem ""
DropItem "Zombieman" } |
в этом случае по идее либо будут спавниться патроны, либо ничего, либо зомби. ща проверю | |
|
1 |
2 |
1 |
 |
|
| |
Phosgene = UAC Gunner =
 | 79 |
Doom Rate: 1.84
|
Отправлено: 28.01.09 17:01:53 | | | nprotect
Это нужно создавать новый wad, копировать в него все мои wadы, создавать в wadе ламп и туда писать это?
Я правильно понял? | |
|
| |
krovopijca Гость
|
Отправлено: 28.01.09 17:03:16 | | | Вот так будет спавниться один из трех типов зомби.
Actor CustomZombieSpawner : RandomSpawner replaces ZombieMan
{
DropItem 150 "ZombieMan"
DropItem 100 "ShotgunGuy"
DropItem 50 "ChaingunGuy"
} | |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 28.01.09 17:06:57 | | | Phosgene
можно отдельно вадники подключать. несколько но лучше все в один, удобнее как-то.
проверил код.
| Actor ZombieManSpawner : RandomSpawner replaces ZombieMan
{
DropItem "Clip"
DropItem "DoomImp"
DropItem "Zombieman"
}
|
вот так прекрасно работает. все зомби заменяются рандомно опять же на зомби, импа или патроны. как повезет. на МАП01 из дум2.вад вместо двух зомбей что-то интересное выпадает
а так нельзя:
пишет, что актор "" не найден. оно и понятно
Добавлено спустя 21 секунду:
krovopijca : | DropItem 150 "ZombieMan"
DropItem 100 "ShotgunGuy"
DropItem 50 "ChaingunGuy" |
старый синтаксис, не катит. в последних версиях ошибку выдает. и в 1-1-06, и в 1-1-04 гздума.
надо по-новому: http://zdoom.org/wiki/Classes:RandomSpawner  | |
|
1 |
2 |
1 |
 |
|
| |
Phosgene = UAC Gunner =
 | 79 |
Doom Rate: 1.84
|
Отправлено: 28.01.09 17:08:49 | | | Сейчас обмозгую и проверю. Спасибо. Напишу что получится. | |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 28.01.09 17:18:11 | | | так значиццо, мяу разобрался с новым синтаксисом:
| DropItem "ZombieMan" 255 50
DropItem "DoomImp" 255 50
DropItem "HellKnight" 128 20
DropItem "BaronOfHell" 64 10 |
вторая цифра - шанс спавна одного из четырех акторов. то есть складываем: 50+50+20+10=130, и зомби будет спавниться с вероятностью: 50/130 = 38%. имп тоже 38%. хеллнайт: 20/130=15%. барон: 10/130= 7.5%.
а первая цифра означает, что допустим если выбрался зомби, то он будет спавниться всегда, так как стоит 255.
если выбрался имп, тоже всегда. если выбрался хеллнайт, то только в 50% случаев. а барон будет спавниться в 25% случаев, если даже ему повезет и он выбрался.
это насколько понятно из статьи. может кому пригодится.
Добавлено спустя 7 минут 41 секунду:
________________________________________________________________
и кстати еще один момент. если мы заменяем зомбимена на рандомспавнер, и В СПИСКЕ спавна есть зомбимен, то это не есть хорошо.
потому что если спавнер выберет зомбимена, то, считай, проспавнит еще один спавнер, и тот опять должен выбирать из списка. получится, что сам зомбимен не проспавнится никогда.
на здум вики из этой ситуации выходят созданием копии зомбимена:
| actor ZombieMan2 : ZombieMan {}
actor ZombieReplacer : RandomSpawner replaces ZombieMan
{
DropItem "ZombieMan2" 255 3
DropItem "ShotgunGuy" 255 1
} |
и таким образом, он сможет спавниться наравне с остальными  | |
|
1 |
2 |
1 |
 |
|
| |
Phosgene = UAC Gunner =
 | 79 |
Doom Rate: 1.84
|
Отправлено: 28.01.09 17:41:45 | | | Ничего не вышло. Скопировал в один wad файлы из монстров RapidFireTrooper, RocketZombie, PlasmaZombie, создал новый ламп, в него вписал:
Actor ZombieManSpawner : RandomSpawner replaces ZombieMan
{
DropItem "RapidFireTrooper"
DropItem "RocketZombie"
DropItem "PlasmaZombie"
}
Зомбиманы так и остались зомбиманами, ни кто из них не изменился. У меня GZDoom 1.1.06. | |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 28.01.09 17:43:20 | | | Phosgene
скинь вадник в личку, посмотрю
а то будет как в соседней теме - запихнули декорейт между маркерами спрайтов, и долго удивлялись почему нифига не получается. и код правильный главное был сначала | |
|
1 |
2 |
1 |
 |
|
| |
Phosgene = UAC Gunner =
 | 79 |
Doom Rate: 1.84
|
Отправлено: 28.01.09 17:47:27 | | | nprotect
А как его скинуть? | |
|
| |
krovopijca Гость
|
Отправлено: 28.01.09 17:56:04 | | | Пытался написать код спавна через jump.
Зомби так и остаются зомби:
Actor ZombieManCopy : ZombieMan replaces ZombieMan
{}
Actor CustomZombieSpawner replaces ZombieMan
{
states
{
spawn:
TNT1 A 0 A_Jump(250, 2)
TNT1 A 0 A_SpawnItem("ZombieManCopy",0,0,0)
goto death
TNT1 A 0 A_SpawnItem("ChaingunGuy",0,0,0)
goto death
death:
TNT1 A 0
stop
}
}
| |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 28.01.09 21:54:25 | | | krovopijca
так тоже можно. но если из большого числа итемов надо выбирать, через dropitem явно удобнее | |
|
1 |
2 |
1 |
 |
|
| |
Archi]ASTS[ UAC General
 | 12719 |
 Doom Rate: 1.87
|
|
2 |
1 |
1 |
 |
|
| |
vlr66 - Master Corporal -
 | 213 |
 Doom Rate: 1.95
|
Отправлено: 11.05.09 14:18:08 | | | Уважаемые, помогите решить проблему. Вот пример нового монстра. Fatso заменяется на mancubus из doom3. Где и что тут нужно прописать, чтобы стены на 7 карте в doom2 опустились. В декорейте для чайников в самом конце об этом написано, но для меня пока сложновато. Пожалуйста, тыкните пальцем (т.е. пропишите что нужно). У меня гозо 1.2.01
actor THE-MANCUBUS replaces Fatso 67
{
spawnid 157
obituary "%o was squashed by a THE-MANCUBUS."
health 1400
radius 50
height 70
mass 10000
speed 6
scale 0.65
painchance 80
seesound "fatso/sight"
painsound "fatso/pain"
deathsound "fatso/death"
activesound "fatso/active"
MONSTER
+FLOORCLIP
states
{
Spawn:
MAN2 A 4 A_Look
loop
See:
MAN8 ABCD 3 A_Chase
MAN8 D 0 A_Hoof
MAN8 EFGHIJKL 3 A_Chase
MAN8 L 0 A_Hoof
MAN8 M 3
loop
Melee:
MAN4 A 1 A_FaceTarget
MAN4 BCDEFGHIJKLMNOP 1
REVM H 0 A_SkelWhoosh
REVM H 0 A_FaceTarget
REVM H 0 A_SkelFist
MAN4 QRSTUVWXYZ 1
MAN5 AB 1
Goto See
Missile:
MAN6 A 1 A_FaceTarget
MAN6 BCDEGHI 1
MAN6 J 0 A_PLAYSOUND("MANFIRE")
MAN6 J 1 Bright A_CustomMissile("MANCUBUSBALL",45,5,1)
MAN6 J 1 Bright A_CustomMissile("MANCUBUSBALL",45,5,1)
MAN6 KLMNOPQR 1
MAN6 J 0 A_PLAYSOUND("MANFIRE")
MAN6 S 1 Bright A_CustomMissile("MANCUBUSBALL",45,5,1)
MAN6 S 1 Bright A_CustomMissile("MANCUBUSBALL",45,5,1)
MAN6 TUVWXYZGEDCBA 1
goto See
Pain:
MAN3 A 1
MAN3 B 1 A_Pain
MAN3 CDEFGHIJKLMNOP 1
goto SEE
Death:
MAN4 A 3
MAN4 B 3 A_Scream
MAN4 C 3 A_NoBlocking
MAN4 DEFGHIJKLMNOP 3
MAN4 Q 2
stop
Raise:
MAN4 PONMLKJIHGFEDCBA 1
goto See
}
} | |
|
| |
Часовщик UAC Sergeant Major
 | 727 |
Doom Rate: 3.41
|
Отправлено: 11.05.09 15:37:35 | | | сделай родного манкубуса безвредным, неосязаемым, невидимым и нещитаемым. спонь его рядом с новым жирдяем. и с помощью команды А_киллчилдрен у нового манкубуса убивай этого. все будет пахать.
или попробуй приравнять нового манкубуса с старым
actor THE-MANCUBUS replaces Fatso : Fatso
{
...
}
не проверял, но поидее должно пахать. | |
|
| |
vlr66 - Master Corporal -
 | 213 |
 Doom Rate: 1.95
|
Отправлено: 11.05.09 15:47:39 | | | <сделай родного манкубуса безвредным, неосязаемым, невидимым и нещитаемым...
Я про это уже читал в "декорейте для чайников", но как и где прописать, пока для меня сложно. Поэтому и выложил полный пример. А подменить новые параметры под старого пробовал, не помогло. | |
|
| |
Часовщик UAC Sergeant Major
 | 727 |
Doom Rate: 3.41
|
Отправлено: 11.05.09 16:24:45 | | | посмотри главу про флаги. в общем старый манкубус должен быть:
альфа 1.0
-ОСЯЗАЕМЫЙ
-ЩИТАЕМЫЙ
+ДРУЖЕЛЮБНЫЙ
у него в стэйте атаки не должно быть атаки (простите за тафтологию) иначе он замочет своего родителя.
вообще я точно этого не изучал. попробуй посмотреть на вики код манкубуса (фэтсо) и замени в нём то что хочешь. | |
|
| |
Dragon - 2nd Lieutenant -
 | 1418 |
Doom Rate: 2.23
|
Отправлено: 11.05.09 17:22:16 | | | Часовщик : | actor THE-MANCUBUS replaces Fatso : Fatso { ... } |
Мдя.
actor THE-MANCUBUS : Fatso replaces Fatso | |
|
| |
vlr66 - Master Corporal -
 | 213 |
 Doom Rate: 1.95
|
Отправлено: 11.05.09 17:33:18 | | | Что тут нужно подправить или удалить? (если можно, подправьте и выложите)
actor Fatso 67
{
spawnid 112
obituary "%o was squashed by a mancubus."
health 600
radius 48
height 64
mass 1000
speed 8
painchance 80
seesound "fatso/sight"
painsound "fatso/pain"
deathsound "fatso/death"
activesound "fatso/active"
MONSTER
+FLOORCLIP
states
{
Spawn:
FATT AB 15 A_Look
loop
See:
FATT AABBCCDDEEFF 4 A_Chase
loop
Missile:
FATT G 20 A_FatRaise
FATT H 10 bright A_FatAttack1 // See FatShot
FATT IG 5 A_FaceTarget
FATT H 10 bright A_FatAttack2
FATT IG 5 A_FaceTarget
FATT H 10 bright A_FatAttack3
FATT IG 5 A_FaceTarget
goto See
Pain:
FATT J 3
FATT J 3 A_Pain
goto See
Death:
FATT K 6
FATT L 6 A_Scream
FATT M 6 A_NoBlocking
FATT NOPQRS 6
FATT T -1 A_BossDeath
stop
Raise:
FATT RQPONMLK 5
goto See
}
} | |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 11.05.09 18:02:58 | | | Часовщик : | альфа 1.0 -ОСЯЗАЕМЫЙ -ЩИТАЕМЫЙ +ДРУЖЕЛЮБНЫЙ |
может скорее альфа 0? раз он невидмым должен быть
либо просто
renderstyle none
vlr66
"-ОСЯЗАЕМЫЙ" это -SOLID
"-ЩИТАЕМЫЙ" это -COUNTKILL
"+ДРУЖЕЛЮБНЫЙ" это +FRIENDLY
это и добавляешь в код. почитать про синтаксис можно тут:
http://zdoom.org/wiki/DECORATE
все флаги:
http://zdoom.org/wiki/Actor_flags
Добавлено спустя 3 минуты 11 секунд:
правда, я не совсем понял, зачем friendly флаг. можно же просто +DORMANT написать | |
|
1 |
2 |
1 |
 |
|
| |
Часовщик UAC Sergeant Major
 | 727 |
Doom Rate: 3.41
|
Отправлено: 11.05.09 18:09:56 | | |
nprotect : | может скорее альфа 0? |
ну ашипся я, простите. | |
|
| |