Получение координат игрока по id

masikmasik31

Участник
Автор темы
30
2
Версия MoonLoader
.027.0-preview
Хочу сделать проверку, если игрок(id) дальше 150 метров then. Как реализовать?
 

masikmasik31

Участник
Автор темы
30
2
float distance = getDistanceBetweenCoords3d(float x1, float y1, float z1, float x2, float y2, float z2)
Это знаю, но как получить координаты игрока по idшнику? Сделал свой набросок - гташка выбивает
Lua:
function cmd_knifekill(arg)
    if tonumber(arg) ~= nil then
        result, ped = sampGetCharHandleBySampPlayerId(tonumber(arg))
        result1, oX, oY, oZ = getCharCoordinates(ped)
        result2, x2, y2, z2 = getCharCoordinates(PLAYER_PED)
        distance = getDistanceBetweenCoords3d(oX,oY,oZ,x2,y2,z2)
        if distance > 150 then
            sampAddChatMessage("[{FFFFFF}Информация{FF0000}]: {FFFFFF}Не дальше 150 метров!", color_blue)
        else
            sampAddChatMessage("[{FFFFFF}Информация{FF0000}]: {FFFFFF}+", color_blue)
        end
    else
        sampAddChatMessage("[{FFFFFF}Информация{FF0000}]: {FFFFFF}Вы не ввели ID!", color_blue)
    end
end
 

kizn

\ 0 _ 0 /
Всефорумный модератор
2,407
2,108
Это знаю, но как получить координаты игрока по idшнику? Сделал свой набросок - гташка выбивает
Lua:
function cmd_knifekill(arg)
    if tonumber(arg) ~= nil then
        result, ped = sampGetCharHandleBySampPlayerId(tonumber(arg))
        result1, oX, oY, oZ = getCharCoordinates(ped)
        result2, x2, y2, z2 = getCharCoordinates(PLAYER_PED)
        distance = getDistanceBetweenCoords3d(oX,oY,oZ,x2,y2,z2)
        if distance > 150 then
            sampAddChatMessage("[{FFFFFF}Информация{FF0000}]: {FFFFFF}Не дальше 150 метров!", color_blue)
        else
            sampAddChatMessage("[{FFFFFF}Информация{FF0000}]: {FFFFFF}+", color_blue)
        end
    else
        sampAddChatMessage("[{FFFFFF}Информация{FF0000}]: {FFFFFF}Вы не ввели ID!", color_blue)
    end
end
убери с sampGetCharHandleBySampPlayerId tonumber()
 

masikmasik31

Участник
Автор темы
30
2
Убери проверку и вместо нее поставь print(getDistanceBetweenCoords3d(oX,oY,oZ,x2,y2,z2)) и посмотри, что выведет в мунлог
А, все работает. Не думал, что 50 метров это так далеко
Убери проверку и вместо нее поставь print(getDistanceBetweenCoords3d(oX,oY,oZ,x2,y2,z2)) и посмотри, что выведет в мунлог
Можешь помочь с еще одной функцией, с телепортом. Прописываю: setCharCoordinates(PLAYER_PED, oX, oY, oZ), но телепортирует почти на середину карты
 
Последнее редактирование:
  • Нравится
Реакции: kizn