Script SQL para Bonus de Personajes Nuevos - Herramientas Mu - Mu Server Files
 

Script SQL para Bonus de Personajes Nuevos

Publicado por Dakosmu, Sep 11, 2025, 06:09 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Dakosmu

Script SQL para Bonus de Personajes Nuevos

Hemos preparado un script SQL que automatiza la entrega de un paquete de bienvenida especial para todos los personajes recién creados en tu servidor. Este trigger se activará automáticamente al insertar un nuevo personaje en la base de datos, otorgándole un set de estadísticas iniciales y recursos.

¿Qué es un Trigger?
Un trigger es una función especial que se ejecuta automáticamente cuando ocurre un evento específico en una base de datos. En este caso, el evento es la inserción de un nuevo personaje en la tabla Character. Este mecanismo asegura que cada nuevo jugador reciba su bonus de bienvenida de forma instantánea y sin necesidad de intervención manual.

Código del Script SQL
El siguiente código crea un trigger en la base de datos SSEMU97k que, al registrar un nuevo personaje, le asigna los siguientes valores:

    []Nivel inicial: 1
    []Resets iniciales: 3
    []Puntos de subida de nivel: 1,200
    []Zen (dinero del juego): 100,000,000
  • Puntos de estadísticas base: 32,000 en Fuerza, Destreza, Vitalidad y Energía.

USE SSEMU97k
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'Bonus' AND type = 'TR')
DROP TRIGGER Bonus
GO

CREATE TRIGGER Bonus ON dbo.Character FOR INSERT
AS
BEGIN

DECLARE
@ResetCount INT,
@Puntos INT,
@Zen INT,
@byasd INT,
@Char varchar(10),
@Fuerza INT,
@Destreza INT,
@Vitalidad INT,
@Energia INT

SELECT @Char = Name FROM INSERTED

SET @ResetCount = 3 -- Cantidad de resets
SET @Puntos = 1200 -- Cantidad de puntos iniciales
SET @Zen = 100000000 -- Cantidad de zen
SET @byasd = 1 -- Nivel con el que comienza el personaje
SET @Fuerza = 32000
SET @Destreza = 32000
SET @Vitalidad = 32000
SET @Energia = 32000

UPDATE Dbo.Character
SET
ResetCount = @ResetCount,
Clevel = @byasd,
LevelUpPoint = @Puntos,
Money = @zen,
Strength = @Fuerza,
Dexterity = @Destreza,
Vitality = @Vitalidad,
Energy = @Energia
WHERE Name = @Char
END

¿Cómo funciona el código?
    []USE SSEMU97k: Selecciona la base de datos donde se aplicará el script.
    []DROP TRIGGER Bonus: Si ya existe un trigger con el nombre "Bonus", lo elimina para evitar errores al crear uno nuevo.
    []CREATE TRIGGER Bonus ON dbo.Character FOR INSERT: Crea el trigger "Bonus" que se activará cada vez que se inserte una nueva fila en la tabla dbo.Character.
    []DECLARE: Declara las variables que se utilizarán para almacenar los valores del bonus.
    []SELECT @Char = Name FROM INSERTED: Captura el nombre del nuevo personaje que se acaba de crear.
    []SET: Asigna los valores predefinidos a cada una de las variables.
  • UPDATE Dbo.Character: Actualiza los campos del nuevo personaje en la base de datos con los valores establecidos, aplicando el bonus.

Créditos: Dakosmu
Bon Dia

🡱 🡳
Real Time Web Analytics