Вопрос Animstate offset

Пользователь
Статус
Оффлайн
Регистрация
2 Май 2022
Сообщения
362
Реакции[?]
46
Поинты[?]
24K
0x11C - какой это бул/флоат/инт, есть нужный оффсет и структура, не знаю какая переменная, мб знает кто
m_flGroundFraction
 
Начинающий
Статус
Оффлайн
Регистрация
20 Дек 2024
Сообщения
8
Реакции[?]
1
Поинты[?]
1K
хотел спросить в m_flGroundFraction после после m_ идет fl и это типо сокращено float?
Не может гарантировать что это float, это просто соглашение об именовании (раз m_ то так понимаю членов класса) у разработчиков игры
Но, обычно, да. Есть стиль именования переменных таким образом.
Например: bool: m_bValid, m_isValid int: m_iHealth и подобные.

Если интересно, суффикс m_ используется из-за обозначения member (член)
 
kitty.
Пользователь
Статус
Оффлайн
Регистрация
17 Окт 2021
Сообщения
283
Реакции[?]
111
Поинты[?]
17K
(\ /) _ ($ __ $ ) _ (\ /)
Пользователь
Статус
Оффлайн
Регистрация
22 Окт 2021
Сообщения
367
Реакции[?]
92
Поинты[?]
24K
ЧВК EB_LAN
Эксперт
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
1,570
Реакции[?]
522
Поинты[?]
185K
0x11C - какой это бул/флоат/инт, есть нужный оффсет и структура, не знаю какая переменная, мб знает кто
m_flGroundFraction
в анимстейте всё есть, кстати у меня также ластовая структура, лутай
Код:
local animstate_t = ffi.typeof 'struct { int layer_order_preset; bool first_run_since_init; bool first_foot_plant_since_init; int last_update_tick; float eye_position_smooth_lerp; float strafe_change_weight_smooth_fall_off; float stand_walk_duration_state_has_been_valid; float stand_walk_duration_state_has_been_invalid; float stand_walk_how_long_to_wait_until_transition_can_blend_in; float stand_walk_how_long_to_wait_until_transition_can_blend_out; float stand_walk_blend_value; float stand_run_duration_state_has_been_valid; float stand_run_duration_state_has_been_invalid; float stand_run_how_long_to_wait_until_transition_can_blend_in; float stand_run_how_long_to_wait_until_transition_can_blend_out; float stand_run_blend_value; float crouch_walk_duration_state_has_been_valid; float crouch_walk_duration_state_has_been_invalid; float crouch_walk_how_long_to_wait_until_transition_can_blend_in; float crouch_walk_how_long_to_wait_until_transition_can_blend_out; float crouch_walk_blend_value; int cached_model_index; float step_height_left; float step_height_right; void* weapon_last_bone_setup; void* player; void* weapon; void* weapon_last; float last_update_time; int last_update_frame; float last_update_increment; float eye_yaw; float eye_pitch; float abs_yaw; float abs_yaw_last; float move_yaw; float move_yaw_ideal; float move_yaw_current_to_ideal; char pad1[4]; float primary_cycle; float move_weight; float move_weight_smoothed; float anim_duck_amount; float duck_additional; float recrouch_weight; float position_current[3]; float position_last[3]; float velocity[3]; float velocity_normalized[3]; float velocity_normalized_non_zero[3]; float velocity_length_xy; float velocity_length_z; float speed_as_portion_of_run_top_speed; float speed_as_portion_of_walk_top_speed; float speed_as_portion_of_crouch_top_speed; float duration_moving; float duration_still; bool on_ground; bool landing; float jump_to_fall; float duration_in_air; float left_ground_height; float land_anim_multiplier; float walk_run_transition; bool landed_on_ground_this_frame; bool left_the_ground_this_frame; float in_air_smooth_value; bool on_ladder; float ladder_weight; float ladder_speed; bool walk_to_run_transition_state; bool defuse_started; bool plant_anim_started; bool twitch_anim_started; bool adjust_started; char activity_modifiers_server[20]; float next_twitch_time; float time_of_last_known_injury; float last_velocity_test_time; float velocity_last[3]; float target_acceleration[3]; float acceleration[3]; float acceleration_weight; float aim_matrix_transition; float aim_matrix_transition_delay; bool flashed; float strafe_change_weight; float strafe_change_target_weight; float strafe_change_cycle; int strafe_sequence; bool strafe_changing; float duration_strafing; float foot_lerp; bool feet_crossed; bool player_is_accelerating; char pad2[24]; float duration_move_weight_is_too_high; float static_approach_speed; int previous_move_state; float stutter_step; float action_weight_bias_remainder; char pad3[112]; float camera_smooth_height; bool smooth_height_valid; float last_time_velocity_over_ten; float unk; float aim_yaw_min; float aim_yaw_max; float aim_pitch_min; float aim_pitch_max; int animstate_model_version; } **'
local animstate = function(ent)
    if not ent then return false end
    local address = type(ent) == "cdata" and ent or g_ctx.native.get_client_entity(ent)
    if not address or address == ffi.NULL then return false end
    local address_vtable = ffi.cast("void***", address)
    return ffi.cast(animstate_t, ffi.cast("char*", address_vtable) + 0x9960)[0]
end
 
Последнее редактирование:
Сверху Снизу