Wh line - lua

Vespan

хинкали это большие пельмени
Автор темы
Проверенный
2,139
1,891
Версия SA-MP
  1. 0.3.7-R2
Ищу вх на линиях,тип линия от меня до противника в зоне стрима
 
Решение
Lua:
for i = 0, 1000 do
    DNICK_RESULT, DNICK_PED = sampGetCharHandleBySampPlayerId(i)
    if DNICK_RESULT and isCharOnScreen(DNICK_PED) then
        local pPedX, pPedY, pPedZ = getCharCoordinates(PLAYER_PED)
        local dPedX, dPedY, dPedZ = getCharCoordinates(DNICK_PED)
        if getDistanceBetweenCoords3d(pPedX, pPedY, pPedZ, dPedX, dPedY, dPedZ) < 100 then
            local VirPoX, VirPoY = convert3DCoordsToScreen(pPedX, pPedY, pPedZ)
            local VirPosX, VirPosY = convert3DCoordsToScreen(dPedX, dPedY, dPedZ)
            renderDrawLine(VirPoX, VirPoY, VirPosX, VirPosY, 1, 0xFFFFFFFF)
        end
    end
end
давно писал для себя

RazorRw

t.me/sssecretway | ТГК: t.me/razor_ware
Всефорумный модератор
2,012
3,370
Lua:
for i = 0, 1000 do
    DNICK_RESULT, DNICK_PED = sampGetCharHandleBySampPlayerId(i)
    if DNICK_RESULT and isCharOnScreen(DNICK_PED) then
        local pPedX, pPedY, pPedZ = getCharCoordinates(PLAYER_PED)
        local dPedX, dPedY, dPedZ = getCharCoordinates(DNICK_PED)
        if getDistanceBetweenCoords3d(pPedX, pPedY, pPedZ, dPedX, dPedY, dPedZ) < 100 then
            local VirPoX, VirPoY = convert3DCoordsToScreen(pPedX, pPedY, pPedZ)
            local VirPosX, VirPosY = convert3DCoordsToScreen(dPedX, dPedY, dPedZ)
            renderDrawLine(VirPoX, VirPoY, VirPosX, VirPosY, 1, 0xFFFFFFFF)
        end
    end
end
давно писал для себя
 

ImPasha

Software Developer & System Administrator
Друг
1,778
2,147
Lua:
for i = 0, 1000 do
    DNICK_RESULT, DNICK_PED = sampGetCharHandleBySampPlayerId(i)
    if DNICK_RESULT and isCharOnScreen(DNICK_PED) then
        local pPedX, pPedY, pPedZ = getCharCoordinates(PLAYER_PED)
        local dPedX, dPedY, dPedZ = getCharCoordinates(DNICK_PED)
        if getDistanceBetweenCoords3d(pPedX, pPedY, pPedZ, dPedX, dPedY, dPedZ) < 100 then
            local VirPoX, VirPoY = convert3DCoordsToScreen(pPedX, pPedY, pPedZ)
            local VirPosX, VirPosY = convert3DCoordsToScreen(dPedX, dPedY, dPedZ)
            renderDrawLine(VirPoX, VirPoY, VirPosX, VirPosY, 1, 0xFFFFFFFF)
        end
    end
end
давно писал для себя
Начнём с того, что 1000-ого ID не существует, какой смысл в его проверке.
Во-вторых, зачем доходить до 1000-ого игрока, если такого вообще может не быть на сервере? Не проще получить максимальный ID?
Lua:
int id = sampGetMaxPlayerId(bool streamed)
 

RazorRw

t.me/sssecretway | ТГК: t.me/razor_ware
Всефорумный модератор
2,012
3,370
Начнём с того, что 1000-ого ID не существует, какой смысл в его проверке.
Во-вторых, зачем доходить до 1000-ого игрока, если такого вообще может не быть на сервере? Не проще получить максимальный ID?
Lua:
int id = sampGetMaxPlayerId(bool streamed)
писал давно и код завалялся на компе, я тогда только учился lua
 

Carrentine

Потрачен
568
463
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Мог бы и сам написать, дело вери легкое.

Lua:
local state = false

function main()
    if not isSampAvailable then return false end
    sampRegisterChatCommand("WH", function () state = not state end)
    lua_thread.create(render)
    wait(-1)
end

function render()
    if state then
        for i = 0, sampGetMaxPlayerId(true) do
            local result, ped = sampGetCharHandleBySampPlayerId(i) 
            if result and doesCharExist(ped) and isCharOnScreen(ped) then      
                local mypos = {getCharCoordinates(PLAYER_PED)}
                local enpos = {getCharCoordinates(ped)}
                local mypos_scr = {convert3DCoordsToScreen(mypos[1], mypos[2], mypos[3])}
                local enpos_scr = {convert3DCoordsToScreen(enpos[1], enpos[2], enpos[3])}
                renderDrawLine(mypos_scr[1], mypos_scr[2], enpos_scr[1], enpos_scr[2], 1.0, -1)
            end
        end
    end
    return false
end
upd: можно обойтись и без регистрации нового потока, но мне так привычнее.
updd: обновил, т.к функция findallrandomchars оказалась неоч
 
Последнее редактирование: