Загрузка данных


-- Скрипт для поиска всех viewmodel на карте
-- Автор: AI Assistant
-- Использование: введите в консоли "find_viewmodels"

local function FindViewModels()
    -- Ищем все сущности с классом "viewmodel"
    local viewmodels = ents.FindByClass("viewmodel")
    
    -- Также ищем weapon_ (оружие может иметь свои viewmodel)
    local weapons = ents.FindByClass("weapon_*")
    
    print("========================================")
    print("        НАЙДЕННЫЕ VIEWMODELS")
    print("========================================")
    print("Всего найдено viewmodels: " .. #viewmodels)
    print("Всего найдено weapons: " .. #weapons)
    print("========================================")
    
    if #viewmodels == 0 and #weapons == 0 then
        print("ViewModels не найдены!")
        return
    end
    
    -- Выводим информацию о каждом viewmodel
    print("\n--- VIEWMODELS ---")
    for i, vm in ipairs(viewmodels) do
        local entIndex = vm:EntIndex()
        local parent = vm:GetParent()
        local parentIndex = IsValid(parent) and parent:EntIndex() or "NONE"
        local parentClass = IsValid(parent) and parent:GetClass() or "NONE"
        local model = vm:GetModel() or "UNKNOWN"
        
        print(string.format("[%d] ViewModel #%d", i, entIndex))
        print(string.format("    Модель: %s", model))
        print(string.format("    Родитель (ID): %s", parentIndex))
        print(string.format("    Родитель (класс): %s", parentClass))
        print("")
    end
    
    -- Выводим информацию об оружии
    print("\n--- WEAPONS ---")
    for i, wep in ipairs(weapons) do
        local entIndex = wep:EntIndex()
        local owner = wep:GetOwner()
        local ownerIndex = IsValid(owner) and owner:EntIndex() or "NONE"
        local ownerClass = IsValid(owner) and owner:GetClass() or "NONE"
        local model = wep:GetModel() or "UNKNOWN"
        
        print(string.format("[%d] Weapon #%d", i, entIndex))
        print(string.format("    Модель: %s"))
        print(string.format("    Владелец (ID): %s", ownerIndex))
        print(string.format("    Владелец (класс): %s", ownerClass))
        print("")
    end
    
    print("========================================")
    print("        ПОИСК ЗАВЕРШЕН")
    print("========================================")
end

-- Регистрируем консольную команду
concommand.Add("find_viewmodels", FindViewModels)

-- Также делаем автозапуск при старте игры (опционально)
hook.Add("InitPostEntity", "FindViewModelsOnStart", function()
    print("[ViewModel Finder] Скрипт загружен!")
    print("[ViewModel Finder] Используйте команду: find_viewmodels")
end)

print("[ViewModel Finder] Скрипт успешно загружен!")
print("[ViewModel Finder] Введите 'find_viewmodels' в консоль для поиска")