PDA

View Full Version : Wall run - help me!


tommulder
01-19-2003, 01:37 PM
hmmm well im not the greatest coder and m not studying that one for long, but i have noticed that all the remedy anim. properties are in fram order... maybe that might work ??? images/icons/confused.gif ???

Maddieman
01-19-2003, 02:30 PM
This is to do with the wallrun right animation, correct? How many frames is it, 41-42?

Hmm...I wonder if it's to do with the cameras here:

</font><blockquote><font size="1" face="Verdana, Arial">code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">[Message] Frame = 0; String =&quot;this->cam_animateInPlace( wallrunr );&quot;;

[Message] Frame = 40; String =&quot;this->cam_animateInPlace( wallrunr_end );&quot;;[/code]</blockquote><font size="2" face="Verdana, Arial">The problem I've encountered in the past, and I've not found a solution through the code; is that when certain camerapaths turn on or off during an animation, the animation quits and switches back to the original stance. Because of the way the idle animations work, they repeat if you interrupt the animation (by moving the mouse for example).

So one guess would be that the cameras are cutting your animation short and because of the way the idle animations work, the animation starts over again.

I don't know for definite though, but I'm starting to think it's to do with the way the animation is exported.

For the sake of experiment though, try commenting the camera lines out to see if it makes a difference. If it does, then great: problem solved - for the time being. If it doesn't, then at least you've ruled out a possible error.

