Сохранить ID из ПКМ в диалоге

fkrpflgrr

Участник
Автор темы
21
1
Версия MoonLoader
Другое
При наводке на типа появляется такое окно:
1725886715321.png
Когда нажимаю "5" открывается этот диалог:
1725886742524.png

Там должно в первом писать '/knockout id'. Но не пишет. Помогите решить пожалст.
Lua:
function main()
    while not isSampAvailable() do wait(0) end

    sendScriptMessage('Загружен. Настройки: {fcac51}/wlock{ffffff} | Авторы: {fcac51}' .. script_author)

    sampRegisterChatCommand('wlock', function() end)
    
    while true do
        wait(0)


        if isKeyDown(VK_RBUTTON) then

            local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
            if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
              local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
              if result then -- проверить, прошло ли получение ида успешно
                local lineHeight = renderGetFontDrawHeight(my_font)
                local y = 400
                for line in HelpersText:gmatch("[^\r\n]+") do
                    renderFontDrawText(my_font, line, 10, y, 0xFFFFFFFF)
                    y = y + lineHeight
                end
            end
            end

        end
        if isKeyDown(VK_RBUTTON) and isKeyJustPressed(VK_0) then
            local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
            if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
              local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
              if result then -- проверить, прошло ли получение ида успешно
                    sampSendChat('/knockout ' .. id)
              end
            end
        end
        if isKeyDown(VK_RBUTTON) and isKeyJustPressed(VK_1) then
            local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
            if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
            local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
            if result then -- проверить, прошло ли получение ида успешно
                sampSendChat('/tie ' .. id)
            end
            end
        end
        if isKeyDown(VK_RBUTTON) and isKeyJustPressed(VK_2) then
                local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
                if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
                local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
                if result then -- проверить, прошло ли получение ида успешно
                    sampSendChat('/untie ' .. id)
                end
                end
        end
        if isKeyDown(VK_RBUTTON) and isKeyJustPressed(VK_3) then
            local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
                if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
                local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
                if result then -- проверить, прошло ли получение ида успешно
                    sampSendChat('/kfollow ' .. id)
                end
                end
        end
        if isKeyDown(VK_RBUTTON) and isKeyJustPressed(VK_4) then
        if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
            local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
            if result then -- проверить, прошло ли получение ида успешно
                sampSendChat('/kfrisk ' .. id)
            end
        end
        end
        if isKeyDown(VK_RBUTTON) and isKeyJustPressed(VK_5) then
            sampShowDialog(101, 'Warlocks MC | Меню похищений', ujastext, 'OK', 'Закрыть', 2)
        end

        local result, button, list, input = sampHasDialogRespond(101) -- Диалог
        if result and button == 1 and list == 0 then
              local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
              if result then -- проверить, прошло ли получение ида успешно
                    sampSendChat('/knockout ' .. id)
              end

        end

    end
end
 

fkrpflgrr

Участник
Автор темы
21
1
Так а ты где пед взял? Я вижу получение педа в переменную ped, но это локальная переменная. Сделай ее глобальной в нужном месте, убери local
так тип?
Lua:
        if result and button == 1 and list == 0 then
              result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
              if result then -- проверить, прошло ли получение ида успешно
                    sampSendChat('/knockout ' .. id)
              end

        end
 

Lance_Sterling

Известный
964
336
так тип?
Lua:
        if result and button == 1 and list == 0 then
              result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
              if result then -- проверить, прошло ли получение ида успешно
                    sampSendChat('/knockout ' .. id)
              end

        end
нет