OpenBOR v3.0 Build 4316 (Windows/Wii/Android)

Status
Not open for further replies.
rafhot said:
i noticed today that  fastattack 1 is not working
the last build it worked for me was: 4289

But it should still work ..
Checking code it would be ok..
some video o gif to show me better?

Viper Snake said:
One of my playable characters has counterrange 0 0 2 0 set in anim attack. She can still perform the counter on the first frame, but becomes immune to all damage during the entire attack animation. I'm using build 4376.

sCfzrm3.png

that is, damage not working?
 
you can test on marvel wargems
if you use original .exe in the game and playing with wolverine perform forward down attack to wolverine shoryuken
then try it again on actual build and you will notice that wolverine only will hit once not multiple times as he did until build 4289
 
O Ilusionista said:
Guys, I tried the version 4377 and the loading delay is gone :)

Yes I fixed it  ;)

Viper Snake said:

Ok, you need to set counterrange 0 0 2 1 to take damage.
BTW you are right, counterrange was bugged.
If you lose all hits (damage == 0) you dont die! ??? BUG
the conditions were ignored - BUG

Don't worry Viper Snake I fixed in new release and renovated all reset conditions!!  ;)

rafhot said:

You are right, but the issue is not fastattack but the new jugglepoints system.
fixed the right condition!
now wolverine will return to do his attack in right way!  ;)

I remember you that latest OpenBOR releases are here:
https://sourceforge.net/projects/openbor/files/?source=navbar
 
Code:
counterframe {frame} {cond} {damaged}

