Координаты lua

floppov

Участник
Автор темы
85
18
Версия MoonLoader
.027.0-preview
Как сделать что бы когда персонаж становился в определённые координаты (2016.20 1017.96 996.88) Выполнялась функция например sampAddChatMessage?
 
  • Эм
Реакции: qdIbp
Решение
или опять же в цикле проверяй дистанцию между твоими и нужными координатами: https://wiki.blast.hk/ru/moonloader/lua/getdistancebetweencoords3d
Lua:
local bool = false
sampRegisterChatCommand("a", function() bool = not bool end)
while true do wait(0)
    if bool then
        local mx,my,mz = getCharCoordinates(PLAYER_PED)
        local dist = getDistanceBetweenCoords3d(mx, my, mz, 2016.20, 1017.96, 996.88)
        if dist <= 1 then
            print("+")
            bool = false
        end
    end
end

1 на столько точно он не сможет встать на нужные координаты
дописал, но автор не уточнил, может он 10 лет учился ходить по пикселям 😮

или так еще:
Lua:
local bool = true

sampRegisterChatCommand("a"...

вайега52

Налуашил состояние
Модератор
2,992
3,113
  • Нравится
Реакции: CastelloFAM

qdIbp

Автор темы
Проверенный
1,447
1,196
проверка в беск цикле
1 на столько точно он не сможет встать на нужные координаты
2 нужна какая-нибудь переменная чтобы не флудила потом в чат когда нашел нужные коорд
 

вайега52

Налуашил состояние
Модератор
2,992
3,113
или опять же в цикле проверяй дистанцию между твоими и нужными координатами: https://wiki.blast.hk/ru/moonloader/lua/getdistancebetweencoords3d
Lua:
local bool = false
sampRegisterChatCommand("a", function() bool = not bool end)
while true do wait(0)
    if bool then
        local mx,my,mz = getCharCoordinates(PLAYER_PED)
        local dist = getDistanceBetweenCoords3d(mx, my, mz, 2016.20, 1017.96, 996.88)
        if dist <= 1 then
            print("+")
            bool = false
        end
    end
end

1 на столько точно он не сможет встать на нужные координаты
дописал, но автор не уточнил, может он 10 лет учился ходить по пикселям 😮

или так еще:
Lua:
local bool = true

sampRegisterChatCommand("a", function() bool = not bool end)

while true do wait(0)
    local mx,my,mz = getCharCoordinates(PLAYER_PED)
    local dist = getDistanceBetweenCoords3d(mx, my, mz, 2016.20, 1017.96, 996.88)
    if dist <= 1 and bool then
        print("+")
        bool = false
    else
        bool = true
    end
end
 
Последнее редактирование:
  • Нравится
  • Вау
Реакции: guts и qdIbp

вайега52

Налуашил состояние
Модератор
2,992
3,113
тож как вариант, но от флуда не защищен
чет типа такого
или опять же в цикле проверяй дистанцию между твоими и нужными координатами: https://wiki.blast.hk/ru/moonloader/lua/getdistancebetweencoords3d
Lua:
local bool = false
sampRegisterChatCommand("a", function() bool = not bool end)
while true do wait(0)
    if bool then
        local mx,my,mz = getCharCoordinates(PLAYER_PED)
        local dist = getDistanceBetweenCoords3d(mx, my, mz, 2016.20, 1017.96, 996.88)
        if dist <= 1 then
            print("+")
            bool = false
        end
    end
end


дописал, но автор не уточнил, может он 10 лет учился ходить по пикселям 😮
 
  • Нравится
Реакции: qdIbp

floppov

Участник
Автор темы
85
18
или опять же в цикле проверяй дистанцию между твоими и нужными координатами: https://wiki.blast.hk/ru/moonloader/lua/getdistancebetweencoords3d
Lua:
local bool = false
sampRegisterChatCommand("a", function() bool = not bool end)
while true do wait(0)
    if bool then
        local mx,my,mz = getCharCoordinates(PLAYER_PED)
        local dist = getDistanceBetweenCoords3d(mx, my, mz, 2016.20, 1017.96, 996.88)
        if dist <= 1 then
            print("+")
            bool = false
        end
    end
end


дописал, но автор не уточнил, может он 10 лет учился ходить по пикселям 😮

или так еще:
Lua:
local bool = true

sampRegisterChatCommand("a", function() bool = not bool end)

while true do wait(0)
    local mx,my,mz = getCharCoordinates(PLAYER_PED)
    local dist = getDistanceBetweenCoords3d(mx, my, mz, 2016.20, 1017.96, 996.88)
    if dist <= 1 and bool then
        print("+")
        bool = false
    else
        bool = true
    end
end
а зачем мне distancebetweenCoords? может я не шарю кнш но не то. Мне нужно что бы он стал на коорды и чет функция сделала. И желательно без команды
 

вайега52

Налуашил состояние
Модератор
2,992
3,113
а зачем мне distancebetweenCoords? может я не шарю кнш но не то. Мне нужно что бы он стал на коорды и чет функция сделала. И желательно без команды
это для получения дистацния, т.к. как написали выше, ты не сможешь встать на точно такие коорды, если надо без команды, то вот просто убери строку с командой во 2 варианте
Lua:
local bool = true

sampRegisterChatCommand("a", function() bool = not bool end)

while true do wait(0)
    local mx,my,mz = getCharCoordinates(PLAYER_PED)
    local dist = getDistanceBetweenCoords3d(mx, my, mz, 2016.20, 1017.96, 996.88)
    if dist <= 1 and bool then
        print("+")
        bool = false
    else
        bool = true
    end
end
 
  • Грустно
Реакции: nbljlb_bbljloro

floppov

Участник
Автор темы
85
18
это для получения дистацния, т.к. как написали выше, ты не сможешь встать на точно такие коорды, если надо без команды, то вот просто убери строку с командой во 2 варианте
да смогу, это коорды инты. Типо становишься на маркер тепаешься в инту и четко на этих координатах ты стоишь минимум секунду. Секунду же достаточно для выполнения функции?
 

вайега52

Налуашил состояние
Модератор
2,992
3,113
да смогу, это коорды инты. Типо становишься на маркер тепаешься в инту и четко на этих координатах ты стоишь минимум секунду. Секунду же достаточно для выполнения функции?
Должно, но вдруг произойдет какое-то смещение и ты появишься не в тех коордах (хз, возможно такое или не), поэтому мне кажется лучше использовать штукук с дистанцией
 

floppov

Участник
Автор темы
85
18
Должно, но вдруг произойдет какое-то смещение и ты появишься не в тех коордах (хз, возможно такое или не), поэтому мне кажется лучше использовать штукук с дистанцией
Не, я бы хотел попробовать только с координатами обычными без дитсанции, если будут ошибки, смещения тогда придется думать
 

вайега52

Налуашил состояние
Модератор
2,992
3,113
Не, я бы хотел попробовать только с координатами обычными без дитсанции, если будут ошибки, смещения тогда придется думать
Lua:
local bool = true

while true do wait(0)
    local mx, my, mz = getCharCoordinates(PLAYER_PED)
    if mx == 2016.20 and my == 1017.96, mz == 996.88 and bool then
        print("+")
        bool = false
    else
        bool = true
    end
end
 

floppov

Участник
Автор темы
85
18
Lua:
local bool = true

while true do wait(0)
    local mx, my, mz = getCharCoordinates(PLAYER_PED)
    if mx == 2016.20 and my == 1017.96, mz == 996.88 and bool then
        print("+")
        bool = false
    else
        bool = true
    end
end
[ML] (error) anticasino.lua: C:\GTA\moonloader\anticasino.lua:5: 'then' expected near ','
[ML] (error) anticasino.lua: Script died due to an error. (14B0D1BC)

Lua:
local bool = true

while true do wait(0)
    local mx, my, mz = getCharCoordinates(PLAYER_PED)
    if mx == 2016.20 and my == 1017.96, mz == 996.88 and bool then
        print("+")
        bool = false
    else
        bool = true
    end
end
Можешь обьяснить куда вставить?
Lua:
script_name('AntiCasino')
script_author('FLOPPOV') -- 2016.1967773438, 1017.9692993164, 996.875
require ("lib.moonloader")
local key = require('vkeys')
local rkeys = require('rkeys')
local hook = require('lib.samp.events')

local imgui = require('imgui')
imgui.HotKey = require('imgui_addons').HotKey
local encoding = require('encoding')
encoding.default = 'CP1251'
u8 = encoding.UTF8

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage("{FF0000}Anti{FFFFFF}Casino started.", -1)

    sampRegisterChatCommand("anti", casino)
end

function casino()
    local positionX, positionY, positionZ = getCharCoordinates(PLAYER_PED)
    local str = positionX .. ", " .. positionY .. ", " .. positionZ
    sampAddChatMessage(str, -1)
end
 
  • Эм
Реакции: qdIbp

qdIbp

Автор темы
Проверенный
1,447
1,196
Lua:
script_name('AntiCasino')
script_author('FLOPPOV') -- 2016.1967773438, 1017.9692993164, 996.875
require ("lib.moonloader")
local key = require('vkeys')
local rkeys = require('rkeys')
local hook = require('lib.samp.events')

local imgui = require('imgui')
imgui.HotKey = require('imgui_addons').HotKey
local encoding = require('encoding')
encoding.default = 'CP1251'
u8 = encoding.UTF8

local bool = true

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage("{FF0000}Anti{FFFFFF}Casino started.", -1)

    sampRegisterChatCommand("anti", casino)
  
    while true do wait(0)
        local mx, my, mz = getCharCoordinates(PLAYER_PED)
        if mx == 2016.20 and my == 1017.96 and mz == 996.88 then
            if bool then
                print("+")
                bool = false
            else
                bool = true
            end
        end
    end
end

function casino()
    local positionX, positionY, positionZ = getCharCoordinates(PLAYER_PED)
    local str = positionX .. ", " .. positionY .. ", " .. positionZ
    sampAddChatMessage(str, -1)
end
 
Последнее редактирование: