Duke4.net Forums: Help with enemy scripting - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Help with enemy scripting

User is offline   Yellow 

#1

Hey everyone!

Working on porting ROT enemies via scripting, basing it heavily off of already scripted enemies in the game. I've gotten to this point

action AHIGHGUARDSTAND 0 1 8 1 1
action AHIGHGUARDWALKING 8 4 8 1 18
action AHIGHGUARDRUNNING 8 4 8 1 14
action AHIGHGUARDSHOOTING 40 4 1 1 12
action AHIGHGUARDPAIN 44 2 1 1 8
action AHIGHGUARDDYING 46 5 1 1 12
action AHIGHGUARDDEAD 50
action AHIGHGUARDFROZE 0 1 8
action AHIGHGUARDGROW 0
action AHIGHGUARDSTAYPUT 0

move HIGHGUARDWALKVEL 62
move HIGHGUARDRUNVEL 100
move HIGHGUARDSTOP

ai AIHIGHGUARDSEEKENEMY AHIGHGUARDWALKING HIGHGUARDWALKVEL seekplayer
ai AIHIGHGUARDDODGE AHIGHGUARDRUNNING HIGHGUARDRUNVEL dodgebullet
ai AIHIGHGUARDCHARGE AHIGHGUARDRUNNING HIGHGUARDRUNVEL seekplayer
ai AIHIGHGUARDFLEEENEMY AHIGHGUARDWALKING HIGHGUARDWALKVEL fleeenemy
ai AIHIGHGUARDSHOOTENEMY AHIGHGUARDSHOOTING HIGHGUARDSTOP faceplayer
ai AIHIGHGUARDSHRINK AHIGHGUARDWALKING SHRUNKVELS fleeenemy
ai AIHIGHGUARDGROW AHIGHGUARDSTAND HIGHGUARDSTOP faceplayerslow
ai AIHIGHGUARDDYING AHIGHGUARDDYING HIGHGUARDSTOP faceplayer
ai AIHIGHGUARDHIT AHIGHGUARDPAIN HIGHGUARDSTOP faceplayer

useractor enemy HIGHGUARD HIGHGUARDSTRENGTH

state HIGHGUARDseekenemystate

ifai AIHIGHGUARDCHARGE
{
ifcansee
ifpdistl 3084
{
ifnotmoving
ai AIHIGHGUARDCHARGE
}
break
}

else iffloordistl 32
{
ifpdistg 4096
{
ifactornotstayput
ai AIHIGHGUARDCHARGE
}
ifrnd 8
{
ifbulletnear
ai AIHIGHGUARDDODGE
}
}

ifrnd 128
ifcansee
{
ifai AIHIGHGUARDDODGE
{
ifcount 32
ai AIHIGHGUARDCHARGE
break
}
iffloordistl 32
{
ifpdistl 1024
ifp palive
ifcanshoottarget
{
ai AIHIGHGUARDSHOOTENEMY
break
}
ifcount 48
{
ifrnd 8
ifp palive
ifcanshoottarget
{
ifrnd 192
ai AIHIGHGUARDSHOOTENEMY
else
ai AIHIGHGUARDDODGE
break
}
}
}
}
ends

state HIGHGUARDshootenemystate
{
ifcount 12 nullop
else
ifcount 11
{
ifcanshoottarget
{
sound MP40_FIRE
shoot CHAINGUN
shoot CHAINGUN
}
else
ai AIHIGHGUARDSEEKENEMY
}
ifcount 60 nullop
else
ifcount 72
{
ifrnd 64
resetcount
else
{
ifpdistl 768
ai AIHIGHGUARDFLEEENEMY
else
ai AIHIGHGUARDSEEKENEMY
}
}
}
else
ai AIHIGHGUARDSEEKENEMY
ends

state HIGHGUARDfleeenemystate
ifactioncount 8
ai AIHIGHGUARDSEEKENEMY
else
ifnotmoving
ai AIHIGHGUARDSEEKENEMY
ends

state checkHIGHGUARDhitstate
spawn BLOOD
ifdead
{
state random_wall_jibs
ifrnd 16
spawn SHIELD
else
state drop_chaingun

ifwasweapon GROWSPARK
{
sound ACTOR_GROWING
ai AIHIGHGUARDGROW
break
}

addkills 1

ifwasweapon FREEZEBLAST
{
sound SOMETHINGFROZE
spritepal 1
move 0
action AHIGHGUARDFROZE
strength 0
break
}
ifwasweapon RADIUSEXPLOSION
{
sound SQUISHED
state standard_jibs
killit
}
else
ifwasweapon RPG
{
sound SQUISHED
state standard_jibs
killit
}
else
ai AIHIGHGUARDDYING
sound HGDIE
}
else
{
sound HGPAIN
state random_wall_jibs

ifwasweapon SHRINKSPARK
{
sound ACTOR_SHRINKING
ai AIHIGHGUARDSHRINK
}
else
ifwasweapon GROWSPARK
sound EXPANDERHIT
else
ifrnd 32
ai AIHIGHGUARDHIT
else
ifrnd 64
ai AIHIGHGUARDSHOOTENEMY
}
ends

