Client-side

getNearestProperty

Retorna a propriedade mais próxima do jogador dentro do raio, caso exista.

Parâmetros:

  • radius: number

Retorna:

  • label: string?
  • data: table?
    • É o equivalente à propertyList[label]

Exemplo de uso:

local label, data = exports.heyy_houses:getNearestProperty(15.0)

Server-side

getNearestProperty

Retorna a propriedade mais próxima do jogador dentro do raio, caso exista.

Parâmetros:

  • coords: vector3
  • radius: number?

Retorna:

  • data
    • label: string
    • distance: number

Exemplo de uso:

local ped = GetPlayerPed(source)
local coords = GetEntityCoords(ped)
local data = exports.heyy_houses:getNearestProperty(coords)

registerProperty

Registra uma propriedade para um jogador

Parâmetros:

  • user_id: integer
  • label: string
  • interior: string?
  • interiorColor: string?

Retorna:

  • data
    • success: boolean
    • errorMessage: string?
      • A mensagem de erro caso success seja igual à false

Exemplo de uso:

local data = exports.heyy_houses:registerProperty(user_id, "Eclipse Tower")

removeProperty

Remove uma propriedade pelo ID, caso exista.

Parâmetros:

  • property_id: integer

Exemplo de uso:

-- Assumindo que o ID da propriedade desejada seja 136
exports.heyy_houses:removeProperty(136)

getUserPropertyPermissions

Retorna as permissões do jogador em uma propriedade específica

Parâmetros:

  • property_id: integer
  • user_id: integer

Retorna:

  • permissions
    • [key: string]: boolean

Exemplo de uso:

-- Assumindo que o ID da propriedade desejada seja 136
local permissions = exports.heyy_houses:getUserPropertyPermissions(136, user_id)

isPropertyStealable

Retorna se a propriedade especificada tem coordenadas de roubo válidas e pode ser roubada.

Parâmetros:

  • label: string

Retorna:

  • canSteal: boolean

Exemplo de uso:

if exports.heyy_houses:isPropertyStealable("Eclipse Tower") then
  -- algo acontece se puder roubar
end

tryStealProperty

Realiza uma tentativa de roubo à propriedade mais próxima. Se for possível de ser roubada, o jogador será instantâneamente teleportado para dentro da propriedade.

Parâmetros:

  • source: string

Retorna:

  • success: boolean

Exemplo de uso:

exports.heyy_houses:tryStealProperty(source)

canInvadeProperty

Verifica se uma propriedade pode ser invadida.

As condições para uma propriedade ser invadida são algumas e apenas uma delas precisa ser verdadeira:

  • A propriedade está sendo roubada
  • A propriedade possui dono

Além dessas condições a função Functions.canInvadeProperty definida no functions.lua precisa retornar verdadeiro. É nessa função que você pode determinar condições adicionais (por exemplo, verificar se o jogador é um policial ou verificar algo sobre a propriedade). Se essa função não existir, ela é assumida como verdadeira.

Caso não seja possível invadir por alguma das condições explicadas acima, é retornado uma mensagem de erro.

Parâmetros:

  • user_id: integer
  • label: string

Retorna:

  • canInvade: boolean
  • errorMessage: string?

Exemplo de uso:

local canInvade = exports.heyy_houses:canInvadeProperty(user_id, label)

invadeProperty

Realiza uma tentativa de invadir a propriedade especificada.

É executado canInvadeProperty antes de realmente realizar a invasão, mas é recomendado que você utilize canInvadeProperty no seu próprio código.

Parâmetros:

  • user_id: integer
  • label: string

Retorna:

  • success: boolean
  • errorMessage: string?

Exemplo de uso:

local success, errorMessage = exports.heyy_houses:invadeProperty(user_id, label)

Client-side

getNearestProperty

Retorna a propriedade mais próxima do jogador dentro do raio, caso exista.

Parâmetros:

  • radius: number

Retorna:

  • label: string?
  • data: table?
    • É o equivalente à propertyList[label]

Exemplo de uso:

local label, data = exports.heyy_houses:getNearestProperty(15.0)

Server-side

getNearestProperty

Retorna a propriedade mais próxima do jogador dentro do raio, caso exista.

Parâmetros:

  • coords: vector3
  • radius: number?

Retorna:

  • data
    • label: string
    • distance: number

Exemplo de uso:

local ped = GetPlayerPed(source)
local coords = GetEntityCoords(ped)
local data = exports.heyy_houses:getNearestProperty(coords)

registerProperty

Registra uma propriedade para um jogador

Parâmetros:

  • user_id: integer
  • label: string
  • interior: string?
  • interiorColor: string?

Retorna:

  • data
    • success: boolean
    • errorMessage: string?
      • A mensagem de erro caso success seja igual à false

Exemplo de uso:

local data = exports.heyy_houses:registerProperty(user_id, "Eclipse Tower")

removeProperty

Remove uma propriedade pelo ID, caso exista.

Parâmetros:

  • property_id: integer

Exemplo de uso:

-- Assumindo que o ID da propriedade desejada seja 136
exports.heyy_houses:removeProperty(136)

getUserPropertyPermissions

Retorna as permissões do jogador em uma propriedade específica

Parâmetros:

  • property_id: integer
  • user_id: integer

Retorna:

  • permissions
    • [key: string]: boolean

Exemplo de uso:

-- Assumindo que o ID da propriedade desejada seja 136
local permissions = exports.heyy_houses:getUserPropertyPermissions(136, user_id)

isPropertyStealable

Retorna se a propriedade especificada tem coordenadas de roubo válidas e pode ser roubada.

Parâmetros:

  • label: string

Retorna:

  • canSteal: boolean

Exemplo de uso:

if exports.heyy_houses:isPropertyStealable("Eclipse Tower") then
  -- algo acontece se puder roubar
end

tryStealProperty

Realiza uma tentativa de roubo à propriedade mais próxima. Se for possível de ser roubada, o jogador será instantâneamente teleportado para dentro da propriedade.

Parâmetros:

  • source: string

Retorna:

  • success: boolean

Exemplo de uso:

exports.heyy_houses:tryStealProperty(source)

canInvadeProperty

Verifica se uma propriedade pode ser invadida.

As condições para uma propriedade ser invadida são algumas e apenas uma delas precisa ser verdadeira:

  • A propriedade está sendo roubada
  • A propriedade possui dono

Além dessas condições a função Functions.canInvadeProperty definida no functions.lua precisa retornar verdadeiro. É nessa função que você pode determinar condições adicionais (por exemplo, verificar se o jogador é um policial ou verificar algo sobre a propriedade). Se essa função não existir, ela é assumida como verdadeira.

Caso não seja possível invadir por alguma das condições explicadas acima, é retornado uma mensagem de erro.

Parâmetros:

  • user_id: integer
  • label: string

Retorna:

  • canInvade: boolean
  • errorMessage: string?

Exemplo de uso:

local canInvade = exports.heyy_houses:canInvadeProperty(user_id, label)

invadeProperty

Realiza uma tentativa de invadir a propriedade especificada.

É executado canInvadeProperty antes de realmente realizar a invasão, mas é recomendado que você utilize canInvadeProperty no seu próprio código.

Parâmetros:

  • user_id: integer
  • label: string

Retorna:

  • success: boolean
  • errorMessage: string?

Exemplo de uso:

local success, errorMessage = exports.heyy_houses:invadeProperty(user_id, label)