(NOTE: download attached document for better view)Download crimebuster slam grabscript.c and escript.c below Tutorialslam and throwbefore starting this tutorial you must be familiarized with the basics of creating characters and levels
http://dcemulation.org/index.php5?title=OpenBORManual• For the
player you need the script file containing the commands for the slam, from bloodbane´s game crimebusters (location data/scripts)
• For the
enemy you need the escript.c file containing the commands for the slam, from bloodbane´s game crimebusters (location data/scripts)
both script files contain the commands for the slams and special commands that can be used in player or enemy Bloodbane Crime Busters
http://lavalit.com:8080/index.php?action=downloads;sa=view;down=19 If you already have a script.c in the scripts directory, you can change the file name leaving the extension .c / for example ( grabscript.c )
Copy this script files into your openbor folder Data/scripts
In order to use the script you need to add the following in your player/enemie .txt
animationscript data/scripts/grabscript.c -> used for playeranimationscript data/scripts/ escript.c -> used for enemies• Create an anim fall7 in the player or in the enemy *.txt file
Ex: ryo.txt (player)
This will be the character pain images that will be used during the slam. (more images can be added)
Has showed above in ryo.txt you need to set the offset this controls X and Y axis position in were the image will be displayed. The attacker also controls this position with
@cmd position (see below) --------------------------------//-----------------------------------------------
Character animations .txt fileThis is an example of an enemie slam attack. (it works also for the player use grabforward anim / grabbackward instead.)
anim grab
delay 20
attackone 0
offset 55 145
jumpframe 2 4
landframe 9
quakeframe 9 1 8
sound data/sounds/grab.wav
@cmd grabcheck
frame data/chars/2maskguy3/slam01.gif
frame data/chars/2maskguy3/slam01.gif
delay 5
@cmd slamstart
@cmd position 7 40 12 -1 -1
frame data/chars/2maskguy3/slam01.gif
frame data/chars/2maskguy3/slam01.gif
delay 10
@cmd position 5 20 105 -1 -1
frame data/chars/2maskguy3/slam02.gif
@cmd position 8 0 135 -1 -1
frame data/chars/2maskguy3/slam03.gif
@cmd position 8 -30 125 -1 -1
frame data/chars/2maskguy3/slam04.gif
delay 20
@cmd position 6 20 95 -1 -1
frame data/chars/2maskguy3/slam05.gif
delay 1000
move -15
attack4 85 70 57 95 5 1 1 0 0 0
@cmd position 6 50 45 -1 -1
frame data/chars/2maskguy3/slam06.gif
move 0
delay 10
sound data/sounds/beat3.wav
@cmd spawn01 "Flash" 47 44 1
frame data/chars/2maskguy3/slam06.gif
delay 5
attack 0 0 0 0
@cmd depost 0
@cmd finish 25 2 -2 2.5 0 0
frame data/chars/2maskguy3/slam06.gif
delay 14
frame data/chars/2maskguy3/slam07.gif
frame data/chars/2maskguy3/slam08.gif
offset 106 192
frame data/chars/2maskguy3/rise8.gif
frame data/chars/2maskguy3/rise9.gif
@cmd clearL
frame data/chars/2maskguy3/rise10.gif
Attackone 0 – Used in grab animation, to set attackbox in animation to hit other enemies.
By default, it doesn't in GRAB animations! If slam/throw is not being used in grab animation and its being used in other animation attackone 0 is not necessary.
@cmd slamstart ---used to start the slam or the throw
(use it at the beginning of the first slam/throw frame)
@cmd slamstart2 --- works like slamstart above except it works for nongrabslams.
(use it at the beginning of the first slam/throw frame and when player/enemy is not in a grab animation)
@cmd position [1] [2] [3] [4] [5] - this controls the victims image frame and position, and it needs to declared for
each frame of the slam/throw
(see example *.txt above)[1] nº of fall7 animation (starts in 0)
[2] X axis -/+ <- ->
[3] Y axis -/+ down / up
[4] Z axis -/+ (layer position) (ex: -1 behind attacker | 1infront attacker // -10 more behind | 10 more infront)
[5] Controls victims facing direction: 0 = no change, 1 = same direction as slammer/thrower,
-1 = opposite direction as slammer
Example: @cmd position @cmd position 6 50 45 -1 -1
frame data/chars/2maskguy3/slam06.gifthe fall7 position axis corresponds to the frame06.gif
in the attacker animation frames. Set all @cmd positions for fall7 animations in order for the two animations work together ___offset controls attacker position / position control victim position__________
(see example above in enemy grab .txt file)@cmd depost 0 use at the end of slam and throw finish to release grabbed opponent
(ex: @cmd depost 0)
@cmd finish [1] [2] [3] [4] [5] [6] --- used to finish the slam
(use it at the end of the last slam frame)
(ex: @cmd finish 25 2 -2 3 0 0)
[1] damage made by the slam (- less damage) (+ more damage)
[2] defines which FALL animation slammed opponent will play after slammed / 1 = Opponent plays FALL animation after being slammed / 2 = Plays FALL9 animation (ex: character's FALL9's, plays a simpler version of fall animation. This is used for Suplexs and most slam animation in which slammed opponent plays fallen poses).
[3]fall distance X axis -/+ <- ->
[4]fall altitude y axis -/+ down/up
[5]fall depth z axis -/+ far/near
[6] flips the fall animation 0 / 1
@cmd throw [1] [2] [3] [4] [5] [6] – used to finish throw (works just like finish for slam)
(use it at the end of the last slam frame)
(ex: @cmd throw 35 1 4 2 0 0)
[1] damadge made by the slam (- less damage) (+ more damage)
[2] works just like @cmd finish above, except there's another accepted value:
3 = Plays FALL2 animation
(Some enemies have FALL2 animations in which they auto recover from being thrown.)
[3] fall distance X axis -/+ <- ->
[4] fall altitude y axis -/+ down/up
[5] fall depth z axis -/+ far / near
[6] flips the fall animation 0 / 1 (0 = Doesn't change opponent's direction / 1 = Flip opponent's direction)
@cmd entergrab --this function is used for air grabs
@cmd grabcheck -- (
used in enemies) this is used in a grab animations type. Player and enemies wont stay grabbed for to long depending on grabforce values they will break free. In this case Grabcheck will check if the enemie is still holding the player and will start the slam/trow. If the player already broke free enemie wont perform the slam and will return to idle
@cmd grabcheck2 ----(
used in enemies) this is used for air and running grab (when not in a grab animation) - (example it checks if enemy attackbox hits the player,
if its doesnt hit/connect the slam animation won’t start and enemy will return to idle)
@cmd grabcheckA - (
Used in players for air grabs checks) - prevents player from grabbing ground enemies, bikers, jetpacks, special enemies and non-enemy entities (example coming soon)
@cmd grabcheckG – (
Used in players for ground grabs checks) - prevents player from grabbing airborne enemies, bikers, jetpacks, special enemies and non-enemy entities (example coming soon)
@cmd keymove ---(works for player only) allows player to move during slam or any animation by holding a direction key
(use it in the frame where the player will start moving)
(ex: @cmd keymove 0.7)
[0.7] is the speed the player will move, increase the number for more speed
@cmd antiwall [1] [2] [3] this function is to avoid slamming/throwing an opponent or player inside a wall
(use it at any frame before using the position command)
(ex: @cmd antiwall 50 -10 -1)
@cmd stop – stops player movement
@cmd hurt2 [1] – (
used in both player and enemies) this command is used
in multiple slam or hits during the slam
[1] – Defines hurt2 damage -/+
@cmd clearL - clears all local variables. Players and enemies have their own usages.
For both, it is to clear latest grabbed opponent.
For player, it is also to clear running and grabbed status. Use these 2 status to make running special and antigrab feature respectively.
For enemy, it is also to clear latest targetted player for 3D targetted attack
(also use clearL if opponent is not grabbing the player after the player dies all lifes and continues with the credits) @cmd spawn01 “entity name“ [1] [2] [3] ------- spawns an entity in the current frame (used for special effects, flashes, dusts, etc..)
(ex: spawn01 "Break" 47 44 1)
“entity name” name of entiy to be spawned
[1]fall distance X axis -/+ <- ->
[2]fall altitude y axis -/+ down / up
[3]fall depth z axis -/+ far / near
----------------//--------------
(( You can place more commands here or at the bottom of the manual ))
Another example of slam this time using the throw for the player
This is the player frames animation for the throwHas explained above It will be using the enemy anim fall7
------------------------------------------(player .txt file)---------------------------------------------
anim grabbackward
delay 12
attackone 0
offset 121 201
jumpframe 2 2 -1 0
sound data/sounds/ryo02.wav
frame data/chars/1ryo/th01.gif
delay 1
move -1
@cmd slamstart
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 4 0 60 -1 -1
frame data/chars/1ryo/th03.gif
@cmd position 4 0 60 -1 -1
frame data/chars/1ryo/th03.gif
@cmd position 4 0 60 -1 -1
frame data/chars/1ryo/th03.gif
@cmd position 4 0 60 -1 -1
frame data/chars/1ryo/th03.gif
@cmd position 4 0 60 -1 -1
frame data/chars/1ryo/th03.gif
@cmd position 4 0 60 -1 -1
frame data/chars/1ryo/th03.gif
attack 100 150 59 50 8 1 0 0 9 0
@cmd position 3 -20 35 -1 -1
frame data/chars/1ryo/th04.gif
@cmd position 3 -20 35 -1 -1
frame data/chars/1ryo/th04.gif
@cmd position 3 -20 35 -1 -1
frame data/chars/1ryo/th04.gif
@cmd position 3 -20 35 -1 -1
frame data/chars/1ryo/th04.gif
@cmd position 3 -20 35 -1 -1
frame data/chars/1ryo/th04.gif
@cmd position 3 -20 35 -1 -1
frame data/chars/1ryo/th04.gif
attack 0 0 0 0
@cmd position 6 20 10 -1 -1
frame data/chars/1ryo/th05.gif
@cmd position 6 20 10 -1 -1
frame data/chars/1ryo/th05.gif
@cmd position 6 20 10 -1 -1
frame data/chars/1ryo/th05.gif
@cmd position 6 20 10 -1 -1
frame data/chars/1ryo/th05.gif
@cmd position 6 20 10 -1 -1
frame data/chars/1ryo/th05.gif
@cmd position 6 20 10 -1 -1
frame data/chars/1ryo/th05.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 5 40 50 -1 -1
frame data/chars/1ryo/th02.gif
@cmd position 0 10 65 -1 -1
frame data/chars/1ryo/th03.gif
@cmd position 0 10 65 -1 -1
frame data/chars/1ryo/th03.gif
@cmd position 0 5 70 -1 -1
frame data/chars/1ryo/th03.gif
@cmd position 0 0 75 -1 -1
frame data/chars/1ryo/th03.gif
@cmd position 0 -1 80 -1 -1
frame data/chars/1ryo/th03.gif
@cmd position 0 -1 50 -1 -1
frame data/chars/1ryo/th03.gif
move 0
move -2
@cmd depost 0
@cmd throw 35 1 5 1 0 0
frame data/chars/1ryo/th07.gif
frame data/chars/1ryo/th07.gif
frame data/chars/1ryo/th07.gif
frame data/chars/1ryo/th07.gif
frame data/chars/1ryo/th07.gif
frame data/chars/1ryo/th07.gif
frame data/chars/1ryo/th07.gif
frame data/chars/1ryo/th07.gif
frame data/chars/1ryo/th07.gif
frame data/chars/1ryo/th07.gif
move 0
delay 25
frame data/chars/1ryo/th08.gif
frame data/chars/1ryo/th07.gif
delay 15
offset 121 201
@cmd clearL
frame data/chars/1ryo/rise1.gif
frame data/chars/1ryo/rise2.gif
frame data/chars/1ryo/rise3.gif
---------------------------------------------------------(enemy .txt file)----------------------------
anim fall7
delay 1000
offset 115 130
frame data/chars/2maskguy3/slamck0.gif
offset 115 130
frame data/chars/2maskguy3/slamck1.gif
offset 115 130
frame data/chars/2maskguy3/slamck2.gif
offset 115 130
frame data/chars/2maskguy3/slamck3.gif
offset 115 130
frame data/chars/2maskguy3/slamck4.gif
offset 115 130
frame data/chars/2maskguy3/slamck5.gif
offset 115 130
frame data/chars/2maskguy3/slamck6.gif
offset 115 130
frame data/chars/2maskguy3/slamck7.gif
offset 115 130
frame data/chars/2maskguy3/slamck8.gif
offset 115 130
frame data/chars/2maskguy3/slamck9.gif
Note: player animation contains repeated frames with a move of -1 to make the animation smootherA way of aligning the (x) (y) of the two animations
Making slams for player requires more precision for the opponents x and y axis, since the player interacts with many opponents
In Photoshop create an image larger than the character of for example 230 W and 210 H. And mark the coordinates at the center of the image (x115, y115)
Check the information tab and select pixels to see the image coordinates
Next copy the character slam/throw pain frames and place them at the center of the image in coordinates (X) 115(Y)115. This coordinates will be used in the anim fall7 opponents off set (see enemy .txt file above)
You can then make the same for all the other opponents
Then see the player off set of the slam/throw animation and align the axis (x) (y) for the @cmd position
for each opponent frame (see @cmd position / player .txt file above)
you can use Photoshop layers. Mark the player image off set and copy it to the opponents image
you can also use screen shot (F12)
in openBOR during the game to capture all the
slam animations 1 by 1. You can set the animation
delay to 70 for easy capture.
Then check all images for coordinate’s flaws.
After successfully aligning the slam animation for one opponent the player slam @cmd position should work for the remaining opponents
----------------//--------------
Notes: if you have an anim attack3 in the player/enemie.txt try to chage it for attack4/5/6
otherwise when the slam starts it will use the attack3 animation
if the player/enemie falls on ground as soon has hes being slammed/throw...
check your fall7 pain images offsets, this happens when the victim offset touches the ground.
This ofset image can be usefull in the last slam frame togheter with ( depost 0 ) and ( finish ), the victim touches the gound and dust comes off like in any normal fall animation.YOU CAN USE THIS TUTORIAL IN ANY WAY YOU LIKE, AND IT CAN BE EDITED AND IMPROVED BY ANYONE WITH NEW SLAMS AND EXAMPLES (no credits or permission needed)iam using most of my time to finish an openbor mod... and i see my time flying way...
iam trying to finish it as fast as can