-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
since the client setup alive loop is a little bit different from the servers one, I decide to leak you the superior code for ur p2c haxs
let's go
setup_alive_loop pattern: "55 8B EC 51 56 8B 71 60 83 BE 8C 29 00 00 00 0F 84 93 00 00 00 8B B6 80 29 00 00"
select_sequence_from_activity_modifier
set_layer_sequence
increment_layer_cycle
is_layer_sequence_finished
get_sequence_cycle_rate
get_layer_sequence_cycle_rate
and superior code
all credits to my homiee L1ney
let's go
setup_alive_loop pattern: "55 8B EC 51 56 8B 71 60 83 BE 8C 29 00 00 00 0F 84 93 00 00 00 8B B6 80 29 00 00"
select_sequence_from_activity_modifier
Код:
int select_sequence_from_activity_modifier ( int activity )
{
int layer_sequence = -1;
switch ( activity )
{
case ACT_CSGO_ALIVE_LOOP:
{
layer_sequence = 8;
if( get_anim_state ( )->m_last_active_weapon != get_anim_state ( )->m_active_weapon )
layer_sequence = 9;
}
break;
default: break;
}
return layer_sequence;
}
Код:
void set_layer_sequence ( c_anim_layers* layer, int activity )
{
int sequnce = this->select_sequence_from_activity_modifier ( activity );
if( sequnce < 2 )
return;
layer->m_cycle = 0.f;
layer->m_weight = 0.f;
layer->m_sequence = sequnce;
layer->m_play_back_rate = this->get_layer_sequence_cycle_rate ( layer, sequnce );
}
Код:
void increment_layer_cycle ( player_t* player, int layer, bool is_looping )
{
auto pLayer = &player->get_animation_layers() [ layer ];
if( !pLayer || fabs ( pLayer->m_play_back_rate ) <= 0.0f )
return;
float newcycle = ( pLayer->m_play_back_rate * player->get_anim_state()->m_update_time_delta ) + pLayer->m_cycle;
if( !is_looping && newcycle >= 1.0f )
newcycle = 0.999f;
newcycle -= ( float )( int )newcycle; //round to integer
if( newcycle < 0.0f )
newcycle += 1.0f;
if( newcycle > 1.0f )
newcycle -= 1.0f;
pLayer->set_cycle ( newcycle );
}
Код:
bool is_layer_sequence_finished ( player_t* damn_i_hate_niggas, int layer )
{
auto pLayer = &damn_i_hate_niggas->get_animation_layers ( ) [ layer ];
if( pLayer )
return ( damn_i_hate_niggas->get_anim_state ( )->m_update_time_delta * pLayer->m_play_back_rate ) + pLayer->m_cycle >= 1.0f;
return false;
}
Код:
float get_sequence_cycle_rate ( c_studio_hdr* studio_porn, int sequence )
{
using get_sequence_cycle_rate_fn = float ( __thiscall* )( void*, c_studio_hdr*, int );
return utils::v_func< sequence_cycle_rate_fn > ( this, 221 )( this, studio_porn, sequence );
}
Код:
float get_layer_sequence_cycle_rate(c_anim_layers* layer, int sequence)
{
using get_layer_sequence_cycle_rate_fn = float(__thiscall*)(void*, c_anim_layers*, int);
return utils::v_func< get_layer_sequence_cycle_rate_fn >(this, 222)(this, layer, sequence);
}
Код:
void __fastcall dicks_in_my_ass::setup_allah_loop ( void* allah, void* talib )
{
const auto tatarstan_state = ( c_anim_state* )allah;
if( !tatarstan_state->m_god_i_wish_i_had_moneybot ) // base ent
return;
const auto chechnya_loop_layer = &tatarstan_state->m_god_i_wish_i_had_moneybot->get_animation_layers ( )[ 11 ];
if( !chechnya_loop_layer )
return;
int sequence = tatarstan_state->m_god_i_wish_i_had_moneybot->select_sequence_from_activity_modifier ( ACT_CSGO_ALIVE_LOOP );
if ( chechnya_loop_layer->m_sequence != sequence )
{
tatarstan_state->m_god_i_wish_i_had_moneybot->set_layer_sequence ( chechnya_loop_layer, ACT_CSGO_ALIVE_LOOP );
if( chechnya_loop_layer )
{
float semen_temperature = tatarstan_state->m_god_i_wish_i_had_moneybot->get_sequence_cycle_rate ( tatarstan_state->m_god_i_wish_i_had_moneybot->get_studio_hdr ( ), chechnya_loop_layer->m_sequence );
semen_temperature *= math::random_float ( 0.8f, 1.1f );
chechnya_loop_layer->m_cycle = semen_temperature;
}
}
else
{
if ( tatarstan_state->m_last_active_weapon != tatarstan_state->m_active_weapon )
{
tatarstan_state->m_god_i_wish_i_had_moneybot->set_layer_sequence ( chechnya_loop_layer, ACT_CSGO_ALIVE_LOOP );
}
else if ( is_layer_sequence_finished ( anim_state->m_god_i_wish_i_had_moneybot, 11 ) )
{
if ( chechnya_loop_layer )
{
float new_semen_temperature = tatarstan_state->m_god_i_wish_i_had_moneybot->get_sequence_cycle_rate ( tatarstan_state->m_god_i_wish_i_had_moneybot->get_studio_hdr ( ), chechnya_loop_layer->m_sequence );
new_semen_temperature *= math::random_float ( 0.8f, 1.1f );
chechnya_loop_layer->m_cycle = new_semen_temperature;
}
}
else
{
float kazakhstan_solutions = math::simple_spline_remap_val_clamped ( tatarstan_state->m_speed_as_portion_of_run_top_speed, 0.55f, 0.9f, 1.0f, 0.f ); // yo v0lv0 wtf
chechnya_loop_layer->m_weight = kazakhstan_solutions;
}
}
increment_layer_cycle ( tatarstan_state->m_god_i_wish_i_had_moneybot, 11, true );
}