Crack Lua Model changer

Забаненный
Статус
Оффлайн
Регистрация
16 Фев 2022
Сообщения
51
Реакции[?]
27
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Данный скрипт не проверялся модераторами, так как является кряком приватной LUA и в нём может присутствовать обфускация. Даже известные пользователи могут выложить вредоносный скрипт под видом крякнутого, поэтому любое использование исключительно на свой страх и риск.

купите саб нла
Hellfish#9343
Код:
local g_entity_list = Utils.CreateInterface("client.dll", "VClientEntityList003")
local g_model_infot = Utils.CreateInterface("engine.dll", "VModelInfoClient004")
local g_client_string = Utils.CreateInterface("engine.dll","VEngineClientStringTable001")
local FRAME_NET_UPDATE_POSTDATAUPDATE_START = 2
local FRAME_RENDER_START = 5
ffi.cdef[[
  
    typedef struct _class
    {
        void** this;
    }aclass;

    typedef void*(__thiscall* get_client_entity_t)(void*, int);
    typedef void(__thiscall* find_or_load_model_fn_t)(void*, const char*);
    typedef const int(__thiscall* get_model_index_fn_t)(void*, const char*);
    typedef const int(__thiscall* add_string_fn_t)(void*, bool, const char*, int, const void*);
    typedef void*(__thiscall* find_table_t)(void*, const char*);
    typedef void(__thiscall* full_update_t)();
    typedef int(__thiscall* get_player_idx_t)();
    typedef void*(__thiscall* get_client_networkable_t)(void*, int);
    typedef void(__thiscall* pre_data_update_t)(void*, int);
]]

local ientitylist = ffi.cast(ffi.typeof("void***"), g_entity_list) or error("rawientitylist is nil", 2)
local get_client_entity = ffi.cast("get_client_entity_t", ientitylist[0][3]) or error("get_client_entity is nil", 2)
local g_model_info = ffi.cast(ffi.typeof("void***"), g_model_infot) or error("model info is nil", 2)
local get_model_index_fn = ffi.cast("get_model_index_fn_t", g_model_info[0][2]) or error("Getmodelindex is nil", 2)
local find_or_load_model_fn = ffi.cast("find_or_load_model_fn_t", g_model_info[0][43]) or error("findmodel is nil", 2)
local clientstring = ffi.cast(ffi.typeof("void***"), g_client_string) or error("clientstring is nil", 2)
local find_table = ffi.cast("find_table_t", clientstring[0][3]) or error("find table is nil", 2)
local get_client_networkable = ffi.cast("get_client_networkable_t", ientitylist[0][0]) or error("get networkable is nil", 2)

local custom_models = Menu.Switch("Advanced", "Enable Custom Models", false)
local custom_path = Menu.TextBox("Advanced", "Model Path", 128, "Path", "needs to be precise")

local function precache(path)
    local precachetable = ffi.cast(ffi.typeof("void***"), find_table(clientstring, "modelprecache"))
    if precachetable~= nil then
        find_or_load_model_fn(g_model_info, path)
        local addstring = ffi.cast("add_string_fn_t", precachetable[0][8]) or error("addstring nil", 2)
        local add_string_to_path = addstring(precachetable, false, path, -1, nil)
        if add_string_to_path == -1 then print("failed")
            return false
        end
    end
    return true
end


local paths = {
-- leet
"models/player/custom_player/legacy/tm_leet_variantf.mdl",
"models/player/custom_player/legacy/tm_leet_varianti.mdl",
"models/player/custom_player/legacy/tm_leet_varianth.mdl",
"models/player/custom_player/legacy/tm_leet_variantg.mdl",

-- fbi
"models/player/custom_player/legacy/ctm_fbi_variantb.mdl",
"models/player/custom_player/legacy/ctm_fbi_varianth.mdl",
"models/player/custom_player/legacy/ctm_fbi_variantg.mdl",
"models/player/custom_player/legacy/ctm_fbi_variantf.mdl",

-- st6
"models/player/custom_player/legacy/ctm_st6_variante.mdl",
"models/player/custom_player/legacy/ctm_st6_variantm.mdl",
"models/player/custom_player/legacy/ctm_st6_variantg.mdl",
"models/player/custom_player/legacy/ctm_st6_variantk.mdl",
"models/player/custom_player/legacy/ctm_st6_varianti.mdl",
"models/player/custom_player/legacy/ctm_st6_variantj.mdl",
"models/player/custom_player/legacy/ctm_st6_variantl.mdl",

-- swat
"models/player/custom_player/legacy/ctm_swat_variante.mdl",
"models/player/custom_player/legacy/ctm_swat_variantf.mdl",
"models/player/custom_player/legacy/ctm_swat_variantg.mdl" ,
"models/player/custom_player/legacy/ctm_swat_varianth.mdl",
"models/player/custom_player/legacy/ctm_swat_varianti.mdl",
"models/player/custom_player/legacy/ctm_swat_variantj.mdl",

-- balkan
"models/player/custom_player/legacy/tm_balkan_varianti.mdl",
"models/player/custom_player/legacy/tm_balkan_variantf.mdl",
"models/player/custom_player/legacy/tm_balkan_varianth.mdl",
"models/player/custom_player/legacy/tm_balkan_variantg.mdl",
"models/player/custom_player/legacy/tm_balkan_variantj.mdl",
"models/player/custom_player/legacy/tm_balkan_variantk.mdl",
"models/player/custom_player/legacy/tm_balkan_variantl.mdl",

-- sas
"models/player/custom_player/legacy/ctm_sas_variantf.mdl",

-- phoenix
"models/player/custom_player/legacy/tm_phoenix_varianth.mdl",
"models/player/custom_player/legacy/tm_phoenix_variantf.mdl",
"models/player/custom_player/legacy/tm_phoenix_variantg.mdl",
"models/player/custom_player/legacy/tm_phoenix_varianti.mdl",

-- proffesional
"models/player/custom_player/legacy/tm_professional_varf.mdl",
"models/player/custom_player/legacy/tm_professional_varf1.mdl",
"models/player/custom_player/legacy/tm_professional_varf2.mdl",
"models/player/custom_player/legacy/tm_professional_varf3.mdl",
"models/player/custom_player/legacy/tm_professional_varf4.mdl",
"models/player/custom_player/legacy/tm_professional_varg.mdl",
"models/player/custom_player/legacy/tm_professional_varh.mdl",
"models/player/custom_player/legacy/tm_professional_vari.mdl",
"models/player/custom_player/legacy/tm_professional_varj.mdl",
}



local names = {
-- leet
"The Elite Mr. Muhlik | Elite Crew",
"Prof. Shahmat | Elite Crew",
"Osiris | Elite Crew",
"Ground Rebel | Elite Crew",

-- fbi
"Special Agent Ava | FBI",
"Michael Syfers | FBI Sniper",
"Markus Delrow | FBI HRT",
"Operator | FBI SWAT",

-- st6
"Seal Team 6 Soldier | NSWC SEAL",
"'Two Times' McCoy | USAF TACP",
"Buckshot | NSWC SEAL",
"3rd Commando Company | KSK",
"Lt. Commander Ricksaw | NSWC SEAL",
"'Blueberries' Buckshot | NSWC SEAL",
"'Two Times' McCoy | TACP Cavalry",

-- swat
"Cmdr. Mae 'Dead Cold' Jamison | SWAT",
"1st Lieutenant Farlow | SWAT",
"John 'Van Healen' Kask | SWAT",
"Bio-Haz Specialist | SWAT",
"Sergeant Bombson | SWAT",
"Chem-Haz Specialist | SWAT",

-- balkan
"Maximus | Sabre",
"Dragomir | Sabre",
"'The Doctor' Romanov | Sabre",
"Rezan The Ready | Sabre",
"Blackwolf | Sabre",
"Rezan the Redshirt | Sabre",
"Dragomir | Sabre Footsoldier",

-- sas
"B Squadron Officer | SAS",

-- phoenix
"Soldier | Phoenix",
"Enforcer | Phoenix",
"Slingshot | Phoenix",
"Street Soldier | Phoenix",

-- proffesional
"Sir Bloody Miami Darryl | The Professionals",
"Sir Bloody Silent Darryl | The Professionals",
"Sir Bloody Skullhead Darryl | The Professionals",
"Sir Bloody Darryl Royale | The Professionals",
"Sir Bloody Loudmouth Darryl | The Professionals",
"Safecracker Voltzmann | The Professionals",
"Little Kev | The Professionals",
"Number K | The Professionals",
"Getaway Sally | The Professionals",

}

local agent_menu = Menu.Combo("agent", "Agent", names, 0)

Cheat.RegisterCallback("frame_stage", function(stage)

    --if stage ~= FRAME_NET_UPDATE_POSTDATAUPDATE_START and stage ~= FRAME_RENDER_START then return end-- todo:figure out why this causes crashes
  
    local local_player = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    if local_player == nil
        then return
    end

  
    local player_address = get_client_entity(ientitylist, EngineClient.GetLocalPlayer())
    local index = local_player:GetProp("DT_BaseEntity", "m_nModelIndex")
    local newpath = string.gsub(custom_path:GetString(), [[\]], [[/]]) --to get rid of c escape sequences before passing string to ffi, doesn't seem to matter, but lets do it anyways
    if custom_models:GetBool() then
        if precache(newpath) then
            local model_idx = get_model_index_fn(g_model_info, newpath)
            if model_idx ~= -1 and model_idx ~= index then
                local_player:SetModelIndex(model_idx)
            end
        end

    else
        local model_idx = get_model_index_fn(g_model_info, paths[agent_menu:GetInt() + 1])
        if model_idx ~= index then
        local_player:SetModelIndex(model_idx)
        end
    end
  
end)
 
Забаненный
Статус
Оффлайн
Регистрация
9 Сен 2021
Сообщения
131
Реакции[?]
35
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ох ноу
 
NeverLose Agent
Участник
Статус
Оффлайн
Регистрация
20 Янв 2019
Сообщения
749
Реакции[?]
254
Поинты[?]
1K
Код:
local g_entity_list = Utils.CreateInterface("client.dll", "VClientEntityList003")
local g_model_infot = Utils.CreateInterface("engine.dll", "VModelInfoClient004")
local g_client_string = Utils.CreateInterface("engine.dll","VEngineClientStringTable001")
local FRAME_NET_UPDATE_POSTDATAUPDATE_START = 2
local FRAME_RENDER_START = 5
ffi.cdef[[
   
    typedef struct _class
    {
        void** this;
    }aclass;

    typedef void*(__thiscall* get_client_entity_t)(void*, int);
    typedef void(__thiscall* find_or_load_model_fn_t)(void*, const char*);
    typedef const int(__thiscall* get_model_index_fn_t)(void*, const char*);
    typedef const int(__thiscall* add_string_fn_t)(void*, bool, const char*, int, const void*);
    typedef void*(__thiscall* find_table_t)(void*, const char*);
    typedef void(__thiscall* full_update_t)();
    typedef int(__thiscall* get_player_idx_t)();
    typedef void*(__thiscall* get_client_networkable_t)(void*, int);
    typedef void(__thiscall* pre_data_update_t)(void*, int);
]]

local ientitylist = ffi.cast(ffi.typeof("void***"), g_entity_list) or error("rawientitylist is nil", 2)
local get_client_entity = ffi.cast("get_client_entity_t", ientitylist[0][3]) or error("get_client_entity is nil", 2)
local g_model_info = ffi.cast(ffi.typeof("void***"), g_model_infot) or error("model info is nil", 2)
local get_model_index_fn = ffi.cast("get_model_index_fn_t", g_model_info[0][2]) or error("Getmodelindex is nil", 2)
local find_or_load_model_fn = ffi.cast("find_or_load_model_fn_t", g_model_info[0][43]) or error("findmodel is nil", 2)
local clientstring = ffi.cast(ffi.typeof("void***"), g_client_string) or error("clientstring is nil", 2)
local find_table = ffi.cast("find_table_t", clientstring[0][3]) or error("find table is nil", 2)
local get_client_networkable = ffi.cast("get_client_networkable_t", ientitylist[0][0]) or error("get networkable is nil", 2)

local custom_models = Menu.Switch("Advanced", "Enable Custom Models", false)
local custom_path = Menu.TextBox("Advanced", "Model Path", 128, "Path", "needs to be precise")

