Ramiro + RMVXA = ♥

Ramiro's script collection for ACE!

About Commands

Command Introduction:

Command introduction are pieces of commands called when a sequence is executing.

You can think than a group of commands makes a sequence, and yes… that’s all…

They are the core of the system, because they give the control to all of the effects and animations of the battle.

General syntax of commands:

Each command must have the following sintax:

command name: command parameter 1, commandparameter 2;

if a command don’t have parameters you can just write:

command name;

All commands must finish with “;” and you can use multiple lines in order to write a command.

WARNING!

Like ruby, if you are planning to use multiple lines, try to do valid sentences:

a

,b

is not valid, but

a,

b

is valid.

Remember each parameter is passed as ruby, so yes, you can use things like $game_party.item_number

Common Parameters of Commands

Some paramaters are common between commands:

Target

When the parameter asks for a target, it may be one of the following:

‘X random Y’

X is a number from 1 to well, the number you want.

Y can be any of the next texts:

‘dead X’

X can be user, or targets.

‘user’

User means the user of the skill.

‘targets’

Targets means the current targets.

‘enemy’

Enemy means all the enemies of the user. if the user is under confusion, it will target their allies.

‘allies’

Allies means all the allies of the user, under confusion it may target an enemy.

sometimes ‘screen’ and ‘origin’ can be used too.

Remember ALWAYS put this between “” or ” like ‘user’.

Basic commands:

Basic commands are commands that just have a command name and parameters, they don’t have anything special on them.

They are sub divided in categories:

Battler Sprite Control:

  • POSE

Poses are the core engine of an animated battle system. They are set of sprites, arranged in a way to produce animations, like standing, moving or even casting a spell.

The command is the next:

POSE: target, character_index, pose_id, style, loops, interval;

A pose need the next parameters:

 target

target is the targetted battler to change the pose.

Usually is user or target, but you have other options(read about targets)

character_index

The index of the battler, it can be a number, or a text (like 0, or ‘attack’, remember quotes)

It will look for character_name + _ + index, so for ramiro, will look for ramiro_attack in the battlers folder. Set to zero (number, 0) to get the default battler.

For more information about how to setup battler sprites, check here.

pose_id

The pose id means wich pose from that set will use, if the pose is bigger than the total poses, the sprite will be set to pose 0 (zero, without quotes) .

style

Sets the style of animation, -1 means a normal loop, 0, 1, 2, 3, 0, 1, 2, 3, … for a character with 4 poses.

-2 means RMVX animation style: 0,1,2,3,2,1,0,… Better used with some animations to have less frames.

if you use 0 or a bigger number, it will use that frame statically. good to mix various poses or to just to make 1 frame poses.

loops 

Defines the times that the animation reppeats.

Put 1 or more to a defined number of reppeats, put -1 for infinite loops.

interval

Defines the interval between frames, you must set a number of 1 or greather.

The frame rate of the game by default is 60, so an interval of 1 means 60 frames per second and a frame rate means 1 frame per second.

Example

For example, setting the pose of a character standing left by default you may put something like this:

POSE: ‘user’, 0, 1, -2, -1, 6;

This means: move set the POSE of user from his default bitmap, as the second line, using an RMVX animation with an infinite loop, and have an interval of 6 frames between each frame.

