Помогите реализовать авто отыгровки оружия.

Мемори

Участник
Автор темы
84
10
Версия SA-MP
  1. 0.3.7 (R1)
Помогите реализовать авто отыгровки оружия. Ни каких меню выбора не надо всё будет меняться в ручную в коде
 

Mr_kaneki

Активный
314
74
А открыть код и посмотреть как реализовано ??
Мы не ищем лёгких путей

Для кастомных оружий не делал так как мне лень думаю ты там и сам справишься
Lua:
local lastWeaponId = -1

local weaponData = {
    [1]  = { name = "Кастет",               draw = "надел кастет на руку" },
    [2]  = { name = "Мяч для гольфа",       draw = "взял мяч для гольфа" },
    [3]  = { name = "Дубинка",              draw = "достал дубинку с пояса" },
    [4]  = { name = "Нож",                  draw = "достал нож из ножен" },
    [5]  = { name = "Бейсбольная бита",     draw = "взял биту в руки" },
    [6]  = { name = "Лопата",               draw = "взял лопату в руки" },
    [7]  = { name = "Бильярдный кий",       draw = "взял кий в руки" },
    [8]  = { name = "Катана",               draw = "извлёк катану из ножен" },
    [9]  = { name = "Бензопила",            draw = "поднял бензопилу" },
    [10] = { name = "Двойной пистолет",     draw = "достал два пистолета из кобур" },
    [22] = { name = "Пистолет",             draw = "достал пистолет из кобуры" },
    [23] = { name = "Пистолет с глушителем",draw = "достал пистолет с глушителем из кобуры" },
    [24] = { name = "Desert Eagle",         draw = "достал Desert Eagle из кобуры" },
    [25] = { name = "Обрез",                draw = "достал обрез из-под куртки" },
    [26] = { name = "Помповый дробовик",    draw = "вскинул помповый дробовик" },
    [27] = { name = "SPAS-12",              draw = "поднял SPAS-12" },
    [28] = { name = "Micro Uzi",            draw = "достал Micro Uzi из-за пояса" },
    [29] = { name = "MP5",                  draw = "снял MP5 с плеча" },
    [30] = { name = "AK-47",               draw = "снял AK-47 со спины" },
    [31] = { name = "Карабин M4",           draw = "снял карабин M4 со спины" },
    [32] = { name = "Tec-9",               draw = "достал Tec-9 из-за пояса" },
    [33] = { name = "Охотничий дробовик",   draw = "взял охотничий дробовик в руки" },
    [34] = { name = "Снайперская винтовка", draw = "снял снайперскую винтовку со спины" },
    [35] = { name = "РПГ",                  draw = "поднял РПГ на плечо" },
    [36] = { name = "HS Rocket",            draw = "поднял ракетницу" },
    [37] = { name = "Огнемёт",              draw = "взял огнемёт в руки" },
    [38] = { name = "Миниган",              draw = "поднял миниган" },
    [39] = { name = "Граната",              draw = "достал гранату" },
    [40] = { name = "Слезоточивый газ",     draw = "достал баллон со слезоточивым газом" },
    [41] = { name = "Коктейль Молотова",    draw = "достал коктейль Молотова" },
    [42] = { name = "Камера",               draw = "достал камеру" },
    [45] = { name = "Парашют",              draw = "надел парашют" },
    [46] = { name = "Нож ниндзя",           draw = "достал нож ниндзя" },
}

function sendMe(text)
    sampSendChat("/me " .. text)
end

function main()
    while not isSampAvailable() do wait(100) end

    while true do
        wait(200)

        local weaponId = getCurrentCharWeapon(playerPed)

        if weaponId ~= lastWeaponId then
            local prev = lastWeaponId
            lastWeaponId = weaponId

            -- Убрал оружие (перешёл на кулаки = 0)
            if weaponId == 0 and prev > 0 then
                local prevData = weaponData[prev]
                if prevData then
                    sendMe('убирает "' .. prevData.name .. '"')
                end

            -- Достал оружие (не кулаки)
            elseif weaponId > 0 then
                local data = weaponData[weaponId]
                if data then
                    sendMe(data.draw .. ' "' .. data.name .. '"')
                end
            end
        end
    end
end
 
Последнее редактирование: