отыгровки оружия

Hinаta

Известный
Автор темы
778
360
Версия MoonLoader
.026-beta
Для моего скрипта мне нужно сделать отыгровки оружия.
С отыгровками доставания оружия никаких проблем нет, а вот реализовать отыгровки убирания я так и не смог, поэтому от безысходности обращаюсь сюда.
Все отыгровки хранятся в конфиге, чтобы их можно было изменять.
Буду весьма признателен, если кто-то сможет мне помочь.
Lua:
local inicfg = require('inicfg')
local IniFileName = 'test.ini'
local game_weapons = require('game.weapons')

ini = inicfg.load({
    RP_GUNS = {
        M4 = 'осторожно достал из сумки автоматическую винтовку M4 и приготовился к стрельбе',
        MP5 = 'снял MP5 с плеча',
        NITESTICK = 'извлек дубинку из держателя и несколько раз взмахнул ею в воздухе',
        M4_u = 'положил винтовку M4 обратно в сумку',
        MP5_u = 'повесил MP5 на плечо',
        NITESTICK_u = 'повесил дубинку на поясной держатель'
    }
}, IniFileName)

function main()
    while not isSampAvailable() do wait(100) end
    if not doesFileExist('moonloader/config/' .. IniFileName) then
        inicfg.save(ini, IniFileName)
    end
    while true do
        wait(0)
        rp_guns()
    end
end

function rp_guns()
    local currentGun = getCurrentCharWeapon(PLAYER_PED)
    local gunName = game_weapons.get_name(currentGun)

    if currentGun ~= lastGun then
        sampSendChat('/me ' .. ini.RP_GUNS[gunName])
        lastGun = currentGun
    end
end
 
Решение
Lua:
function rp_guns()
    local currentGun = getCurrentCharWeapon(PLAYER_PED)
    local gunName = game_weapons.get_name(currentGun)

    if currentGun ~= lastGun then
        sampSendChat('/me убрал' .. game_weapons.get_name(lastGun))
        wait(350)
        sampSendChat('/me ' .. ini.RP_GUNS[gunName])
        lastGun = currentGun
    end
end

chapo

чопа сребдс // @moujeek
Модератор
8,868
11,575
Lua:
function rp_guns()
    local currentGun = getCurrentCharWeapon(PLAYER_PED)
    local gunName = game_weapons.get_name(currentGun)

    if currentGun ~= lastGun then
        sampSendChat('/me убрал' .. game_weapons.get_name(lastGun))
        wait(350)
        sampSendChat('/me ' .. ini.RP_GUNS[gunName])
        lastGun = currentGun
    end
end
 
  • Нравится
  • Влюблен
Реакции: XRLM и Hinаta

Hinаta

Известный
Автор темы
778
360
Lua:
function rp_guns()
    local currentGun = getCurrentCharWeapon(PLAYER_PED)
    local gunName = game_weapons.get_name(currentGun)

    if currentGun ~= lastGun then
        sampSendChat('/me убрал' .. game_weapons.get_name(lastGun))
        wait(350)
        sampSendChat('/me ' .. ini.RP_GUNS[gunName])
        lastGun = currentGun
    end
end
Я изначально хотел, чтобы отыгровки убирания тоже брались из конфига, но что '/me убрал' .. тоже неплохо. Спасибо за твои видосики по mimgui!

upd. я овощ, сюда же всё равно можно конфиг прикрутить
 
Последнее редактирование:

XRLM

Против ветра рождённый
Проверенный
1,508
1,074
Lua:
local rp_guns = {}
rp_guns[3] = {'извлек дубинку из держателя и несколько раз взмахнул ею в воздухе', 'повесил дубинку на поясной держатель'}
rp_guns[29] = {'снял MP5 с плеча', 'повесил MP5 на плечо'}
rp_guns[31] = {'осторожно достал из сумки автоматическую винтовку M4 и приготовился к стрельбе', 'положил винтовку M4 обратно в сумку'}
local lastgun = 0
function main()
    while not isSampAvailable() do wait(0) end
        
    while true do wait(0)
        local currentgun = getCurrentCharWeapon(PLAYER_PED)
        if currentgun ~= lastgun then
            if rp_guns[lastgun] then
                sampSendChat('/me '.. rp_guns[lastgun][2])
            end
            lastgun = currentgun
            if rp_guns[currentgun] then
                sampSendChat('/me '.. rp_guns[currentgun][1])
            end
        end
    end
end

блять я опоздал сука
 
  • Клоун
  • Влюблен
Реакции: Air_Official и Hinаta