Canceled rafhot Xmen arcade project

Project is halted prior to completion and will not receive further updates.
yeah i fixed it today thanks

by the way how i soft the shadow to mach enemy and object shadows to a more gray shadow to mach the trees shadows from the static background?
 
You can use shadowcolor {R} {G} {B} command to change the color of the shadow.
Set something like:

shadowcolor    110 110 110
at 0

That's rough estimation but you could adjust the values until you got it right :)
 
friends, i need help to update my project, to keep working using the most recent openbor build until release date of this game.

for now the last version that runs fine for my project is the build 4289
The most recent than 4289 version started to have incompatibilities that need to be updated in my project.

in colossus spin attack, it causes an instant crash with the log saying:

Script function 'changeopenborvariant' returned an exception, check the manual for details.
parameters: 44, <VT_EMPTY>  Unitialized, 

********** An Error Occurred **********
*            Shutting Down            *

this is the animation itself:

Code:
anim	follow4
	@cmd	storeTarget
	delay	5
	sound	data/sounds/get.wav
	offset	273 367
	@cmd	bind0010 10 0 0 46 50 0 -1 G_HORUP 0
	frame	data/chars/colossus/198.pcx
	@cmd	velo001 -1 0 0
	@cmd	bind0010 10 0 0 39 48 1 -1 G_HORUP 0
	frame	data/chars/colossus/199.pcx
	@cmd	spawnEntity "swing2" 0 70 1 1 1 0
	@cmd	spawnEntity "swing" 0 70 0 1 1 0
	delay	5
	frame	data/chars/colossus/200.pcx
	@cmd	bind0010 10 0 0 -50 67 0 1 G_HORUP 0
	delay	6
	frame	data/chars/colossus/201.pcx
	@cmd	bind0010 10 0 0 -37 73 0 1 G_HORUP 0
	attack	0
	frame	data/chars/colossus/202.pcx
	sound	data/chars/colossus/swing.wav
	frame	data/chars/colossus/203.pcx
	frame	data/chars/colossus/204.pcx
	@cmd	bind0010 10 0 0 46 50 0 -1 G_HORUP 0
	frame	data/chars/colossus/198.pcx
	@cmd	velo001 -1 0 0
	@cmd	bind0010 10 0 0 39 48 1 -1 G_HORUP 0
	frame	data/chars/colossus/199.pcx
	delay	5
	frame	data/chars/colossus/200.pcx
	@cmd	bind0010 10 0 0 -50 67 0 1 G_HORUP 0
	delay	6
	frame	data/chars/colossus/201.pcx
	@cmd	bind0010 10 0 0 -37 73 0 1 G_HORUP 0
	frame	data/chars/colossus/202.pcx
	sound	data/chars/colossus/swing.wav
	frame	data/chars/colossus/203.pcx
	frame	data/chars/colossus/204.pcx
	@cmd	velo001 -1 0 0
	delay	9
	@cmd	bind0010 10 0 0 34 69 0 -1 G_VERUP 0
	drawmethod	256 256 -1
	frame	data/chars/colossus/202.pcx
	nodrawmethod
	sound	data/chars/colossus/swing.wav
	@cmd	bind0010 10 0 0 -33 69 0 1 G_VERUP 0
	frame	data/chars/colossus/202.pcx
	delay	12
	@cmd	bind0010 10 0 0 34 69 0 -1 G_VERUP 0
	drawmethod	256 256 -1
	frame	data/chars/colossus/202.pcx
	nodrawmethod
	sound	data/chars/colossus/swing.wav
	@cmd	bind0010 10 0 0 -33 69 0 1 G_VERUP 0
	frame	data/chars/colossus/202.pcx
	delay	12
	@cmd	bind0010 10 0 0 34 69 0 -1 G_VERUP 0
	drawmethod	256 256 -1
	frame	data/chars/colossus/202.pcx
	nodrawmethod
	sound	data/chars/colossus/swing.wav
	@cmd	bind0010 10 0 0 -33 69 0 1 G_VERUP 0
	frame	data/chars/colossus/202.pcx
	delay	12
	@cmd	bind0010 10 0 0 34 69 0 -1 G_VERUP 0
	drawmethod	256 256 -1
	frame	data/chars/colossus/202.pcx
	nodrawmethod
	sound	data/chars/colossus/swing.wav
	@cmd	bind0010 10 0 0 -33 69 0 1 G_VERUP 0
	frame	data/chars/colossus/202.pcx
	delay	12
	@cmd	bind0010 10 0 0 34 69 0 -1 G_VERUP 0
	drawmethod	256 256 -1
	frame	data/chars/colossus/202.pcx
	nodrawmethod
	delay	4
	frame	data/chars/colossus/205.pcx
	@cmd	velo001 -1 0 6
	@cmd	bind0010 10 0 0 -36 97 0 -1 G_VERUP 0
	frame	data/chars/colossus/207.pcx
	@cmd	bind0010 10 0 0 66 88 0 -1 G_VERUP 0
	frame	data/chars/colossus/208.pcx
	sound	data/chars/colossus/nuah.wav
	frame	data/chars/colossus/209.pcx
	frame	data/chars/colossus/213.pcx
	frame	data/chars/colossus/210.pcx
	@cmd	bind0010 10 0 0 -75 113 0 1 G_VERUP 0
	frame	data/chars/colossus/211.pcx
	frame	data/chars/colossus/212.pcx
	frame	data/chars/colossus/207.pcx
	@cmd	bind0010 10 0 0 66 88 0 -1 G_VERUP 0
	delay	3
	frame	data/chars/colossus/208.pcx
	frame	data/chars/colossus/209.pcx
	@cmd	bind0010 10 0 0 66 88 0 -1 G_VERUP 0
	delay	1
	frame	data/chars/colossus/213.pcx
	@cmd	bind0010 10 0 0 66 88 0 -1 G_RELEASE 0
	@cmd	velo001 -2.4 0 -1
	hitfx	none
	attack18	271 233 105 66 30 0 0 1 0 0
	dropv	-5 5
	delay	3
	frame	data/chars/colossus/213.pcx
	delay	12
	frame	data/chars/colossus/214.pcx
	frame	data/chars/colossus/j7.pcx
	frame	data/chars/colossus/j8.pcx

here is the storetarget function, where i think the problem is:
Code:
void storeTarget()
{ //used on colossus spining move
	void vSelf = getlocalvar("self");
	void target = getlocalvar(vSelf + ".bind");
	if(target == NULL()) setlocalvar(vSelf + ".bind", getentityproperty(vSelf, "opponent"));
}

if i remove storetarget from the animation, the animation run without grab the enemy but he perform all the spin animation without crash

or maybe the problem is in the bind0010 or one of those includes

Code:
#include	"data/scripts/vars/constants.h"	//http://www.caskeys.com/dc/?p=1314#constants
#include	"data/scripts/com/draw0001.h"   //http://www.caskeys.com/dc/?p=1314#draw0001
#include	"data/scripts/com/bind0021.h"   //http://www.caskeys.com/dc/?p=1314#bind0021
#include	"data/scripts/com/ht0001.h"     //http://www.caskeys.com/dc/?p=1314#ht0001

void bind0010(int iMode, void vEnt, int iIndex, int iX, int iY, int iZ, int iDir, int iFrame, int iState){
//  	iMode = 9;
    /*
    bind0010
    Damon Vaughn Caskey
    2008_12_21
	~2011_06_29

    Grapple binding. Binds and sets target entity into desired pose, or sets position and releases.

	iMode:		Type of bind
					0 = standard
					1 = Bind by self location - height adjustment
					5 = Bind by target location
					6 = Bind by target location using target height
					7 = 6 with tosstime addition to prevent "falling" and premature landframe triggers.
    vEnt:       Anchor entity.
	iIndex:		Entity index. Allows binding of multiple entities.
    iX, iY, iZ: Location offsets.
    iDir:       Direction; 0 = no change, 1 = same target, -1 = opposite of target,  2 = right, -2 = left.
    iFrame:		-1 = Release bind, 0+ Animation frame to set.
	iState:		Falling/projectile setup. Needed to ensure proper hit/no hit of opponents or allies.
    */

    void	vTarget;														//Target entity to bind.
    float	fRatio;															//Ratio to apply to bind (accomidates Z based zoom).
    int		iTime;															//OpenBOR elapsed time.
    int		iH;																//Entity height.
	float	fXV, fYV, fZV;													//Entity velocity.
	float	fX, fY, fZ;														//Location.

    if (!vEnt){ vEnt = getlocalvar("self"); }								//If no entity passed, use caller.

    fRatio  = getentityvar(vEnt, IDXE_ADSCALER);                                 //Ent's current scale ratio.
    //vTarget = getglobalvar("debugTarget");                       //Get entity by bind index.
    vTarget = getlocalvar(vEnt + ".bind");
    if (vTarget)                                                            //Make sure there is a legit target.
    {
		iTime   = openborvariant("elapsed_time");                           //Get elapsed time.
		fRatio  = getentityvar(vEnt, IDXE_ADSCALER);                             //Get caller's current scale ratio.

// 		if(iFrame == 4) setentityvar(vTarget, IDXE_ADROTATE, 45);
// 		if(iFrame == 5) setentityvar(vTarget, IDXE_ADROTATE, -45);
		//if (iX){ iX = draw0002(fRatio, iX); }                               //If X adjustment, apply scaling.
		//if (iY){ iY = draw0002(fRatio, iY); }                               //If Y adjustment, apply scaling.

		/*
		Modes to deal with alternate binding needs such as binding on Target's location instead of Ent's
		and auto adjusting by height settings to accommodate divergent character sizes.
		*/
		if(iMode == 1)														//Mode 1?
		{
			iH	=	ht0001(vTarget) - ht0001(vEnt);							//Get difference between ent and target's current height.
			iY	+=	iH;														//Add difference to to iY.
		}
		else if(iMode >= 5 && iMode <= 7)									//Mode 5 to 7?
		{
			fX	=   getentityproperty(vTarget, "x") - iX;					//Get target X location with X adjustment.
			fY	=	getentityproperty(vTarget, "a") - iY;					//Get target Y location with Y adjustment.
			fZ	=	getentityproperty(vTarget, "z") - iZ;					//Get target Z location with Z adjustment.

			if(iMode == 6 || iMode == 7)									//Mode 6 or 7? Apply height adjustments.
			{
				iH	=	ht0001(vTarget) - ht0001(vEnt);						//Get difference between ent and target's current height.
				fY	+=	iH;													//Add height difference to Target location.
				iY	-=	iH;													//Subtract height difference from altitude adjustment.
			}

			changeentityproperty(vEnt, "position", fX, fZ, fY);				//Move ent to target's position.

			if(iMode == 7)													//Mode 7? Add tosstime.
			{
				changeentityproperty(vEnt, "tosstime", iTime + 1000000);	//Jack up Tosstime (otherwise will "fall" from a Y adjustment).
			}
		}

		bindentity(vTarget, vEnt, iX, iZ, iY, iDir, 0);						//Bind target to ent.
		changeentityproperty(vTarget, "stalltime", iTime + 1000000);        //Jack up stalltime to disable default special moves.
        bind0021(vEnt, vTarget);											//Wall failsafe (shunt away from a wall if bound entity will be inside of it).
		draw0001(vTarget);                                                  //Refresh draw settings.

		if (iFrame < 0)                                                     //Frame -1? Then let's release bind.
		{
			bindentity(vTarget, NULL());									//Release bind (target from ent).
			setlocalvar(vEnt + ".bind", NULL());
			if (iFrame == -2)
			{
			setglobalvar(vEnt + ".bind." + iIndex, NULL());             //Remove record of binding from self.
					setentityvar(vTarget, IDXE_BOUNDA, NULL());						//Remove record bound anchor from target.
					setentityvar(vTarget, IDXE_BOUNDI, NULL());						//Remove record bound Index from target.
					setentityvar(vTarget, IDXE_BOUNDX, NULL());						//Remove record bound X from target.
					setentityvar(vTarget, IDXE_BOUNDY, NULL());						//Remove record bound Y from target.
					setentityvar(vTarget, IDXE_BOUNDZ, NULL());						//Remove record bound Z from target.
					setentityvar(vTarget, IDXE_BOUNDD, NULL());						//Remove record bound direction from target.
					setentityvar(vTarget, IDXE_BOUNDF, NULL());						//Remove record bound frame from target.
			
			} else if(iFrame == -3){ // Alex
					performattack(vTarget, openborconstant("ANI_FOLLOW3"), 1);
					//performattack(vTarget, openborconstant("ANI_FALL11"), 1);
					//changeentityproperty(vTarget, "animpos", 10);
					fX	=   getentityproperty(vTarget, "x");					//Get target X location with X adjustment.
					fY	=	getentityproperty(vTarget, "a");					//Get target Y location with Y adjustment.
					fZ	=	getentityproperty(vTarget, "z")-1;
					changeentityproperty(vTarget, "position", fX, fZ, fY);
			
			} else{
				int damage;
				if(getentityproperty(vTarget, "dead")){
					changeentityproperty(vTarget, "dead", 0);
					changeentityproperty(vTarget, "health", 1);
					damage = 2;
				} else damage = 0;
				
				damageentity(vTarget, vEnt, damage, 10, 9 + (iFrame * -1)); // Because ATK_NORMAL11 = 20, ATK_NORMAL12 = 21, and so on
			}
			//killentity(vTarget);
				
		}
		else
		{
			setglobalvar(vEnt + ".bind." + iIndex, vTarget);                //Make record of binding.
			setentityvar(vTarget, IDXE_BOUNDA, vEnt);							//Record bound anchor on target.
			setentityvar(vTarget, IDXE_BOUNDI, iIndex);							//Record bound index on target.
			setentityvar(vTarget, IDXE_BOUNDX, iX);								//Record bound X on target.
			setentityvar(vTarget, IDXE_BOUNDY, iY);								//Record bound Y on target.
			setentityvar(vTarget, IDXE_BOUNDZ, iZ);								//Record bound Z on target.
			setentityvar(vTarget, IDXE_BOUNDD, iDir);							//Record bound direction on target.
			setentityvar(vTarget, IDXE_BOUNDF, iFrame);							//Record bound frame on target.

			if(iMode == 10){ // Foot grapple
				performattack(vTarget, AC_DEFPOSEF, 1); 
			} else if(iMode == 9){ // Head grapple
				performattack(vTarget, AC_DEFPOSEH, 1); 	                            
			} else performattack(vTarget, AC_DEFPOSE, 1);  //Set defense pose.
			changeentityproperty(vTarget, "animpos", iFrame);               //Set frame.

		}
		
		/*
		Falling and projectile status.
		*/
		if(!iState)
		{	
			//Falling. Cannot hit.

			changeentityproperty(vTarget, "aiflag", "drop", 1);
			changeentityproperty(vTarget, "aiflag", "falling", 1);
			changeentityproperty(vTarget, "aiflag", "projectile", 1);			
		}
		else if(iState==1)
		{

			//Falling. Hit according to attackbox & projectilehit settings.

			changeentityproperty(vTarget, "aiflag", "drop", 1);
			changeentityproperty(vTarget, "aiflag", "falling", 1);
			changeentityproperty(vTarget, "aiflag", "projectile", 1);
		}
		
		/*
        Reset engine's lasthit variants. Otherwise, target will assume sweep values when
        knocked down if last normal attack hit low.
        */
        changeopenborvariant("lasthitx", NULL());							//Last hit X.
        changeopenborvariant("lasthita", NULL());							//Last hit Y.
        changeopenborvariant("lasthitz", NULL());							//Last hit Z.
        changeopenborvariant("lasthitt", NULL());							//Last hit type.
    }
}

