What's wrong with this picture...

ACTOR Hive 12344122
{
health 400
radius 50
height 50
mass 400
Speed 4
painchance 0
MONSTER
+noblood
+spawnceiling
States
{
Spawn:
HIVE A 10 A_look
loop
See:
HIVE A 3 A_chase(CHF_DONTMOVE)
loop

Missile:
HIVE B 2
HIVE C 2
HIVE D 0 A_PainAttack // See Bee
goto see

Pain:
HIVE E 2
Goto see

Death:
HIVE E 3 A_PainDie // See Bee
HIVE FGHIJK 3
stop
}
}


Hmm It's not responding.
What am I missing?

Share this post


Link to post

What exactly does "it's not responding" mean? Does the game crash? Does it not spawn anything? Can it not be killed or interacted with? What exactly is the issue?

Share this post


Link to post

Well, It can't exactly be tested. I tried to test it on DecX and well, It isn't reading it as a monster or anything. I wonder what's wrong...

Share this post


Link to post

Well, I just tested it (in some map I made up) and there was only one coding error I saw. I believe "HIVE A 3 A_Chase(CHF_DONTMOVE)" ought to be "HIVE A 3 A_Chase(0,"Missile",CHF_DONTMOVE)". Since A_Chase takes three parameter, it assumes anything entered to be the first, which in this case must be a string. Entering 0 for the first parameter means that state cannot be entered (which it shouldn't since that refers to melee attacks.) "Missile" is the undestood default that replicates standard behavior, but you have to enter it to get to the last parameter, which should be the CHF_DONTMOVE.

Otherwise, it is an enemy that spits Lost Souls at the player like the pain elemental. There are other things I saw that I think you want to do though:

-You gave it "+Spawnceiling," but unless you give it"+Nogravity" as well, it will simply fall to the ground.
-The CHF_DONTMOVE only works during the frames it's referencing, so it will creep forward every time it attacks. To make it perfectly stationary, it's speed should be 0.
-Also, weapons like the SSG or rocket gun can knock it back, if you don't want it to move period, it's mass should be like 10000000 or some huge number so it's too heavy to knock back.
-If you want it to spawn Bee's instead of Lost Souls, that function is entered like "A_PainAttack(Bee)".

One problem I believe this will cause is that A_PainAttack has code to check if it will spawn something "too close to the ceiling" according to its comments, so I don't think it will execute either way if you make the Hive stick to the ceiling, so you might want to make the hive on the floor anyway. =/

BTW, ask if you need me to clarify anyhting since I'm a programmer and might have overlooked something else I need to explain to someone just learning.

Share this post


Link to post

It's Easy. =)

All you need to do is make sure your DECORATE lmp is in the WAD you want your monster to be in as well as all the sprites it uses. Then place a thing were you want your monster to be and make its "Type" number the number after the word ACTOR and the monster's name (Your Hive's number is 12344122, but you will have to change it to something less than or equal to 34463 since any larger numbers aren't allowed... I made it 1003 for testing.) That will position your enemy just like any other Thing. Then when you run your map, your enemy will be wherever you put the Thingtype of your new enemy. Preferably, you'd want to make a test map of basically a single room with your enemy in it to see if it works right so you don't have to fight through your regular map to get to where it first appears only to discover it works incorrectly.

herooftime1000 said:

Don't worry about the angles. I'll do those later.

I personally like them better without diagonal angles... it makes them look like they're circling their prey. >=D

Share this post


Link to post

Odd...When I test it on DeePsea. It runs an invalid signal. The picture is there and all, but when I test the map an "!" appears.

Hmm. Curious.... WHOA! HEY! I put the wad on zdoom and it got this.

Script error DECORATE line nineteen You cannot pass parameters to "("

Is that the problem?

OOH! And it also says Line 1 has an Unknown game type 25.

Fascinating...

Share this post


Link to post

Did you make the fixes I mentioned?... line 19 would be coding error with A_Chase... otherwise, it sounds like a syntax error.

Share this post


Link to post

And that 1st line I metioned was something else so scratch that part. And yes I added what you said.

Here.
HIVE A 3 A_Chase(0,"Missile",CHF_DONTMOVE)

Share this post


Link to post

Actually, do you mind posting the entire revised code; that would make it easier to proofread. =)