local function precache(path)
    local precachetable = ffi.cast(ffi.typeof("void***"), find_table(clientstring, "modelprecache"))
    if precachetable~= nil then
        find_or_load_model_fn(g_model_info, path)
        local addstring = ffi.cast("add_string_fn_t", precachetable[0][8]) or error("addstring nil", 2)
        local add_string_to_path = addstring(precachetable, false, path, -1, nil)
        if add_string_to_path == -1 then print("failed")
            return false
        end
    end
    return true
end


local paths = {
-- leet
"models/player/custom_player/legacy/tm_leet_variantf.mdl",
"models/player/custom_player/legacy/tm_leet_varianti.mdl",
"models/player/custom_player/legacy/tm_leet_varianth.mdl",
"models/player/custom_player/legacy/tm_leet_variantg.mdl",

-- fbi
"models/player/custom_player/legacy/ctm_fbi_variantb.mdl",
"models/player/custom_player/legacy/ctm_fbi_varianth.mdl",
"models/player/custom_player/legacy/ctm_fbi_variantg.mdl",
"models/player/custom_player/legacy/ctm_fbi_variantf.mdl",

-- st6
"models/player/custom_player/legacy/ctm_st6_variante.mdl",
"models/player/custom_player/legacy/ctm_st6_variantm.mdl",
"models/player/custom_player/legacy/ctm_st6_variantg.mdl",
"models/player/custom_player/legacy/ctm_st6_variantk.mdl",
"models/player/custom_player/legacy/ctm_st6_varianti.mdl",
"models/player/custom_player/legacy/ctm_st6_variantj.mdl",
"models/player/custom_player/legacy/ctm_st6_variantl.mdl",

-- swat
"models/player/custom_player/legacy/ctm_swat_variante.mdl",
"models/player/custom_player/legacy/ctm_swat_variantf.mdl",
"models/player/custom_player/legacy/ctm_swat_variantg.mdl" ,
"models/player/custom_player/legacy/ctm_swat_varianth.mdl",
"models/player/custom_player/legacy/ctm_swat_varianti.mdl",
"models/player/custom_player/legacy/ctm_swat_variantj.mdl",

-- balkan
"models/player/custom_player/legacy/tm_balkan_varianti.mdl",
"models/player/custom_player/legacy/tm_balkan_variantf.mdl",
"models/player/custom_player/legacy/tm_balkan_varianth.mdl",
"models/player/custom_player/legacy/tm_balkan_variantg.mdl",
"models/player/custom_player/legacy/tm_balkan_variantj.mdl",
"models/player/custom_player/legacy/tm_balkan_variantk.mdl",
"models/player/custom_player/legacy/tm_balkan_variantl.mdl",

-- sas
"models/player/custom_player/legacy/ctm_sas_variantf.mdl",

-- phoenix
"models/player/custom_player/legacy/tm_phoenix_varianth.mdl",
"models/player/custom_player/legacy/tm_phoenix_variantf.mdl",
"models/player/custom_player/legacy/tm_phoenix_variantg.mdl",
"models/player/custom_player/legacy/tm_phoenix_varianti.mdl",

-- proffesional
"models/player/custom_player/legacy/tm_professional_varf.mdl",
"models/player/custom_player/legacy/tm_professional_varf1.mdl",
"models/player/custom_player/legacy/tm_professional_varf2.mdl",
"models/player/custom_player/legacy/tm_professional_varf3.mdl",
"models/player/custom_player/legacy/tm_professional_varf4.mdl",
"models/player/custom_player/legacy/tm_professional_varg.mdl",
"models/player/custom_player/legacy/tm_professional_varh.mdl",
"models/player/custom_player/legacy/tm_professional_vari.mdl",
"models/player/custom_player/legacy/tm_professional_varj.mdl",
}



