1. sayfa (Toplam 1 sayfa)

Oyuncu Modelinde Animasyon Oynatma

Gönderilme zamanı: Pzr Ara 08, 2019 8:49 pm
gönderen xdferlesh1
Mesela şoyle bırsey ıstıyorum Oyuncu zıpladıgında ben o modeldekı anımasyonu harekete gecırecegım bır kod.

@Yek'-ta
@seypa
@amad
@Fatih ~ EjderYa

Alttakı kod sadece Oyuncunun Sılahlarındakı anımasyonu harekete gecırıyor

Kod: Tümünü seç

stock UTIL_PlayerAnimation(const iPlayer, const szAnim[])
{
    #define ACT_RANGE_ATTACK1 28

    // Linux extra offsets
    #define linux_diff_animating 4
    #define linux_diff_player 5

    // CBaseAnimating
    #define m_flFrameRate 36
    #define m_flGroundSpeed 37
    #define m_flLastEventCheck 38
    #define m_fSequenceFinished 39
    #define m_fSequenceLoops 40

    // CBaseMonster
    #define m_Activity 73
    #define m_IdealActivity 74

    // CBasePlayer
    #define m_flLastAttackTime 220

    new iAnimDesired, Float: flFrameRate, Float: flGroundSpeed, bool: bLoops;
        
    if((iAnimDesired = lookup_sequence(iPlayer, szAnim, flFrameRate, bLoops, flGroundSpeed)) == -1)
    {
        iAnimDesired = 0;
    }
    
    new Float: flGameTime = get_gametime();

    set_pev(iPlayer, pev_frame, 0.0);
    set_pev(iPlayer, pev_framerate, 1.0);
    set_pev(iPlayer, pev_animtime, flGameTime);
    set_pev(iPlayer, pev_sequence, iAnimDesired);
    
    set_pdata_int(iPlayer, m_fSequenceLoops, bLoops, linux_diff_animating);
    set_pdata_int(iPlayer, m_fSequenceFinished, 0, linux_diff_animating);
    
    set_pdata_float(iPlayer, m_flFrameRate, flFrameRate, linux_diff_animating);
    set_pdata_float(iPlayer, m_flGroundSpeed, flGroundSpeed, linux_diff_animating);
    set_pdata_float(iPlayer, m_flLastEventCheck, flGameTime , linux_diff_animating);
    
    set_pdata_int(iPlayer, m_Activity, ACT_RANGE_ATTACK1, linux_diff_player);
    set_pdata_int(iPlayer, m_IdealActivity, ACT_RANGE_ATTACK1, linux_diff_player);
    set_pdata_float(iPlayer, m_flLastAttackTime, flGameTime , linux_diff_player);
}

Oyuncu Modelinde Animasyon Oynatma

Gönderilme zamanı: Pzr Ara 08, 2019 9:46 pm
gönderen seypa

Oyuncu Modelinde Animasyon Oynatma

Gönderilme zamanı: Pzr Ara 08, 2019 10:21 pm
gönderen xdferlesh1
Reapıden baska modul yokmu bunu kullanabılmem ıcın

Oyuncu Modelinde Animasyon Oynatma

Gönderilme zamanı: Pzr Ara 08, 2019 11:09 pm
gönderen seypa
Orpheu yada reapi başka care yok.

İleri düzey kullanıcılar için

Kod: Tümünü seç

