Хэлпер это вспомогательный объект. Он тоже имеет стейты, с его помощью можно запрограммировать персонажу "ассистента", который будет представлять собой полноценного персонажа, управляемого компьютером. Но чаще хэлперы используют когда нужно сделать какой-то сложный проджектайл, либо запрограммировать страйкера (а-ля КОФ '99/2000/2001), либо в качестве невидимых управляющих объектов. Короче говоря, область применения очень широка.
В документации подробно все расписано, в деталях.
Даже скопирую оттуда описание:
------------------------------------------------------------
Helper
------------------------------------------------------------
Creates another instance of the player as a helper character.
Required parameters:
none
Optional parameters:
helpertype = type_string
(deprecated -- do not use player-type helpers)
If helpertype = normal, then the helper will be allowed to move
off the edge of the screen. Furthermore, the camera will not move
to try to keep the helper on screen. If helpertype = player, then
the helper will be constrained to the screen and will be followed
by the camera, just like a normal player. Defaults to normal.
If you plan to use a helper for camera manipulation, do not use
a player-type helpers (it is deprecated). Use the ScreenBound
controller with the "movecamera" parameter if necessary.
name = "name_string"
Specifies a name for this helper, which must be enclosed in double
quotes. If omitted, the name defaults to "<parent>'s helper",
where <parent> represents the name of the player creating the
helper.
ID = id_no (int)
Sets an ID number to refer to this helper by. Defaults to 0.
pos = x_off, y_off (int)
Determines the x and y offsets to create this helper at. The
precise meaning of these parameters is dependent on the postype.
Defaults to 0,0.
postype = postype_string
postype works nearly the same as in the Explod controller.
postype_string specifies the postype -- how to interpret the pos
parameters. In all cases, a positive y offset means a downward
displacement.
Valid values for postype are the following:
- p1
Interprets pos relative to p1's axis. A positive x offset is
toward the front of p1. This is the default value for postype.
- p2
Interprets pos relative to p2's axis. A positive x offset is
toward the front of p2. If p2 does not exist, the helper is
created with respect to p1.
- front
Interprets xpos relative to the edge of the screen that p1 is
facing toward, and ypos relative to p1's axis. A positive x
offset is away from the center of the screen, whereas a
negative x offset is toward the center.
- back
Interprets xpos relative to the edge of the screen that p1 is
facing away from, and ypos relative to p1's axis. A positive x
offset is toward the center of the screen, whereas a negative x
offset is away from the center.
- left
Interprets xpos relative to the left edge of the screen, and
ypos relative to p1's axis. A positive x offset is toward the
right of the screen.
- right
Interprets xpos relative to the right edge of the screen, and
ypos relative to p1's axis. A positive x offset is toward the
left of the screen.
facing = facing (int)
If postype is left or right, setting facing to 1 will make the
helper face the right, and a value of -1 makes the helper face
left.
For all other values of postype except p2, if facing is 1, the
helper will face the same direction as the player. If facing is
-1, the helper will face the opposite direction.
In the case of postype = p2, facing has the same effect as above,
except it is with respect to p2's facing. Defaults to 1.
stateno = start_state (int)
Determines the state number that the helper starts off in.
Defaults to 0.
keyctrl = ctrl_flag (boolean)
If keyctrl = 1, then the helper is able to read command input from
the player (e.g., the keyboard or joystick). Also, the helper will
inherit its root's State -1. If keyctrl = 0, then the helper does
not have access to command input, and does not inherit State -1.
The default value of keyctrl is 0.
ownpal = pal_flag (boolean)
If ownpal = 0, the helper will inherit its parent's palette. If the
parent's palette is temporarily changed (eg. by a PalFX controller), the
changes will be reflected in the helper too. If ownpal = 1, the helper
will receive its own working palette, that is independent of its
parent's. Defaults to 0.
supermovetime = value (int)
Determines the number of ticks that the helper should be
"unfrozen" during a SuperPause. Often useful if you want the
helper to make its appearance during a SuperPause. Defaults to 0.
pausemovetime = move_time (int)
Determines the number of ticks that the helper should be
"unfrozen" during a Pause. Defaults to 0.
size.xscale (float)
size.yscale (float)
size.ground.back (int)
size.ground.front (int)
size.air.back (int)
size.air.front (int)
size.height (int)
size.proj.doscale (int)
size.head.pos (int,int)
size.mid.pos (int,int)
size.shadowoffset (int)
These parameters have the same meaning as the corresponding
parameters in the root's CNS file. You can specify one or more of
these parameters to change it to a value suitable for this helper.
Otherwise, they default to the values inherited from the parent.
Example:
none
Добавлено позже:Ладно, хрен с тобой, держи описание и Afterimage тоже:
------------------------------------------------------------
AfterImage
------------------------------------------------------------
Enables player afterimage effects. The character's frames are stored
in a history buffer, and are displayed after a delay as afterimages.
Required parameters:
none
Optional parameters:
time = duration (int)
Specifies the number of ticks that the afterimages should be
displayed for. Set to -1 to display indefinitely. Defaults to 1.
length = no_of_frames (int)
Sets the capacity of the frame history buffer. The history will
hold up to no_of_frames of the character's most recently saved
frames. Assuming constant values for timegap and framegap,
increasing the length can increase the number and "age" (for lack
of a better term) of afterimages displayed at one time. The
maximum length is 60, and the default is 20.
palcolor = col (int)
palinvertall = invertall (bool)
palbright = add_r, add_g, add_b (int)
palcontrast = mul_r, mul_g, mul_b (int)
palpostbright = add2_r, add2_g, add2_b (int)
These parameters determine palette effects to be applied to all
afterimages. First the color level is adjusted according to the palcolor
value, then if invertall is non-zero the colors are inverted. Afterwards,
the palbright components are added to the corresponding component
of the player's palette, then each component is multiplied by the
corresponding palcontrast component divided by 256, then the
palpostbright components are added to the result. The value of palcolor
ranges from 0 (greyscale) to 256 (normal color). For instance, if the red
component of the character's palette is denoted pal_r, then the red
component of the afterimage palette is given by
(pal_r+add_r)*mul_r/256 + add2_r, assuming palcolor and palinvert are
left at their default values. Valid values are 0-256 for palcolor, 0-255
for palbright and palpostbright components, and any non-negative
integer for palcontrast components. The defaults are:
palcolor = 256
palinvertall = 0
palbright = 30,30,30
palcontrast = 120,120,220
palpostbright = 0,0,0
paladd = add_r, add_g, add_b (int)
palmul = mul_r, mul_g, mul_b (float)
These parameters specify palette effects that are applied repeatedly to
successive frames in the afterimage. In one application of these palette
effects, first the paladd components are added to the afterimage
palette, then the components are multiplied by the palmul multipliers.
These effects are applied zero times to the most recent afterimage
frame, once to the second-newest afterimage frame, twice in
succession to the third-newest afterimage frame, etc. Valid values are
0-255 for the paladd components, and any non-negative float value for
the palmul multipliers. The defaults are:
paladd = 10,10,25
palmul = .65,.65,.75
timegap = value (int)
This parameter controls how many frames to skip between saving
player frames to the history buffer for afterimage display. The
default is 1 (skip no frames). To save every third frame (for
example), you would use timegap = 3.
framegap = value (int)
Every value'th frame in the history buffer will be displayed as an
afterimage. For instance, if framegap = 4 (the default), then the
first, fifth, ninth, ... frames of the history buffer will be
displayed as afterimages.
trans = type (string)
Specifies the transparency type for the afterimages. Valid types
are "none" for an opaque afterimage, "add", "add1", and "sub".
Example:
none