Автор | Сообщение |
nprotect - 2nd Lieutenant -
| 1343 |
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 =
| 60 |
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 - 2nd Lieutenant -
| 1343 |
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 =
| 60 |
Doom Rate: 1.84
|
Отправлено: 28.01.09 17:08:49 | | | Сейчас обмозгую и проверю. Спасибо. Напишу что получится. | |
|
| |
nprotect - 2nd Lieutenant -
| 1343 |
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 =
| 60 |
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 - 2nd Lieutenant -
| 1343 |
Doom Rate: 2.45
|
Отправлено: 28.01.09 17:43:20 | | | Phosgene скинь вадник в личку, посмотрю
а то будет как в соседней теме - запихнули декорейт между маркерами спрайтов, и долго удивлялись почему нифига не получается. и код правильный главное был сначала | |
|
1 |
2 |
1 |
|
|
| |
Phosgene = UAC Gunner =
| 60 |
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 - 2nd Lieutenant -
| 1343 |
Doom Rate: 2.45
|
Отправлено: 28.01.09 21:54:25 | | | krovopijca так тоже можно. но если из большого числа итемов надо выбирать, через dropitem явно удобнее | |
|
1 |
2 |
1 |
|
|
| |
Archi]ASTS[ = Commissar =
| 5405 |
Doom Rate: 1.9 Posts quality: +61 |
Отправлено: 29.01.09 16:28:45 | | | Ну это уже понятно Спасибо всем за такую хорошую информацию! ЗЫ тут
DropItem "" Должен был быть Шотган Но он почемуто на вывелся, хотя я писал | |
|
1 |
2 |
1 |
|
|
| |
vlr66 - Corporal -
| 88 |
Doom Rate: 1.96 Posts quality: +3 |
Отправлено: 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 } } | |
|
| |
Часовщик = Corporal =
| 117 |
Doom Rate: 3.41
|
Отправлено: 11.05.09 15:37:35 | | | сделай родного манкубуса безвредным, неосязаемым, невидимым и нещитаемым. спонь его рядом с новым жирдяем. и с помощью команды А_киллчилдрен у нового манкубуса убивай этого. все будет пахать. или попробуй приравнять нового манкубуса с старым actor THE-MANCUBUS replaces Fatso : Fatso { ... }
не проверял, но поидее должно пахать. | |
|
| |
vlr66 - Corporal -
| 88 |
Doom Rate: 1.96 Posts quality: +3 |
Отправлено: 11.05.09 15:47:39 | | | <сделай родного манкубуса безвредным, неосязаемым, невидимым и нещитаемым... Я про это уже читал в "декорейте для чайников", но как и где прописать, пока для меня сложно. Поэтому и выложил полный пример. А подменить новые параметры под старого пробовал, не помогло. | |
|
| |
Часовщик = Corporal =
| 117 |
Doom Rate: 3.41
|
Отправлено: 11.05.09 16:24:45 | | | посмотри главу про флаги. в общем старый манкубус должен быть: альфа 1.0 -ОСЯЗАЕМЫЙ -ЩИТАЕМЫЙ +ДРУЖЕЛЮБНЫЙ у него в стэйте атаки не должно быть атаки (простите за тафтологию) иначе он замочет своего родителя. вообще я точно этого не изучал. попробуй посмотреть на вики код манкубуса (фэтсо) и замени в нём то что хочешь. | |
|
| |
Dragon = Sergeant Major =
| 666 |
Doom Rate: 2.12 Posts quality: +4 |
Отправлено: 11.05.09 17:22:16 | | | Часовщик: | actor THE-MANCUBUS replaces Fatso : Fatso { ... } |
Мдя. actor THE-MANCUBUS : Fatso replaces Fatso | |
|
| |
vlr66 - Corporal -
| 88 |
Doom Rate: 1.96 Posts quality: +3 |
Отправлено: 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 - 2nd Lieutenant -
| 1343 |
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 |
|
|
| |
Часовщик = Corporal =
| 117 |
Doom Rate: 3.41
|
Отправлено: 11.05.09 18:09:56 | | |
nprotect: | может скорее альфа 0? |
ну ашипся я, простите. | |
|
| |