void CBasePlayer::SetAnimation( PLAYER_ANIM playerAnim )
{
	int animDesired;
	float speed;
	char szAnim[64];
 
	speed = pev->velocity.Length2D();
 
	if (pev->flags & FL_FROZEN)
	{
		speed = 0;
		playerAnim = PLAYER_IDLE;
	}
 
	switch (playerAnim) 
	{
	case PLAYER_JUMP:
		m_IdealActivity = ACT_HOP;
		break;
	
	case PLAYER_SUPERJUMP:
		m_IdealActivity = ACT_LEAP;
		break;
	
	case PLAYER_DIE:
		m_IdealActivity = ACT_DIESIMPLE;
		m_IdealActivity = GetDeathActivity( );
		break;
 
	case PLAYER_ATTACK1:	
		switch( m_Activity )
		{
		case ACT_HOVER:
		case ACT_SWIM:
		case ACT_HOP:
		case ACT_LEAP:
		case ACT_DIESIMPLE:
			m_IdealActivity = m_Activity;
			break;
		default:
			m_IdealActivity = ACT_RANGE_ATTACK1;
			break;
		}
		break;
	case PLAYER_IDLE:
	case PLAYER_WALK:
		if ( !FBitSet( pev->flags, FL_ONGROUND ) && (m_Activity == ACT_HOP || m_Activity == ACT_LEAP) )	// Still jumping
		{
			m_IdealActivity = m_Activity;
		}
		else if ( pev->waterlevel > 1 )
		{
			if ( speed == 0 )
				m_IdealActivity = ACT_HOVER;
			else
				m_IdealActivity = ACT_SWIM;
		}
		else
		{
			m_IdealActivity = ACT_WALK;
		}
		break;
	}
 
	switch (m_IdealActivity)
	{
	case ACT_HOVER:
	case ACT_LEAP:
	case ACT_SWIM:
	case ACT_HOP:
	case ACT_DIESIMPLE:
	default:
		if ( m_Activity == m_IdealActivity)
			return;
		m_Activity = m_IdealActivity;
 
		animDesired = LookupActivity( m_Activity );
		// Already using the desired animation?
		if (pev->sequence == animDesired)
			return;
 
		pev->gaitsequence = 0;
		pev->sequence		= animDesired;
		pev->frame			= 0;
		ResetSequenceInfo( );
		return;
 
	case ACT_RANGE_ATTACK1:
		if ( FBitSet( pev->flags, FL_DUCKING ) )	// crouching
			strcpy( szAnim, "crouch_shoot_" );
		else
			strcpy( szAnim, "ref_shoot_" );
		strcat( szAnim, m_szAnimExtention );
		animDesired = LookupSequence( szAnim );
		if (animDesired == -1)
			animDesired = 0;
 
		if ( pev->sequence != animDesired || !m_fSequenceLoops )
		{
			pev->frame = 0;
		}
 
		if (!m_fSequenceLoops)
		{
			pev->effects |= EF_NOINTERP;
		}
 
		m_Activity = m_IdealActivity;
 
		pev->sequence		= animDesired;
		ResetSequenceInfo( );
		break;
 
	case ACT_WALK:
		if (m_Activity != ACT_RANGE_ATTACK1 || m_fSequenceFinished)
		{
			if ( FBitSet( pev->flags, FL_DUCKING ) )	// crouching
				strcpy( szAnim, "crouch_aim_" );
			else
				strcpy( szAnim, "ref_aim_" );
			strcat( szAnim, m_szAnimExtention );
			animDesired = LookupSequence( szAnim );
			if (animDesired == -1)
				animDesired = 0;
			m_Activity = ACT_WALK;
		}
		else
		{
			animDesired = pev->sequence;
		}
	}
 
	if ( FBitSet( pev->flags, FL_DUCKING ) )
	{
		if ( speed == 0)
		{
			pev->gaitsequence	= LookupActivity( ACT_CROUCHIDLE );
			// pev->gaitsequence	= LookupActivity( ACT_CROUCH );
		}
		else
		{
			pev->gaitsequence	= LookupActivity( ACT_CROUCH );
		}
	}
	else if ( speed > 220 )
	{
		pev->gaitsequence	= LookupActivity( ACT_RUN );
	}
	else if (speed > 0)
	{
		pev->gaitsequence	= LookupActivity( ACT_WALK );
	}
	else
	{
		// pev->gaitsequence	= LookupActivity( ACT_WALK );
		pev->gaitsequence	= LookupSequence( "deep_idle" );
	}
 
 
	// Already using the desired animation?
	if (pev->sequence == animDesired)
		return;
 
	//ALERT( at_console, "Set animation to %d\n", animDesired );
	// Reset to first frame of desired animation
	pev->sequence		= animDesired;
	pev->frame			= 0;
	ResetSequenceInfo( );
}
 

Oyuncu Modelinde Animasyon Oynatma

Gönderilme zamanı: Pzr Ara 08, 2019 11:28 pm
gönderen xdferlesh1
boyle stock halında yok mudur hıc ornegın Oyuncu dogunca xx anımasyonunu kolayca oynatabılecegım fakemeta'dan

Oyuncu Modelinde Animasyon Oynatma

Gönderilme zamanı: Pzr Ara 08, 2019 11:46 pm
gönderen seypa
Hacım zaten reAPİ de nativesi var neden işi zora sokuyoruz

Oyuncu Modelinde Animasyon Oynatma

Gönderilme zamanı: Pzr Ara 08, 2019 11:46 pm
gönderen seypa
Sen model animasyonu birisine cizdir veya hazır bul ben hallederim

Oyuncu Modelinde Animasyon Oynatma

Gönderilme zamanı: Prş Ara 12, 2019 11:10 pm
gönderen xdferlesh1
@seypa ornek olarak verebılırmısın modelın sequencesını bloke edıp yerıne kendı koyacağımız sequenceyı eklemeyı nasıl yapabılırız mesela oyuncu zıplarken kendı player modelının anımasyonunu kaldırıp yerıne bızım olusturdugumuz anımasyonu oynatmayı

Oyuncu Modelinde Animasyon Oynatma

Gönderilme zamanı: Cum Ara 13, 2019 9:46 pm
gönderen xdferlesh1
@Fatih ~ EjderYa
@Yek'-ta yardımcı olabılır mısınız