ffi.cdef[[
typedef void*(__thiscall* get_client_entity_t)(void*, int);
typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int);
typedef struct
{
float x;
float y;
float z;
} Vector_t;
typedef struct
{
char pad0[0x60]; // 0x00
void* pEntity; // 0x60
void* pActiveWeapon; // 0x64
void* pLastActiveWeapon; // 0x68
float flLastUpdateTime; // 0x6C
int iLastUpdateFrame; // 0x70
float flLastUpdateIncrement; // 0x74
float flEyeYaw; // 0x78
float flEyePitch; // 0x7C
float flGoalFeetYaw; // 0x80
float flLastFeetYaw; // 0x84
float flMoveYaw; // 0x88
float flLastMoveYaw; // 0x8C // changes when moving/jumping/hitting ground
float flLeanAmount; // 0x90
char pad1[0x4]; // 0x94
float flFeetCycle; // 0x98 0 to 1
float flMoveWeight; // 0x9C 0 to 1
float flMoveWeightSmoothed; // 0xA0
float flDuckAmount; // 0xA4
float flHitGroundCycle; // 0xA8
float flRecrouchWeight; // 0xAC
Vector_t vecOrigin; // 0xB0
Vector_t vecLastOrigin;// 0xBC
Vector_t vecVelocity; // 0xC8
Vector_t vecVelocityNormalized; // 0xD4
Vector_t vecVelocityNormalizedNonZero; // 0xE0
float flVelocityLenght2D; // 0xEC
float flJumpFallVelocity; // 0xF0
float flSpeedNormalized; // 0xF4 // clamped velocity from 0 to 1
float flRunningSpeed; // 0xF8
float flDuckingSpeed; // 0xFC
float flDurationMoving; // 0x100
float flDurationStill; // 0x104
bool bOnGround; // 0x108
bool bHitGroundAnimation; // 0x109
char pad2[0x2]; // 0x10A
float flNextLowerBodyYawUpdateTime; // 0x10C
float flDurationInAir; // 0x110
float flLeftGroundHeight; // 0x114
float flHitGroundWeight; // 0x118 // from 0 to 1, is 1 when standing
float flWalkToRunTransition; // 0x11C // from 0 to 1, doesnt change when walking or crouching, only running
char pad3[0x4]; // 0x120
float flAffectedFraction; // 0x124 // affected while jumping and running, or when just jumping, 0 to 1
char pad4[0x208]; // 0x128
float flMinBodyYaw; // 0x330
float flMaxBodyYaw; // 0x334
float flMinPitch; //0x338
float flMaxPitch; // 0x33C
int iAnimsetVersion; // 0x340
} CCSGOPlayerAnimationState_534535_t;
]]
local menu = {
misc = {
animation_breaker = ui.add_dropdown("anim.breaker", {"forward legs", "backward legs", "forward run animation", "no animations", "crab", "forward run in air", "crab in air"}),
breakarm = ui.add_checkbox("break animation arm"),
staticair = ui.add_checkbox("static legs in air"),
ducari = ui.add_checkbox("Ducari in Gym")
}
}
local entity_list_ptr = ffi.cast("void***", client.create_interface("client.dll", "VClientEntityList003"))
local get_client_entity_fn = ffi.cast("GetClientEntity_4242425_t", entity_list_ptr[0][3])
local get_entity_address = function(ent_index)
local addr = get_client_entity_fn(entity_list_ptr, ent_index)
return addr
end
local localplayer = entity_list.get_client_entity(engine.get_local_player())
callbacks.register("post_anim_update", function(e)
local J = entity_list.get_client_entity( engine.get_local_player( ))
if menu.misc.animation_breaker:get() == 0 then
ui.get("Misc", "General", "Movement", "Leg movement"):set(2)
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(0, 0.5) --forward legs
elseif menu.misc.animation_breaker:get() == 1 then
ui.get("Misc", "General", "Movement", "Leg movement"):set(2)
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(0, 1) --backward legs
elseif menu.misc.animation_breaker:get() == 2 then
ui.get("Misc", "General", "Movement", "Leg movement"):set(1)
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(7, 0) --forward run animation
elseif menu.misc.animation_breaker:get() == 3 then
ui.get("Misc", "General", "Movement", "Leg movement"):set(1)
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(8, 0) --no animations
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(9, 0) --no animations
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(10, 0) --no animations
elseif menu.misc.animation_breaker:get() == 4 then
ui.get("Misc", "General", "Movement", "Leg movement"):set(1)
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(7, 0.8) --crab
elseif J and client.is_alive and menu.misc.animation_breaker:get() == 5 then
ui.get("Misc", "General", "Movement", "Leg movement"):set(1)
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(7, 0) --forward run animation
ffi.cast("CCSGOPlayerAnimationState_534535_t**", get_entity_address(J:index()) + 0x9960)[0].flAffectedFraction = 1 --anim in air
elseif J and client.is_alive and menu.misc.animation_breaker:get() == 6 then
ui.get("Misc", "General", "Movement", "Leg movement"):set(1)
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(7, 0.8) --crab
ffi.cast("CCSGOPlayerAnimationState_534535_t**", get_entity_address(J:index()) + 0x9960)[0].flAffectedFraction = 1 --anim in air
end
if menu.misc.ducari:get() then
e:get_prop("DT_BaseAnimating", "m_flModelScale"):set_float_index(0, 0.5) --ModelScale
else
e:get_prop("DT_BaseAnimating", "m_flModelScale"):set_float_index(0, 1)
end
if menu.misc.breakarm:get() then
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(14, 1) --break arm
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(15, 1) --break arm
end
if menu.misc.staticair:get() then
e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(6, 1) --static legs in air
end
end)
unsafe sctipt?lua:1: attempt to index global 'ffi' (a nil value)
так это ты тот trich или как тамну что уж, ребятки, те кто остались ещё здесь и играют с пандорой, мечтают получить сломаную анимацию аиров как в ските(ходит по воздуху вбок или прямо) возрадуйтесь, моя нога дошла до это форума
работаемanimbreaker:ffi.cdef[[ typedef void*(__thiscall* get_client_entity_t)(void*, int); typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int); typedef struct { float x; float y; float z; } Vector_t; typedef struct { char pad0[0x60]; // 0x00 void* pEntity; // 0x60 void* pActiveWeapon; // 0x64 void* pLastActiveWeapon; // 0x68 float flLastUpdateTime; // 0x6C int iLastUpdateFrame; // 0x70 float flLastUpdateIncrement; // 0x74 float flEyeYaw; // 0x78 float flEyePitch; // 0x7C float flGoalFeetYaw; // 0x80 float flLastFeetYaw; // 0x84 float flMoveYaw; // 0x88 float flLastMoveYaw; // 0x8C // changes when moving/jumping/hitting ground float flLeanAmount; // 0x90 char pad1[0x4]; // 0x94 float flFeetCycle; // 0x98 0 to 1 float flMoveWeight; // 0x9C 0 to 1 float flMoveWeightSmoothed; // 0xA0 float flDuckAmount; // 0xA4 float flHitGroundCycle; // 0xA8 float flRecrouchWeight; // 0xAC Vector_t vecOrigin; // 0xB0 Vector_t vecLastOrigin;// 0xBC Vector_t vecVelocity; // 0xC8 Vector_t vecVelocityNormalized; // 0xD4 Vector_t vecVelocityNormalizedNonZero; // 0xE0 float flVelocityLenght2D; // 0xEC float flJumpFallVelocity; // 0xF0 float flSpeedNormalized; // 0xF4 // clamped velocity from 0 to 1 float flRunningSpeed; // 0xF8 float flDuckingSpeed; // 0xFC float flDurationMoving; // 0x100 float flDurationStill; // 0x104 bool bOnGround; // 0x108 bool bHitGroundAnimation; // 0x109 char pad2[0x2]; // 0x10A float flNextLowerBodyYawUpdateTime; // 0x10C float flDurationInAir; // 0x110 float flLeftGroundHeight; // 0x114 float flHitGroundWeight; // 0x118 // from 0 to 1, is 1 when standing float flWalkToRunTransition; // 0x11C // from 0 to 1, doesnt change when walking or crouching, only running char pad3[0x4]; // 0x120 float flAffectedFraction; // 0x124 // affected while jumping and running, or when just jumping, 0 to 1 char pad4[0x208]; // 0x128 float flMinBodyYaw; // 0x330 float flMaxBodyYaw; // 0x334 float flMinPitch; //0x338 float flMaxPitch; // 0x33C int iAnimsetVersion; // 0x340 } CCSGOPlayerAnimationState_534535_t; ]] local menu = { misc = { animation_breaker = ui.add_dropdown("anim.breaker", {"forward legs", "backward legs", "forward run animation", "no animations", "crab", "forward run in air", "crab in air"}), breakarm = ui.add_checkbox("break animation arm"), staticair = ui.add_checkbox("static legs in air"), ducari = ui.add_checkbox("Ducari in Gym") } } local entity_list_ptr = ffi.cast("void***", client.create_interface("client.dll", "VClientEntityList003")) local get_client_entity_fn = ffi.cast("GetClientEntity_4242425_t", entity_list_ptr[0][3]) local get_entity_address = function(ent_index) local addr = get_client_entity_fn(entity_list_ptr, ent_index) return addr end local localplayer = entity_list.get_client_entity(engine.get_local_player()) callbacks.register("post_anim_update", function(e) local J = entity_list.get_client_entity( engine.get_local_player( )) if menu.misc.animation_breaker:get() == 0 then ui.get("Misc", "General", "Movement", "Leg movement"):set(2) e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(0, 0.5) --forward legs elseif menu.misc.animation_breaker:get() == 1 then ui.get("Misc", "General", "Movement", "Leg movement"):set(2) e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(0, 1) --backward legs elseif menu.misc.animation_breaker:get() == 2 then ui.get("Misc", "General", "Movement", "Leg movement"):set(1) e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(7, 0) --forward run animation elseif menu.misc.animation_breaker:get() == 3 then ui.get("Misc", "General", "Movement", "Leg movement"):set(1) e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(8, 0) --no animations e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(9, 0) --no animations e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(10, 0) --no animations elseif menu.misc.animation_breaker:get() == 4 then ui.get("Misc", "General", "Movement", "Leg movement"):set(1) e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(7, 0.8) --crab elseif J and client.is_alive and menu.misc.animation_breaker:get() == 5 then ui.get("Misc", "General", "Movement", "Leg movement"):set(1) e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(7, 0) --forward run animation ffi.cast("CCSGOPlayerAnimationState_534535_t**", get_entity_address(J:index()) + 0x9960)[0].flAffectedFraction = 1 --anim in air elseif J and client.is_alive and menu.misc.animation_breaker:get() == 6 then ui.get("Misc", "General", "Movement", "Leg movement"):set(1) e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(7, 0.8) --crab ffi.cast("CCSGOPlayerAnimationState_534535_t**", get_entity_address(J:index()) + 0x9960)[0].flAffectedFraction = 1 --anim in air end if menu.misc.ducari:get() then e:get_prop("DT_BaseAnimating", "m_flModelScale"):set_float_index(0, 0.5) --ModelScale else e:get_prop("DT_BaseAnimating", "m_flModelScale"):set_float_index(0, 1) end if menu.misc.breakarm:get() then e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(14, 1) --break arm e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(15, 1) --break arm end if menu.misc.staticair:get() then e:get_prop("DT_BaseAnimating", "m_flPoseParameter"):set_float_index(6, 1) --static legs in air end end)
Посмотреть вложение 45565
датак это ты тот trich или как там