state HIGHGUARDshrinkstate
ifcount SHRUNKDONECOUNT
ai AIHIGHGUARDSEEKENEMY
else
ifcount SHRUNKCOUNT
sizeto 32 34
else
state genericshrunkcode
ends

state HIGHGUARDdyingstate
ifactioncount 5
{
ifrnd 64
spawn BLOODPOOL
state rf
iffloordistl 8
sound THUD
action AHIGHGUARDDEAD
move HIGHGUARDSTOP
break
}
ends

actor AHIGHGUARDSTAYPUT HIGHGUARDSTRENGTH
ai AIHIGHGUARDSEEKENEMY
cactor HIGHGUARD
enda
actor HIGHGUARD HIGHGUARDSTRENGTH AHIGHGUARDSTAND
fall
state checksquished
ifaction AHIGHGUARDSTAND
ai AIHIGHGUARDSEEKENEMY
else
ifaction AHIGHGUARDDEAD
{
ifrespawn
ifcount RESPAWNACTORTIME
{
spawn TRANSPORTERSTAR
cstat 257
strength HIGHGUARDSTRENGTH
ai AIHIGHGUARDSEEKENEMY
}
else
{
strength 0
ifhitweapon
ifwasweapon RADIUSEXPLOSION
{
sound SQUISHED
state standard_jibs
killit
}
break
}
}
else
ifaction AHIGHGUARDFROZE
{
ifcount THAWTIME
{
ai AIHIGHGUARDSEEKENEMY
getlastpal
}
else
ifcount FROZENDRIPTIME
ifrnd 8
spawn WATERDRIP

ifhitweapon
{
ifwasweapon FREEZEBLAST
{
strength 0
break
}
addkills 1

lotsofglass 30
ifrnd 84 spawn BLOODPOOL
sound GLASS_BREAKING
killit
}
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
pkick
break
}
else
ifai AIHIGHGUARDDYING
state HIGHGUARDdying
else
ifai AIHIGHGUARDHIT
{
ifactioncount 3
ai AIHIGHGUARDSEEKENEMY
}
else
ifai AIHIGHGUARDSHRINK
state HIGHGUARDshrinkstate
else
{
ifai AIHIGHGUARDSEEKENEMY
state HIGHGUARDseekenemystate

else
ifai AIHIGHGUARDDODGE
state HIGHGUARDseekenemystate
else
ifai AIHIGHGUARDSHOOTENEMY
state HIGHGUARDshootenemystate
else
ifai AIHIGHGUARDGROW
state genericgrowcode
else
ifai AIHIGHGUARDFLEEENEMY
state HIGHGUARDfleeenemystate
else
ifai AIHIGHGUARDCHARGE
state HIGHGUARDseekenemystate
ifhitweapon
state checkHIGHGUARDhitstate
ifrnd 1
{
ifrnd 32
soundonce HGALERT
}
}
enda


but I am getting these errors.

0.8776s ERROR| GAME.CON:9053: error: state 'HIGHGUARDseekenemystate' not found.
0.8779s ERROR| GAME.CON:9113: error: found 'ends' without open 'state'.
0.8782s CON| GAME.CON: In actor '(none)':
0.8785s ERROR| GAME.CON:9115: error: state 'HIGHGUARDshootenemystate' not found.
0.8788s WARN| GAME.CON:9145: found 'else' with no 'if'
0.8791s ERROR| GAME.CON:9147: error: found 'ends' without open 'state'.
0.8794s ERROR| GAME.CON:9149: error: state 'HIGHGUARDfleeenemystate' not found.
0.8797s ERROR| GAME.CON:9155: error: found 'ends' without open 'state'.
0.8800s ERROR| GAME.CON:9157: error: state 'checkHIGHGUARDhitstate' not found.
0.8803s ERROR| GAME.CON:9222: error: found 'ends' without open 'state'.
0.8806s ERROR| GAME.CON:9224: error: state 'HIGHGUARDshrinkstate' not found.
0.8809s ERROR| GAME.CON:9232: error: found 'ends' without open 'state'.
0.8812s ERROR| GAME.CON:9234: error: state 'HIGHGUARDdyingstate' not found.
0.8823s ERROR| GAME.CON:9246: error: found 'ends' without open 'state'.
0.8829s ERROR| GAME.CON:9248: found 'actor' within an actor.
0.8833s CON| GAME.CON: In actor 'HIGHGUARD':
0.8837s ERROR| GAME.CON:9315: error: state 'HIGHGUARDdying' not found.
0.8840s ERROR| GAME.CON:9324: error: state 'HIGHGUARDshrinkstate' not found.
0.8843s ERROR| GAME.CON:9328: error: state 'HIGHGUARDseekenemystate' not found.
0.8846s ERROR| GAME.CON:9332: error: state 'HIGHGUARDseekenemystate' not found.
0.8849s ERROR| GAME.CON:9335: error: state 'HIGHGUARDshootenemystate' not found.