Oh, and from what I can tell, the frame order is irrelevant (otherwise the kung fu wall runs wouldn't work either).

***EDIT:

And it's just not the new one. It's the original runs too. <font size="2" face="Verdana, Arial">Oh, didn't see this. graemlins/doh.gif

So the original wallrun doesn't work either?

Ok, I'll take another look; but you should post the code for the jumping animations - they're the ones that shoot the projectiles which trigger the wallrun.

EDIT2:

I think the "gm_setplayercontrols(false);" could also be what is causing the problem.

GM_SetPlayerControls ( bool playerControls );

Disables/enables player controls. Parameter false resets all dodge etc flags and parameter true is used for freezing the player when playing cinematics.

<font size="2" face="Verdana, Arial">Argh...play around with it for a bit. graemlins/brickwall.gif

Check everything that is activated from the projectile that creates the level item, to the camerapaths that are triggered.

[ 01-19-2003, 02:43 PM: Message edited by: Maddieman ]

Maddieman
01-19-2003, 03:02 PM
Sorry, I would have edited but the time ran out.

Anyway, I had a look at the original wallrun, and it seems that everything is shut down at about frame 50 (control is returned to the player, etc). However, the animation doesn't end until frame 58, so maybe that has some sort of impact on it.

How many frames is your new animation?

tommulder
01-19-2003, 03:38 PM
images/icons/blush.gif oh......kay...... i think maddie is afew sandwiches short of a picnic.......

hehe i like graemlins/brickwall.gif looks like fun.

Maddieman
01-19-2003, 04:24 PM
I can't really offer anything else until I know a bit more about the problem. There doesn't appear to be a problem with the code itself; but sometimes you get so familiar with it that you miss obvious mistakes.

I tried mucking around with wall running some months ago, and it seems to be really twitchy. The animation itself seemed to have a direct impact on whether or not the wallrun worked or not. It's just something that you'll have to tweak over and over until you start to make progress.

Akari
01-19-2003, 09:39 PM
The new run is 42 frames. Here's the jump code </font><blockquote><font size="1" face="Verdana, Arial">code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> [Animation] Index = CHARANIM_JUMP; Filename = anim\jumpUp.kf2; // originally jumpUp.kf2
[Properties]
{
[Movement] EndPosition = (0,0,0); Rotation = (0,0,0);
//[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_changegamespeed( 0.5, 0.5 );&quot;;
[Message] Frame = 10; String = &quot;this->A_Play3DSound ( characters, jump_medium, pelvis );&quot;;
[Message] Frame = 10; String = &quot;this->C_Jump( 7.5 );&quot;;
[Message] Frame = 10; String = &quot;this->A_Play3DSound ( weapons, whoosh1, pelvis );&quot;;
}

[Animation] Index = CHARANIM_JUMPFORWARD; Filename = anim\new_frontflip_fast.kf2; // originally jumpForward.kf2
[Properties]
{
[Movement] EndPosition = ( 0, 0, 3 ); Rotation = ( 0, 0, 0 ); //MiddlePosition1 = ( 0, 0, 0 ); MiddlePosition2 = ( 0, 0, 0 );
[Message] Frame = 20; String = &quot;this->p_createprojectiletobone( walljump, 1, neck );&quot;;
[Message] Frame = 10; String = &quot;this->C_AnimateTexture( &quot; FACETEXTURE_ID &quot;,&quot; FACETEXTURE_GRIN_ID &quot;,&quot; FACETEXTURE_SHOOTGRINTIME &quot;);&quot;;
[Message] Frame = 10; String = &quot;this->C_Jump( 4 );&quot;;
[Message] Frame = 10; String = &quot;this->A_Play3DSound ( characters, jump_medium, pelvis );&quot;;
[Message] Frame = 12; String = &quot;this->A_Play3DSound ( weapons, whoosh1, pelvis );&quot;;

[Message] Frame = 1; String = &quot;this->C_enableprojectilecollisions(false);&quot;;
[Message] Frame = 27; String = &quot;this->C_enableprojectilecollisions(true);&quot;;
} [/code]</blockquote><font size="2" face="Verdana, Arial">

Akari
01-19-2003, 09:40 PM
And I'll try the commet thing. // hehe my favorite keys. LOL

Maddieman
01-19-2003, 09:55 PM
This is a new jump animation, correct?

I'll tell you where the problem will be...

Right..here:

[Message] Frame = 20; String = "this->p_createprojectiletobone( walljump, 1, neck );"; <font size="2" face="Verdana, Arial">You need to know where exactly that projectile lands, plus where the level item is.

I'll bet that you've fired it on the wrong frame. The level item always falls, so if the player misses it, then you've got problems. The problem also occurs if the player re-collects it. You might have done something that causes the level item to spawn over an over.

In order to solve your problem, you're going to have to find out what is causing it. To do this you're going to have to test it. I recommend making the wallrun trigger projectile and the wallrun level item visible.

Copy the lod code from the beretta projectile so that the projectile is represented by a bullet. Also copy the lod code from another level item so that you can see the level item, too.

Then muck around with the wall runs to see where the projectiles are landing, and where the level items are being created.

Akari
01-20-2003, 12:29 AM
Ok. I'm going to watch Alice In Wonderland images/icons/grin.gif right now so I'll try it later. And I think I'll use the axis.kf2 images/icons/tongue.gif model instead of the bullet. Easy to see.

Akari
01-20-2003, 12:45 AM
Hey. A while back ago I f*cked the wall runs. It would just go to a few frames and the just stop and go back and play those few frames forever unless I do c_Jump30 Mutilple times so that the animation changes. Well I made a new wall run but I need to fix this problem. But I can't seem to figure out what does it. Can anyone help me?!?! </font><blockquote><font size="1" face="Verdana, Arial">code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> // >>>>>>>>>>>>>>>>>>>>>>>>>>>> CROUCH TO JUMPKICK <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[Animation] Index = CHARANIM_CROUCH; Filename = anim\crouch.kf2;
[Properties]
{
[Movement] EndPosition = (0,0,0); Rotation = (0,0,0);
[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_setplayercontrols( true );&quot;;
[Message] Frame = 0; String = &quot;this->C_setidle(4,false);&quot;;
}

[Animation] Index = CHARANIM_W_CROUCH; Filename = anim\crouch.kf2;
[Properties]
{
[Movement] EndPosition = (0,0,0); Rotation = (0,0,0);
[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_setplayercontrols( true );&quot;;
[Message] Frame = 0; String = &quot;this->C_setidle(4,false);&quot;;
[Message] Frame = 10; String = &quot;RightHandWeapon->WS_Animate( &quot; WEAPONANIM_DEFAULT &quot; );&quot;;
[Message] Frame = 19; String = &quot;this->C_AddHealth ( &quot; PLAYER_W_BONUS &quot; );&quot;;
[Message] Frame = 39; String = &quot;this->C_AddHealth ( &quot; PLAYER_W_BONUS &quot; );&quot;;
[Message] Frame = 59; String = &quot;this->C_AddHealth ( &quot; PLAYER_W_BONUS &quot; );&quot;;
}

[Animation] Index = CHARANIM_CUSTOMIDLE4; Filename = anim\execute_move.kf2; // originally idle_operating_onehand.kf2
[Properties]
{
[Movement] EndPosition = (0,0,1); Rotation = (0,0,0);
[Message] Frame = 0; String = &quot;RightHandWeapon->WS_Animate(&quot; WEAPONANIM_SHOOT &quot;);&quot;;
[Message] Frame = 4; String = &quot;this->p_createprojectiletobone( hit, 1, head );&quot;;
[Message] Frame = 5; String = &quot;this->p_createprojectiletobone( hit, 1, head );&quot;;
[Message] Frame = 3; String = &quot;this->p_createprojectiletobone( hit, 1, head );&quot;;
[Message] Frame = 6; String = &quot;this->p_createprojectiletobone( hit, 1, head );&quot;;
[Message] Frame = 2; String = &quot;this->A_Play3DSound ( weapons,swipe, pelvis );&quot;;
[Message] Frame = 19; String = &quot;this->C_AddHealth ( &quot; PLAYER_W_BONUS &quot; );&quot;;
[Message] Frame = 30; String = &quot;maxpayne_gamemode->gm_setplayercontrols( true );&quot;;
}

[Revert] From = CHARANIM_W_CUSTOMIDLE4; To = CHARANIM_CUSTOMIDLE4;

// >>>>>>>>>>>>>>>>>>>>>>>>>>>> END CROUCH TO JUMPKICK <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

// >>>>>>>>>>>>>>>>>>>>>>>>>>>> NEW GUN KICK <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
/*
[Animation] Index = CHARANIM_CUSTOMIDLE3; Filename = anim\punt.kf2;
[Properties]
{
[Movement] EndPosition = (0,0,1); Rotation = (0,0,0);
//[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_setplayercontrols( false );&quot;;
[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_changegamespeed( 0.7, 0.0 );&quot;;
[Message] Frame = 25; String = &quot;maxpayne_gamemode->gm_changegamespeed( 1, 0.5 );&quot;;

[Message] Frame = 25; String = &quot;maxpayne_gamemode->gm_setplayercontrols( true );&quot;;
[Message] Frame = 1; String = &quot;this->C_enableprojectilecollisions(false);&quot;;
[Message] Frame = 3; String = &quot;this->C_Jump( 5 );&quot;;
[Message] Frame = 25; String = &quot;this->C_enableprojectilecollisions(true);&quot;;
}

[Animation] Index = CHARANIM_W_CUSTOMIDLE3; Filename = anim\punt.kf2;
[Properties]
{
[Movement] EndPosition = (0,0,1); Rotation = (0,0,0);
//[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_setplayercontrols( false );&quot;;
[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_changegamespeed( 0.7, 0.0 );&quot;;
[Message] Frame = 25; String = &quot;maxpayne_gamemode->gm_changegamespeed( 1, 0.5 );&quot;;

[Message] Frame = 25; String = &quot;maxpayne_gamemode->gm_setplayercontrols( true );&quot;;
[Message] Frame = 1; String = &quot;this->C_enableprojectilecollisions(false);&quot;;
[Message] Frame = 3; String = &quot;this->C_Jump( 5 );&quot;;
[Message] Frame = 25; String = &quot;this->C_enableprojectilecollisions(true);&quot;;
}

*/
// >>>>>>>>>>>>>>>>>>>>>>>>>>>> END OF GUN KICK <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


// >>>>>>>>>>>>>>>>>>>>>>>>>>>> START OF WALL JUMP <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

[Animation] Index = CHARANIM_CUSTOMIDLE3; Filename = anim\wallflip.kf2;
[Properties]
{
[Movement] EndPosition = (0,0,-7.5); Rotation = (0,0,0);
[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_changegamespeed( 0.6, 0.5 );&quot;;
[Message] Frame = 0; String = &quot;this->C_AnimateTexture( &quot; FACETEXTURE_ID &quot;,&quot; FACETEXTURE_GRIN_ID &quot;,&quot;

FACETEXTURE_SHOOTGRINTIME &quot;);&quot;;
[Message] Frame = 10; String = &quot;this->A_Play3DSound ( characters, jump_medium, pelvis );&quot;;
[Message] Frame = 0; String = &quot;this->C_Jump( 7 );&quot;;
//[Message] Frame = 15; String = &quot;this->C_Jump( 2 );&quot;;
[Message] Frame = 5; String = &quot;this->P_Createprojectiletobone(bullet_leadpipe,1,foot-r );&quot;;
[Message] Frame = 14; String = &quot;this->P_Createprojectiletobone(bullet_leadpipe,1,foot-l);&quot;;
[Message] Frame = 12; String = &quot;this->A_Play3DSound ( weapons, whoosh2, pelvis );&quot;;
[Message] Frame = 30; String = &quot;maxpayne_gamemode->gm_changegamespeed( 1.0, 0.5 );&quot;;
[Message] Frame = 40; String = &quot;maxpayne_gamemode->gm_setplayercontrols( true );&quot;;
[Message] Frame = 40; String = &quot;this->C_setidle(0,false);&quot;;

//[Message] Frame = 0; String = &quot;this->P_Createprojectiletobone(dummy_cam2,1,head);&quot;;
[Message] Frame = 0; String =&quot;this->cam_animateInPlace( walljump );&quot;;
[Message] Frame = 40; String =&quot;this->cam_animateInPlace( walljump_end );&quot;;

[Message] Frame = 1; String = &quot;this->C_enableprojectilecollisions(false);&quot;;
[Message] Frame = 40; String = &quot;this->C_enableprojectilecollisions(true);&quot;;

}

[Revert] From = CHARANIM_W_CUSTOMIDLE3; To = CHARANIM_CUSTOMIDLE3;
[Revert] From = CHARANIM_2_CUSTOMIDLE3; To = CHARANIM_CUSTOMIDLE3;
[Revert] From = CHARANIM_W_2_CUSTOMIDLE3; To = CHARANIM_CUSTOMIDLE3;

// >>>>>>>>>>>>>>>>>>>>>>>>>>>> END OF WALL JUMP <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

// >>>>>>>>>>>>>>>>>>>>>>>>>>>> START OF WALL RUN LEFT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

[Animation] Index = CHARANIM_CUSTOMIDLE2; Filename = anim\wallrunl.kf2;
[Properties]
{
[Movement] EndPosition = (2,0,6); Rotation = (0,0,0);
[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_changegamespeed( 0.6, 0.5 );&quot;;
[Message] Frame = 0; String = &quot;this->C_AnimateTexture( &quot; FACETEXTURE_ID &quot;,&quot; FACETEXTURE_GRIN_ID &quot;,&quot;

FACETEXTURE_SHOOTGRINTIME &quot;);&quot;;
[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_setplayercontrols( false );&quot;;
[Message] Frame = 10; String = &quot;this->A_Play3DSound ( characters, jump_medium, pelvis );&quot;;
[Message] Frame = 0; String = &quot;this->C_Jump( 5 );&quot;;
[Message] Frame = 20; String = &quot;this->C_Jump( 4 );&quot;;
[Message] Frame = 11; String = &quot;this->P_Createprojectiletobone(bullet_leadpipe,1,foot-r );&quot;;
[Message] Frame = 19; String = &quot;this->P_Createprojectiletobone(bullet_leadpipe,1,foot-l);&quot;;
[Message] Frame = 29; String = &quot;this->P_Createprojectiletobone(bullet_leadpipe,1,foot-r );&quot;;
[Message] Frame = 30; String = &quot;this->A_Play3DSound ( weapons, whoosh1, pelvis );&quot;;
[Message] Frame = 40; String = &quot;maxpayne_gamemode->gm_changegamespeed( 1.0, 0.5 );&quot;;
[Message] Frame = 50; String = &quot;maxpayne_gamemode->gm_setplayercontrols( true );&quot;;
[Message] Frame = 50; String = &quot;this->C_setidle(0,false);&quot;;

//[Message] Frame = 0; String = &quot;this->P_Createprojectiletobone(dummy_cam2,1,head);&quot;;
[Message] Frame = 0; String =&quot;this->cam_animateInPlace( wallrunl );&quot;;
[Message] Frame = 40; String =&quot;this->cam_animateInPlace( wallrunl_end );&quot;;

[Message] Frame = 1; String = &quot;this->C_enableprojectilecollisions(false);&quot;;
[Message] Frame = 50; String = &quot;this->C_enableprojectilecollisions(true);&quot;;

}

[Revert] From = CHARANIM_2_CUSTOMIDLE2; To = CHARANIM_CUSTOMIDLE2;

// >>>>>>>>>>>>>>>>>>>>>>>>>>>> END OF WALL RUN LEFT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<



// >>>>>>>>>>>>>>>>>>>>>>>>>>>> START OF WALL RUN RIGHT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

[Animation] Index = CHARANIM_W_CUSTOMIDLE2; Filename = anim\wallrun_new.kf2;
[Properties]
{
[Movement] EndPosition = (-2,0,6); Rotation = (0,0,0);
[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_changegamespeed( 0.6, 0.5 );&quot;;
[Message] Frame = 0; String = &quot;this->C_AnimateTexture( &quot; FACETEXTURE_ID &quot;,&quot; FACETEXTURE_GRIN_ID &quot;,&quot;

FACETEXTURE_SHOOTGRINTIME &quot;);&quot;;
[Message] Frame = 0; String = &quot;maxpayne_gamemode->gm_setplayercontrols( false );&quot;;
[Message] Frame = 10; String = &quot;this->A_Play3DSound ( characters, jump_medium, pelvis );&quot;;
[Message] Frame = 0; String = &quot;this->C_Jump( 5 );&quot;;
[Message] Frame = 20; String = &quot;this->C_Jump( 4 );&quot;;
[Message] Frame = 11; String = &quot;this->P_Createprojectiletobone(bullet_leadpipe,1,foot-r );&quot;;
[Message] Frame = 19; String = &quot;this->P_Createprojectiletobone(bullet_leadpipe,1,foot-l);&quot;;
[Message] Frame = 25; String = &quot;this->P_Createprojectiletobone(bullet_leadpipe,1,foot-r );&quot;;
[Message] Frame = 30; String = &quot;this->A_Play3DSound ( weapons, whoosh1, pelvis );&quot;;
[Message] Frame = 40; String = &quot;maxpayne_gamemode->gm_changegamespeed( 1.0, 0.5 );&quot;;
[Message] Frame = 41; String = &quot;maxpayne_gamemode->gm_setplayercontrols( true );&quot;;
[Message] Frame = 41; String = &quot;this->C_setidle(0,false);&quot;;

//[Message] Frame = 0; String = &quot;this->P_Createprojectiletobone(dummy_cam2,1,head);&quot;;
[Message] Frame = 0; String =&quot;this->cam_animateInPlace( wallrunr );&quot;;
[Message] Frame = 40; String =&quot;this->cam_animateInPlace( wallrunr_end );&quot;;

[Message] Frame = 41; String = &quot;this->C_SetWoundedAnimations(false);&quot;;
[Message] Frame = 1; String = &quot;this->C_enableprojectilecollisions(false);&quot;;
[Message] Frame = 41; String = &quot;this->C_enableprojectilecollisions(true);&quot;;

}

[Revert] From = CHARANIM_W_2_CUSTOMIDLE2; To = CHARANIM_W_CUSTOMIDLE2;

// >>>>>>>>>>>>>>>>>>>>>>>>>>>> END OF WALL RUN RIGHT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< [/code]</blockquote><font size="2" face="Verdana, Arial">

Akari
01-20-2003, 12:47 AM
And it's just not the new one. It's the original runs too.

neeek
01-20-2003, 02:37 AM
there have been sum games that made wallrunning much useful and fun also. has any1 played the recently made shinobi for the ps2/xbox? i hear it has wallrunning.

one game im looking forward to play is ninja gaiden for the xbox. have you all seen the demo? its amazing, it looks like the gameplays gonna rock tho with the fighting and jumping and wallrunning as well.

has there been any possibility of having max running vertically across a wall like what ninja gaiden has done in the game?like when you jump up to a wall you can animate max running left/right verticle wallrunning, or has that been done already by other modders?

RealNitro
01-20-2003, 02:31 PM
has there been any possibility of having max running vertically across a wall like what ninja gaiden has done in the game?like when you jump up to a wall you can animate max running left/right verticle wallrunning, or has that been done already by other modders? <font size="2" face="Verdana, Arial">Yup, Maddieman did it
Hm, why am I not surprised images/icons/wink.gif images/icons/tongue.gif

Maddieman
01-20-2003, 02:35 PM
^ It looked and played crap though - I took it out of the game in the end.

My advice - stick with the kung fu 2 wallruns.

Akari
01-21-2003, 07:28 AM
Your's made of look like shit Maddieman, but mine looks even better than JKII. images/icons/tongue.gif

When I see you I'll let you try it.

Akari
01-21-2003, 08:11 AM
huh? I replaced the code with the old KF2 one ()just till 2_frontflipleft.kf2) and it still did the same error. And I've aready rplaced the projectiles and level_items mutilple times. I wonder if it's a diffrent animation that's doing this.