Команда /invite

vidix

Участник
Автор темы
46
6
Версия MoonLoader
.027.0-preview
Нужно отыграть команду /invite.
Если игрок стоит в зоне её действия скрипт должен отыгрывать передачу формы и прописывать /invite [id]. Если же игрока с данным id нету на сервере или команда не достаёт до него, в чат должно писать что-то вроде "Неверный ID!".
 
Решение
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("inv", cmdInvite)
end

function cmdInvite(id)
    local playerId = id:match("%d+")
    if playerId then
        playerId = tonumber(id)
        local result, player = sampGetCharHandleBySampPlayerId(playerId)
        if result then
            local myX, myY, myZ = getCharCoordinates(1)
            local pX, pY, pZ = getCharCoordinates(player)
            local distance = getDistanceBetweenCoords3d(myX, myY, myZ, pX, pY, pZ)
            if distance <= 10 then -- 10 дистанция
                -- отыгровка
                sampSendChat("/invite " .. playerId)
            else
                 sampAddChatMessage("Вы далеко от игрока", -1)...

_razor

t.me/sssecretway | ТГК: t.me/razor_code
Всефорумный модератор
1,966
3,276
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("inv", cmdInvite)
end

function cmdInvite(id)
    local playerId = id:match("%d+")
    if playerId then
        playerId = tonumber(id)
        local result, player = sampGetCharHandleBySampPlayerId(playerId)
        if result then
            local myX, myY, myZ = getCharCoordinates(1)
            local pX, pY, pZ = getCharCoordinates(player)
            local distance = getDistanceBetweenCoords3d(myX, myY, myZ, pX, pY, pZ)
            if distance <= 10 then -- 10 дистанция
                -- отыгровка
                sampSendChat("/invite " .. playerId)
            else
                 sampAddChatMessage("Вы далеко от игрока", -1)
            end
        else
            sampAddChatMessage("Неверный ID", -1)
        end
    else
        sampAddChatMessage("Неверный ID", -1)
    end
end
 
  • Нравится
Реакции: vidix и Andrinall