If anyone has some advice as to what I am doing wrong that would be super awesome.

Thanks y'all in advance.
0

User is offline   Yellow 

#2

ended up getting it fixed!

action AHIGHGUARDSTAND 0 1 8 1 1
action AHIGHGUARDWALKING 8 4 8 1 18
action AHIGHGUARDRUNNING 8 4 8 1 14
action AHIGHGUARDSHOOTING 40 4 1 1 12
action AHIGHGUARDPAIN 44 2 1 1 8
action AHIGHGUARDDYING 46 5 1 1 12
action AHIGHGUARDDEAD 50
action AHIGHGUARDFROZE 0 1 8
action AHIGHGUARDGROW 0
action AHIGHGUARDSTAYPUT 0

move HIGHGUARDWALKVEL 62
move HIGHGUARDRUNVEL 100
move HIGHGUARDSTOP

ai AIHIGHGUARDSEEKENEMY AHIGHGUARDWALKING HIGHGUARDWALKVEL seekplayer
ai AIHIGHGUARDDODGE AHIGHGUARDRUNNING HIGHGUARDRUNVEL dodgebullet
ai AIHIGHGUARDCHARGE AHIGHGUARDRUNNING HIGHGUARDRUNVEL seekplayer
ai AIHIGHGUARDFLEEENEMY AHIGHGUARDWALKING HIGHGUARDWALKVEL fleeenemy
ai AIHIGHGUARDSHOOTENEMY AHIGHGUARDSHOOTING HIGHGUARDSTOP faceplayer
ai AIHIGHGUARDSHRINK AHIGHGUARDWALKING SHRUNKVELS fleeenemy
ai AIHIGHGUARDGROW AHIGHGUARDSTAND HIGHGUARDSTOP faceplayerslow
ai AIHIGHGUARDDYING AHIGHGUARDDYING HIGHGUARDSTOP faceplayer
ai AIHIGHGUARDHIT AHIGHGUARDPAIN HIGHGUARDSTOP faceplayer



state HIGHGUARDseekenemystate

sizeat 32 32 // Set the size of your actor

cstator 257 // Force actor to block

ifai AIHIGHGUARDCHARGE
{
ifcansee
ifpdistl 3084
{
ifnotmoving
ai AIHIGHGUARDCHARGE
else
ai AIHIGHGUARDSEEKENEMY
}
break
}

else iffloordistl 32
{
ifpdistg 4096
{
ifactornotstayput
ai AIHIGHGUARDCHARGE
}
ifrnd 8
{
ifbulletnear
ai AIHIGHGUARDDODGE
}
}

ifrnd 128
ifcansee
{
ifai AIHIGHGUARDDODGE
{
ifcount 32
ai AIHIGHGUARDCHARGE
break
}
iffloordistl 32
{
ifpdistl 1024
ifp palive
ifcanshoottarget
{
ai AIHIGHGUARDSHOOTENEMY
break
}
ifcount 48
{
ifrnd 8
ifp palive
ifcanshoottarget
{
ifrnd 192
ai AIHIGHGUARDSHOOTENEMY
else
ai AIHIGHGUARDDODGE
break
}
}
}
}
ends

state HIGHGUARDshootenemystate
{
ifcount 12 nullop
else
ifcount 11
{
ifcanshoottarget
{
sound MP40_FIRE
shoot SHOTSPARK1
sound MP40_FIRE
shoot SHOTSPARK1
sound MP40_FIRE
shoot SHOTSPARK1
sound MP40_FIRE
shoot SHOTSPARK1
sound MP40_FIRE
shoot SHOTSPARK1
sound MP40_FIRE
shoot SHOTSPARK1
}
else
ai AIHIGHGUARDSEEKENEMY
}
ifcount 60 nullop
else
ifcount 72
{
ifrnd 64
resetcount
else
{
ifpdistl 768
ai AIHIGHGUARDFLEEENEMY
else
ai AIHIGHGUARDSEEKENEMY
}
}
}
else
ai AIHIGHGUARDSEEKENEMY
ends