i really need help to fix this one  :)
i have no idea what to update to fix it


 
There is a fail passing the variable from a function (this is why you get <VT_EMPTY>).
Maybe you need to report this to WD and send this game to him by PM, so he can check it.
 
I see an issue on your script.
when you store localvar ".bind", and you entity dies
localvar is not NULL() until you set NULL()!
if you set setlocalvar(self,".bind",target) and target dies.
setlocalvar ".bind" take over a new value, that is the next entity handler in the list.
so  you need to check WHEN setlocalvar(self,".bind") can be set to NULL().

BTW your bug depends from it:
changeopenborvariant("lasthitt", NULL()); //Last hit type.
you can change this param.. in until openbor 4382
now I added "lasthitt" from 4383 to up

download it  ;)
 
Saddly Marvel changed Rogue into a way that she is broken beyond the rendemption. Now she can use any power from any person he ever touched anytime :(
 
O Ilusionista said:
Saddly Marvel changed Rogue into a way that she is broken beyond the rendemption. Now she can use any power from any person he ever touched anytime :(

Yikes, I didn't know that... gezz, that makes her Superman *10. It would be impossible to write fight scenes around that without making the character do something beyond stupid.

DC
 
yes, THAT BROKEN. Mimic can do it too, but he needs to choose between 5 powers to "keep", the others are forgotten. And he needs to sty close to the hero for some time to be able to copy it.
But she doesn't. She keeps the power until she wants to.
 
if someone give me the sprites for his 1980´s costume i could make his 1980 incarnation where she is not so overpowered and will drain only the powers of the enemies and players around

the costume from the middle is the easiest to edit
Rogue.jpg


using blair dame or some other sprite similar like this
silverbanshee16-w70-o.png
 
Ha ha ha, it's always so funny to see a bunch of characters operated at the same time.

You aren't resizing your Capcom X-Men sprites, are you?
If not, I could give Rogue a shot. I was toying with a couple ideas to get her second costume (my favourite). Or if you have a sprite sheet base you want me to use I could try that too.
Also, maybe a list of moves you'd need.

But I wouldn't be able to start until the new year, if that's okay.
 
A crazy gameplay. Enemies belong to Dino Strike, I remember.

I was playing hours and hours to your previous videogame War Of The Games, Top 20 Best Openbor, no doubt. Your new mod looks like awesome.
 
deadjoe666 said:
Ha ha ha, it's always so funny to see a bunch of characters operated at the same time.

You aren't resizing your Capcom X-Men sprites, are you?
If not, I could give Rogue a shot. I was toying with a couple ideas to get her second costume (my favourite). Or if you have a sprite sheet base you want me to use I could try that too.
Also, maybe a list of moves you'd need.

But I wouldn't be able to start until the new year, if that's okay.

nice, if you can make the sprites i code she for sure
i think she needs to have a drain touch animation to get the powers, plus animations that match the original owner for his drained powers like all bosses and playable characters for example while some powers dont will need a special animation just some effects like colossus armor or wolverine healing factor, but cyclops blasts will require some extra frames for example
 
I like this project, but I have to admit I feel it strange to have to win a contest to give you a feedback about your beta.
Anyway I hope this one will be completed since I already liekd your previous works.
 
hi friends, i started this early giveaway monthly for 3 reasons
the first is keep me motivated to have new content to release as a new beta every month
the second is help increase my subscribers on youtube to enable new features on my channel
and the third was because i recieve many msgs asking about a private beta, and i dont like much to release betas and spoil things without finish the project

i dont want to exclude people, i wish i had something to giveaway different from those betas like an entire arcade machine or something... but i dont have this power yet
:(
 
Yes, I can understand it.
Anyway, I'm still watching your YT channel since I like what you guys do.  :)
 
Back
Top Bottom