I know, it’s not easy, but when you are use to make poses, you’ll understand them soon.

  • MOVE

    Moving is the second most important command from an animated system. To use it is easier than using POSE, but it’s still hard at first.
    To move you have the next sequence:
    MOVE: mover, target, x_correction, y_correction, jump, time;
    The parameters are:
    mover

    This is the person who will move, it may user or target, you can define other too, but i don’t recommend that.

     target

    This is the target position, here you have many options:
    Use target, to move to the target’s current position, (for multiple targets it will use an average distance from all of them), use user for the user’s current position. if you want to return an specific sprite to its original position, write ‘origin’ as target, if you want to move to a sprite to a specific position of the screen, set the target as ‘screen’

     x_correction
    Set the X correction display adjust from the targeted position.
    remeber, if the option CorrectXAxis is turned true on configuration script. the correction will be inverted for actors.
    If target is screen, the x_correction will mark the user’s screen X coordinate.
     y_correction
    This works just like x_correction, but for Y axis.
     jump
    Jump defines the arc used from movement, if the arc is 0(zero) it will be normal movemement, set a positive value for a “jump style movement” set a negative number for a “inverse effect”. You can set movements like boomerangs this way.
     time
    Defines the time in frames for the movement, it must be a number bigger than 0(zero).
    Example:
    Try to visualize the next command:
    MOVE: ‘user’, ‘target’, -32, 0, 0, 20;
    Yes, it will move the user to the target’s position but with a distance of 32 pixels right from it, in 20 frames.
    Do you want to know how to reset the position?
    MOVE: ‘user’, ‘origin’, 0, 0, 0, 20;
    this command will make the job for you.
  • ZOOM

    Zooming is an special command made for making better effects, you can make some impressive effects with zoom, but It doesn’t matter wich one you want to make, all the commands for zooming have the next sequence:
    ZOOM: target, zoom_x, zoom_y, time;

    The parameter means:
    target
    Sets the target sprite for a zoom effect, you may use ‘user’ or ‘targets’,  but other options still are possible.
    zoom_x
    sets the value of zoom_x in a percentile fashion, 100 means normal scale, 50 half size and 200 double size.
    zoom_y
    The same as zoom_x, but for the y axis.
    time
    How mani frames will take to zoom the sprite from the current size.
    Example:
    ZOOM: ‘user’, 100, 100, 20;
    Will make the user to set its scale to normal, in 20 frames.
  • ANGLE

    Angle means to set the angle of a character, of course, setting an angle will make the character to make loops like an acrobat.
    This command is quite simple:
    ANGLE: target, angle, time;
    The parameters are:
    target
    Means the targete sprite like all the previous commands.

    angle
    Means finished angle position, so for a range from 0 to 360 degrees is possible.
    time
    Determines how many frames will take to rotate the sprite from the current angle.
  • OPACITY

    Opacity is a good command to set transparency effects.
    The opacity is a value from 0 to 255 meaning totally transparent and 255 total opaque.
    This command is quite easy:
    OPACITY: target, opacity, time;

    The parameters are:
    target
    Sets the target to cange opacity. Nothing new here.
    opacity
    Sets the destiny opacity.

    time
    Determines the time of changin from one opacity to another.
  • ANIMATION

    Animation determines wich sprites have animations, so you can use tons of animations for each sequence.
    Animations have the next command:
    ANIMATION: target, animation_id, flip;

    The parametes are:
    target
    Means the target destination of the animation, sorry screen is not possible, but animations for screens are still showed as “screen” even if they are showed on targets.

    animation_id
    Sets the animation id to show, -1 means right hand weapon id, -2 means left hand, for dual wield characters, 0 sets to the current skill or item’s animation id, and a number bigger than 0 means the animation from the database with that id.

    flip
    Set to true if you wish to invert the animation, set to false if you want to display the animation normally.
    It is false by default.

  • AFTERIMAGE

    Afterimages are a nice effect for sprites.
    Afterimages are images that displays after the actor, with a past frame of it. It will make a feeling of moving REALLY fast. It’s always nice to add afterimages with fast movements, it helps people to understand what’s happening there. but don’t abuse them, if you do, your animations will be confusing.
    You can set many afterimages easily with the following command:
    AFTERIMAGE: target, count, separation;
    The parameters are the following:
    target
    Means the target to set the afterimage effect, nothing new to “target” as command.
    count
    Means how many images will be shown, usually a number of 3(three) to 5(five) are set. If you set this to 0(zero), you are disabling the afterimages directly.

    separation
    Separation represents how many frames will be separated each image, it must be 1 or bigger, but 2 appears to be a good amount.

  • MIRROR

Sprite mirroring is a method to evade wasting making flipped sprites. you may use mirrorig to evade making other frame with the same action pose inverted. Of course, for non symetrical characters it doesn’t show good.
The command is as simple as OPACITY or ZOOM:
MIRROR: target, value;
The parameters are:
target
Is, like always, the target to set the mirror effect. ‘user’ or ‘targets’ is by far the most frecuently targets.
value
Set to true if you want to mirror the sprite, set to false to  stop the mirror.
  • WEAPON

Showing weapon icons is a feature taken directly from tankentai. It allows to use icons for character-based battle system.
The idea is to evade making sprites for every weapon in your game, and using the rtp at fully percentage.
The command to show weapon icons is the following:
WEAPON: target, x_corr, y_corr, start_angle, end_angle, time, left_hand, over;

Each paramater has the following meaning:
target
Sets the target of showing the sprite. User may be used most of the time.
 x_corr
The horizontal correction for the icon.
 y_corr
The vertical correction for the icon.
 start_angle
The start angle of the sprite

end_angle
The final angle of the animation

 time