Share this post


Link to post

How wierd. I tested the thin on DecX and it said to add it's rotations. Hang on a sec k?

Share this post


Link to post

Urgh. It's asking for rotation of sprites it doesn't need...

Anyways here is the code.

ACTOR Hive 1002
{
Health 400
Radius 50
Height 50
Mass 1000000000
Speed 0
PainChance 0
MONSTER
+NoBlood
+SpawnCeiling
+NoGravity
states
{
Spawn:
HIVE A 10 A_Look
Loop
See:
HIVE A 3 A_Chase(0,"Missile",CHF_DONTMOVE)
Loop

Missile:
HIVE B 2
HIVE C 2
HIVE D 0 A_PainAttack(Bee)
Goto see

Pain:
HIVE E 2
Goto see

Death:
HIVE E 3 A_PainDie(Bee)
HIVE F 3
HIVE G 3
HIVE H 3
HIVE I 3
HIVE J 3
HIVE K 3
Stop
}
}

This is starting to tick me off...

Share this post


Link to post
herooftime1000 said:

Hey I got it working! But it's not releasing bees. Hmm...

Death-Destiny said:

One problem I believe this will cause is that A_PainAttack has code to check if it will spawn something "too close to the ceiling" according to its comments, so I don't think it will execute either way if you make the Hive stick to the ceiling, so you might want to make the hive on the floor anyway. =/

Things attached to the ceiling can't use A_PainAttack, AFAIK.

Share this post


Link to post

Well, uh. It's releasing monsters now. (Such a shame I like them on the ceiling it makes it realistic.) But it's releasing lost souls instead of bees...

Share this post


Link to post

You have to enter "A_PainAttack(Bee)" to make it do that. You simply must have copied that down wrong while you were fixing it. The revised code you posted works fine for me with the omission of "+NoGravity" and "+SpawnCeiling."

Share this post


Link to post
Death-Destiny said:

You have to enter "A_PainAttack(Bee)" to make it do that. You simply must have copied that down wrong while you were fixing it. The revised code you posted works fine for me with the omission of "+NoGravity" and "+SpawnCeiling."


I copied and pasted it correctly. This is straight out of my DECORATE.

HIVE D 4 A_PainAttack(Bee)

Is there ,perhaps, a special thing to insert to the bee DECORATE to make it spawn from the hive?
Sorry, here is the decorate for the bee.

ACTOR Bee 1001
{
OBITUARY "So many stings... The poison...it's running through me..."
Health 20
Radius 25
Height 25
Mass 25
Speed 4
Damage 1
PainChance 200
MONSTER
+Float
+NoGravity
states
{
Spawn:
BEEZ DEFE 1 A_Look
Loop
See:
BEEZ DEFE 1 A_Chase
Loop
Missile:
BEEZ ACBC 1 A_FaceTarget
BEEZ HI 4 A_SkullAttack
BEEZ I 10
Goto See
Pain:
BEEZ J 3
BEEZ J 10 A_Pain
Goto See
Death:
BEEZ J 3
BEEZ K 3
BEEZ L 3
BEEZ M 3
BEEZ N 3
BEEZ O 3
BEEZ P 3
BEEZ Q 3 A_NoBlocking
BEEZ R -1 A_SetFloorClip
Stop
}
}

Share this post


Link to post
herooftime1000 said:

I copied and pasted it correctly. This is straight out of my DECORATE.

HIVE D 4 A_PainAttack(Bee)

Is there ,perhaps, a special thing to insert to the bee DECORATE to make it spawn from the hive?

The PainAttack should spawn the Bee regardless of the Bee's code. The fact that the same code is giving different results suggests that you are testing an outdated version of your code. You should check to make sure the WAD you're testing is the same one you have been modifying.

Share this post


Link to post

Yay! It's Rapidshare's happy hour, so I don't have to enter their obnoxious illegible security codes. =D

Anyway, your code worked flawlessly for me, so whatever problem you're having is not related to your code.

Share this post


Link to post

Really so it's shooting bees?

Well, as long as it works. Thanks. I'll give the credit of programming it to you.

BTW, I played you're Trinity map. All I can say is...Man. I hope I can be as 1337 in map making as you.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now