local names = {
-- leet
"The Elite Mr. Muhlik | Elite Crew",
"Prof. Shahmat | Elite Crew",
"Osiris | Elite Crew",
"Ground Rebel | Elite Crew",

-- fbi
"Special Agent Ava | FBI",
"Michael Syfers | FBI Sniper",
"Markus Delrow | FBI HRT",
"Operator | FBI SWAT",

-- st6
"Seal Team 6 Soldier | NSWC SEAL",
"'Two Times' McCoy | USAF TACP",
"Buckshot | NSWC SEAL",
"3rd Commando Company | KSK",
"Lt. Commander Ricksaw | NSWC SEAL",
"'Blueberries' Buckshot | NSWC SEAL",
"'Two Times' McCoy | TACP Cavalry",

-- swat
"Cmdr. Mae 'Dead Cold' Jamison | SWAT",
"1st Lieutenant Farlow | SWAT",
"John 'Van Healen' Kask | SWAT",
"Bio-Haz Specialist | SWAT",
"Sergeant Bombson | SWAT",
"Chem-Haz Specialist | SWAT",

-- balkan
"Maximus | Sabre",
"Dragomir | Sabre",
"'The Doctor' Romanov | Sabre",
"Rezan The Ready | Sabre",
"Blackwolf | Sabre",
"Rezan the Redshirt | Sabre",
"Dragomir | Sabre Footsoldier",

-- sas
"B Squadron Officer | SAS",

-- phoenix
"Soldier | Phoenix",
"Enforcer | Phoenix",
"Slingshot | Phoenix",
"Street Soldier | Phoenix",

-- proffesional
"Sir Bloody Miami Darryl | The Professionals",
"Sir Bloody Silent Darryl | The Professionals",
"Sir Bloody Skullhead Darryl | The Professionals",
"Sir Bloody Darryl Royale | The Professionals",
"Sir Bloody Loudmouth Darryl | The Professionals",
"Safecracker Voltzmann | The Professionals",
"Little Kev | The Professionals",
"Number K | The Professionals",
"Getaway Sally | The Professionals",

}

local agent_menu = Menu.Combo("agent", "Agent", names, 0)

Cheat.RegisterCallback("frame_stage", function(stage)

    --if stage ~= FRAME_NET_UPDATE_POSTDATAUPDATE_START and stage ~= FRAME_RENDER_START then return end-- todo:figure out why this causes crashes
   
    local local_player = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    if local_player == nil
        then return
    end

   
    local player_address = get_client_entity(ientitylist, EngineClient.GetLocalPlayer())
    local index = local_player:GetProp("DT_BaseEntity", "m_nModelIndex")
    local newpath = string.gsub(custom_path:GetString(), [[\]], [[/]]) --to get rid of c escape sequences before passing string to ffi, doesn't seem to matter, but lets do it anyways
    if custom_models:GetBool() then
        if precache(newpath) then
            local model_idx = get_model_index_fn(g_model_info, newpath)
            if model_idx ~= -1 and model_idx ~= index then
                local_player:SetModelIndex(model_idx)
            end
        end

    else
        local model_idx = get_model_index_fn(g_model_info, paths[agent_menu:GetInt() + 1])
        if model_idx ~= index then
        local_player:SetModelIndex(model_idx)
        end
    end
   
end)
.v1pix кууу
 
Забаненный
Статус
Оффлайн
Регистрация
16 Фев 2022
Сообщения
51
Реакции[?]
27
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
9 Сен 2021
Сообщения
131
Реакции[?]
35
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
4 Апр 2020
Сообщения
46
Реакции[?]
2
Поинты[?]
0
Код:
local g_entity_list = Utils.CreateInterface("client.dll", "VClientEntityList003")
local g_model_infot = Utils.CreateInterface("engine.dll", "VModelInfoClient004")
local g_client_string = Utils.CreateInterface("engine.dll","VEngineClientStringTable001")
local FRAME_NET_UPDATE_POSTDATAUPDATE_START = 2
local FRAME_RENDER_START = 5
ffi.cdef[[
 
    typedef struct _class
    {
        void** this;
    }aclass;

    typedef void*(__thiscall* get_client_entity_t)(void*, int);
    typedef void(__thiscall* find_or_load_model_fn_t)(void*, const char*);
    typedef const int(__thiscall* get_model_index_fn_t)(void*, const char*);
    typedef const int(__thiscall* add_string_fn_t)(void*, bool, const char*, int, const void*);
    typedef void*(__thiscall* find_table_t)(void*, const char*);
    typedef void(__thiscall* full_update_t)();
    typedef int(__thiscall* get_player_idx_t)();
    typedef void*(__thiscall* get_client_networkable_t)(void*, int);
    typedef void(__thiscall* pre_data_update_t)(void*, int);
]]

