Skip to main content

Transferir ID

A função transfer_id permite transferir agendamentos de comandos e opcionalmente pedidos de um ID de usuário para outro. Isso é útil quando você precisa migrar dados de um jogador para outro, como em casos de mudança de sistema de identificação ou correção de IDs duplicados.

Parâmetros

ParâmetroTipoObrigatórioDescrição
fromstringSimID do usuário de origem (de onde os agendamentos serão transferidos)
tostringSimID do usuário de destino (para onde os agendamentos serão transferidos)
id_positionnumberSimPosição do ID no comando agendado (baseado em índice, começando em 0)
prefixstringNãoPrefixo opcional para filtrar comandos. Apenas comandos que começam com este prefixo serão transferidos
migrate_orderbooleanNãoSe true, também transfere os pedidos associados aos agendamentos

Como funciona

  1. Busca agendamentos: A função busca todos os agendamentos do usuário de origem (from)
  2. Filtra por prefixo (se fornecido): Se um prefix for especificado, apenas comandos que começam com esse prefixo serão processados
  3. Substitui o ID no comando: O ID na posição especificada (id_position) no comando é substituído pelo novo ID (to)
  4. Atualiza agendamentos: Cada agendamento é atualizado na API com o novo user_id e o comando modificado
  5. Migra pedidos (opcional): Se migrate_order for true, todos os pedidos únicos associados aos agendamentos também terão seu client_identifier atualizado

Exemplo

local CentralCart = exports[GetCurrentResourceName()]

-- Transfere todos os agendamentos do usuário "123" para "456"
-- O ID está na posição 1 do comando (segundo elemento)
CentralCart:transfer_id("123", "456", 1)

-- Transfere apenas comandos que começam com "removeGroup"
-- e também migra os pedidos associados
CentralCart:transfer_id("123", "456", 1, "removeGroup", true)

Exemplo de comando agendado

Considere um comando agendado como:
removeGroup 123 admin
Neste caso:
  • Posição 0: removeGroup
  • Posição 1: 123 (ID do usuário)
  • Posição 2: admin (grupo)
Para transferir este agendamento, você usaria id_position: 1 para substituir o ID na posição correta.

Casos de uso

  • Correção de IDs incorretos
  • Transferência de agendamentos entre contas

Observações importantes

  • A função retorna false se encontrar um erro durante o processamento
  • A função retorna true se a transferência for concluída com sucesso
  • Se prefix for fornecido e nenhum comando corresponder, a função retorna false
  • A posição id_position deve ser válida (entre 0 e o tamanho do comando - 1)
  • Todos os erros são registrados no log do servidor