~Animation header. If all conditions are met, entity will perform animation set by followanim. This command is outdated and only included for backward compatibility. Use Counterrange instead.
~This command is to make entity performs FOLLOW{#} if the entity is hit in set frame.
~frame determines at which frame if entity is hit , FOLLOW{#} would be played.
~cond determines the condition requirements before FOLLOW{#} is played.
1: The counter will always be used.
2: The counter will be used as long as the attacker was an enemy (Or a player if an enemy uses it).
3: The counter will be used as long as the attacker was an enemy, the attack was not unblockable, hits the user from the front, and was not a FREEZE attack.
~damaged determines whether the entity will receive damage from the hit or not.
0, the damage won't be taken
1, the damage will be taken
~Which FOLLOW animation played is determined by 'followanim'.
counterrange {start} {end} {condition} {damage}

~Animation header. Replaces Counterframe and works identically except where noted.
~{start} Start of frame range when counter may trigger.
~{end} End of frame range when counter may trigger.

I tried build 4378 & 4379...counterrange now won't even go into the follow animation and player is still invincible. Perhaps you misunderstood me, I don't want the player to receive damage if the hit was taken on frame 0, only the rest of the animation they should be able to be hit. The problem is the player is invincible for the entire animation if counterrange is set.
 
Viper Snake said:
Code:
counterframe {frame} {cond} {damaged}

~Animation header. If all conditions are met, entity will perform animation set by followanim. This command is outdated and only included for backward compatibility. Use Counterrange instead.
~This command is to make entity performs FOLLOW{#} if the entity is hit in set frame.
~frame determines at which frame if entity is hit , FOLLOW{#} would be played.
~cond determines the condition requirements before FOLLOW{#} is played.
1: The counter will always be used.
2: The counter will be used as long as the attacker was an enemy (Or a player if an enemy uses it).
3: The counter will be used as long as the attacker was an enemy, the attack was not unblockable, hits the user from the front, and was not a FREEZE attack.
~damaged determines whether the entity will receive damage from the hit or not.
0, the damage won't be taken
1, the damage will be taken
~Which FOLLOW animation played is determined by 'followanim'.
counterrange {start} {end} {condition} {damage}

~Animation header. Replaces Counterframe and works identically except where noted.
~{start} Start of frame range when counter may trigger.
~{end} End of frame range when counter may trigger.

I tried build 4378 & 4379...counterrange now won't even go into the follow animation and player is still invincible. Perhaps you misunderstood me, I don't want the player to receive damage if the hit was taken on frame 0, only the rest of the animation they should be able to be hit. The problem is the player is invincible for the entire animation if counterrange is set.

No.. wait! It's all ok!!
When I fixed counterrange and restored conditions you need to set:
counterrange 0 0 1 0
the 1 flag is to get the follow animation ALWAYS according to previous definitions.
Another condition is: if your attack damage is > your health, you can't perform a counter!!
for next version I'll add a new flag to get the follow anim leave health 1 if attack damage > health (rage)

your issue is another one...
openbor by default can't permit to attack every frame (hitbyid)
so you need to alternate attack 0 with attack ... to work...
from build 4380 I added a new model command.
ignoreattackid
example:

anim    attack1
hitfx ...
hitflash ...
ignoreattackid 1

delay 2
offset 24 64
bbox 11 0 26 54
frame data/chars/...


if you set ignoreattackid 1, you can use ALL you attack frame.

ps. from build 4380 you can use new script func. playwebm(path, noskip_flag) too!
 
update engine to 4381 build.
updated manual:

Code:
counterframe {frame} {cond} {damaged} 
~Animation header. If all conditions are met, entity will perform animation set by followanim. This command is outdated and only included for backward compatibility. Use Counterrange instead.
~This command is to make entity performs FOLLOW{#} if the entity is hit in set frame.
~frame determines at which frame if entity is hit , FOLLOW{#} would be played.
~cond determines the condition requirements before FOLLOW{#} is played. 1: The counter will always be used.
2: The counter will be used as long as the attacker was an enemy (Or a player if an enemy uses it).
3: The counter will be used as long as the attacker was an enemy, the attack was not unblockable, hits the user from the front, and was not a FREEZE attack.
4: The counter will always be used and if health - attack damage <= your health will be 1 (rage).

~damaged determines whether the entity will receive damage from the hit or not. 0, the damage won't be taken
1, the damage will be taken

~Which FOLLOW animation played is determined by 'followanim'.

counterrange {start} {end} {condition} {damage} 
~Animation header. Replaces Counterframe and works identically except where noted.
~{start} Start of frame range when counter may trigger.
~{end} End of frame range when counter may trigger.

ignoreattackid {int} 
~Animation header.
0, Default, you can't use consecutive attack frames. You need to alternate attack ... with attack 0
1, You can use all attack frames without limits!
 
thanks!
now i just have to test the more than 4 joystick on the build on my parents house next week

also i have a script that broke on versions up to 4289 with  parameters: 44, <VT_EMPTY>  Unitialized
i posted on my project latest topic: http://www.chronocrash.com/forum/index.php?topic=1584.135
could you take a look to see if it is a script change or a bug? i dont know how to fix it



 
also i have a script that broke on versions up to 4289 with  parameters: 44, <VT_EMPTY>  Unitialized
Sometimes, the what the logs say its not the reason of the crash, but something related to it. I was having a crash, with the log saying there were a <VT_EMPTY> but everything was okay. I went crazy...

...until I realized I was calling an entity which wasn't loaded yet. The log could be more clear on those cases.
 
yeah i losing hair with this script eheheh
if i run at build 4289 and older it works but on new builds up to 4290 it crash and log says that
 
Tried build 4383. Setting it to counterrange 0 0 1 0 let the follow animation work again...but the player is still invincible for the entire animation instead of just frame 0. ignoreattackid made no difference.

Code:
anim	attack
	counterrange	0 0 1 0
	followanim	2
	bbox	22 -1 14 86
	offset	29 85
	loop	0
	delay	5
	hitfx	data/sounds/whiphit.wav
	@cmd	randSound2 "sounds/marianne_attack1.wav" "sounds/null.wav" "sounds/marianne_attack2.wav" "sounds/null.wav" "sounds/marianne_attack3.wav" "sounds/null.wav"
	frame	data/chars/marianne/whip0.png
	bbox	61 23 14 86
	offset	68 109
	@cmd	playSound "data/sounds/whip.wav"
	frame	data/chars/marianne/whip1.png
	bbox	5 31 14 86
	offset	12 117
	frame	data/chars/marianne/whip2.png
	bbox	5 6 14 86
	offset	12 92
	frame	data/chars/marianne/whip3.png
	bbox	5 1 14 86
	delay	2
	offset	12 87
	frame	data/chars/marianne/whip8a0.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip8a1.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip8a2.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip8a3.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip8a4.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip8a5.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip9e2.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip9e3.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip9e0.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip9e1.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip9e2.png
	attack5	55 8 115 12 10 0 1 0 0 0
	frame	data/chars/marianne/whip9e3.png
	attack5	0 0 0 0 0 0 0 0 0 0
	frame	data/chars/marianne/whip9e4.png
	frame	data/chars/marianne/whip9e5.png
	bbox	15 1 14 86
	offset	22 87
	frame	data/chars/marianne/whip10.png

White Dragon I've narrowed it down. counterrange worked correctly in build 4258 and has been broken since build 4259.

4259 notes:
-Counterrange is now a dynamically allocated structure.
-Counterframe command is depreciated.
 
Tested 4385. I had to change counterrange to 0 0 1 0 for Marianne, but it works like before now. However, I have discovered a new problem with another character that uses counterrange. The counterrange works correctly, but if I push the button for SPECIAL while in a pain or rise animation the game crashes with "not responding" and no errors in the log file.

Code:
com 	S freespecial17              #F17 - Dark Shield

anim	freespecial17
	energycost	2 1
	counterrange	1 1 1 0
	followanim	3
	delay	10
	bbox	6 0 18 80
	offset	16 77
	@cmd	spawnbind2 "dark_shield" 21 42 0 1 4
	frame	data/chars/constanze/crouch0.png
	bbox	6 0 45 80
	delay	30
	frame	data/chars/constanze/crouch0.png
	bbox	6 0 18 80
	delay	10
	frame	data/chars/constanze/crouch0.png
 
Viper Snake said:
Tested 4385. I had to change counterrange to 0 0 1 0 for Marianne, but it works like before now. However, I have discovered a new problem with another character that uses counterrange. The counterrange works correctly, but if I push the button for SPECIAL while in a pain or rise animation the game crashes with "not responding" and no errors in the log file.

Code:
com 	S freespecial17              #F17 - Dark Shield

anim	freespecial17
	energycost	2 1
	counterrange	1 1 1 0
	followanim	3
	delay	10
	bbox	6 0 18 80
	offset	16 77
	@cmd	spawnbind2 "dark_shield" 21 42 0 1 4
	frame	data/chars/constanze/crouch0.png
	bbox	6 0 45 80
	delay	30
	frame	data/chars/constanze/crouch0.png
	bbox	6 0 18 80
	delay	10
	frame	data/chars/constanze/crouch0.png


mmm.... tested but it works well for me..
did you try to check your script?
comment you script for example....

I tested:
1) player attack
2) enemy Attacks player
3) player plays the follow animation
4) enemy hits the player
5) player enter in pain animation
6-A) I press SPACIAL -> OK
6-B) I press ATK+JUMP -> OK

is it right?
for me works well now, counterrange and all.
and you Viper Snake?
 
The crashing starts happening with build 4374.
In build 4373, If the player entity does NOT have anim special and you try to use the com S freespecial = No crash.
In build 4374, If the player entity does NOT have anim special and you try to use the com S freespecial = Crash.
Giving the player anim special stops the crashing in build 4374 and onwards, but anim special is not a suitable animation for the move I want.
 
thanks for help!
well, fixed!
download 4387!
counterrange works well and animvalid check are fixed!

I found some bugs on other animations (like ATTACK3) and fixed!

BTW there was a trick in this case.
just write ANIM  SPECIAL and stop.
not write frames etc... and the engine works...
however from build 4387 this bug is fixed!! no need trick anymore!!
 
I tried using basemap in levels like hole/wall. It works, but shouldn't there be more parameters?

Code:
Wall  0 417 0 0 96 96 30 96
#basemap xpos zpos xsize zsize ymin ymax
basemap 96 416 96 2 0 96
Wall  192 417 0 0 96 96 30 96

Before this I used this script:
Code:
void change_basemap(int map_index, float rx, float rz, float x_size, float z_size, float min_a, float max_a, int dir, int x_cont) 
{//Basemap 
 //White Dragon - 6/3/2015 
 //int map_index = What basemap?
 //float rx = X position
 //float rz = Z position
 //float x_size = X size
 //float z_size =  Z size
 //float min_a = Minimum Height
 //float max_a = Maximum Height
 //int dir = Direction
 //Usage: change_basemap(0, -100, 500, 400.0+100.0, 240.0+100.0, 0.0, 50.0, 0);
    float x,z;
	float delta,a;

	changelevelproperty("basemap", map_index, "x", rx);
	changelevelproperty("basemap", map_index, "xsize", x_size+2);
	changelevelproperty("basemap", map_index, "z", rz);
	changelevelproperty("basemap", map_index, "zsize", z_size+2);
	delta = (max_a-min_a)/x_size;

	for( x = 0; x <= x_size; x++) {
		if ( dir == NULL() || dir > 0 ) a = x*delta + min_a;
		else a = max_a - (x*delta + min_a);

		if ( x_cont != NULL() ) {
            if ( dir == NULL() || dir > 0 ) {
                if ( x+rx > x_cont ) a = max_a; // connect with the wall more smoothly
            } else {
                if ( x < x_cont ) a = max_a;
            }
		}

		for ( z = 0; z <= z_size; z++) {
			changelevelproperty("basemap", map_index, "map", x, z, a);
		}
	}
}

dir allowed to flip the basemap in the other direction. x_cont was needed to prevent getting stuck where the top of the basemap connects to the wall.

While I'm talking about this White Dragon, x_cont doesn't seem to work for basemaps that use dir 0. Maybe I missed an updated version of this script?
 
Status
Not open for further replies.
Back
Top Bottom