vRP (Proxy, lado servidor), agrupadas por área. Todas extraídas de resources/vrp/modules/*.lua. Obtenha a interface com:
local Proxy = module("vrp","lib/Proxy")
vRP = Proxy.getInterface("vRP")
Convenção:
Passport é o id do personagem (não o source). source é o id de rede do player.Referência por área
Identidade / Personagem
Identidade / Personagem
| Função | Descrição |
|---|---|
vRP.Identity(Passport) | Row do personagem (cache ou banco). |
vRP.FullName(Passport) | "Nome Sobrenome" do personagem. |
vRP.LowerName(Passport) | Apenas o primeiro nome. |
vRP.License(Passport) | A license do personagem, ou 0. |
vRP.Passport(source) | Passport a partir do source, ou false. |
vRP.Source(Passport) | source a partir do Passport, ou false. |
vRP.Players() | Tabela [Passport] = source de todos os players online. |
vRP.Identities(source) | Identificador do player (ex.: steam). |
vRP.Phone(Passport) | Número de telefone (gera e persiste se não existir). |
vRP.InsertPrison(Passport,Amount) | Adiciona tempo/serviços de prisão. |
vRP.UpdatePrison(Passport,Amount) | Reduz serviços de prisão; solta ao zerar. |
vRP.UpgradeNames(Passport,Name,Lastname) | Atualiza nome/sobrenome. |
vRP.SkinCharacter(Passport,Hash) | Salva o model/skin do personagem. |
vRP.UserGemstone(License) | Quantidade de diamantes (Gemstone). |
vRP.UpgradeGemstone(Passport,Amount,SendLicense) | Credita diamantes. |
vRP.PassportPlate(Plate) | Passport dono de uma placa, ou false. |
vRP.GeneratePlate() | Gera uma placa única. |
vRP.GenerateToken() | Gera um token único de 7 dígitos. |
vRP.CharacterChosen(source,Passport,Model) | Carrega o personagem escolhido para a sessão. |
vRP.Kick(source,Reason) | Desconecta e dá DropPlayer. |
Export relacionado:
exports.vrp:Avatar(Passport [,Permission]): imagem do avatar.Conta / Dados persistentes
Conta / Dados persistentes
| Função | Descrição |
|---|---|
vRP.Account(License) | Row da conta pela license. |
vRP.Discord(Discord) | Row da conta pelo Discord id. |
vRP.AccountInformation(Passport,Mode) | Valor de uma coluna da conta. |
vRP.UserData(Passport,Key) | Decodifica playerdata[Key] como JSON. |
vRP.setUData(user_id,key,value) | Grava playerdata[key] = value. |
vRP.Datatable(Passport) | Retorna o Datatable do personagem. |
vRP.UpdateDatatable(Passport,Mode,Value) | Define um campo do Datatable. |
vRP.Archive(Archive,Text) | Anexa texto a um arquivo (resource archives). |
vRP.SaveTemporary(Passport,source,Table) | Salva estado e prepara para arena. |
vRP.ApplyTemporary(Passport,source) | Restaura o estado salvo. |
Banco de dados
Banco de dados
| Função | Descrição |
|---|---|
vRP.Prepare(Name,Query) | Registra um prepared statement nomeado. |
vRP.Query(Name,Params) | Executa via oxmysql:query_async. |
vRP.Update(Name,Params) | Executa via oxmysql:update_async. |
vRP.SingleQuery(Name,Params) | Executa via oxmysql:single_async (uma row). |
vRP.Scalar(Name,Params) | Executa via oxmysql:scalar_async (um valor). |
Dinheiro / Banco
Dinheiro / Banco
| Função | Descrição |
|---|---|
vRP.GiveBank(Passport,Amount,Notify) | Credita no banco. |
vRP.RemoveBank(Passport,Amount) | Debita do banco (não fica negativo). |
vRP.GetBank(Passport) | Saldo bancário atual, ou 0. |
vRP.PaymentBank(Passport,Amount,Notify) | Tenta debitar do banco; true se houve saldo. |
vRP.PaymentGems(Passport,Amount) | Tenta debitar diamantes; true se houve saldo. |
vRP.PaymentFull(Passport,Amount,Notify) | Paga com item dollar e, se faltar, debita do banco. |
vRP.WithdrawCash(Passport,Amount) | Saca do banco gerando item dollar. |
Inventário / Itens
Inventário / Itens
| Função | Descrição |
|---|---|
vRP.Inventory(Passport) | Tabela do inventário. |
vRP.GiveItem(Passport,Item,Amount,Notify,Slot) | Adiciona item. |
vRP.GenerateItem(Passport,Item,Amount,Notify,Slot) | Como GiveItem, com sufixos de itens únicos/duráveis. |
vRP.TakeItem(Passport,Item,Amount,Notify,Slot) | Remove Amount do item; true se removeu. |
vRP.RemoveItem(Passport,Item,Amount,Notify) | Remove o item por nome exato. |
vRP.ConsultItem(Passport,Item,Amount) | {Amount,Item,Slot} se tiver a quantidade; senão false. |
vRP.ItemAmount(Passport,Item) | Soma a quantidade do item no inventário. |
vRP.InventoryItemAmount(Passport,Item) | {amount,item,slot} da primeira ocorrência. |
vRP.MaxItens(Passport,Item,Amount) | true se exceder o máximo permitido do item. |
vRP.ClearInventory(Passport,Ignore) | Limpa o inventário (respeitando itens BlockDelete). |
vRP.InventoryFull(Passport,Item) | true se não há mais espaço para o item. |
vRP.InventorySlots(Passport) | Quantidade de slots do personagem. |
vRP.UpgradeSlots(Passport,Amount) | Aumenta os slots do personagem. |
vRP.SwapSlot(Passport,Slot,Target) | Troca dois slots de lugar. |
vRP.CleanSlot(Passport,Slot) | Esvazia um slot. |
vRP.RemoveCharges(Passport,Item) | Consome uma carga de um item. |
vRP.CheckDamaged(Item) | true se o item está danificado/estragado. |
vRP.ArrestItens(Passport) | Recolhe os itens ilícitos do personagem (uso policial). |
| Função | Descrição |
|---|---|
vRP.GetWeight(Passport,Ignore) | Peso máximo do player. |
vRP.InventoryWeight(Passport) | Peso atual ocupado. |
vRP.CheckWeight(Passport,Item,Amount) | true se cabe dentro do peso máximo. |
vRP.UpgradeWeight(Passport,Amount,Mode) | Ajusta o peso base (Mode == "+" soma). |
entitydata)| Função | Descrição |
|---|---|
vRP.GetSrvData(Key,Save) | Lê/cacheia dados de entitydata. |
vRP.SetSrvData(Key,Data,Save) | Define os dados de uma chave. |
vRP.RemSrvData(Key) | Remove a chave. |
vRP.TakeChest(Passport,Data,Amount,Slot,Target,Save) | Retira item de um baú para o inventário. |
vRP.StoreChest(Passport,Data,Amount,Weight,Slot,Target,Save,Max) | Guarda item no baú respeitando peso/máximo. |
vRP.ChestWeight(Data) | Peso ocupado no baú. |
vRP.ItemChestAmount(Data,Item,Save) | Quantidade de um item dentro do baú. |
vRP.MaxChest(Data,Item,Amount,Save) | true se a quantidade excede o limite do baú. |
vRP.UpdateChest(Data,Table,Save) | Sobrescreve o conteúdo do baú. |
vRP.CleanSlotChest(Data,Slot,Save) | Esvazia um slot do baú. |
vRP.MountContainer(Data,Save) | Monta a estrutura de um container/baú. |
Export relacionado:
exports.vrp:CallPolice(Table): dispara um chamado policial.Grupos / Permissões / Serviço
Grupos / Permissões / Serviço
| Função | Descrição |
|---|---|
vRP.Groups() | Retorna a tabela de configuração Groups. |
vRP.HasPermission(Passport,Permission,Level) | Nível na permissão; false se não tiver. |
vRP.HasGroup(Passport,Permission,Level) | Como acima, resolvendo grupos “pais”. |
vRP.HasService(Passport,Permission,Level) | true/nível se está em serviço na permissão. |
vRP.HasTable(Passport,Table) | Primeira permissão da lista que o passaporte possui. |
vRP.SetPermission(Passport,Permission,Level,Mode) | Define/promove/rebaixa permissão. |
vRP.RemovePermission(Passport,Permission) | Remove a permissão. |
vRP.ServiceToggle(source,Passport,Permission,Silenced) | Alterna entrar/sair de serviço. |
vRP.UserGroups(Passport) | {[Permission]=nivel} de todas as permissões. |
vRP.UserSalarys(Passport) | Soma dos salários das permissões em serviço. |
vRP.NameHierarchy(Permission,Level) | Nome do cargo num nível. |
vRP.NumPermission(Permission) | {[Passport]=source} de quem está em serviço + contagem. |
vRP.ServiceEnter(source,Passport,Permission,Silenced) | Coloca em serviço. |
vRP.ServiceLeave(source,Passport,Permission,Silenced) | Tira de serviço. |
vRP.AmountService(Permission,Level) | Quantos estão em serviço na permissão/nível. |
vRP.AmountGroups(Permission) | Quantos passaportes têm a permissão. |
vRP.NumGroups(Permission) | {[Passport]=nivel} de todos os membros do grupo. |
vRP.DataGroups(Permission) | Configuração bruta do grupo. |
vRP.GroupType(Permission) | Campo Type do grupo ("Work", "Fuel", "Propertys"). |
vRP.GetUserType(Passport,Type) | Primeiro grupo do passaporte com aquele Type. |
vRP.UserDomination(Passport) | Grupo de dominação do passaporte. |
vRP.Hierarchy(Permission) | Lista de cargos do grupo. |
vRP.LoopPermission(Passport,Permission) | Percorre as permissões filhas de um grupo. |
vRP.Playing(Passport,Permission) | Tempo de jogo do passaporte no grupo. |
Drogas e efeitos temporários
Drogas e efeitos temporários
Todos os timers são em segundos e persistem entre sessões.
| Função | Descrição |
|---|---|
vRP.WeedTimer(Passport,Timer) | Aplica/soma o efeito de maconha. |
vRP.WeedReturn(Passport) | Tempo restante do efeito de maconha. |
vRP.AlcoholTimer(Passport,Timer) | Aplica/soma o efeito de álcool. |
vRP.AlcoholReturn(Passport) | Tempo restante do efeito de álcool. |
vRP.ChemicalTimer(Passport,Timer) | Aplica/soma o efeito de químicos. |
vRP.ChemicalReturn(Passport) | Tempo restante do efeito de químicos. |
Status do player / Mundo
Status do player / Mundo
| Função | Descrição |
|---|---|
vRP.GetHealth(source) | Vida atual do ped (ou 100). |
vRP.SetArmour(source,Amount) | Soma colete ao atual (máx 100). |
vRP.Armour(source,Amount) | Define o colete diretamente. |
vRP.Teleport(source,x,y,z) | Teleporta o player. |
vRP.GetEntityCoords(source) | Coords do ped. |
vRP.InsideVehicle(source) | true se estiver em qualquer veículo. |
vRP.InsideVehiclePassager(source) | true se estiver como passageiro. |
vRP.InsidePropertys(Passport,Coords) | true se estiver dentro de uma propriedade. |
vRP.Heading(source,Heading) | Lê ou define a direção do ped. |
vRP.ModelPlayer(source) | Model/skin atual do player. |
vRP.DoesEntityExist(source) | true se o ped do player existe. |
vRP.IsEntityVisible(source) | true se o ped está visível. |
vRP.UpgradeHunger/Thirst/Stress(Passport,Amount) | Aumentam fome/sede/estresse (máx 100). |
vRP.DowngradeHunger/Thirst/Stress(Passport,Amount) | Diminuem fome/sede/estresse (mín 0). |
vRP.GetExperience(Passport,Work) | (experiência, categoria) da atividade. |
vRP.PutExperience(Passport,Work,Number) | Adiciona experiência. |
Export relacionado:
exports.vrp:Bucket(source,Mode,Route): entra/sai de um routing bucket.Banimento
Banimento
| Função | Descrição |
|---|---|
vRP.Banned(source,Account) | Verifica ban; retorna motivo ou false. |
vRP.SetBanned(Passport,Amount,Mode,Reason) | Aplica ban (Mode: "Permanente"/"Horas"/"Dias"). |
vRP.RemoveBanned(Passport) | Remove o banimento. |
Utilidades / Serviços externos
Utilidades / Serviços externos
| Função | Descrição |
|---|---|
vRP.Request(source,Title,Message) | Diálogo de confirmação no cliente; retorna a resposta. |
vRP.Revive(source,Health,Arena) | Revive o player. |
vRP.Task(source,Amount,Speed) | Barra de progresso. |
vRP.SelectVehicle(Passport,Name) | Row do veículo do dono. |
vRP.format(n) | Formata número com pontos de milhar. |
vRP.Device(source,Seconds) | Minigame de dispositivo/hack; retorna o resultado. |
vRP.LetterGame(source,Duration,Speed) | Minigame de letras; retorna o resultado. |
vRP.CleanPhone(Passport) | Limpa os dados do celular do personagem. |
vRP.SimpleData(Passport,Key) | Leitura direta de uma chave de playerdata. |
vRP.GenerateHash(Index) | Gera um hash único a partir de um índice. |
Aliases de compatibilidade que funcionam
Existem e apontam para funções reais (mas prefira os nomes oficiais acima):vRP.getUserId → Passport; vRP.getUserSource → Source; vRP.query → Query; vRP.getUserIdentity → Identity; vRP.userInventory → Inventory; vRP.giveInventoryItem → GiveItem; vRP.tryGetInventoryItem → TakeItem; vRP.removeInventoryItem → RemoveItem; vRP.getInventoryItemAmount → InventoryItemAmount; vRP.checkMaxItens → MaxItens; vRP.addBank/giveBankMoney → GiveBank; vRP.removeBankMoney → RemoveBank; vRP.getBank → GetBank; vRP.tryPayment/tryFullPayment → PaymentFull; vRP.hasPermission → HasPermission; vRP.getHealth → GetHealth.
Aliases quebrados (NÃO use, apontam para função inexistente):
vRP.setWeight, vRP.registerDrivers, vRP.userPremium, vRP.steamPremium, vRP.falseIdentity, vRP.getFines, vRP.addFines, vRP.delFines, vRP.generateStringNumber.