state HIGHGUARDfleeenemystate
ifactioncount 8
ai AIHIGHGUARDSEEKENEMY
else
ifnotmoving
ai AIHIGHGUARDSEEKENEMY
ends

state checkHIGHGUARDhitstate
spawn BLOOD
ifdead
{
state random_wall_jibs
ifrnd 16
spawn SHIELD
else
state drop_chaingun

ifwasweapon GROWSPARK
{
sound ACTOR_GROWING
ai AIHIGHGUARDGROW
break
}

addkills 1

ifwasweapon FREEZEBLAST
{
sound SOMETHINGFROZE
spritepal 1
move 0
action AHIGHGUARDFROZE
strength 0
break
}
ifwasweapon RADIUSEXPLOSION
{
sound SQUISHED
state standard_jibs
killit
}
else
ifwasweapon RPG
{
sound SQUISHED
state standard_jibs
killit
}
else
ai AIHIGHGUARDDYING
sound HGDIE
}
else
{
sound HGPAIN
state random_wall_jibs

ifwasweapon SHRINKSPARK
{
sound ACTOR_SHRINKING
ai AIHIGHGUARDSHRINK
}
else
ifwasweapon GROWSPARK
sound EXPANDERHIT
else
ifrnd 32
ai AIHIGHGUARDHIT
else
ifrnd 64
ai AIHIGHGUARDSHOOTENEMY
}
ends

state HIGHGUARDshrinkstate
ifcount SHRUNKDONECOUNT
ai AIHIGHGUARDSEEKENEMY
else
ifcount SHRUNKCOUNT
sizeto 32 34
else
state genericshrunkcode
ends

state HIGHGUARDdyingstate
ifactioncount 5
{
ifrnd 64
spawn BLOODPOOL
state rf
iffloordistl 8
sound THUD
action AHIGHGUARDDEAD
move HIGHGUARDSTOP
break
}
ends

actor AHIGHGUARDSTAYPUT HIGHGUARDSTRENGTH
ai AIHIGHGUARDSEEKENEMY
cactor HIGHGUARD
enda
actor HIGHGUARD HIGHGUARDSTRENGTH AHIGHGUARDSTAND
fall
state checksquished
ifaction AHIGHGUARDSTAND
ai AIHIGHGUARDSEEKENEMY
else
ifaction AHIGHGUARDDEAD
{
ifrespawn
ifcount RESPAWNACTORTIME
{
spawn TRANSPORTERSTAR
cstat 257
strength HIGHGUARDSTRENGTH
ai AIHIGHGUARDSEEKENEMY
}
else
{
strength 0
ifhitweapon
ifwasweapon RADIUSEXPLOSION
{
sound SQUISHED
state standard_jibs
killit
}
break
}
}
else
ifaction AHIGHGUARDFROZE
{
ifcount THAWTIME
{
ai AIHIGHGUARDSEEKENEMY
getlastpal
}
else
ifcount FROZENDRIPTIME
ifrnd 8
spawn WATERDRIP

ifhitweapon
{
ifwasweapon FREEZEBLAST
{
strength 0
break
}
addkills 1

lotsofglass 30
ifrnd 84 spawn BLOODPOOL
sound GLASS_BREAKING
killit
}
ifp pfacing
ifpdistl FROZENQUICKKICKDIST
pkick
break
}
else
ifai AIHIGHGUARDDYING
state HIGHGUARDdyingstate
else
ifai AIHIGHGUARDHIT
{
ifactioncount 3
ai AIHIGHGUARDSEEKENEMY
}
else
ifai AIHIGHGUARDSHRINK
state HIGHGUARDshrinkstate
else
{
ifai AIHIGHGUARDSEEKENEMY
state HIGHGUARDseekenemystate

else
ifai AIHIGHGUARDDODGE
state HIGHGUARDseekenemystate
else
ifai AIHIGHGUARDSHOOTENEMY
state HIGHGUARDshootenemystate
else
ifai AIHIGHGUARDGROW
state genericgrowcode
else
ifai AIHIGHGUARDFLEEENEMY
state HIGHGUARDfleeenemystate
else
ifai AIHIGHGUARDCHARGE
state HIGHGUARDseekenemystate
ifhitweapon
state checkHIGHGUARDhitstate
ifrnd 1
{
ifrnd 32
soundonce HGALERT
}
}
enda
0

User is online   Danukem 

  • Duke Plus Developer

#3

You can use code tags to preserve formatting and make your posts more readable.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options