Ir al contenido

Configuración Rápida

El archivo principal donde realizarás modificaciones es config/config.lua. A continuación tienes ejemplos de las configuraciones más importantes que debes tener en cuenta y su respectiva explicación:

Define los niveles, sus costos, y cada cuántos minutos se otorgan los puntos base multiplicados por el rango del jugador:

Config.PointsInterval = 30 -- Intervalo en minutos para dar puntos
Config.PointsAmount = 1 -- Puntos base dados por intervalo
Config.VipDuration = 30 -- Duración de cada VIP comprado en días
Config.VipLevels = {
{ name = "Bronze", cost = 1000, pointsMultiplier = 2 },
{ name = "Silver", cost = 1800, pointsMultiplier = 3 },
{ name = "Gold", cost = 2750, pointsMultiplier = 4 }
}

Explicación:

  • Config.PointsInterval indica cada cuánto tiempo (en minutos) se ejecutará el reparto de puntos. En este caso, cada 30 minutos.
  • Config.PointsAmount es la base de puntos que recibe cada usuario.
  • El pointsMultiplier dentro de cada nivel VIP multiplica la base. Por ejemplo, un VIP “Oro” multiplicará 1 (base) por 4, recibiendo 4 puntos cada 30 minutos.
  • Config.VipDuration establece en 30 días la vida útil de un VIP comprado.

Crea las pestañas (Tabs) y vincula artículos, vehículos o paquetes VIP hacia ellas usando su ID en category. Puedes restringir artículos exigiendo un cargo VIP (vipRequired):

Config.Shop = {
Enabled = true,
Tabs = {
{ id = "food", label = "COMIDA", icon = "material-symbols:fastfood" },
{ id = "car", label = "VEHÍCULOS", icon = "material-symbols:directions-car" },
},
Items = {
{
id = "shop_item_1",
label = "Tosti",
item = "tosti",
amount = 1,
cost = 30,
category = "food", -- Vinculado a la pestaña "food"
vipRequired = "Bronze", -- Exige ser VIP Bronze o superior
},
},
Vehicles = {
{
id = "shop_veh_1",
label = "Blista",
model = "blista",
cost = 500,
icon = "material-symbols:directions-car",
category = "car",
vipRequired = nil, -- Uso público (sin requerir Rango)
},
}
}

Explicación:

  • La sección Tabs crea categorías de navegación visuales a los lados de la tienda (con iconos personalizables como los de Iconify).
  • Dentro de Items y Vehicles, el atributo category te permite vincular directamente ese producto a uno de los Tabs. Por ejemplo, el ítem Tosti se vinculó a food.
  • El campo vipRequired es ideal para segmentar. Si está en "Bronze", solo los VIP Bronce en adelante pueden comprarlo. Si se deja en nil, la compra es pública para cualquier jugador.

Crea códigos promocionales ilimitados o por cantidad de usos para tus eventos y creadores de contenido:

Config.ReferralCodes = {
["welcome2026"] = {
points = 150,
limit = nil -- Si el valor es nil, no hay límite de personas
},
["creadorVIP"] = {
points = 300,
limit = 50 -- Solo 50 jugadores podrán canjear este código
}
}

Explicación:

  • Usando el código "welcome2026", cualquier cantidad de personas podrá canjearlo ya que el límite es nil, recibiendo 150 puntos.
  • Por otra parte, "creadorVIP" otorga 300 puntos, pero cuando 50 jugadores lo utilicen, el código expirará y no se aceptarán más canjes.

Vincula el ID de tus paquetes de Tebex con la cantidad de puntos que el paquete adjudicará directamente dentro del script en el servidor:

Config.TebexAPI = {
SecretKey = "TU_TEBEX_SECRET_KEY_AQUI",
Enabled = true,
PackageRewards = {
[1234567] = 1000, -- Quien compre el item #1234567 recibe 1000 pts
[7654321] = 5000,
}
}

Explicación:

  • Debes colocar aquí tu Secret Key para validar las llamadas desde la tienda Tebex.
  • En PackageRewards, la cifra izquierda (Ej. 1234567) debe coincidir exactamente con la ID de tu ítem/paquete en Tebex.
  • El valor a la derecha (Ej. 1000) será la cantidad exacta de puntos VIP que el jugador obtendrá en el servidor cuando reclame mediante /redeem [transaction_id].