local ientitylist = ffi.cast(ffi.typeof("void***"), g_entity_list) or error("rawientitylist is nil", 2)
local get_client_entity = ffi.cast("get_client_entity_t", ientitylist[0][3]) or error("get_client_entity is nil", 2)
local g_model_info = ffi.cast(ffi.typeof("void***"), g_model_infot) or error("model info is nil", 2)
local get_model_index_fn = ffi.cast("get_model_index_fn_t", g_model_info[0][2]) or error("Getmodelindex is nil", 2)
local find_or_load_model_fn = ffi.cast("find_or_load_model_fn_t", g_model_info[0][43]) or error("findmodel is nil", 2)
local clientstring = ffi.cast(ffi.typeof("void***"), g_client_string) or error("clientstring is nil", 2)
local find_table = ffi.cast("find_table_t", clientstring[0][3]) or error("find table is nil", 2)
local get_client_networkable = ffi.cast("get_client_networkable_t", ientitylist[0][0]) or error("get networkable is nil", 2)

local custom_models = Menu.Switch("Advanced", "Enable Custom Models", false)
local custom_path = Menu.TextBox("Advanced", "Model Path", 128, "Path", "needs to be precise")

local function precache(path)
    local precachetable = ffi.cast(ffi.typeof("void***"), find_table(clientstring, "modelprecache"))
    if precachetable~= nil then
        find_or_load_model_fn(g_model_info, path)
        local addstring = ffi.cast("add_string_fn_t", precachetable[0][8]) or error("addstring nil", 2)
        local add_string_to_path = addstring(precachetable, false, path, -1, nil)
        if add_string_to_path == -1 then print("failed")
            return false
        end
    end
    return true
end


local paths = {
-- leet
"models/player/custom_player/legacy/tm_leet_variantf.mdl",
"models/player/custom_player/legacy/tm_leet_varianti.mdl",
"models/player/custom_player/legacy/tm_leet_varianth.mdl",
"models/player/custom_player/legacy/tm_leet_variantg.mdl",

-- fbi
"models/player/custom_player/legacy/ctm_fbi_variantb.mdl",
"models/player/custom_player/legacy/ctm_fbi_varianth.mdl",
"models/player/custom_player/legacy/ctm_fbi_variantg.mdl",
"models/player/custom_player/legacy/ctm_fbi_variantf.mdl",

-- st6
"models/player/custom_player/legacy/ctm_st6_variante.mdl",
"models/player/custom_player/legacy/ctm_st6_variantm.mdl",
"models/player/custom_player/legacy/ctm_st6_variantg.mdl",
"models/player/custom_player/legacy/ctm_st6_variantk.mdl",
"models/player/custom_player/legacy/ctm_st6_varianti.mdl",
"models/player/custom_player/legacy/ctm_st6_variantj.mdl",
"models/player/custom_player/legacy/ctm_st6_variantl.mdl",

-- swat
"models/player/custom_player/legacy/ctm_swat_variante.mdl",
"models/player/custom_player/legacy/ctm_swat_variantf.mdl",
"models/player/custom_player/legacy/ctm_swat_variantg.mdl" ,
"models/player/custom_player/legacy/ctm_swat_varianth.mdl",
"models/player/custom_player/legacy/ctm_swat_varianti.mdl",
"models/player/custom_player/legacy/ctm_swat_variantj.mdl",

-- balkan
"models/player/custom_player/legacy/tm_balkan_varianti.mdl",
"models/player/custom_player/legacy/tm_balkan_variantf.mdl",
"models/player/custom_player/legacy/tm_balkan_varianth.mdl",
"models/player/custom_player/legacy/tm_balkan_variantg.mdl",
"models/player/custom_player/legacy/tm_balkan_variantj.mdl",
"models/player/custom_player/legacy/tm_balkan_variantk.mdl",
"models/player/custom_player/legacy/tm_balkan_variantl.mdl",

-- sas
"models/player/custom_player/legacy/ctm_sas_variantf.mdl",

-- phoenix
"models/player/custom_player/legacy/tm_phoenix_varianth.mdl",
"models/player/custom_player/legacy/tm_phoenix_variantf.mdl",
"models/player/custom_player/legacy/tm_phoenix_variantg.mdl",
"models/player/custom_player/legacy/tm_phoenix_varianti.mdl",

-- proffesional
"models/player/custom_player/legacy/tm_professional_varf.mdl",
"models/player/custom_player/legacy/tm_professional_varf1.mdl",
"models/player/custom_player/legacy/tm_professional_varf2.mdl",
"models/player/custom_player/legacy/tm_professional_varf3.mdl",
"models/player/custom_player/legacy/tm_professional_varf4.mdl",
"models/player/custom_player/legacy/tm_professional_varg.mdl",
"models/player/custom_player/legacy/tm_professional_varh.mdl",
"models/player/custom_player/legacy/tm_professional_vari.mdl",
"models/player/custom_player/legacy/tm_professional_varj.mdl",
}



