Lua Транспорт ShowСarNames&Files

DolgorukovGTA

Известный
Автор темы
Проверенный
652
345
34837
34838

ShowСarNames&Files
Скрипт позволяет отображать полные названия всего транспорта GTA:SA (212 моделей) и файлы (dff, txd), которые отвечают за данный транспорт. Первая функция нашего скрипта будет полезна прежде всего тем игрокам, которые устанавливают много моделей, отличающихся от оригинала, что, посмотря на машину, не могут назвать её марку. Типично может помочь сотрудникам полиции при погонях, бывает, что игроки забывают названия транспортного средства или, как я уже сказал выше, используют заменённые модели. Отображения файлов возможно поможет разработчикам, а также тем, кто часто экспериментирует с моделями.

Команды:
1. /carnames [0-1] - режим отображения наименований на транспорте: 0 - отображать названия, 1 - файлы.
2. /rdistance [значение] - установить максимальную дистанцию, на которой будут отображаться наименования. Крайне не рекомендую ставить слишком много, оптимально 70 метров, ибо администрация серверов может посчитать, что у вас установлен wallhack.

Шрифт и размер можно настроить в ini-файле, находящемся в секции config.

Требования: Moonloader.

Автор: @DolgorukovGTA.

17.07.2019 - релиз скрипта.
Если публикуете в другом месте или используете в своих разработках, сохраняйте моё авторство.
 

Вложения

  • ShowСarNames&Files.lua
    9.5 KB · Просмотры: 1,202
Последнее редактирование:

DolgorukovGTA

Известный
Автор темы
Проверенный
652
345
для упрощения использования скрипта юзером, предлагаю тебе объединить режимы отображения. то есть, чтобы сразу показывало и название модели и название файлов. считаю это разделение не обязательным. а самое главное: объединение команд /carnames и /rdistance в одну, /carnames. теперь, при вводе в аргумент этой команды значение 0 - отображение не работало, иначе - значение принималось за выбранную дистанцию.
Не надо, пусть всё останется на своих местах.
 

K0ban4ik

Новичок
7
0
Я помню у кого-то в сборке была похожая штука но чтобы видеть названия надо было зажать кнопку. У кого есть ссылка?
 

friendly

Известный
894
254
Lua:
[ML] (error) ShowÑarNames&Files.lua: ...ZONA GAMES\bin\Arizona\moonloader\ShowÑarNames&Files.lua:167: attempt to concatenate local 'carTechName' (a nil value)
stack traceback:
    ...ZONA GAMES\bin\Arizona\moonloader\ShowÑarNames&Files.lua: in function 'proccessInfo'
    ...ZONA GAMES\bin\Arizona\moonloader\ShowÑarNames&Files.lua:147: in function <...ZONA GAMES\bin\Arizona\moonloader\ShowÑarNames&Files.lua:141>
stack traceback:
    [C]: in function 'create'
    ...ZONA GAMES\bin\Arizona\moonloader\ShowÑarNames&Files.lua:137: in function <...ZONA GAMES\bin\Arizona\moonloader\ShowÑarNames&Files.lua:27>
[ML] (error) ShowÑarNames&Files.lua: Script died due to an error. (1FD65E3C)

Видимо на лаунчере арз не работает этот скрипт
 

mgvq

Активный
420
70
Посмотреть вложение 34837Посмотреть вложение 34838

ShowСarNames&Files
Скрипт позволяет отображать полные названия всего транспорта GTA:SA (212 моделей) и файлы (dff, txd), которые отвечают за данный транспорт. Первая функция нашего скрипта будет полезна прежде всего тем игрокам, которые устанавливают много моделей, отличающихся от оригинала, что, посмотря на машину, не могут назвать её марку. Типично может помочь сотрудникам полиции при погонях, бывает, что игроки забывают названия транспортного средства или, как я уже сказал выше, используют заменённые модели. Отображения файлов возможно поможет разработчикам, а также тем, кто часто экспериментирует с моделями.

Команды:
1. /carnames [0-1] - режим отображения наименований на транспорте: 0 - отображать названия, 1 - файлы.
2. /rdistance [значение] - установить максимальную дистанцию, на которой будут отображаться наименования. Крайне не рекомендую ставить слишком много, оптимально 70 метров, ибо администрация серверов может посчитать, что у вас установлен wallhack.

