Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: [TRIGGER] Dar Coins x Reset - Segun el tipo de VIP  (Visto 1402 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline dsw_pool Posteado: July 23, 2020, 02:43:25 AM | Modificado: July 23, 2020, 01:56:37 PM by dsw_pool

  • +1 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 69
  • Gracias recibida: 560
  • pe
Este es un simple trigger que da una cantidad del tipo de Coin a su elección por cada reset que se haga, ya que vi uno por ahí que tenia problemas y era un SP, en fin :



Una breve explicación :

- El campo usado para el reset es -> ResetCount que se encuentra en la tabla Character, si usan otro tipo de campo solo cambien el nombre.
- El tipo de cuenta (vip) lo estoy obteniendo de MEMB_INFO en el campo AccountLevel (si usan otro cambienlo).
- Para finalizar si desean cambiar el tipo de Coins a dar solo cambien WCoinC por ejemplo a GoblinPoint, como tambien la cantidad que dara según el tipo de vip.

Creditos:
Yo

Saludos !



Offline kayito #1 Posteado: July 23, 2020, 12:37:01 PM

  • MAESTRO

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.035
  • Gracias recibida: 15031
  • ar
Es mucho mejor usar el procedure SetResetInfo antes que crear un trigger.


Offline dsw_pool #2 Posteado: July 23, 2020, 01:02:11 PM

  • +1 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 69
  • Gracias recibida: 560
  • pe
Es mucho mejor usar el procedure SetResetInfo antes que crear un trigger.

Va en el elección del que quiera usarlo, si quiere algo que se ejecute bajo un evento (INSERT, UPDATE o DELETE) es decir automático,  o algo que se debe invocar para ejecutarse.

No hay mejor ni peor, es bajo elección.

Saludos


Offline Karuritoku #3 Posteado: July 23, 2020, 01:21:42 PM | Modificado: July 23, 2020, 01:23:26 PM by Karuritoku

  • Php Coder
  • +3 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 399
  • Gracias recibida: 8752
  • pe
Al inicio de un trigger, procedure, job o lo que quieras debes validar si existe antes de crearlo, tb dejar el scritp para droppear el trigger cuando ya no lo necesiten o tengan que volver a hacerlo.

por ejemplo

IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'CashReset')
DROP TRIGGER CashReset
GO

PD: yo tb creo que es mejor agregar un trigger que modificar el procedure de la bd.


Offline dsw_pool #4 Posteado: July 23, 2020, 01:57:26 PM

  • +1 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 69
  • Gracias recibida: 560
  • pe
Al inicio de un trigger, procedure, job o lo que quieras debes validar si existe antes de crearlo, tb dejar el scritp para droppear el trigger cuando ya no lo necesiten o tengan que volver a hacerlo.

por ejemplo

IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'CashReset')
DROP TRIGGER CashReset
GO

PD: yo tb creo que es mejor agregar un trigger que modificar el procedure de la bd.

Cierto, la verdad que se me paso, ya que no creo que tengan un trigger con ese nombre, ya esta agregado la validación si el trigger ya existiera.

Saludos.


Offline manu202020 #5 Posteado: July 23, 2020, 02:01:49 PM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 57
  • Gracias recibida: 8
  • ar
hola solo ejecuto en el analizaaaador de consultas?

quisiera dar 100 para los free 150 para los vips :) como seria


Offline 102pe #6 Posteado: July 23, 2020, 06:23:14 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 316
  • Gracias recibida: 6031
  • pe
Más que un trigger. Te sugiero usar el SP de Reset. Pero igual es bueno

Saludos,
Jadoo
Contacto:
1. WhatsApp Link disponible para celular o Web WhatsApp

Offline kayito #7 Posteado: July 23, 2020, 10:01:01 PM

  • MAESTRO

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.035
  • Gracias recibida: 15031
  • ar
Es mucho mejor usar el procedure SetResetInfo antes que crear un trigger.

Va en el elección del que quiera usarlo, si quiere algo que se ejecute bajo un evento (INSERT, UPDATE o DELETE) es decir automático,  o algo que se debe invocar para ejecutarse.

No hay mejor ni peor, es bajo elección.

Saludos

Específicamente esta query es para que automáticamente entregue una recompensa adicional al hacer un reset. Crear un trigger es tener un proceso escucha permanentemente activo a un cambio de una tabla/columna específica para ejecutar una sentencia. Usar el procedure SetResetInfo directamente se aplica al resetear y no hace falta que un trigger esté a la escucha de cambios ya que el procedure se ejecuta solamente cuando un personaje hace un reset y le llega el pedido de ejecución al dataserver. Mucho más eficiente que se ejecute sólo al resetear y no que esté activo todo el tiempo y se ejecute al realizar un cambio en una columna de una tabla.


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
3 Replies
1030 Views
Last post May 04, 2022, 07:51:22 PM
by xXSiniestroXx
6 Replies
2092 Views
Last post May 28, 2018, 08:10:07 PM
by xXSiniestroXx
5 Replies
1596 Views
Last post June 10, 2018, 10:58:30 PM
by Deidad
2 Replies
1388 Views
Last post November 29, 2018, 10:21:26 AM
by Marote
5 Replies
1612 Views
Last post July 12, 2020, 08:36:08 PM
by CarlosUnamo