SeeingBlue Posted June 18, 2011 Author Share Posted June 18, 2011 I've been looking through the source code for a way to make walk/run animations play all 4 frames instead of just 2 per step. Anyone know what I should be looking for? Link to comment Share on other sites More sharing options...
shadowwulf Posted June 18, 2011 Share Posted June 18, 2011 I haven't messed with it yet, but I think you would be looking for this.Inside ModGameLogin(client side):``` ' Check if completed walking over to the next tile If Player(Index).Moving > 0 Then If GetPlayerDir(Index) = DIR_RIGHT Or GetPlayerDir(Index) = DIR_DOWN Then If (Player(Index).XOffset >= 0) And (Player(Index).YOffset >= 0) Then Player(Index).Moving = 0 If Player(Index).Step = 1 Then Player(Index).Step = 3 Else Player(Index).Step = 1 End If End If Else If (Player(Index).XOffset <= 0) And (Player(Index).YOffset <= 0) Then Player(Index).Moving = 0 If Player(Index).Step = 1 Then Player(Index).Step = 3 Else Player(Index).Step = 1 End If End If End If End If```If you look at how this code is simply processing the steps, you should be able to add another frame per step. Link to comment Share on other sites More sharing options...
SeeingBlue Posted June 18, 2011 Author Share Posted June 18, 2011 @Shadowwulf:> Inside ModGameLogin(client side):ModGameLogic*Thanks. I'll make some changes & see what breaks. :) Link to comment Share on other sites More sharing options...
Suppositoire Posted June 19, 2011 Share Posted June 19, 2011 @SeeingBlue:> ModGameLogic*> > Thanks. I'll make some changes & see what breaks. :)If you find, to share please:) Link to comment Share on other sites More sharing options...
SeeingBlue Posted June 24, 2011 Author Share Posted June 24, 2011 Actually I haven't figured this out yet. I played around with the code a little, broke it a few times, made it skip animnations.As far as I could figure out, .Step is the position your character was last in, so if it's step 1, move to 3, or if it's anything other than 1 move to 1\. It seemed like I may have to redesign the way it reads the image? I don't know if just adding more frames to the player sprite will work…There was also another part of the code I was looking into also, something under the blt'ing.Feel free to provide some insight if you have any! Link to comment Share on other sites More sharing options...
jcsnider Posted June 24, 2011 Share Posted June 24, 2011 You also have to edit the bltplayer code in the modDirectDraw7 to display the 2 new steps I believe. I would double check that ;) Link to comment Share on other sites More sharing options...
SeeingBlue Posted June 29, 2011 Author Share Posted June 29, 2011 I'm not the best at understanding code, but this is on the client side under BltPlayer``` ' Reset frame If Player(Index).Step = 3 Then Anim = 0 ElseIf Player(Index).Step = 1 Then Anim = 2 End If ' Check for attacking animation If Player(Index).AttackTimer + (attackspeed / 2) > GetTickCount Then If Player(Index).Attacking = 1 Then Anim = 3 End If Else ' If not attacking, walk normally Select Case GetPlayerDir(Index) Case DIR_UP If (Player(Index).YOffset > 8) Then Anim = Player(Index).Step Case DIR_DOWN If (Player(Index).YOffset < -8) Then Anim = Player(Index).Step Case DIR_LEFT If (Player(Index).XOffset > 8) Then Anim = Player(Index).Step Case DIR_RIGHT If (Player(Index).XOffset < -8) Then Anim = Player(Index).Step End Select End If ' Check to see if we want to stop making him attack With Player(Index) If .AttackTimer + attackspeed < GetTickCount Then .Attacking = 0 .AttackTimer = 0 End If End With ' Set the left Select Case GetPlayerDir(Index) Case DIR_UP spritetop = 3 Case DIR_RIGHT spritetop = 2 Case DIR_DOWN spritetop = 0 Case DIR_LEFT spritetop = 1 End Select With rec .top = spritetop * (DDSD_Character(Sprite).lHeight / 4) .Bottom = .top + (DDSD_Character(Sprite).lHeight / 4) .Left = Anim * (DDSD_Character(Sprite).lWidth / 4) .Right = .Left + (DDSD_Character(Sprite).lWidth / 4) End With```Can someone help me understand what's actually happening here & what would need to be edited in order to play all 4 character animation frames instead of only 2? I thought it might be under the 'Reset Frame part, but after studying it more, I don't think that is right. Link to comment Share on other sites More sharing options...
Antisora Posted June 29, 2011 Share Posted June 29, 2011 I agree with Jcsnider, you need to change the bltplayer code in moddirectdraw7 Link to comment Share on other sites More sharing options...
SeeingBlue Posted June 29, 2011 Author Share Posted June 29, 2011 @Antisora:> I agree with Jcsnider, you need to change the bltplayer code in moddirectdraw7…More specifically I'm having trouble understanding this. I believe this is where my edit needs to go.``` Select Case GetPlayerDir(Index) Case DIR_UP If (Player(Index).YOffset > 8) Then Anim = Player(Index).Step Case DIR_DOWN If (Player(Index).YOffset < -8) Then Anim = Player(Index).Step Case DIR_LEFT If (Player(Index).XOffset > 8) Then Anim = Player(Index).Step Case DIR_RIGHT If (Player(Index).XOffset < -8) Then Anim = Player(Index).Step End Select``` Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now