Шрифт и размер можно настроить в ini-файле, находящемся в секции config.

Требования: Moonloader.

Автор: @DolgorukovGTA.

17.07.2019 - релиз скрипта.
Если публикуете в другом месте или используете в своих разработках, сохраняйте моё авторство.
Сможешь добавить такую инфу туда?
 

Вложения

  • 0D2BA0DB-ECD5-4A52-8230-E7B9C4265FD1.jpeg
    0D2BA0DB-ECD5-4A52-8230-E7B9C4265FD1.jpeg
    120.6 KB · Просмотры: 228

piupiupaupau

Новичок
5
2
Почему-то очень сильно падает фпс при активации скрипта. С чем может быть связано? Как пофиксить?
 

mgvq

Активный
420
70
Почему-то очень сильно падает фпс при активации скрипта. С чем может быть связано? Как пофиксить?

Проверь, работает ли неуверен
Lua:
function main()
    sampRegisterChatCommand("vid", onSendCommand)
end

function onSendCommand(cmd)
    if cmd == "/vid" then
        showVehicleInfo()
        return false
    end
    return true
end


function showVehicleInfo()
    local vehicles = getAllVehiclesInArea()

    for i, vehicleid in ipairs(vehicles) do
        local vehicleName = sampGetVehicleName(vehicleid)
        local vehicleHP = sampGetVehicleHealth(vehicleid)
        local engineStatus = sampIsVehicleEngineOn(vehicleid) and "ON" or "OFF"
        local doorStatus = sampIsVehicleDoorOpen(vehicleid) and "OPEN" or "LOCKED"

        local message = string.format("ID: %d   HP: %d\nНазвание автомобиля: %s\nСостояние двигателя: %s   Состояние дверей: %s",
            vehicleid, vehicleHP, vehicleName, engineStatus, doorStatus)

        sampAddChatMessage(message, 0xFFFFFF)
    end
end

function getAllVehiclesInArea()
    local playerPos = {sampGetPlayerPos()}
    local vehicles = {}

    for _, veh in ipairs(sampGetAllVehicles()) do
        local vehPos = {sampGetVehiclePos(veh)}
        local distance = getDistance(playerPos, vehPos)
        
        if distance < 50.0 then
            table.insert(vehicles, veh)
        end
    end

    return vehicles
end

function getDistance(pos1, pos2)
    local x1, y1, z1 = table.unpack(pos1)
    local x2, y2, z2 = table.unpack(pos2)

    return math.sqrt((x2 - x1)^2 + (y2 - y1)^2 + (z2 - z1)^2)
end
 

piupiupaupau

Новичок
5
2
Проверь, работает ли неуверен
Lua:
function main()
    sampRegisterChatCommand("vid", onSendCommand)
end

function onSendCommand(cmd)
    if cmd == "/vid" then
        showVehicleInfo()
        return false
    end
    return true
end


function showVehicleInfo()
    local vehicles = getAllVehiclesInArea()

    for i, vehicleid in ipairs(vehicles) do
        local vehicleName = sampGetVehicleName(vehicleid)
        local vehicleHP = sampGetVehicleHealth(vehicleid)
        local engineStatus = sampIsVehicleEngineOn(vehicleid) and "ON" or "OFF"
        local doorStatus = sampIsVehicleDoorOpen(vehicleid) and "OPEN" or "LOCKED"

        local message = string.format("ID: %d   HP: %d\nНазвание автомобиля: %s\nСостояние двигателя: %s   Состояние дверей: %s",
            vehicleid, vehicleHP, vehicleName, engineStatus, doorStatus)

        sampAddChatMessage(message, 0xFFFFFF)
    end
end

function getAllVehiclesInArea()
    local playerPos = {sampGetPlayerPos()}
    local vehicles = {}

    for _, veh in ipairs(sampGetAllVehicles()) do
        local vehPos = {sampGetVehiclePos(veh)}
        local distance = getDistance(playerPos, vehPos)
       
        if distance < 50.0 then
            table.insert(vehicles, veh)
        end
    end

    return vehicles
end

function getDistance(pos1, pos2)
    local x1, y1, z1 = table.unpack(pos1)
    local x2, y2, z2 = table.unpack(pos2)

    return math.sqrt((x2 - x1)^2 + (y2 - y1)^2 + (z2 - z1)^2)
end
Не работает почему-то