local names = {
-- leet
"The Elite Mr. Muhlik | Elite Crew",
"Prof. Shahmat | Elite Crew",
"Osiris | Elite Crew",
"Ground Rebel | Elite Crew",

-- fbi
"Special Agent Ava | FBI",
"Michael Syfers | FBI Sniper",
"Markus Delrow | FBI HRT",
"Operator | FBI SWAT",

-- st6
"Seal Team 6 Soldier | NSWC SEAL",
"'Two Times' McCoy | USAF TACP",
"Buckshot | NSWC SEAL",
"3rd Commando Company | KSK",
"Lt. Commander Ricksaw | NSWC SEAL",
"'Blueberries' Buckshot | NSWC SEAL",
"'Two Times' McCoy | TACP Cavalry",

-- swat
"Cmdr. Mae 'Dead Cold' Jamison | SWAT",
"1st Lieutenant Farlow | SWAT",
"John 'Van Healen' Kask | SWAT",
"Bio-Haz Specialist | SWAT",
"Sergeant Bombson | SWAT",
"Chem-Haz Specialist | SWAT",

-- balkan
"Maximus | Sabre",
"Dragomir | Sabre",
"'The Doctor' Romanov | Sabre",
"Rezan The Ready | Sabre",
"Blackwolf | Sabre",
"Rezan the Redshirt | Sabre",
"Dragomir | Sabre Footsoldier",

-- sas
"B Squadron Officer | SAS",

-- phoenix
"Soldier | Phoenix",
"Enforcer | Phoenix",
"Slingshot | Phoenix",
"Street Soldier | Phoenix",

-- proffesional
"Sir Bloody Miami Darryl | The Professionals",
"Sir Bloody Silent Darryl | The Professionals",
"Sir Bloody Skullhead Darryl | The Professionals",
"Sir Bloody Darryl Royale | The Professionals",
"Sir Bloody Loudmouth Darryl | The Professionals",
"Safecracker Voltzmann | The Professionals",
"Little Kev | The Professionals",
"Number K | The Professionals",
"Getaway Sally | The Professionals",

}

local agent_menu = Menu.Combo("agent", "Agent", names, 0)

Cheat.RegisterCallback("frame_stage", function(stage)

    --if stage ~= FRAME_NET_UPDATE_POSTDATAUPDATE_START and stage ~= FRAME_RENDER_START then return end-- todo:figure out why this causes crashes
 
    local local_player = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
    if local_player == nil
        then return
    end

 
    local player_address = get_client_entity(ientitylist, EngineClient.GetLocalPlayer())
    local index = local_player:GetProp("DT_BaseEntity", "m_nModelIndex")
    local newpath = string.gsub(custom_path:GetString(), [[\]], [[/]]) --to get rid of c escape sequences before passing string to ffi, doesn't seem to matter, but lets do it anyways
    if custom_models:GetBool() then
        if precache(newpath) then
            local model_idx = get_model_index_fn(g_model_info, newpath)
            if model_idx ~= -1 and model_idx ~= index then
                local_player:SetModelIndex(model_idx)
            end
        end

    else
        local model_idx = get_model_index_fn(g_model_info, paths[agent_menu:GetInt() + 1])
        if model_idx ~= index then
        local_player:SetModelIndex(model_idx)
        end
    end
 
end)
куда, куда, полегче
 
Начинающий
Статус
Оффлайн
Регистрация
21 Мар 2021
Сообщения
171
Реакции[?]
16
Поинты[?]
2K
бро ты сливаешь то что в открытом доступе , ты не можешь крякать это из нла - т.к при компиляции луа в нле нету комментов .
 
Сверху Снизу