How many frames will the weapon take to animate completely.

left_hand
Set this to true if you want to see weapon 2’s sprite, else set it to false.

over
If you want todisplay this over the sprite, set to true, false if you wish to be the battler sprite over this one.

  • WEAPON EX

Sometimes you wish to show a picture insthead of a weapon animation.
For those moments, this command was born. The command’s sytax is the next:
WEAPON EX: target, bitmap, x _corr, y_corr, frames, interval, over;
The parameters are the next:
target
This must be a valid target, like always.
bitmap
This is the bitmap filename of the battler, if there is a bitmap called “battler name_this bitmap” will use this texts insthead.
x _corr
The x correction of the weapon.
y_corr
The y correction of the weapon.
frames
How many frames the animation has
interval
How is the delay between frames.
over
Set to true if you wish to display over the character, false otherwise.
  • BALLOON

Ballons are an important resource for characters. they control some nice animations easily. You can use balloons with battler sprites with the following command:
BALLOON: target, balloon_id;

Where target must be a valid target, and ballon_id one of the following numbers (on the RTP):
  1. Exclamation
  2. Question Mark
  3. Musical Note
  4. Heart
  5. Fury Symbol
  6. Sweat Drop
  7. Bad state
  8. Points
  9. Idea (Light Bulb)
  10. Zzz (Sleep)

Picture Sprite Control:

  • SHOW PIC
Showing pictures is a way to display nice animations or cut ins.  To show a picture you must use the following command:
SHOW PIC: id, name, origin, x, y, zoom_x, zoom_y, opacity, blend_type;
The paramaters are:
id
the id of the picture, it must be a number bigger than 0(zero).
name
The bitmaap name on the graphics/pictures folder. if the name is a number insthead of a text, the image will be an icon with that index.
Pretty nice, right? -1 means weapon 1, and -2 means weapon 2 on dual wield chaacters.
origin
Sets the origin of the screen:
0(zero) is the top left corner, 1 is centered.
x
Sets the x position of the image.
y
Sets the y position of the image.
zoom_x
Sets the zoom X of the image.
zoom_y
Sets the zoom X of the image.
opacity
Sets the opacity of the image.
blend_type
Sets the blend type of the image, 0(zero) is normal, 1 is addition and 2 is substraction.
  • MOVE PIC
Moving pictures is a way to easily make animations, or cut ins.
To move a picture, you should use the following command:
MOVE PIC: id, origin, x, y, zoom_x, zoom_y, opacity, blend_type, duration;
id
the pic id to move.
origin
The origin, like the show pic.
x
Sets the x position of the image.
y
Sets the y position of the image.
zoom_x
Sets the zoom X of the image.
zoom_y
Sets the zoom X of the image.
opacity
Sets the opacity of the image.
blend_type
Sets the blend type of the image, 0(zero) is normal, 1 is addition and 2 is substraction.
duration
The duration of the movement, in frames.
  • MOVE PIC EX
You may want to use sometimes, a movement that does not move the picture from one position of the screen to another. in those cases, you can call the MOVE PIC EX command. The comand is the following syntaxis.
MOVE PIC EX: id, target, x_correction, y_correction, time;
The parameters are the following:
id
The id of the picture.
target
The target, may be ‘screen’, ‘user’, ‘target’, etc. Like always.
x_correction
The same parameter as moving actor sprites.
y_correction
The same as x_correction, for the y axis.
time
The transition time, in frames.
  • ZOOM PIC
This command is used when you want to zoom the picture, but don’t change any other parameter.
To change the zoom use the following command:
ZOOM PIC: id, zoom_x, zoom_y, time;
The parameters are the following:
 id
The id of the picture.
zoom_x
The zoom of the picture in the X axis 100 means normal scale.
zoom_y
The same as zoom_x but for Y axis.
time
The duration of the zoom transition.
  • OPACITY PIC
Setting other opacity of the pictuere is usefull to change only thew opacity without changing all the other parameters too.
To change the opacity of a picture, use the following command:
OPACITY PIC: id, opacity, time;
The parameters are the following:
id
The id of the picture.
opacity
The destiny opacity of the image.
time
The time it takes to change the opacity.
  • ANIME PIC
This command shows an animation over pictures, usefull to make “throwing animations” or just to display an animation over a screen.
To display an animation, use the following command:
ANIME PIC: id, animation_id, flip;
Each parameter means:
id
The id of the picture.
animation_id
The animation id to display, -1 means right hand sprite, and -2 means left hand weapon on dual wield.
0 means the current animation id of the item (or skill).
flip
Set to true to flip the animation, set to false to display as normal.
  • ROTATE PIC
