Useractor: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
'''useractor''' <actortype> <name> <strength> <action> <move> <ai> { actor code } [[enda]]
'''useractor''' <actortype> <name> [strength] [action] [move] [ai] { actor code } [[enda]]


Similar to [[actor]]. This defines a new [[actor]] in a slightly more specific manner, and it does so without restraining the amount of [[define]]d [[actor]]s. Version 1.3D only allowed so many [[actor]]s so to add a new one required replacing another. Version 1.5 remedied this with useractor.
Similar to [[actor]]. This defines a new [[actor]] in a slightly more specific manner, and it does so without restraining the amount of [[define]]d [[actor]]s. Version 1.3D only allowed so many [[actor]]s so to add a new one required replacing another. Version 1.5 remedied this with useractor.
Line 11: Line 11:
*The "enemy" type makes an [[actor]] that is intended to be used as a character who commences actions on player sight.  
*The "enemy" type makes an [[actor]] that is intended to be used as a character who commences actions on player sight.  
*The "enemystayput" works the same as "enemy," except that the [[actor]] will not leave the [[sector]] it is placed in.   
*The "enemystayput" works the same as "enemy," except that the [[actor]] will not leave the [[sector]] it is placed in.   
*The "notenemy" type was primarily intended to make an [[actor]] that is a decoration or otherwise not a threat to the player.  This type of [[actor]] will have no shadow by default, and it will not be targeted if autoaim is enabled. [[Actor]]s using the "notenemy" flag have their code executed at startup. This is extremely useful for coding enemies, as this allows for extended function, and has less quirks than using "enemy" or "enemystayput". A shadow may be applied in Eduke32 using the [[spriteshadow]] command. This is typically used for all new [[actor]]s you may code. Not that even it blocking is on. When the notenemy option is chosen, the blocking feature will work differently. For some reason, you can walk through moving actors, but when they stand still, you can't?
*The "notenemy" type was primarily intended to make an [[actor]] that is a decoration or otherwise not a threat to the player.  This type of [[actor]] will have no shadow by default, and it will not be targeted if autoaim is enabled. [[Actor]]s using the "notenemy" flag have their code executed at startup. This is extremely useful for coding enemies, as this allows for extended function, and has less quirks than using "enemy" or "enemystayput".


<name> is the name/tile of the [[actor]]. You can either input a defined name, or the tile number directly.
<name> is the name/tile of the [[actor]]. You can either input a defined name, or the tile number directly.
Line 26: Line 26:


[[enda]] ends an [[actor]].
[[enda]] ends an [[actor]].
'''useractor''' is typically used for all new [[actor]]s you may code.
A shadow may be applied in EDuke32 using the [[spriteshadow]] command.
When the notenemy option is chosen, the blocking feature will work differently. For some reason, you can walk through moving actors, but when they stand still, you can't?


Also see [[actor]].
Also see [[actor]].

Revision as of 19:58, 5 March 2011

useractor <actortype> <name> [strength] [action] [move] [ai] { actor code } enda

Similar to actor. This defines a new actor in a slightly more specific manner, and it does so without restraining the amount of defined actors. Version 1.3D only allowed so many actors so to add a new one required replacing another. Version 1.5 remedied this with useractor.

<actortype> can either be "enemy", "enemystayput", or "notenemy". These terms are defined in DEFS.CON as:

define notenemy 0
define enemy 1
define enemystayput 2
  • The "enemy" type makes an actor that is intended to be used as a character who commences actions on player sight.
  • The "enemystayput" works the same as "enemy," except that the actor will not leave the sector it is placed in.
  • The "notenemy" type was primarily intended to make an actor that is a decoration or otherwise not a threat to the player. This type of actor will have no shadow by default, and it will not be targeted if autoaim is enabled. Actors using the "notenemy" flag have their code executed at startup. This is extremely useful for coding enemies, as this allows for extended function, and has less quirks than using "enemy" or "enemystayput".

<name> is the name/tile of the actor. You can either input a defined name, or the tile number directly.

<strength> is the health of the actor. Also see strength.

<action> is the intial action an actor uses (optional).

<move> is the initial move of the actor (optional).

<ai> is the actor's initial ai routine (optional).

{ actor code } is obviously the code for the actor.

enda ends an actor.

useractor is typically used for all new actors you may code.

A shadow may be applied in EDuke32 using the spriteshadow command.

When the notenemy option is chosen, the blocking feature will work differently. For some reason, you can walk through moving actors, but when they stand still, you can't?

Also see actor.