You can set a permanent rotating speed to images, like normal pictures.
To set the speed of the rotation use the following commands:
 ROTATE PIC: id, speed;
The parameters are the following:
 id
The id of the picture.
speed
The speed, negative number means clockwise, positive number means counter clockwise.
  • TONE PIC
You can change the tone of pictures, to create some nice effects on them. To change the tone of the picture you need to write the following command:
TONE PIC: id, red, green, blue, gray, time;
The parameters are the following:
id
The id of the picture.
red
The red tonality, from -255 to 255.
green
The green tonality, from -255 to 255.
blue
The blue tonality, from -255 to 255.
gray
The gray tonality, from 0 to 255.
time
The time of tone transition.
  • DELETE PIC
Deleting pictures is almost as important as creating them, to delete a picture from the screen write the following command.
DELETE PIC: pic_id;
Where pic_id is the id of the picture.

Target Control:

  • CHANGE TARGET

Changing the target is a good command to use, it will make the targets to be setted as others. So you can make to take action on another target in the middle of sequence, really good for healing and damaging mix skills.

To change the target use the following command:

CHANGE TARGET: target;

Target can be from user, for targets (quite useless using with the last),

but you can use X random targets, or allies to.

Now you can change the target in the middle of an skill, even if the first hit was not be on the first enemy.

If you want to return to the original targets, just set target to ‘original targets’.

Checkers:

  • CHECK COUNTER

You can check the counter attack with this command.

Remember checking this sequence will trigger a counterattack if it’s possible (under normal conditions)

But, the current action will be canceled if the counter is possible, and the counter sequence for the target will be realized.

Use with care.

to use it, you just need to write CHECK COUNTER; in your sequence.

  • CHECK REFLECT

It worls almost the same as CHECK COUNTER, but this sequence won’t make the current action to work, it will run the target’s reflect sequence, and it will be replaced as the “user” in the animation.

To use it, just add CHECK REFLECT;  in your sequence.

  • CHECK SUBSTITUTE
This will check substitute actions, when a substituon is made via this command, the substitute will play his substitute sequence and then the target will be changed as the substitute.
Like other checkers you just need to add CHECK SUBSTITUTE; in the sequence.
  • DAMAGE
Damage is important in the battle, really, if you didin’t have this command, you couldn’t make any damage in the battle, and the battle would be infinite.
This will make all the effects of the item appears on the current target, so yes, you can use add multiple damage values for multi hit skills(or items)
To perform the damage of the item, just add DAMAGE; in your sequence, the popup and log display is on the configurations file.
  • PERFORM COLLAPSE
Did you notice than if an enemy is dead but you still have hits to do, the enemy will take all the damage?
Well, this command makes the enemy to perfor its collapse effect and die.
This is “auto called” when an action has finished, but for multiple target commands like “random multiple attacks”, it is quite usefull.
To perform collapse of all the users in the battle just add PERFORM COLLAPSE; in the sequence.

Audio Control

  • SAVE BGM
Saving a BGM is usefull when you want to restore a previous BGM used, you may use it always before changin the BGM to restore it later.
to use it, just write SAVE BGM; as a command.
  • REPLAY BGM
With this, you can restore the saved BGM and replay it, like the event command, to use it, just add REPLAY BGM; as a command
  • SAVE BGS
This works like saving BGM,but for BGS.
  • REPLAY BGS
This works like replay BGM, but for BGS.
  • PLAY BGM
Playing BGM it’s usefull to add some drama to your animations, you may save the BGm before using this command. To use this command just use the folowing command:
PLAY BGM: name, volume, pitch, pos;
Where name, must be a BGM on the ‘Audio/BGM’ folder of your proyect or rtp, volume the volume (mas is 100, min is 0) pitch must be a number between 50 (lower) to 150 (high pitch) 100 is normal, last pos must be a number of the position of the audio, 0 marks the beginning.
  • PLAY BGS

Works like Play BGm, but with BGS

  • PLAY ME
Works like Play BGm, but with ME
  • PLAY SE
Works almost like Play BGM, but with SE, pos is not valid in this case.
  • STOP BGM
You may stop the BGM using the following tag STOP BGM; as a command
  • STOP BGS
Works like STOP BGM.
  • STOP ME
Works like STOP BGM.
  • STOP SE

Works like STOP BGM.

  • FADE BGM
You may want to before stopping the sound, make a fading change for a smoother effect, you know. To use it just use the following command:
FADE BGM: time;
where time is the time of the fade.
  • FADE BGS
Works exactly like FADE BGM.
  • FADE ME

Works exactly like FADE BGM.

Graphics Control

  • FPS
You may want to change the Frame rate on the engine to make an effect like “Bullet Time”, well with this you can change ot using the following command:
FPS: rate;
Where rate must be a number between 40 to 120 (60 is normal speed).
  • MOVIE
Playing movies is a nice feature from VX ace, I don’t like too mutch the idea of making cutscenes in the middle of the game like some famous “the last fantasy” games do in the latest versions.
Anyway, you may play a video using the following command:
MOVIE: name;
Where name must be a valid name of the video, you may use “Movies/Videoname” but you can use any other path you like.

Game Engine Control

  • SWITCH
Switchs are one of the basic components of maker.
They are able to be ckeched by default to call events or some other things.
You can change a value of a swith calling the following command:
SWITCH: switch_id, value;
Where switch_id is the id of the switch (from 1 to 999, well it can be a higher value I think, but you wont be able to use it on engines.) and value must be true (means ‘ON’) or false (means ‘OFF’)
  • VARIABLE
Variables are the other important piece of the RM engines, so they are as usefull as switches, you can change the value of any variable of the game with the following command:
VARIABLE: var_id, value;
Where var_id is the id of the variable (a number from 1 to 999, you may use higher numbers if you want, but you won’t be able to use it in the maker by default and value is a number (negative numbers are valid)

Sequence Control:

  • LINK SKILL
Linking skills means to use other skill insthed of the current one, but finishg the current action.
To link an skill use the following command:
LINK SKILL: skill_id, chance;
The parameters are:
skill_id
Means the skill id to be linked, of course it must be 1 or bigger.
chance
Sets the chance of using it, of course, a number of 100 and bigger will be 100% posible, if the skill is sucefully linked, the current sequence will be changed to the skill’s sequence. If there is not a sucess, the skill will continue as normal.
REMEMBER THIS: Using this will still consume the mp or tp required from using the linked skill. so set it to 0(zero) if you wish to make linkings without cost.
  • LINK ITEM
Like skills, items can be linked too. The command is almost the same:
LINK ITEM: item_id, chance;
REMEMBER: linking items will still consume them. and will be canceled if the item cannot be consumed.
  • ABORT
Abort means stopping the sequence, and all the actions. This is automatically called when an action finishes but you can use this command at any time you want. its usefull when used with Block commands.
To abort the sequence just add ABORT; in the sequence.
  • WAIT
Waiting is normal in sequences, it must be used frecuently to stop command input for a time, or to wait for some movemnts or effects in the sequence. To wait some time use the following sequence:
WAIT: frames;
Set frames to the number of frames, for the animation to sleep. Setting 0 invalids the wait, and 60 means 1 second.

Battle Camera Controls:

  • MOVE CAMERA

This system incorporates a camera, yes a camera, it is quite usefull for making animations or to follow the user of a skill when he moves.

The camera works pretty good, and it can be zoomed too.

To move the camera, se the following command:

MOVE CAMERA: target, x, y, time;

The parameters are:

target

This time, the target can be any battler, or ‘screen’, but not ‘origin’ is the target to move.

x

Displays the x correction, and, in case of the target being the ‘screen’ it will move to the x position of the battleback.

y

This works exactly as the x parameter, but for the y axis.

time

Determines the duration of the movememnt.

  • ZOOM CAMERA

Like I said before, the caera can be zoomed in or out, to create nice zooming effects.

To zoom the camera just define the next command:

ZOOM CAMERA: zoom, time;

The parameters are:

zoom

Determines the zoom of the camera, 100 means real scale. bigger number means zooming in, and lower numbers mean zooming out.

time

Determines the duration of the transition.

  • TARGET CAMERA
This is the last option for the camera. It changes the target to any battler or the screen, and auto-follows it.
The command is the next:
TARGET CAMERA: target;
The target must be a valid battler, or ‘screen’, setting the target to ‘screen’ will disable the auto follow option, but the camera, won’t return to its original position. TAKE CARE!

Other Controls:

  • RUBY
Ruby is the language of RGSS, and you can make ruby calls directly for a sequence. this is only for special things that you can’t normally access by default.
If you want to call a single line script (for multiple lines, please use multiple RUBY commands) use the folowwing expression:
RUBY: script;
The script parameter must be between quotes, like ‘a_var = 2 * 5’.
you can call a string from other command like: RUBY: get_string_method;
but I prefer the first option.

Log Window Control:

LOG TEXT

Showing some text on thew log can be very usefull.
If you wish to show a text on the log add the following command:
LOG TEXT: text;

where text must be a valid ruby stirng. (words between quotes)

Block Commands:

Block commands are quite like basic commands, but they have a difference:

they have an “action block”.

Action blocks are blocks that needs to be started with this parameter, and ended with an “END” command.

For example, a if parameter, or a repeat parameters, uses a block of commands.

They are programmed to make the experience better and the text much smaller.

The Block Commands are:

Sequence Control:

  • IF
The if sequence control is maybe the most practical sequence control. it allows to make branchs if a condicion has been met. It sounds hard to explain, but let me show how the command works by itself.
The command is defined as the next:
IF: condition;
  command 1;
  command 2;
  …
  last command;
END;
The conditions has to say yes or no as result (in other words, true or false)
They has to be set between quotes, like ‘a.hp > 100’ (a = user, b = first target, or THE target if targets are 1)
You may need a little knowledge of ruby.
The commands MUST be between quotes.
If you are willing to use the else statement, you may have to do something like this:
if : ‘$checking_if = condition’;
  … this is done when the condition is a sucess.
end;
if: ‘!$checking_if’
  … this wll be used when the condition fails
end;
Yes, quite impractical in programming, but this is a easy language, well … ‘easy’.
  • REPEAT
Repeating a sequence may be usefull, for multi hit animations, to evade writting 30 times the same code.
For a repeating block you must use the following block:
REPEAT: times;
  (commands)
END;
times are the number of times the commands will be repeated. 0 or minus will make the action to never repeat.
  • WHILE

While is like an if, but it will loop UNTILL the condition is not true.

To make a while block just write the following block:

WHILE: condition;
  (commands)
END;
Condition MUST be between quotes, or the loop will be infinite.
remeber to do a valid cheker condition to stop the loop at some point, like “t.hp >= 100”
  • EACH PROCESS
Each process is a special block. It’s a command to make individual input for ALL the targets selected.
To use the block, use the following commands:
EACH PROCESS: targets;
  (individual actions)
END;
Target must be user, targets, 3 random enemies or something like that.
The animation displayed will be repeated on each, over, and over, untill all the targets are processed.

1 Comment

  1. stesc

    Hello,

    i got a problem, creating an spear animation.

    I use the weapon command, to show the icon of the weapon for x frames, until setting it to another position. unfortuanly to let i look good, i got to direct it to the users sprite, but therefore the weapon icon is shown beyond the enemy`s battler sprite (but above the characters since i signed the “over” value to “true”)

    Is there a way to display weapon icons over enemy sprites while linking them on the users sprite?

    the sequence key looks like this, ->

    afterimage: ‘user’, 3, 3;
    pose: ‘user’, 0, 2, -2, -1, 16;
    move: ‘user’, ‘targets’, -32, -20, 0, 20;
    wait: 10;
    check counter;
    check substitute;
    wait: 1;
    weapon: ‘user’, 0, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -1, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -2, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -3, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -4, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -5, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -6, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -7, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -8, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -9, -12, -45, -45, 2, false, true;
    wait: 20;
    weapon: ‘user’, -8, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -7, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -6, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -5, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -4, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -3, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -2, -12, -45, -45, 2, false, true;
    weapon: ‘user’, -1, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 0, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 1, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 2, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 3, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 4, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 5, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 6, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 7, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 8, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 9, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 10, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 11, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 12, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 13, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 14, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 15, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 16, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 17, -12, -45, -45, 25, false, true;
    animation: ‘target’, -1, false;
    wait: 10;
    weapon: ‘user’, 16, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 15, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 14, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 13, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 12, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 11, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 10, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 9, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 8, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 7, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 6, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 5, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 4, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 3, -12, -45, -45, 2, false, true;
    weapon: ‘user’, 2, -12, -45, -45, 2, false, true;

    wait: 10;
    zoom camera: 150, 20;
    move camera: ‘user’, 0, 0, 20;
    damage;
    wait: 10;
    move: ‘user’, ‘origin’, 0, 0, 20, 20;
    zoom camera: 100, 20;
    move camera: ‘screen’, 272, 208, 20;
    wait: 10;
    afterimage: ‘user’, 0;

    sorry for the large text,

    Stesc

Wanna leave a comment?